Using Legato

The Legato Scripting Language and the IDE are included in all installations of GoFiler Complete. You may also download the Legato Interpreter for free as a standalone package below.

This package will allow you to run Legato scripts from a command line. Legato is free for development for personal or non-commercial use. By downloading Legato Basic, you agree to the Terms and Conditions of its use.

Download 32-bit   Download 64-bit

This package will allow you to write, debug and run Legato scripts from an IDE. Legato is free for development for personal or non-commercial use. By downloading Legato IDE, you agree to the Terms and Conditions of its use.

Download 32-bit   Download 64-bit
Legato Release Notes
Version 1.6f (01/05/2026) / GoFiler 6.4a

1.0 Legato IDE and Script Language

Note: These notes are a consolidation of changes changes and improvements from 1.6f/6.4a to 1.6j/6.5c.

This version of Legato introduces functionality to the XBRL Model to support xBRL-CSV. This is an early preview for testing and and planning as xBRL-CSV is adopted in the US.

1.1 IDE Improvements

SDK Help

–   Improved automatic SDK Help download (Legato IDE) to check for open windows prior to download. This test is only performed if the process must be elevated because the installation is in a protected area such as “Program Files”. If there are unsaved changes, the operation is not allowed to proceed. If all windows have been saved, then the user will be queried as to whether to continue.

–   If the process does not need to be elevated to download the SDK help, the SDK will be displayed after the download.

–   Added SDK help download to the Help | Legato function. It follows the same rules as the above for elevation requirements.

SDK Documentation

–   Reorganized the INI, Application Preferences and Registry documentation to help clarify operation and applicable use of the related API functions.

1.2 Script Engine

Parsing/Compiling

–  Corrected an internal error message with regard to the return statement, when the statement is structured as a returned literal value without the ending semicolon. This would result in an internal error message when a run time error message should have been generated.

1.3 API Function Improvements

File Types

–  Added subtypes for JSON for XBRL-JSON, XBRL-CSV and XBRL Model:

FT_JSON              JavaScript Object Notation
FT_JSON_UNKNOWN      Unknown or Unspecified JSON (same as FT_JSON)
FT_JSON_XBRL_JSON    xBRL-JSON
FT_JSON_XBRL_CSV     xBRL-CSV
FT_JSON_XBRL_MODEL   xBRL-Model (OIM)

Log

–  Added optional font name and size parameters to the LogDisplay function.

Strings

–  Added begins with and ends with option parameters to the CompareString function to allow for easy testing of prefixes and suffixes on strings. Also added case sensitivity flag to the options. If options are not specified, the function will operate as previously specified in the SDK documentation.

–  Added limitations to the response values of the CompareString and CompareStringNoCase functions such that these functions may only return 1, 0 and -1. The Microsoft CRT will sometimes return a negative or positive number rather than -1 or 1 if the strings do not match.

EDGAR

–  EDGARNextMakeAPICall — Corrected an issue that would cause the supplied headers not to be added to the request.

1.4 New API Functions

Frame

–  SetPreference — Sets a single application preference and optionally retains the setting.

HTML Element Object

–   HTMLElementClear — Clears the HTML Element Object.

–   HTMLElementCreateObject — Creates an HTML Element Object.

–   HTMLElementEnumerateItems — Returns a list of data items within the object.

–   HTMLElementGetErrorLog — Returns the log handle for tracking property errors.

–   HTMLElementGetSGMLObject — Returns a copy of the associated or default SGML Object.

–   HTMLElementGetString — Gets a data item from the HTML Element Object.

–   HTMLElementGetValue — Gets a data item from the HTML Element Object.

–   HTMLElementLoad — Resets and integrates information from an SGML Object.

–   HTMLElementMerge — Reads and merges information from an SGML Object.

xBRL-CSV API — Templates (preliminary)

–  XBRLEnumerateTemplates — Enumerates a list of all Table Template Identifiers.

–  XBRLGetTemplate — Returns the properties of a specific Table Template.

–  XBRLGetTemplateCount — Returns the number of Table Templates loaded for the specified instance.

–  XBRLGetTemplates — Returns the properties of all Table Templates.

xBRL-CSV API — Columns (preliminary)

–  XBRLEnumerateColumns — Enumerates a list of all Column Identifiers associated with a Table Template.

–  XBRLGetColumn — Returns the properties for a specified column within a Table Template.

–  XBRLGetColumnCount — Returns the number of columns associated with a Table Template.

–  XBRLGetColumns — Returns the properties of all columns within a Table Template.

xBRL-CSV API — Tables (preliminary)

–  XBRLEnumerateTables — Enumerates a list of Table Identifiers within an xBRL-CSV Instance.

–  XBRLGetTable — Returns the properties for a specified xBRL-CSV Table.

–  XBRLGetTableColumnCount — Returns the number of columns in the referenced CSV file.

–  XBRLGetTableCount — Gets the number of xBRL-CSV Tables.

–  XBRLGetTableData — Returns the content of the specified Table as a string table.

–  XBRLGetTableDataSheet — Returns the Data Sheet Object handle for an xBRL-CSV Table.

–  XBRLGetTableRow — Returns a string list for a specified row within the referenced CSV file.

–  XBRLGetTableRowCount — Returns the number of rows in the referenced CSV file.

–  XBRLGetTables — Returns the properties for all xBRL-CSV Tables within an xBRL-CSV Instance.

–  XBRLGetTableValue — Returns a specified table cell from an xBRL-CSV Table within an xBRL-CSV Instance..

 

Our website uses cookies to give you the best user experience on our website and to help us deliver our services. By using our services, you agree to our use of cookies. Click here for more information.
OK