- Update TACL string to match on a single line instead of multi-line.
- Made source directive case-insensitive (as it should have been).
- Added scope for single line search directive
- Handle comments that appear before proc/subproc declaration.
- Updated lodash from 4.17.19 to 4.17.21 due to security fixes.
- Updated y18n from 4.0.0 to 4.0.3 due to security fixes.
- Added basic :UTILS:TACL handling to TACL language.
- Remove TAL keyword completions. They are not very useful context-free.
- Disable by default TAL built-in library completions. They are not very useful context-free.
- Update TAL syntax to highlight call/proc/subproc as control keywords instead of regular keywords.
- Update TAL syntax to highlight built-in functions as regular functions instead of support functions.
- Update symbol provider to avoid matching external/forward keywords within strings.
- Handle mixed case
?if
,?ifnot
and?endif
folding ranges.
- Add backup scopes for call, proc, subproc, section and imports. This should make it work for themes that want to colour exotic scopes and themes that colour more generic scopes (e.g. default VSCode themes).
- Bug fixes for folding ranges and symbols.
- Revisit TAL textmate syntax:
- Fix indirection symbol to recognize identifier that starts with ^
- Highlight
?
,:
,,
,()
,[]
,#
in various situations. - Flag
.
accessor when accessing bit operator - Flag base address symbols as storage modifiers
- Flag block name
- Flag name as a keyword only when it declares a name of a compilation unit
- Flag source directive filename
- Flag identifiers as possible variables
- Flag conditional directive identifiers
- Flag function declaration public name specification
- Separate function declaration from function calls
- Flag variables inside function declaration/call as parameters
- Flag section name
- Added caching for symbol results.
- TAL folding support for compiler toggles, comment blocks and begin/end blocks.
- Outline update:
- Page symbol now has a range instead of being a single line.
- Page following a page no longer appears as a child of the previous page.
- Added completions for:
- TAL keywords
- TACL built-in functions and variables
- Removed $ from TAL and TACL word separators.
- Added TAL indentation rules:
- Indent on:
for ... do
while ... do
do
(until loop)else
if ... then
case ... of
- Outdent on:
end
end;
- Indent on:
- TAL language indentation rules can be disabled by setting
editor.autoIndent
to something other thanfull
oradvanced
. For example:{ "settings": { "[tal]": { "editor.autoIndent": "brackets" } } }
- Updated TACL snippets:
- Shorten
for
snippet. Removed to/downto option. - Change
begin/end
snippet to simply insert text without any tab stops. - Shorten
case
snippet. Removed label tab stop. - Shorten
use
snippet. Removed option to delete assignment. - Remove
scan
andrscan
snippets. Too many variations.
- Shorten
- Removed TACL
begin/end
snippet.
- TACL:
- Added file names
- Fixed define names
- Added define template
- Fixed numbers: do not highlight numeric part of identifier as number
- TAL: recognize octal numbers
- Thanks cnxguy. Enhanced TACL process parsing. Added defines support. See PR #10.
- System names working
- Lengths now match Nonstop constraints ($s for example now valid)
- Special case $0, $receive handled (due to length limits)
- Improve how procs/subprocs are tracked. Detect multiple begin/end keywords per line to determine accurate function scope.
- Provide section/page symbols for files without procs/subprocs.
- Thanks cnxguy. Correct behaviour of ?page directives containing brackets embedded within quotes. See PR #8 and PR #9.
- Added missing compiler directives: fixup, nofixup, datapages, int32index, noint32index, pushint32index, popint32index, warn, nowarn, errorfile, saveabend, nosaveabend, inhibitxx, noinhibitxx, nogmap, highrequesters, highpin, runnamed, errors, fmap, nofmap, pushlist, poplist, resettog, settog, check, nocheck, pushcheck, popcheck, syntax, suppress, nosuppress, nosymbols, noinnerlist, pushinnerlist, popinnerlist, nocompact, pushmap, popmap.
- Added support for TACL syntax.
- Do not insert TAL built-in functions as snippets.
- Detect external and forward proc declarations.
- If a proc has subprocs, mark start of proc body after the last subproc.
- Added document symbol lookup for procs and subprocs. The feature can be disabled by settting
tal.enableDocumentSymbol
tofalse
.
- Update manifest to clean up the package.
- Added completions for most TAL built-in functions, such as $len. The feature can be disabled by settting
tal.enableTalFunctionCompletion
tofalse
.
- Added default TAL configuration to exclude ^ from editor.wordSeparators
- Added snippets for for loop, while loop, begin/end, case, use, scan, rscan and if.
- Update wordPattern definition to consider ^ symbol a part of a word
- Update extension description with instructions to update editor.wordSeparators to exclude ^
- Flag entire storage type int, unsigned, fixed and real as storage.type.tal including width and floating point
- Flag literals preceded by call keyword as entity.name.function.tal
- Flag CPU compiler directive as keyword.preprocessor.tal
- Flag open parenthesis ( as punctuation.parenthesis.begin.tal
- Flag close parenthesis ) as punctuation.parenthesis.end.tal
- Remove <> from surrounding pairs - it's not intuitive when editing operators.
- Remove ' from auto closing pairs - it's not intuitive when editing operators.
- Remove <> from brackets. There is no need for indentation in this scenario.
- Literal preceded by keyword subproc/proc and ^ was incorrectly considered a procedure.
- Built-in TAL functions were not recognised as function calls inside functions.
- Highlight compiler directives inside function calls.
- Change keywords call, to, downto, by, proc and subproc from generic to control.
- Highlight operators inside function calls.
- Added compiler directives extendstack and compact.
- Initial release of TAL syntax highlighting.