abl-tmlanguage 1.3.0 → 1.3.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +12 -6
- package/abl.tmLanguage.json +2941 -2109
- package/index.js +293 -27
- package/package.json +1 -1
- package/spec/blocks/on-quit.spec.js +1 -1
- package/spec/comments/comment-in-block-statement.spec.js +147 -0
- package/spec/comments/comment-in-function-args.spec.js +45 -0
- package/spec/comments/vscode-abl-issue#127.spec.js +46 -46
- package/spec/db-table-and-field/field-in-function.spec.js +58 -0
- package/spec/define-enum/type-name.spec.js +200 -0
- package/spec/define-event/simple-single-line.spec.js +61 -0
- package/spec/define-property/property-getter.spec.js +165 -0
- package/spec/define-stream/simple-single-line.spec.js +3 -4
- package/spec/define-temp-table/define-dataset.spec.js +66 -0
- package/spec/define-temp-table/define-index.spec.js +135 -1
- package/spec/do/do-blocks.spec.js +26 -66
- package/spec/do/issue#3.spec.js +2 -2
- package/spec/do/stop-after.spec.js +79 -0
- package/spec/function-call/nested-functions.spec.js +121 -3
- package/spec/function-call/pass-table.spec.js +35 -0
- package/spec/function-call/set-size.spec.js +19 -0
- package/spec/function-call/vscode-abl-issue#19.spec.js +3 -3
- package/spec/include/abl-tmlanguage-issues#5.spec.js +2 -2
- package/spec/include/unnamed-arguments.spec.js +39 -0
- package/spec/include/vscode-abl-issue#45.spec.js +1 -1
- package/spec/include/vscode-abl-issue#77.spec.js +5 -5
- package/spec/include/vscode-abl-issue#80.spec.js +5 -4
- package/spec/method-attribute-property-call/abl-method-attribute-call.spec.js +4 -4
- package/spec/method-attribute-property-call/method-call.spec.js +2 -2
- package/spec/method-attribute-property-call/unqualified-method-call.spec.js +42 -0
- package/spec/misc-statements/def-in-name.spec.js +20 -0
- package/spec/misc-statements/do-in-name.spec.js +259 -0
- package/spec/misc-statements/event-subscribe.spec.js +309 -0
- package/spec/misc-statements/if-then.spec.js +44 -2
- package/spec/misc-statements/release.spec.js +42 -0
- package/spec/misc-statements/return-statement.spec.js +11 -11
- package/spec/operators/operators.spec.js +1 -1
- package/spec/procedure-definition/empty-proc.spec.js +28 -3
- package/spec/procedure-definition/vscode-abl-issue#22.spec.js +1 -1
- package/spec/procedure-definition/vscode-abl-issue#26.spec.js +2 -2
- package/spec/procedure-definition/vscode-abl-issue#62.spec.js +1 -1
- package/spec/run-statement/run-statement.spec.js +7 -7
- package/spec/strings/translation-attribute.spec.js +1 -1
- package/spec/strings/vscode-abl-issue#11.spec.js +12 -13
- package/spec/type-name/argument.spec.js +2 -2
- package/spec/type-name/cast.spec.js +3 -3
- package/spec/type-name/define-property.spec.js +48 -106
- package/spec/type-name/define-variable-property.spec.js +40 -40
- package/spec/type-name/new.spec.js +2 -3
- package/spec/type-name/parameter-as.spec.js +49 -3
- package/spec/type-name/type-name.spec.js +3 -3
package/README.md
CHANGED
|
@@ -56,8 +56,11 @@ Note: I plan on using the YAML syntax (even more compact and readable) but it ne
|
|
|
56
56
|
This project uses the [vscode-textmate](https://www.npmjs.com/package/vscode-textmate) package to tokenize and test the grammar.
|
|
57
57
|
|
|
58
58
|
## Keywords
|
|
59
|
-
Part of this grammar is generated from a keyword list file.
|
|
60
|
-
|
|
59
|
+
Part of this grammar is generated from a keyword list file. See [index.js] for information on how to generate that file, as well as the others required for the generation.
|
|
60
|
+
|
|
61
|
+
When `npm run build` is executed, a file called grammer.json is created, which contains properties for `keywords` (all the keywords), `abl-functions` and `handle-attributes` (attributes and method calls on ABL handles). The contents of this file should be copied into the `abl.tmLanguage.json` file, replacing the existing contents.
|
|
62
|
+
|
|
63
|
+
|
|
61
64
|
|
|
62
65
|
# Scopes
|
|
63
66
|
|
|
@@ -72,15 +75,17 @@ The ABL-specific scopes produced by the ABL grammer listed in the table below. T
|
|
|
72
75
|
|constant.language.abl | `today`, `now`, `true`, `false`, `yes`, `no`, `?` (unknown value) |
|
|
73
76
|
|constant.language.source.abl | `99/99/9999` (or similar) when used as a format clause |
|
|
74
77
|
|constant.numeric.source.abl | 0x00-0xFF, 0-9 |
|
|
75
|
-
|entity.name.function.abl | Method call, property call,
|
|
78
|
+
|entity.name.function.abl | Method call, property call, method name, property name, handle attributes, handle methods, event names |
|
|
76
79
|
|entity.name.function.preprocessor.abl | `&scoped-define`, `&global-define` |
|
|
80
|
+
|entity.name.include.abl | Include file names |
|
|
77
81
|
|entity.name.package.abl | Package names for `USING` |
|
|
82
|
+
|entity.name.procedure.abl | Internal and external procedure names |
|
|
78
83
|
|entity.name.tag.abl | Annotation names |
|
|
79
84
|
|entity.name.type.abl | Class/interface/enum names |
|
|
80
85
|
|entity.name.type.generic.abl | Generic type names |
|
|
81
86
|
|entity.other.attribute-name.abl | Annotation attribute names |
|
|
82
|
-
|keyword.operator.source.abl | `contains`, `begins`, `matches`, `eq`, `le`, `lt`, `ge`, `gt`, `ne`, `<=`, `<>`, `>=`, `=`, `+`, `-`, `/`, `<`, `>`,
|
|
83
|
-
|keyword.other.abl | Any ABL keyword (incl those covered by other scopes) |
|
|
87
|
+
|keyword.operator.source.abl | `contains`, `begins`, `matches`, `eq`, `le`, `lt`, `ge`, `gt`, `ne`, `<=`, `<>`, `>=`, `=`, `+`, `-`, `/`, `<`, `>`, `*`, `+=`, `-=`, `/=`, `*=` |
|
|
88
|
+
|keyword.other.abl | Any ABL keyword (incl those covered by other scopes like support.function.abl and entity.name.function.abl) |
|
|
84
89
|
|punctuation.definition.string.begin.abl | Start of a quoted string |
|
|
85
90
|
|punctuation.definition.string.end.abl | End of a quoted string |
|
|
86
91
|
|punctuation.section.abl | `{` and `}` |
|
|
@@ -88,13 +93,14 @@ The ABL-specific scopes produced by the ABL grammer listed in the table below. T
|
|
|
88
93
|
|punctuation.separator.period.abl | `.` |
|
|
89
94
|
|punctuation.separator.colon.abl | `:` |
|
|
90
95
|
|punctuation.terminator.abl | `.` and `:` |
|
|
96
|
+
|storage.data.dataset.abl | Statically-defined dataset names, data-relation names |
|
|
91
97
|
|storage.data.table.abl | (Temp-)Table names, field names, index names |
|
|
92
98
|
|storage.type.abl | Primitive datatypes |
|
|
93
99
|
|storage.type.function.abl | ABL preprocessors, `defined` keyword |
|
|
94
100
|
|string.double.complex.abl | String in `"` quotes |
|
|
95
101
|
|string.single.complex.abl | String in `'` quotes |
|
|
96
102
|
|support.function.abl | `opsys`, `proversion`, ABL functions (eg `BASE64-ENCODE`) |
|
|
97
|
-
|support.other.abl | `:L`, `:R`, `:T`, `:C`, `:U` |
|
|
103
|
+
|support.other.abl | Translation attributes `:L`, `:R`, `:T`, `:C`, `:U` |
|
|
98
104
|
|support.other.argument.abl | `&<name\|number>` arguments in includes, preprocessor values |
|
|
99
105
|
|variable.language.abl | ABL system handles (eg `session` or `this-object`) |
|
|
100
106
|
|variable.other.abl | Variable names |
|