├── .gitattributes
├── .gitignore
├── tests
├── brackets.tal
├── strings.tal
├── lambdas.tal
├── labels.tal
├── hello-world.tal
├── macros.tal
├── numbers.tal
├── mnemonics.tal
├── comments.tal
├── references.tal
├── strings.tal.snap
├── brackets.tal.snap
├── macro-comments.tal
├── lambdas.tal.snap
├── labels.tal.snap
├── hello-world.tal.snap
├── mnemonics.tal.snap
├── macros.tal.snap
├── references.tal.snap
├── numbers.tal.snap
├── comments.tal.snap
└── macro-comments.tal.snap
├── images
├── icon.png
├── preview.png
└── file_icon
│ ├── dark.svg
│ └── light.svg
├── .vscodeignore
├── .vscode
└── launch.json
├── language-configuration.json
├── LICENSE
├── README.md
├── package.json
└── syntaxes
└── uxntal.tmLanguage.json
/.gitattributes:
--------------------------------------------------------------------------------
1 | *.json linguist-detectable=true
2 |
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | .DS_Store
2 | node_modules
3 | *.vsix
4 |
--------------------------------------------------------------------------------
/tests/brackets.tal:
--------------------------------------------------------------------------------
1 | [ #00 ]
2 | [[ #00 ]]
3 | [x #00 ]x
4 | x[x #00 x]x
5 |
--------------------------------------------------------------------------------
/images/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bellinitte/uxntal-vscode/HEAD/images/icon.png
--------------------------------------------------------------------------------
/.vscodeignore:
--------------------------------------------------------------------------------
1 | .vscode/
2 | images/preview.png
3 | tests/
4 | .gitattributes
5 | .gitignore
6 |
--------------------------------------------------------------------------------
/images/preview.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bellinitte/uxntal-vscode/HEAD/images/preview.png
--------------------------------------------------------------------------------
/tests/strings.tal:
--------------------------------------------------------------------------------
1 | "string
2 | ""
3 | "
4 |
5 | ~lib.tal
6 | ~#abcD
7 | ~
8 |
9 | 'char ( Removed `'` rune )
10 |
--------------------------------------------------------------------------------
/tests/lambdas.tal:
--------------------------------------------------------------------------------
1 | { }
2 | .{ }
3 | ,{ }
4 | ;{ }
5 | :{ }
6 | -{ }
7 | ={ }
8 | _{ }
9 | !{ }
10 | ?{ }
11 |
12 | { x } x
13 | {x x }x x
14 | x{ x} x
15 |
--------------------------------------------------------------------------------
/tests/labels.tal:
--------------------------------------------------------------------------------
1 | @label
2 | &sublabel
3 |
4 | @label-label
5 | @label-la/bel ( `/` highlighted )
6 | @la/bel-la/bel ( Second `/` not highlighted )
7 | @
8 | @/
9 | @//
10 |
11 | &sublabel-sublabel
12 | &sublabel-subla/bel ( `/` not highlighted )
13 | &
14 | &/
15 |
--------------------------------------------------------------------------------
/tests/hello-world.tal:
--------------------------------------------------------------------------------
1 | %EMIT { #18 DEO }
2 | %HALT { #010f DEO }
3 |
4 | ( init )
5 |
6 | |0100 @program
7 |
8 | ;hello-word
9 |
10 | &while
11 | ( send ) LDAk EMIT
12 | ( loop ) INC2 LDAk ,&while JCN
13 | POP2
14 |
15 | HALT
16 |
17 | BRK
18 |
19 | @hello-word "Hello 20 "World! 00
20 |
--------------------------------------------------------------------------------
/.vscode/launch.json:
--------------------------------------------------------------------------------
1 | {
2 | "version": "1.0.0",
3 | "configurations": [
4 | {
5 | "name": "Extension",
6 | "type": "extensionHost",
7 | "request": "launch",
8 | "args": [
9 | "--extensionDevelopmentPath=${workspaceFolder}"
10 | ]
11 | }
12 | ]
13 | }
14 |
--------------------------------------------------------------------------------
/tests/macros.tal:
--------------------------------------------------------------------------------
1 | %MACRO { }
2 | %! { }
3 | %@ { }
4 | %% { }
5 | % { }
6 |
7 | ( Braces )
8 | %MACRO { }
9 | %MACRO{ }
10 | %MACRO{x }
11 | %MACRO{x }x
12 | %MACRO { { { }
13 | %MACRO { } } }
14 | %MACRO { { } }
15 |
16 | %MACRO { x %NESTED { x } x }
17 |
18 | ( Macro contents )
19 | %MACRO {
20 | BRK ADD2kr @label/label &sublabel
21 | .label #12 #abcd $1 |100 ~lib.tal
22 | "string %MACRO ( comment ) [ ]
23 | }
24 |
--------------------------------------------------------------------------------
/language-configuration.json:
--------------------------------------------------------------------------------
1 | {
2 | "comments": {
3 | "blockComment": [ "(", ")" ]
4 | },
5 | "brackets": [
6 | ["{", "}"],
7 | ["[", "]"],
8 | ["(", ")"]
9 | ],
10 | "autoClosingPairs": [
11 | ["{", "}"],
12 | ["[", "]"],
13 | ["(", ")"]
14 | ],
15 | "surroundingPairs": [
16 | ["{", "}"],
17 | ["[", "]"],
18 | ["(", ")"]
19 | ]
20 | }
21 |
--------------------------------------------------------------------------------
/tests/numbers.tal:
--------------------------------------------------------------------------------
1 | 0 01 012 0123 01234 ( Length of a raw number must be 2 or 4 )
2 | ab aB Ab AB abcd abcD ABCD ( All digits of raw numbers must be lowercase )
3 |
4 | #01 #abcd
5 | |01 |abcd
6 | $01 $abcd
7 |
8 | ( Runed numbers can be of any length )
9 | #0 #012 #01234
10 | |0 |012 |01234
11 | $0 $012 $01234
12 |
13 | # | $
14 |
15 | ( Literal numbers can have arbitrary "digits" )
16 | #0x #x!@ ##
17 |
18 | ( Paddings cannot )
19 | |0x0
20 | $0x0
21 |
--------------------------------------------------------------------------------
/tests/mnemonics.tal:
--------------------------------------------------------------------------------
1 | BRK JMP JMP2 JMPk JMPr JMP2kr2kr ( Valid mnemonics )
2 |
3 | ( Invalid modes )
4 | BRK2 BRKk BRKr
5 | JCI2 JCIk JCIr
6 | JMI2 JMIk JMIr
7 | JSI2 JSIk JSIr
8 | LITk
9 |
10 | aBRK BRKa BRK- BRK-JMP JMP2kr2jr JMPa JMP- ( Almost-mnemonics )
11 |
12 | ( All base mnemonics )
13 | BRK JCI JMI JSI
14 | LIT INC POP NIP SWP ROT DUP OVR
15 | EQU NEQ GTH LTH JMP JCN JSR STH
16 | LDZ STZ LDR STR LDA STA DEI DEO
17 | ADD SUB MUL DIV AND ORA EOR SFT
18 |
--------------------------------------------------------------------------------
/images/file_icon/dark.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/images/file_icon/light.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/tests/comments.tal:
--------------------------------------------------------------------------------
1 | x ( x ) x
2 | x (x x ) x
3 | x ( x )x ) x
4 | x (x) x )x()() x ) x
5 | x (x) x)X )x()() x ) x
6 | (
7 | BRK LIT2kr @label/label &sublabel
8 | .label #12 #abcd $1 |100 ~lib.tal
9 | "string %MACRO { } [ ]
10 | )
11 |
12 | X( x )X ) x
13 |
14 | ( Nested comments )
15 | x ( x ( x ) x ) x
16 | x (x x ( x ) x ) x
17 | x ( x ( x )x x ) x ) x
18 | x (x x ( x )x x ) x ) x
19 |
20 | ( Not nested -- inner comment doesn't start with a `(` )
21 | x ( x (x x ) x ) x
22 | x (x x (x x ) x ) x
23 |
--------------------------------------------------------------------------------
/tests/references.tal:
--------------------------------------------------------------------------------
1 | .label .&sublabel
2 | ,label ,&sublabel
3 | ;label ;&sublabel
4 | :label :&sublabel
5 | -label -&sublabel
6 | =label =&sublabel
7 | _label _&sublabel
8 | !label !&sublabel
9 | ?label ?&sublabel
10 | |label |&sublabel
11 | $label $&sublabel
12 |
13 | label-label
14 | label-la/bel ( `/` highlighted )
15 | la/bel-la/bel ( Second `/` not highlighted )
16 | /
17 | //
18 |
19 | .label-label
20 | .label-la/bel ( `/` highlighted )
21 | .la/bel-la/bel ( Second `/` not highlighted )
22 | .
23 | ./
24 | .//
25 |
26 | .&sublabel-sublabel
27 | .&sublabel-subla/bel ( `/` not highlighted )
28 | .&
29 | .&/
30 |
--------------------------------------------------------------------------------
/tests/strings.tal.snap:
--------------------------------------------------------------------------------
1 | >"string
2 | #^ source.tal punctuation.rune.uxntal
3 | # ^^^^^^ source.tal string.uxntal
4 | >""
5 | #^ source.tal punctuation.rune.uxntal
6 | # ^ source.tal string.uxntal
7 | >"
8 | #^ source.tal punctuation.rune.uxntal
9 | >
10 | >~lib.tal
11 | #^ source.tal punctuation.rune.uxntal
12 | # ^^^^^^^ source.tal meta.preprocessor.string.uxntal
13 | >~#abcD
14 | #^ source.tal punctuation.rune.uxntal
15 | # ^^^^^ source.tal meta.preprocessor.string.uxntal
16 | >~
17 | #^ source.tal punctuation.rune.uxntal
18 | >
19 | >'char ( Removed `'` rune )
20 | #^^^^^ source.tal entity.name.function.uxntal
21 | # ^ source.tal
22 | # ^ source.tal comment.uxntal
23 | # ^ source.tal
24 | # ^^^^^^^ source.tal comment.uxntal
25 | # ^ source.tal
26 | # ^^^ source.tal comment.uxntal
27 | # ^ source.tal
28 | # ^^^^ source.tal comment.uxntal
29 | # ^ source.tal
30 | # ^ source.tal comment.uxntal
31 | >
--------------------------------------------------------------------------------
/tests/brackets.tal.snap:
--------------------------------------------------------------------------------
1 | >[ #00 ]
2 | #^ source.tal punctuation.brackets.uxntal
3 | # ^ source.tal
4 | # ^ source.tal punctuation.rune.uxntal
5 | # ^^ source.tal constant.numeric.uxntal
6 | # ^ source.tal
7 | # ^ source.tal punctuation.brackets.uxntal
8 | >[[ #00 ]]
9 | #^^ source.tal entity.name.function.uxntal
10 | # ^ source.tal
11 | # ^ source.tal punctuation.rune.uxntal
12 | # ^^ source.tal constant.numeric.uxntal
13 | # ^ source.tal
14 | # ^^ source.tal entity.name.function.uxntal
15 | >[x #00 ]x
16 | #^^ source.tal entity.name.function.uxntal
17 | # ^ source.tal
18 | # ^ source.tal punctuation.rune.uxntal
19 | # ^^ source.tal constant.numeric.uxntal
20 | # ^ source.tal
21 | # ^^ source.tal entity.name.function.uxntal
22 | >x[x #00 x]x
23 | #^^^ source.tal entity.name.function.uxntal
24 | # ^ source.tal
25 | # ^ source.tal punctuation.rune.uxntal
26 | # ^^ source.tal constant.numeric.uxntal
27 | # ^ source.tal
28 | # ^^^ source.tal entity.name.function.uxntal
29 | >
--------------------------------------------------------------------------------
/LICENSE:
--------------------------------------------------------------------------------
1 | MIT License
2 |
3 | Copyright (c) 2021 Karol Belina
4 |
5 | Permission is hereby granted, free of charge, to any person obtaining a copy
6 | of this software and associated documentation files (the "Software"), to deal
7 | in the Software without restriction, including without limitation the rights
8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9 | copies of the Software, and to permit persons to whom the Software is
10 | furnished to do so, subject to the following conditions:
11 |
12 | The above copyright notice and this permission notice shall be included in all
13 | copies or substantial portions of the Software.
14 |
15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21 | SOFTWARE.
22 |
--------------------------------------------------------------------------------
/tests/macro-comments.tal:
--------------------------------------------------------------------------------
1 | %MACRO { x ( x ) x }
2 | %MACRO { x (x x ) x }
3 | %MACRO { x (x x )x ) x }
4 | %MACRO { x (x) x )x()() x ) x }
5 | %MACRO { x (x) x)X )x()() x ) x }
6 | %MACRO { x (
7 | BRK LIT2kr @label/label &sublabel
8 | .label #12 #abcd $1 |100 ~lib.tal
9 | "string [ ]
10 | ) x }
11 |
12 | %MACRO { X( x )X ) x }
13 |
14 | ( Nested comments )
15 | %MACRO { x ( x ( x ) x ) x }
16 | %MACRO { x (x x ( x ) x ) x }
17 | %MACRO { x ( x ( x )x x ) x ) x }
18 | %MACRO { x (x x ( x )x x ) x ) x }
19 | %MACRO { x ( x ( x ( x ) x ) x ) x }
20 |
21 | ( Not nested -- inner comment has other characters after the `(` )
22 | %MACRO { x ( x (x x ) x ) x }
23 | %MACRO { x (x x (x x ) x ) x }
24 | %MACRO { x (x x (x )x ) x } x
25 | %MACRO { x (x x (x x ) x } x
26 |
27 | ( Unclosed comments )
28 | %MACRO { x ( x } x
29 | %MACRO { x (x x } x
30 | %MACRO { x (x ( x ) x } x
31 |
32 | ( Nested macros )
33 | %MACRO { x ( x %NESTED x ) x } x ( Nested macro definition gets highlighted )
34 | %MACRO { x ( x ( x %NESTED x ) x ) x } x
35 | %MACRO { x ( x %NESTED { x } x
36 |
37 | ( Macros in comments )
38 | x ( x %MACRO { x } x ) x
39 | x ( } ) x
40 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # uxntal-vscode
2 |
3 | [Uxntal](https://wiki.xxiivv.com/site/uxntal.html) support for Visual Studio Code.
4 |
5 | ## Preview
6 |
7 | 
8 | Theme: Gruvbox Dark Medium
9 | Font: IBM Plex Mono
10 |
11 | ## Installing
12 |
13 | You can install the latest release from [the marketplace](https://marketplace.visualstudio.com/items?itemName=karolbelina.uxntal). The extension will be updated automatically as new versions become available.
14 |
15 | Alternatively, download a VSIX from the [releases](https://github.com/bellinitte/uxntal-vscode/releases) page, or [package it yourself](https://code.visualstudio.com/api/working-with-extensions/publishing-extension#packaging-extensions) with `vsce`. Install it with the `Extensions: Install from VSIX` command within VS Code, or from the command line via:
16 |
17 | ```console
18 | code --install-extension uxntal-1.0.0.vsix
19 | ```
20 |
21 | ## Testing
22 |
23 | This extension uses [vscode-tmgrammar-test](https://github.com/PanAeon/vscode-tmgrammar-test) for testing. Run the entire test suite with
24 |
25 | ```console
26 | vscode-tmgrammar-snap tests/*.tal
27 | ```
28 |
29 | or provide the path to an individual test case.
30 |
31 | ## License
32 |
33 | This software is licensed under the MIT license.
34 |
35 | See the [LICENSE](LICENSE) file for more details.
36 |
--------------------------------------------------------------------------------
/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "uxntal",
3 | "displayName": "Uxntal",
4 | "description": "Uxntal support for Visual Studio Code",
5 | "icon": "images/icon.png",
6 | "version": "1.0.0",
7 | "publisher": "karolbelina",
8 | "repository": {
9 | "url": "https://github.com/bellinitte/uxntal-vscode.git",
10 | "type": "git"
11 | },
12 | "license": "MIT",
13 | "keywords": [
14 | "uxn",
15 | "uxntal"
16 | ],
17 | "categories": [
18 | "Programming Languages"
19 | ],
20 | "engines": {
21 | "vscode": "^1.59.0"
22 | },
23 | "contributes": {
24 | "languages": [
25 | {
26 | "id": "uxntal",
27 | "aliases": [
28 | "Uxntal",
29 | "uxntal"
30 | ],
31 | "extensions": [
32 | ".tal"
33 | ],
34 | "configuration": "language-configuration.json",
35 | "icon": {
36 | "light": "images/file_icon/light.svg",
37 | "dark": "images/file_icon/dark.svg"
38 | }
39 | }
40 | ],
41 | "grammars": [
42 | {
43 | "language": "uxntal",
44 | "scopeName": "source.tal",
45 | "path": "syntaxes/uxntal.tmLanguage.json"
46 | }
47 | ]
48 | }
49 | }
50 |
--------------------------------------------------------------------------------
/tests/lambdas.tal.snap:
--------------------------------------------------------------------------------
1 | >{ }
2 | #^ source.tal punctuation.braces.uxntal
3 | # ^ source.tal
4 | # ^ source.tal punctuation.braces.uxntal
5 | >.{ }
6 | #^ source.tal punctuation.rune.uxntal
7 | # ^ source.tal punctuation.braces.uxntal
8 | # ^ source.tal
9 | # ^ source.tal punctuation.braces.uxntal
10 | >,{ }
11 | #^ source.tal punctuation.rune.uxntal
12 | # ^ source.tal punctuation.braces.uxntal
13 | # ^ source.tal
14 | # ^ source.tal punctuation.braces.uxntal
15 | >;{ }
16 | #^ source.tal punctuation.rune.uxntal
17 | # ^ source.tal punctuation.braces.uxntal
18 | # ^ source.tal
19 | # ^ source.tal punctuation.braces.uxntal
20 | >:{ }
21 | #^ source.tal punctuation.rune.uxntal
22 | # ^ source.tal punctuation.braces.uxntal
23 | # ^ source.tal
24 | # ^ source.tal punctuation.braces.uxntal
25 | >-{ }
26 | #^ source.tal punctuation.rune.uxntal
27 | # ^ source.tal punctuation.braces.uxntal
28 | # ^ source.tal
29 | # ^ source.tal punctuation.braces.uxntal
30 | >={ }
31 | #^ source.tal punctuation.rune.uxntal
32 | # ^ source.tal punctuation.braces.uxntal
33 | # ^ source.tal
34 | # ^ source.tal punctuation.braces.uxntal
35 | >_{ }
36 | #^ source.tal punctuation.rune.uxntal
37 | # ^ source.tal punctuation.braces.uxntal
38 | # ^ source.tal
39 | # ^ source.tal punctuation.braces.uxntal
40 | >!{ }
41 | #^ source.tal punctuation.rune.uxntal
42 | # ^ source.tal punctuation.braces.uxntal
43 | # ^ source.tal
44 | # ^ source.tal punctuation.braces.uxntal
45 | >?{ }
46 | #^ source.tal punctuation.rune.uxntal
47 | # ^ source.tal punctuation.braces.uxntal
48 | # ^ source.tal
49 | # ^ source.tal punctuation.braces.uxntal
50 | >
51 | >{ x } x
52 | #^ source.tal punctuation.braces.uxntal
53 | # ^ source.tal
54 | # ^ source.tal entity.name.function.uxntal
55 | # ^ source.tal
56 | # ^ source.tal punctuation.braces.uxntal
57 | # ^ source.tal
58 | # ^ source.tal entity.name.function.uxntal
59 | >{x x }x x
60 | #^^ source.tal punctuation.braces.uxntal
61 | # ^ source.tal
62 | # ^ source.tal entity.name.function.uxntal
63 | # ^ source.tal
64 | # ^^ source.tal punctuation.braces.uxntal
65 | # ^ source.tal
66 | # ^ source.tal entity.name.function.uxntal
67 | >x{ x} x
68 | #^^ source.tal entity.name.function.uxntal
69 | # ^ source.tal
70 | # ^^ source.tal entity.name.function.uxntal
71 | # ^ source.tal
72 | # ^ source.tal entity.name.function.uxntal
73 | >
--------------------------------------------------------------------------------
/tests/labels.tal.snap:
--------------------------------------------------------------------------------
1 | >@label
2 | #^ source.tal punctuation.rune.uxntal
3 | # ^^^^^ source.tal entity.name.tag.uxntal
4 | >&sublabel
5 | #^ source.tal punctuation.rune.uxntal
6 | # ^^^^^^^^ source.tal entity.name.tag.uxntal
7 | >
8 | >@label-label
9 | #^ source.tal punctuation.rune.uxntal
10 | # ^^^^^^^^^^^ source.tal entity.name.tag.uxntal
11 | >@label-la/bel ( `/` highlighted )
12 | #^ source.tal punctuation.rune.uxntal
13 | # ^^^^^^^^ source.tal entity.name.tag.uxntal
14 | # ^ source.tal punctuation.rune.uxntal
15 | # ^^^ source.tal entity.name.tag.uxntal
16 | # ^ source.tal
17 | # ^ source.tal comment.uxntal
18 | # ^ source.tal
19 | # ^^^ source.tal comment.uxntal
20 | # ^ source.tal
21 | # ^^^^^^^^^^^ source.tal comment.uxntal
22 | # ^ source.tal
23 | # ^ source.tal comment.uxntal
24 | >@la/bel-la/bel ( Second `/` not highlighted )
25 | #^ source.tal punctuation.rune.uxntal
26 | # ^^ source.tal entity.name.tag.uxntal
27 | # ^ source.tal punctuation.rune.uxntal
28 | # ^^^^^^^^^^ source.tal entity.name.tag.uxntal
29 | # ^ source.tal
30 | # ^ source.tal comment.uxntal
31 | # ^ source.tal
32 | # ^^^^^^ source.tal comment.uxntal
33 | # ^ source.tal
34 | # ^^^ source.tal comment.uxntal
35 | # ^ source.tal
36 | # ^^^ source.tal comment.uxntal
37 | # ^ source.tal
38 | # ^^^^^^^^^^^ source.tal comment.uxntal
39 | # ^ source.tal
40 | # ^ source.tal comment.uxntal
41 | >@
42 | #^ source.tal punctuation.rune.uxntal
43 | >@/
44 | #^ source.tal punctuation.rune.uxntal
45 | # ^ source.tal punctuation.rune.uxntal
46 | >@//
47 | #^ source.tal punctuation.rune.uxntal
48 | # ^ source.tal punctuation.rune.uxntal
49 | # ^ source.tal entity.name.tag.uxntal
50 | >
51 | >&sublabel-sublabel
52 | #^ source.tal punctuation.rune.uxntal
53 | # ^^^^^^^^^^^^^^^^^ source.tal entity.name.tag.uxntal
54 | >&sublabel-subla/bel ( `/` not highlighted )
55 | #^ source.tal punctuation.rune.uxntal
56 | # ^^^^^^^^^^^^^^^^^^ source.tal entity.name.tag.uxntal
57 | # ^ source.tal
58 | # ^ source.tal comment.uxntal
59 | # ^ source.tal
60 | # ^^^ source.tal comment.uxntal
61 | # ^ source.tal
62 | # ^^^ source.tal comment.uxntal
63 | # ^ source.tal
64 | # ^^^^^^^^^^^ source.tal comment.uxntal
65 | # ^ source.tal
66 | # ^ source.tal comment.uxntal
67 | >&
68 | #^ source.tal punctuation.rune.uxntal
69 | >&/
70 | #^ source.tal punctuation.rune.uxntal
71 | # ^ source.tal entity.name.tag.uxntal
72 | >
--------------------------------------------------------------------------------
/tests/hello-world.tal.snap:
--------------------------------------------------------------------------------
1 | >%EMIT { #18 DEO }
2 | #^ source.tal punctuation.rune.uxntal
3 | # ^^^^ source.tal meta.preprocessor.uxntal
4 | # ^ source.tal
5 | # ^ source.tal punctuation.braces.uxntal
6 | # ^ source.tal
7 | # ^ source.tal punctuation.rune.uxntal
8 | # ^^ source.tal constant.numeric.uxntal
9 | # ^ source.tal
10 | # ^^^ source.tal keyword.uxntal
11 | # ^ source.tal
12 | # ^ source.tal punctuation.braces.uxntal
13 | >%HALT { #010f DEO }
14 | #^ source.tal punctuation.rune.uxntal
15 | # ^^^^ source.tal meta.preprocessor.uxntal
16 | # ^ source.tal
17 | # ^ source.tal punctuation.braces.uxntal
18 | # ^ source.tal
19 | # ^ source.tal punctuation.rune.uxntal
20 | # ^^^^ source.tal constant.numeric.uxntal
21 | # ^ source.tal
22 | # ^^^ source.tal keyword.uxntal
23 | # ^ source.tal
24 | # ^ source.tal punctuation.braces.uxntal
25 | >
26 | >( init )
27 | #^ source.tal comment.uxntal
28 | # ^ source.tal
29 | # ^^^^ source.tal comment.uxntal
30 | # ^ source.tal
31 | # ^ source.tal comment.uxntal
32 | >
33 | >|0100 @program
34 | #^ source.tal punctuation.rune.uxntal
35 | # ^^^^ source.tal constant.numeric.uxntal
36 | # ^ source.tal
37 | # ^ source.tal punctuation.rune.uxntal
38 | # ^^^^^^^ source.tal entity.name.tag.uxntal
39 | >
40 | > ;hello-word
41 | #^^^^ source.tal
42 | # ^ source.tal punctuation.rune.uxntal
43 | # ^^^^^^^^^^ source.tal entity.name.function.uxntal
44 | >
45 | > &while
46 | #^^^^ source.tal
47 | # ^ source.tal punctuation.rune.uxntal
48 | # ^^^^^ source.tal entity.name.tag.uxntal
49 | > ( send ) LDAk EMIT
50 | #^^^^^^^^ source.tal
51 | # ^ source.tal comment.uxntal
52 | # ^ source.tal
53 | # ^^^^ source.tal comment.uxntal
54 | # ^ source.tal
55 | # ^ source.tal comment.uxntal
56 | # ^ source.tal
57 | # ^^^^ source.tal keyword.uxntal
58 | # ^ source.tal
59 | # ^^^^ source.tal entity.name.function.uxntal
60 | > ( loop ) INC2 LDAk ,&while JCN
61 | #^^^^^^^^ source.tal
62 | # ^ source.tal comment.uxntal
63 | # ^ source.tal
64 | # ^^^^ source.tal comment.uxntal
65 | # ^ source.tal
66 | # ^ source.tal comment.uxntal
67 | # ^ source.tal
68 | # ^^^^ source.tal keyword.uxntal
69 | # ^ source.tal
70 | # ^^^^ source.tal keyword.uxntal
71 | # ^ source.tal
72 | # ^ source.tal punctuation.rune.uxntal
73 | # ^ source.tal punctuation.rune.uxntal
74 | # ^^^^^ source.tal entity.name.function.uxntal
75 | # ^ source.tal
76 | # ^^^ source.tal keyword.uxntal
77 | > POP2
78 | #^^^^ source.tal
79 | # ^^^^ source.tal keyword.uxntal
80 | >
81 | > HALT
82 | #^^^^ source.tal
83 | # ^^^^ source.tal entity.name.function.uxntal
84 | >
85 | >BRK
86 | #^^^ source.tal keyword.uxntal
87 | >
88 | >@hello-word "Hello 20 "World! 00
89 | #^ source.tal punctuation.rune.uxntal
90 | # ^^^^^^^^^^ source.tal entity.name.tag.uxntal
91 | # ^ source.tal
92 | # ^ source.tal punctuation.rune.uxntal
93 | # ^^^^^ source.tal string.uxntal
94 | # ^ source.tal
95 | # ^^ source.tal constant.numeric.uxntal
96 | # ^ source.tal
97 | # ^ source.tal punctuation.rune.uxntal
98 | # ^^^^^^ source.tal string.uxntal
99 | # ^ source.tal
100 | # ^^ source.tal constant.numeric.uxntal
101 | >
--------------------------------------------------------------------------------
/tests/mnemonics.tal.snap:
--------------------------------------------------------------------------------
1 | >BRK JMP JMP2 JMPk JMPr JMP2kr2kr ( Valid mnemonics )
2 | #^^^ source.tal keyword.uxntal
3 | # ^ source.tal
4 | # ^^^ source.tal keyword.uxntal
5 | # ^ source.tal
6 | # ^^^^ source.tal keyword.uxntal
7 | # ^ source.tal
8 | # ^^^^ source.tal keyword.uxntal
9 | # ^ source.tal
10 | # ^^^^ source.tal keyword.uxntal
11 | # ^ source.tal
12 | # ^^^^^^^^^ source.tal keyword.uxntal
13 | # ^ source.tal
14 | # ^ source.tal comment.uxntal
15 | # ^ source.tal
16 | # ^^^^^ source.tal comment.uxntal
17 | # ^ source.tal
18 | # ^^^^^^^^^ source.tal comment.uxntal
19 | # ^ source.tal
20 | # ^ source.tal comment.uxntal
21 | >
22 | >( Invalid modes )
23 | #^ source.tal comment.uxntal
24 | # ^ source.tal
25 | # ^^^^^^^ source.tal comment.uxntal
26 | # ^ source.tal
27 | # ^^^^^ source.tal comment.uxntal
28 | # ^ source.tal
29 | # ^ source.tal comment.uxntal
30 | >BRK2 BRKk BRKr
31 | #^^^^ source.tal entity.name.function.uxntal
32 | # ^ source.tal
33 | # ^^^^ source.tal entity.name.function.uxntal
34 | # ^ source.tal
35 | # ^^^^ source.tal entity.name.function.uxntal
36 | >JCI2 JCIk JCIr
37 | #^^^^ source.tal entity.name.function.uxntal
38 | # ^ source.tal
39 | # ^^^^ source.tal entity.name.function.uxntal
40 | # ^ source.tal
41 | # ^^^^ source.tal entity.name.function.uxntal
42 | >JMI2 JMIk JMIr
43 | #^^^^ source.tal entity.name.function.uxntal
44 | # ^ source.tal
45 | # ^^^^ source.tal entity.name.function.uxntal
46 | # ^ source.tal
47 | # ^^^^ source.tal entity.name.function.uxntal
48 | >JSI2 JSIk JSIr
49 | #^^^^ source.tal entity.name.function.uxntal
50 | # ^ source.tal
51 | # ^^^^ source.tal entity.name.function.uxntal
52 | # ^ source.tal
53 | # ^^^^ source.tal entity.name.function.uxntal
54 | >LITk
55 | #^^^^ source.tal entity.name.function.uxntal
56 | >
57 | >aBRK BRKa BRK- BRK-JMP JMP2kr2jr JMPa JMP- ( Almost-mnemonics )
58 | #^^^^ source.tal entity.name.function.uxntal
59 | # ^ source.tal
60 | # ^^^^ source.tal entity.name.function.uxntal
61 | # ^ source.tal
62 | # ^^^^ source.tal entity.name.function.uxntal
63 | # ^ source.tal
64 | # ^^^^^^^ source.tal entity.name.function.uxntal
65 | # ^ source.tal
66 | # ^^^^^^^^^ source.tal entity.name.function.uxntal
67 | # ^ source.tal
68 | # ^^^^ source.tal entity.name.function.uxntal
69 | # ^ source.tal
70 | # ^^^^ source.tal entity.name.function.uxntal
71 | # ^ source.tal
72 | # ^ source.tal comment.uxntal
73 | # ^ source.tal
74 | # ^^^^^^^^^^^^^^^^ source.tal comment.uxntal
75 | # ^ source.tal
76 | # ^ source.tal comment.uxntal
77 | >
78 | >( All base mnemonics )
79 | #^ source.tal comment.uxntal
80 | # ^ source.tal
81 | # ^^^ source.tal comment.uxntal
82 | # ^ source.tal
83 | # ^^^^ source.tal comment.uxntal
84 | # ^ source.tal
85 | # ^^^^^^^^^ source.tal comment.uxntal
86 | # ^ source.tal
87 | # ^ source.tal comment.uxntal
88 | >BRK JCI JMI JSI
89 | #^^^ source.tal keyword.uxntal
90 | # ^ source.tal
91 | # ^^^ source.tal keyword.uxntal
92 | # ^ source.tal
93 | # ^^^ source.tal keyword.uxntal
94 | # ^ source.tal
95 | # ^^^ source.tal keyword.uxntal
96 | >LIT INC POP NIP SWP ROT DUP OVR
97 | #^^^ source.tal keyword.uxntal
98 | # ^ source.tal
99 | # ^^^ source.tal keyword.uxntal
100 | # ^ source.tal
101 | # ^^^ source.tal keyword.uxntal
102 | # ^ source.tal
103 | # ^^^ source.tal keyword.uxntal
104 | # ^ source.tal
105 | # ^^^ source.tal keyword.uxntal
106 | # ^ source.tal
107 | # ^^^ source.tal keyword.uxntal
108 | # ^ source.tal
109 | # ^^^ source.tal keyword.uxntal
110 | # ^ source.tal
111 | # ^^^ source.tal keyword.uxntal
112 | >EQU NEQ GTH LTH JMP JCN JSR STH
113 | #^^^ source.tal keyword.uxntal
114 | # ^ source.tal
115 | # ^^^ source.tal keyword.uxntal
116 | # ^ source.tal
117 | # ^^^ source.tal keyword.uxntal
118 | # ^ source.tal
119 | # ^^^ source.tal keyword.uxntal
120 | # ^ source.tal
121 | # ^^^ source.tal keyword.uxntal
122 | # ^ source.tal
123 | # ^^^ source.tal keyword.uxntal
124 | # ^ source.tal
125 | # ^^^ source.tal keyword.uxntal
126 | # ^ source.tal
127 | # ^^^ source.tal keyword.uxntal
128 | >LDZ STZ LDR STR LDA STA DEI DEO
129 | #^^^ source.tal keyword.uxntal
130 | # ^ source.tal
131 | # ^^^ source.tal keyword.uxntal
132 | # ^ source.tal
133 | # ^^^ source.tal keyword.uxntal
134 | # ^ source.tal
135 | # ^^^ source.tal keyword.uxntal
136 | # ^ source.tal
137 | # ^^^ source.tal keyword.uxntal
138 | # ^ source.tal
139 | # ^^^ source.tal keyword.uxntal
140 | # ^ source.tal
141 | # ^^^ source.tal keyword.uxntal
142 | # ^ source.tal
143 | # ^^^ source.tal keyword.uxntal
144 | >ADD SUB MUL DIV AND ORA EOR SFT
145 | #^^^ source.tal keyword.uxntal
146 | # ^ source.tal
147 | # ^^^ source.tal keyword.uxntal
148 | # ^ source.tal
149 | # ^^^ source.tal keyword.uxntal
150 | # ^ source.tal
151 | # ^^^ source.tal keyword.uxntal
152 | # ^ source.tal
153 | # ^^^ source.tal keyword.uxntal
154 | # ^ source.tal
155 | # ^^^ source.tal keyword.uxntal
156 | # ^ source.tal
157 | # ^^^ source.tal keyword.uxntal
158 | # ^ source.tal
159 | # ^^^ source.tal keyword.uxntal
160 | >
--------------------------------------------------------------------------------
/tests/macros.tal.snap:
--------------------------------------------------------------------------------
1 | >%MACRO { }
2 | #^ source.tal punctuation.rune.uxntal
3 | # ^^^^^ source.tal meta.preprocessor.uxntal
4 | # ^ source.tal
5 | # ^ source.tal punctuation.braces.uxntal
6 | # ^ source.tal
7 | # ^ source.tal punctuation.braces.uxntal
8 | >%! { }
9 | #^ source.tal punctuation.rune.uxntal
10 | # ^ source.tal meta.preprocessor.uxntal
11 | # ^ source.tal
12 | # ^ source.tal punctuation.braces.uxntal
13 | # ^ source.tal
14 | # ^ source.tal punctuation.braces.uxntal
15 | >%@ { }
16 | #^ source.tal punctuation.rune.uxntal
17 | # ^ source.tal meta.preprocessor.uxntal
18 | # ^ source.tal
19 | # ^ source.tal punctuation.braces.uxntal
20 | # ^ source.tal
21 | # ^ source.tal punctuation.braces.uxntal
22 | >%% { }
23 | #^ source.tal punctuation.rune.uxntal
24 | # ^ source.tal meta.preprocessor.uxntal
25 | # ^ source.tal
26 | # ^ source.tal punctuation.braces.uxntal
27 | # ^ source.tal
28 | # ^ source.tal punctuation.braces.uxntal
29 | >% { }
30 | #^ source.tal punctuation.rune.uxntal
31 | # ^ source.tal
32 | # ^ source.tal punctuation.braces.uxntal
33 | # ^ source.tal
34 | # ^ source.tal punctuation.braces.uxntal
35 | >
36 | >( Braces )
37 | #^ source.tal comment.uxntal
38 | # ^ source.tal
39 | # ^^^^^^ source.tal comment.uxntal
40 | # ^ source.tal
41 | # ^ source.tal comment.uxntal
42 | >%MACRO { }
43 | #^ source.tal punctuation.rune.uxntal
44 | # ^^^^^ source.tal meta.preprocessor.uxntal
45 | # ^ source.tal
46 | # ^ source.tal punctuation.braces.uxntal
47 | # ^ source.tal
48 | # ^ source.tal punctuation.braces.uxntal
49 | >%MACRO{ }
50 | #^ source.tal punctuation.rune.uxntal
51 | # ^^^^^^ source.tal meta.preprocessor.uxntal
52 | # ^ source.tal
53 | # ^ source.tal punctuation.braces.uxntal
54 | >%MACRO{x }
55 | #^ source.tal punctuation.rune.uxntal
56 | # ^^^^^^^ source.tal meta.preprocessor.uxntal
57 | # ^ source.tal
58 | # ^ source.tal punctuation.braces.uxntal
59 | >%MACRO{x }x
60 | #^ source.tal punctuation.rune.uxntal
61 | # ^^^^^^^ source.tal meta.preprocessor.uxntal
62 | # ^ source.tal
63 | # ^^ source.tal punctuation.braces.uxntal
64 | >%MACRO { { { }
65 | #^ source.tal punctuation.rune.uxntal
66 | # ^^^^^ source.tal meta.preprocessor.uxntal
67 | # ^ source.tal
68 | # ^ source.tal punctuation.braces.uxntal
69 | # ^ source.tal
70 | # ^ source.tal punctuation.braces.uxntal
71 | # ^ source.tal
72 | # ^ source.tal punctuation.braces.uxntal
73 | # ^ source.tal
74 | # ^ source.tal punctuation.braces.uxntal
75 | >%MACRO { } } }
76 | #^ source.tal punctuation.rune.uxntal
77 | # ^^^^^ source.tal meta.preprocessor.uxntal
78 | # ^ source.tal
79 | # ^ source.tal punctuation.braces.uxntal
80 | # ^ source.tal
81 | # ^ source.tal punctuation.braces.uxntal
82 | # ^ source.tal
83 | # ^ source.tal punctuation.braces.uxntal
84 | # ^ source.tal
85 | # ^ source.tal punctuation.braces.uxntal
86 | >%MACRO { { } }
87 | #^ source.tal punctuation.rune.uxntal
88 | # ^^^^^ source.tal meta.preprocessor.uxntal
89 | # ^ source.tal
90 | # ^ source.tal punctuation.braces.uxntal
91 | # ^ source.tal
92 | # ^ source.tal punctuation.braces.uxntal
93 | # ^ source.tal
94 | # ^ source.tal punctuation.braces.uxntal
95 | # ^ source.tal
96 | # ^ source.tal punctuation.braces.uxntal
97 | >
98 | >%MACRO { x %NESTED { x } x }
99 | #^ source.tal punctuation.rune.uxntal
100 | # ^^^^^ source.tal meta.preprocessor.uxntal
101 | # ^ source.tal
102 | # ^ source.tal punctuation.braces.uxntal
103 | # ^ source.tal
104 | # ^ source.tal entity.name.function.uxntal
105 | # ^ source.tal
106 | # ^ source.tal punctuation.rune.uxntal
107 | # ^^^^^^ source.tal meta.preprocessor.uxntal
108 | # ^ source.tal
109 | # ^ source.tal punctuation.braces.uxntal
110 | # ^ source.tal
111 | # ^ source.tal entity.name.function.uxntal
112 | # ^ source.tal
113 | # ^ source.tal punctuation.braces.uxntal
114 | # ^ source.tal
115 | # ^ source.tal entity.name.function.uxntal
116 | # ^ source.tal
117 | # ^ source.tal punctuation.braces.uxntal
118 | >
119 | >( Macro contents )
120 | #^ source.tal comment.uxntal
121 | # ^ source.tal
122 | # ^^^^^ source.tal comment.uxntal
123 | # ^ source.tal
124 | # ^^^^^^^^ source.tal comment.uxntal
125 | # ^ source.tal
126 | # ^ source.tal comment.uxntal
127 | >%MACRO {
128 | #^ source.tal punctuation.rune.uxntal
129 | # ^^^^^ source.tal meta.preprocessor.uxntal
130 | # ^ source.tal
131 | # ^ source.tal punctuation.braces.uxntal
132 | > BRK ADD2kr @label/label &sublabel
133 | #^^^^ source.tal
134 | # ^^^ source.tal keyword.uxntal
135 | # ^ source.tal
136 | # ^^^^^^ source.tal keyword.uxntal
137 | # ^ source.tal
138 | # ^ source.tal punctuation.rune.uxntal
139 | # ^^^^^ source.tal entity.name.tag.uxntal
140 | # ^ source.tal punctuation.rune.uxntal
141 | # ^^^^^ source.tal entity.name.tag.uxntal
142 | # ^ source.tal
143 | # ^ source.tal punctuation.rune.uxntal
144 | # ^^^^^^^^ source.tal entity.name.tag.uxntal
145 | > .label #12 #abcd $1 |100 ~lib.tal
146 | #^^^^ source.tal
147 | # ^ source.tal punctuation.rune.uxntal
148 | # ^^^^^ source.tal entity.name.function.uxntal
149 | # ^ source.tal
150 | # ^ source.tal punctuation.rune.uxntal
151 | # ^^ source.tal constant.numeric.uxntal
152 | # ^ source.tal
153 | # ^ source.tal punctuation.rune.uxntal
154 | # ^^^^ source.tal constant.numeric.uxntal
155 | # ^ source.tal
156 | # ^ source.tal punctuation.rune.uxntal
157 | # ^ source.tal constant.numeric.uxntal
158 | # ^ source.tal
159 | # ^ source.tal punctuation.rune.uxntal
160 | # ^^^ source.tal constant.numeric.uxntal
161 | # ^ source.tal
162 | # ^ source.tal punctuation.rune.uxntal
163 | # ^^^^^^^ source.tal meta.preprocessor.string.uxntal
164 | > "string %MACRO ( comment ) [ ]
165 | #^^^^ source.tal
166 | # ^ source.tal punctuation.rune.uxntal
167 | # ^^^^^^ source.tal string.uxntal
168 | # ^ source.tal
169 | # ^ source.tal punctuation.rune.uxntal
170 | # ^^^^^ source.tal meta.preprocessor.uxntal
171 | # ^ source.tal
172 | # ^ source.tal comment.uxntal
173 | # ^ source.tal
174 | # ^^^^^^^ source.tal comment.uxntal
175 | # ^ source.tal
176 | # ^ source.tal comment.uxntal
177 | # ^ source.tal
178 | # ^ source.tal punctuation.brackets.uxntal
179 | # ^ source.tal
180 | # ^ source.tal punctuation.brackets.uxntal
181 | >}
182 | #^ source.tal punctuation.braces.uxntal
183 | >
--------------------------------------------------------------------------------
/tests/references.tal.snap:
--------------------------------------------------------------------------------
1 | >.label .&sublabel
2 | #^ source.tal punctuation.rune.uxntal
3 | # ^^^^^ source.tal entity.name.function.uxntal
4 | # ^ source.tal
5 | # ^ source.tal punctuation.rune.uxntal
6 | # ^ source.tal punctuation.rune.uxntal
7 | # ^^^^^^^^ source.tal entity.name.function.uxntal
8 | >,label ,&sublabel
9 | #^ source.tal punctuation.rune.uxntal
10 | # ^^^^^ source.tal entity.name.function.uxntal
11 | # ^ source.tal
12 | # ^ source.tal punctuation.rune.uxntal
13 | # ^ source.tal punctuation.rune.uxntal
14 | # ^^^^^^^^ source.tal entity.name.function.uxntal
15 | >;label ;&sublabel
16 | #^ source.tal punctuation.rune.uxntal
17 | # ^^^^^ source.tal entity.name.function.uxntal
18 | # ^ source.tal
19 | # ^ source.tal punctuation.rune.uxntal
20 | # ^ source.tal punctuation.rune.uxntal
21 | # ^^^^^^^^ source.tal entity.name.function.uxntal
22 | >:label :&sublabel
23 | #^ source.tal punctuation.rune.uxntal
24 | # ^^^^^ source.tal entity.name.function.uxntal
25 | # ^ source.tal
26 | # ^ source.tal punctuation.rune.uxntal
27 | # ^ source.tal punctuation.rune.uxntal
28 | # ^^^^^^^^ source.tal entity.name.function.uxntal
29 | >-label -&sublabel
30 | #^ source.tal punctuation.rune.uxntal
31 | # ^^^^^ source.tal entity.name.function.uxntal
32 | # ^ source.tal
33 | # ^ source.tal punctuation.rune.uxntal
34 | # ^ source.tal punctuation.rune.uxntal
35 | # ^^^^^^^^ source.tal entity.name.function.uxntal
36 | >=label =&sublabel
37 | #^ source.tal punctuation.rune.uxntal
38 | # ^^^^^ source.tal entity.name.function.uxntal
39 | # ^ source.tal
40 | # ^ source.tal punctuation.rune.uxntal
41 | # ^ source.tal punctuation.rune.uxntal
42 | # ^^^^^^^^ source.tal entity.name.function.uxntal
43 | >_label _&sublabel
44 | #^ source.tal punctuation.rune.uxntal
45 | # ^^^^^ source.tal entity.name.function.uxntal
46 | # ^ source.tal
47 | # ^ source.tal punctuation.rune.uxntal
48 | # ^ source.tal punctuation.rune.uxntal
49 | # ^^^^^^^^ source.tal entity.name.function.uxntal
50 | >!label !&sublabel
51 | #^ source.tal punctuation.rune.uxntal
52 | # ^^^^^ source.tal entity.name.function.uxntal
53 | # ^ source.tal
54 | # ^ source.tal punctuation.rune.uxntal
55 | # ^ source.tal punctuation.rune.uxntal
56 | # ^^^^^^^^ source.tal entity.name.function.uxntal
57 | >?label ?&sublabel
58 | #^ source.tal punctuation.rune.uxntal
59 | # ^^^^^ source.tal entity.name.function.uxntal
60 | # ^ source.tal
61 | # ^ source.tal punctuation.rune.uxntal
62 | # ^ source.tal punctuation.rune.uxntal
63 | # ^^^^^^^^ source.tal entity.name.function.uxntal
64 | >|label |&sublabel
65 | #^ source.tal punctuation.rune.uxntal
66 | # ^^^^^ source.tal entity.name.function.uxntal
67 | # ^ source.tal
68 | # ^ source.tal punctuation.rune.uxntal
69 | # ^ source.tal punctuation.rune.uxntal
70 | # ^^^^^^^^ source.tal entity.name.function.uxntal
71 | >$label $&sublabel
72 | #^ source.tal punctuation.rune.uxntal
73 | # ^^^^^ source.tal entity.name.function.uxntal
74 | # ^ source.tal
75 | # ^ source.tal punctuation.rune.uxntal
76 | # ^ source.tal punctuation.rune.uxntal
77 | # ^^^^^^^^ source.tal entity.name.function.uxntal
78 | >
79 | >label-label
80 | #^^^^^^^^^^^ source.tal entity.name.function.uxntal
81 | >label-la/bel ( `/` highlighted )
82 | #^^^^^^^^ source.tal entity.name.function.uxntal
83 | # ^ source.tal punctuation.rune.uxntal
84 | # ^^^ source.tal entity.name.function.uxntal
85 | # ^ source.tal
86 | # ^ source.tal comment.uxntal
87 | # ^ source.tal
88 | # ^^^ source.tal comment.uxntal
89 | # ^ source.tal
90 | # ^^^^^^^^^^^ source.tal comment.uxntal
91 | # ^ source.tal
92 | # ^ source.tal comment.uxntal
93 | >la/bel-la/bel ( Second `/` not highlighted )
94 | #^^ source.tal entity.name.function.uxntal
95 | # ^ source.tal punctuation.rune.uxntal
96 | # ^^^^^^^^^^ source.tal entity.name.function.uxntal
97 | # ^ source.tal
98 | # ^ source.tal comment.uxntal
99 | # ^ source.tal
100 | # ^^^^^^ source.tal comment.uxntal
101 | # ^ source.tal
102 | # ^^^ source.tal comment.uxntal
103 | # ^ source.tal
104 | # ^^^ source.tal comment.uxntal
105 | # ^ source.tal
106 | # ^^^^^^^^^^^ source.tal comment.uxntal
107 | # ^ source.tal
108 | # ^ source.tal comment.uxntal
109 | >/
110 | #^ source.tal punctuation.rune.uxntal
111 | >//
112 | #^ source.tal punctuation.rune.uxntal
113 | # ^ source.tal entity.name.function.uxntal
114 | >
115 | >.label-label
116 | #^ source.tal punctuation.rune.uxntal
117 | # ^^^^^^^^^^^ source.tal entity.name.function.uxntal
118 | >.label-la/bel ( `/` highlighted )
119 | #^ source.tal punctuation.rune.uxntal
120 | # ^^^^^^^^ source.tal entity.name.function.uxntal
121 | # ^ source.tal punctuation.rune.uxntal
122 | # ^^^ source.tal entity.name.function.uxntal
123 | # ^ source.tal
124 | # ^ source.tal comment.uxntal
125 | # ^ source.tal
126 | # ^^^ source.tal comment.uxntal
127 | # ^ source.tal
128 | # ^^^^^^^^^^^ source.tal comment.uxntal
129 | # ^ source.tal
130 | # ^ source.tal comment.uxntal
131 | >.la/bel-la/bel ( Second `/` not highlighted )
132 | #^ source.tal punctuation.rune.uxntal
133 | # ^^ source.tal entity.name.function.uxntal
134 | # ^ source.tal punctuation.rune.uxntal
135 | # ^^^^^^^^^^ source.tal entity.name.function.uxntal
136 | # ^ source.tal
137 | # ^ source.tal comment.uxntal
138 | # ^ source.tal
139 | # ^^^^^^ source.tal comment.uxntal
140 | # ^ source.tal
141 | # ^^^ source.tal comment.uxntal
142 | # ^ source.tal
143 | # ^^^ source.tal comment.uxntal
144 | # ^ source.tal
145 | # ^^^^^^^^^^^ source.tal comment.uxntal
146 | # ^ source.tal
147 | # ^ source.tal comment.uxntal
148 | >.
149 | #^ source.tal punctuation.rune.uxntal
150 | >./
151 | #^ source.tal punctuation.rune.uxntal
152 | # ^ source.tal punctuation.rune.uxntal
153 | >.//
154 | #^ source.tal punctuation.rune.uxntal
155 | # ^ source.tal punctuation.rune.uxntal
156 | # ^ source.tal entity.name.function.uxntal
157 | >
158 | >.&sublabel-sublabel
159 | #^ source.tal punctuation.rune.uxntal
160 | # ^ source.tal punctuation.rune.uxntal
161 | # ^^^^^^^^^^^^^^^^^ source.tal entity.name.function.uxntal
162 | >.&sublabel-subla/bel ( `/` not highlighted )
163 | #^ source.tal punctuation.rune.uxntal
164 | # ^ source.tal punctuation.rune.uxntal
165 | # ^^^^^^^^^^^^^^^^^^ source.tal entity.name.function.uxntal
166 | # ^ source.tal
167 | # ^ source.tal comment.uxntal
168 | # ^ source.tal
169 | # ^^^ source.tal comment.uxntal
170 | # ^ source.tal
171 | # ^^^ source.tal comment.uxntal
172 | # ^ source.tal
173 | # ^^^^^^^^^^^ source.tal comment.uxntal
174 | # ^ source.tal
175 | # ^ source.tal comment.uxntal
176 | >.&
177 | #^ source.tal punctuation.rune.uxntal
178 | # ^ source.tal punctuation.rune.uxntal
179 | >.&/
180 | #^ source.tal punctuation.rune.uxntal
181 | # ^ source.tal punctuation.rune.uxntal
182 | # ^ source.tal entity.name.function.uxntal
183 | >
--------------------------------------------------------------------------------
/tests/numbers.tal.snap:
--------------------------------------------------------------------------------
1 | >0 01 012 0123 01234 ( Length of a raw number must be 2 or 4 )
2 | #^ source.tal entity.name.function.uxntal
3 | # ^ source.tal
4 | # ^^ source.tal constant.numeric.uxntal
5 | # ^ source.tal
6 | # ^^^ source.tal entity.name.function.uxntal
7 | # ^ source.tal
8 | # ^^^^ source.tal constant.numeric.uxntal
9 | # ^ source.tal
10 | # ^^^^^ source.tal entity.name.function.uxntal
11 | # ^ source.tal
12 | # ^ source.tal comment.uxntal
13 | # ^ source.tal
14 | # ^^^^^^ source.tal comment.uxntal
15 | # ^ source.tal
16 | # ^^ source.tal comment.uxntal
17 | # ^ source.tal
18 | # ^ source.tal comment.uxntal
19 | # ^ source.tal
20 | # ^^^ source.tal comment.uxntal
21 | # ^ source.tal
22 | # ^^^^^^ source.tal comment.uxntal
23 | # ^ source.tal
24 | # ^^^^ source.tal comment.uxntal
25 | # ^ source.tal
26 | # ^^ source.tal comment.uxntal
27 | # ^ source.tal
28 | # ^ source.tal comment.uxntal
29 | # ^ source.tal
30 | # ^^ source.tal comment.uxntal
31 | # ^ source.tal
32 | # ^ source.tal comment.uxntal
33 | # ^ source.tal
34 | # ^ source.tal comment.uxntal
35 | >ab aB Ab AB abcd abcD ABCD ( All digits of raw numbers must be lowercase )
36 | #^^ source.tal constant.numeric.uxntal
37 | # ^ source.tal
38 | # ^^ source.tal entity.name.function.uxntal
39 | # ^ source.tal
40 | # ^^ source.tal entity.name.function.uxntal
41 | # ^ source.tal
42 | # ^^ source.tal entity.name.function.uxntal
43 | # ^ source.tal
44 | # ^^^^ source.tal constant.numeric.uxntal
45 | # ^ source.tal
46 | # ^^^^ source.tal entity.name.function.uxntal
47 | # ^ source.tal
48 | # ^^^^ source.tal entity.name.function.uxntal
49 | # ^ source.tal
50 | # ^ source.tal comment.uxntal
51 | # ^ source.tal
52 | # ^^^ source.tal comment.uxntal
53 | # ^ source.tal
54 | # ^^^^^^ source.tal comment.uxntal
55 | # ^ source.tal
56 | # ^^ source.tal comment.uxntal
57 | # ^ source.tal
58 | # ^^^ source.tal comment.uxntal
59 | # ^ source.tal
60 | # ^^^^^^^ source.tal comment.uxntal
61 | # ^ source.tal
62 | # ^^^^ source.tal comment.uxntal
63 | # ^ source.tal
64 | # ^^ source.tal comment.uxntal
65 | # ^ source.tal
66 | # ^^^^^^^^^ source.tal comment.uxntal
67 | # ^ source.tal
68 | # ^ source.tal comment.uxntal
69 | >
70 | >#01 #abcd
71 | #^ source.tal punctuation.rune.uxntal
72 | # ^^ source.tal constant.numeric.uxntal
73 | # ^ source.tal
74 | # ^ source.tal punctuation.rune.uxntal
75 | # ^^^^ source.tal constant.numeric.uxntal
76 | >|01 |abcd
77 | #^ source.tal punctuation.rune.uxntal
78 | # ^^ source.tal constant.numeric.uxntal
79 | # ^ source.tal
80 | # ^ source.tal punctuation.rune.uxntal
81 | # ^^^^ source.tal constant.numeric.uxntal
82 | >$01 $abcd
83 | #^ source.tal punctuation.rune.uxntal
84 | # ^^ source.tal constant.numeric.uxntal
85 | # ^ source.tal
86 | # ^ source.tal punctuation.rune.uxntal
87 | # ^^^^ source.tal constant.numeric.uxntal
88 | >
89 | >( Runed numbers can be of any length )
90 | #^ source.tal comment.uxntal
91 | # ^ source.tal
92 | # ^^^^^ source.tal comment.uxntal
93 | # ^ source.tal
94 | # ^^^^^^^ source.tal comment.uxntal
95 | # ^ source.tal
96 | # ^^^ source.tal comment.uxntal
97 | # ^ source.tal
98 | # ^^ source.tal comment.uxntal
99 | # ^ source.tal
100 | # ^^ source.tal comment.uxntal
101 | # ^ source.tal
102 | # ^^^ source.tal comment.uxntal
103 | # ^ source.tal
104 | # ^^^^^^ source.tal comment.uxntal
105 | # ^ source.tal
106 | # ^ source.tal comment.uxntal
107 | >#0 #012 #01234
108 | #^ source.tal punctuation.rune.uxntal
109 | # ^ source.tal constant.numeric.uxntal
110 | # ^ source.tal
111 | # ^ source.tal punctuation.rune.uxntal
112 | # ^^^ source.tal constant.numeric.uxntal
113 | # ^ source.tal
114 | # ^ source.tal punctuation.rune.uxntal
115 | # ^^^^^ source.tal constant.numeric.uxntal
116 | >|0 |012 |01234
117 | #^ source.tal punctuation.rune.uxntal
118 | # ^ source.tal constant.numeric.uxntal
119 | # ^ source.tal
120 | # ^ source.tal punctuation.rune.uxntal
121 | # ^^^ source.tal constant.numeric.uxntal
122 | # ^ source.tal
123 | # ^ source.tal punctuation.rune.uxntal
124 | # ^^^^^ source.tal constant.numeric.uxntal
125 | >$0 $012 $01234
126 | #^ source.tal punctuation.rune.uxntal
127 | # ^ source.tal constant.numeric.uxntal
128 | # ^ source.tal
129 | # ^ source.tal punctuation.rune.uxntal
130 | # ^^^ source.tal constant.numeric.uxntal
131 | # ^ source.tal
132 | # ^ source.tal punctuation.rune.uxntal
133 | # ^^^^^ source.tal constant.numeric.uxntal
134 | >
135 | ># | $
136 | #^ source.tal punctuation.rune.uxntal
137 | # ^ source.tal
138 | # ^ source.tal punctuation.rune.uxntal
139 | # ^ source.tal
140 | # ^ source.tal punctuation.rune.uxntal
141 | >
142 | >( Literal numbers can have arbitrary "digits" )
143 | #^ source.tal comment.uxntal
144 | # ^ source.tal
145 | # ^^^^^^^ source.tal comment.uxntal
146 | # ^ source.tal
147 | # ^^^^^^^ source.tal comment.uxntal
148 | # ^ source.tal
149 | # ^^^ source.tal comment.uxntal
150 | # ^ source.tal
151 | # ^^^^ source.tal comment.uxntal
152 | # ^ source.tal
153 | # ^^^^^^^^^ source.tal comment.uxntal
154 | # ^ source.tal
155 | # ^^^^^^^^ source.tal comment.uxntal
156 | # ^ source.tal
157 | # ^ source.tal comment.uxntal
158 | >#0x #x!@ ##
159 | #^ source.tal punctuation.rune.uxntal
160 | # ^^ source.tal constant.numeric.uxntal
161 | # ^ source.tal
162 | # ^ source.tal punctuation.rune.uxntal
163 | # ^^^ source.tal constant.numeric.uxntal
164 | # ^ source.tal
165 | # ^ source.tal punctuation.rune.uxntal
166 | # ^ source.tal constant.numeric.uxntal
167 | >
168 | >( Paddings cannot )
169 | #^ source.tal comment.uxntal
170 | # ^ source.tal
171 | # ^^^^^^^^ source.tal comment.uxntal
172 | # ^ source.tal
173 | # ^^^^^^ source.tal comment.uxntal
174 | # ^ source.tal
175 | # ^ source.tal comment.uxntal
176 | >|0x0
177 | #^ source.tal punctuation.rune.uxntal
178 | # ^^^ source.tal entity.name.function.uxntal
179 | >$0x0
180 | #^ source.tal punctuation.rune.uxntal
181 | # ^^^ source.tal entity.name.function.uxntal
182 | >
--------------------------------------------------------------------------------
/tests/comments.tal.snap:
--------------------------------------------------------------------------------
1 | >x ( x ) x
2 | #^ source.tal entity.name.function.uxntal
3 | # ^ source.tal
4 | # ^ source.tal comment.uxntal
5 | # ^ source.tal
6 | # ^ source.tal comment.uxntal
7 | # ^ source.tal
8 | # ^ source.tal comment.uxntal
9 | # ^ source.tal
10 | # ^ source.tal entity.name.function.uxntal
11 | >x (x x ) x
12 | #^ source.tal entity.name.function.uxntal
13 | # ^ source.tal
14 | # ^^ source.tal comment.uxntal
15 | # ^ source.tal
16 | # ^ source.tal comment.uxntal
17 | # ^ source.tal
18 | # ^ source.tal comment.uxntal
19 | # ^ source.tal
20 | # ^ source.tal entity.name.function.uxntal
21 | >x ( x )x ) x
22 | #^ source.tal entity.name.function.uxntal
23 | # ^ source.tal
24 | # ^ source.tal comment.uxntal
25 | # ^ source.tal
26 | # ^ source.tal comment.uxntal
27 | # ^ source.tal
28 | # ^^ source.tal comment.uxntal
29 | # ^ source.tal
30 | # ^ source.tal comment.uxntal
31 | # ^ source.tal
32 | # ^ source.tal entity.name.function.uxntal
33 | >x (x) x )x()() x ) x
34 | #^ source.tal entity.name.function.uxntal
35 | # ^ source.tal
36 | # ^^^ source.tal comment.uxntal
37 | # ^ source.tal
38 | # ^ source.tal comment.uxntal
39 | # ^ source.tal
40 | # ^^^^^^ source.tal comment.uxntal
41 | # ^ source.tal
42 | # ^ source.tal comment.uxntal
43 | # ^ source.tal
44 | # ^ source.tal comment.uxntal
45 | # ^ source.tal
46 | # ^ source.tal entity.name.function.uxntal
47 | >x (x) x)X )x()() x ) x
48 | #^ source.tal entity.name.function.uxntal
49 | # ^ source.tal
50 | # ^^^ source.tal comment.uxntal
51 | # ^ source.tal
52 | # ^^^ source.tal comment.uxntal
53 | # ^ source.tal
54 | # ^^^^^^ source.tal comment.uxntal
55 | # ^ source.tal
56 | # ^ source.tal comment.uxntal
57 | # ^ source.tal
58 | # ^ source.tal comment.uxntal
59 | # ^ source.tal
60 | # ^ source.tal entity.name.function.uxntal
61 | >(
62 | #^ source.tal comment.uxntal
63 | > BRK LIT2kr @label/label &sublabel
64 | #^^^^ source.tal
65 | # ^^^ source.tal comment.uxntal
66 | # ^ source.tal
67 | # ^^^^^^ source.tal comment.uxntal
68 | # ^ source.tal
69 | # ^^^^^^^^^^^^ source.tal comment.uxntal
70 | # ^ source.tal
71 | # ^^^^^^^^^ source.tal comment.uxntal
72 | > .label #12 #abcd $1 |100 ~lib.tal
73 | #^^^^ source.tal
74 | # ^^^^^^ source.tal comment.uxntal
75 | # ^ source.tal
76 | # ^^^ source.tal comment.uxntal
77 | # ^ source.tal
78 | # ^^^^^ source.tal comment.uxntal
79 | # ^ source.tal
80 | # ^^ source.tal comment.uxntal
81 | # ^ source.tal
82 | # ^^^^ source.tal comment.uxntal
83 | # ^ source.tal
84 | # ^^^^^^^^ source.tal comment.uxntal
85 | > "string %MACRO { } [ ]
86 | #^^^^ source.tal
87 | # ^^^^^^^ source.tal comment.uxntal
88 | # ^ source.tal
89 | # ^^^^^^ source.tal comment.uxntal
90 | # ^ source.tal
91 | # ^ source.tal comment.uxntal
92 | # ^ source.tal
93 | # ^ source.tal comment.uxntal
94 | # ^ source.tal
95 | # ^ source.tal comment.uxntal
96 | # ^ source.tal
97 | # ^ source.tal comment.uxntal
98 | >)
99 | #^ source.tal comment.uxntal
100 | >
101 | >X( x )X ) x
102 | #^^ source.tal entity.name.function.uxntal
103 | # ^ source.tal
104 | # ^ source.tal entity.name.function.uxntal
105 | # ^ source.tal
106 | # ^^ source.tal entity.name.function.uxntal
107 | # ^ source.tal
108 | # ^ source.tal entity.name.function.uxntal
109 | # ^ source.tal
110 | # ^ source.tal entity.name.function.uxntal
111 | >
112 | >( Nested comments )
113 | #^ source.tal comment.uxntal
114 | # ^ source.tal
115 | # ^^^^^^ source.tal comment.uxntal
116 | # ^ source.tal
117 | # ^^^^^^^^ source.tal comment.uxntal
118 | # ^ source.tal
119 | # ^ source.tal comment.uxntal
120 | >x ( x ( x ) x ) x
121 | #^ source.tal entity.name.function.uxntal
122 | # ^ source.tal
123 | # ^ source.tal comment.uxntal
124 | # ^ source.tal
125 | # ^ source.tal comment.uxntal
126 | # ^ source.tal
127 | # ^ source.tal comment.uxntal
128 | # ^ source.tal
129 | # ^ source.tal comment.uxntal
130 | # ^ source.tal
131 | # ^ source.tal comment.uxntal
132 | # ^ source.tal
133 | # ^ source.tal comment.uxntal
134 | # ^ source.tal
135 | # ^ source.tal comment.uxntal
136 | # ^ source.tal
137 | # ^ source.tal entity.name.function.uxntal
138 | >x (x x ( x ) x ) x
139 | #^ source.tal entity.name.function.uxntal
140 | # ^ source.tal
141 | # ^^ source.tal comment.uxntal
142 | # ^ source.tal
143 | # ^ source.tal comment.uxntal
144 | # ^ source.tal
145 | # ^ source.tal comment.uxntal
146 | # ^ source.tal
147 | # ^ source.tal comment.uxntal
148 | # ^ source.tal
149 | # ^ source.tal comment.uxntal
150 | # ^ source.tal
151 | # ^ source.tal comment.uxntal
152 | # ^ source.tal
153 | # ^ source.tal comment.uxntal
154 | # ^ source.tal
155 | # ^ source.tal entity.name.function.uxntal
156 | >x ( x ( x )x x ) x ) x
157 | #^ source.tal entity.name.function.uxntal
158 | # ^ source.tal
159 | # ^ source.tal comment.uxntal
160 | # ^ source.tal
161 | # ^ source.tal comment.uxntal
162 | # ^ source.tal
163 | # ^ source.tal comment.uxntal
164 | # ^ source.tal
165 | # ^ source.tal comment.uxntal
166 | # ^ source.tal
167 | # ^^ source.tal comment.uxntal
168 | # ^ source.tal
169 | # ^ source.tal comment.uxntal
170 | # ^ source.tal
171 | # ^ source.tal comment.uxntal
172 | # ^ source.tal
173 | # ^ source.tal comment.uxntal
174 | # ^ source.tal
175 | # ^ source.tal comment.uxntal
176 | # ^ source.tal
177 | # ^ source.tal entity.name.function.uxntal
178 | >x (x x ( x )x x ) x ) x
179 | #^ source.tal entity.name.function.uxntal
180 | # ^ source.tal
181 | # ^^ source.tal comment.uxntal
182 | # ^ source.tal
183 | # ^ source.tal comment.uxntal
184 | # ^ source.tal
185 | # ^ source.tal comment.uxntal
186 | # ^ source.tal
187 | # ^ source.tal comment.uxntal
188 | # ^ source.tal
189 | # ^^ source.tal comment.uxntal
190 | # ^ source.tal
191 | # ^ source.tal comment.uxntal
192 | # ^ source.tal
193 | # ^ source.tal comment.uxntal
194 | # ^ source.tal
195 | # ^ source.tal comment.uxntal
196 | # ^ source.tal
197 | # ^ source.tal comment.uxntal
198 | # ^ source.tal
199 | # ^ source.tal entity.name.function.uxntal
200 | >
201 | >( Not nested -- inner comment doesn't start with a `(` )
202 | #^ source.tal comment.uxntal
203 | # ^ source.tal
204 | # ^^^ source.tal comment.uxntal
205 | # ^ source.tal
206 | # ^^^^^^ source.tal comment.uxntal
207 | # ^ source.tal
208 | # ^^ source.tal comment.uxntal
209 | # ^ source.tal
210 | # ^^^^^ source.tal comment.uxntal
211 | # ^ source.tal
212 | # ^^^^^^^ source.tal comment.uxntal
213 | # ^ source.tal
214 | # ^^^^^^^ source.tal comment.uxntal
215 | # ^ source.tal
216 | # ^^^^^ source.tal comment.uxntal
217 | # ^ source.tal
218 | # ^^^^ source.tal comment.uxntal
219 | # ^ source.tal
220 | # ^ source.tal comment.uxntal
221 | # ^ source.tal
222 | # ^^^ source.tal comment.uxntal
223 | # ^ source.tal
224 | # ^ source.tal comment.uxntal
225 | >x ( x (x x ) x ) x
226 | #^ source.tal entity.name.function.uxntal
227 | # ^ source.tal
228 | # ^ source.tal comment.uxntal
229 | # ^ source.tal
230 | # ^ source.tal comment.uxntal
231 | # ^ source.tal
232 | # ^^ source.tal comment.uxntal
233 | # ^ source.tal
234 | # ^ source.tal comment.uxntal
235 | # ^ source.tal
236 | # ^ source.tal comment.uxntal
237 | # ^ source.tal
238 | # ^ source.tal entity.name.function.uxntal
239 | # ^ source.tal
240 | # ^ source.tal entity.name.function.uxntal
241 | # ^ source.tal
242 | # ^ source.tal entity.name.function.uxntal
243 | >x (x x (x x ) x ) x
244 | #^ source.tal entity.name.function.uxntal
245 | # ^ source.tal
246 | # ^^ source.tal comment.uxntal
247 | # ^ source.tal
248 | # ^ source.tal comment.uxntal
249 | # ^ source.tal
250 | # ^^ source.tal comment.uxntal
251 | # ^ source.tal
252 | # ^ source.tal comment.uxntal
253 | # ^ source.tal
254 | # ^ source.tal comment.uxntal
255 | # ^ source.tal
256 | # ^ source.tal entity.name.function.uxntal
257 | # ^ source.tal
258 | # ^ source.tal entity.name.function.uxntal
259 | # ^ source.tal
260 | # ^ source.tal entity.name.function.uxntal
261 | >
--------------------------------------------------------------------------------
/syntaxes/uxntal.tmLanguage.json:
--------------------------------------------------------------------------------
1 | {
2 | "$schema": "https://raw.githubusercontent.com/martinring/tmlanguage/master/tmlanguage.json",
3 | "name": "Uxntal",
4 | "patterns": [
5 | { "include": "#macroDefinitionRegion" },
6 | { "include": "#commentRegion" },
7 | { "include": "#genericTokens" }
8 | ],
9 | "repository": {
10 | "comment": {
11 | "name": "comment.uxntal",
12 | "match": "(?%MACRO { x ( x ) x }
2 | #^ source.tal punctuation.rune.uxntal
3 | # ^^^^^ source.tal meta.preprocessor.uxntal
4 | # ^ source.tal
5 | # ^ source.tal punctuation.braces.uxntal
6 | # ^ source.tal
7 | # ^ source.tal entity.name.function.uxntal
8 | # ^ source.tal
9 | # ^ source.tal comment.uxntal
10 | # ^ source.tal
11 | # ^ source.tal comment.uxntal
12 | # ^ source.tal
13 | # ^ source.tal comment.uxntal
14 | # ^ source.tal
15 | # ^ source.tal entity.name.function.uxntal
16 | # ^ source.tal
17 | # ^ source.tal punctuation.braces.uxntal
18 | >%MACRO { x (x x ) x }
19 | #^ source.tal punctuation.rune.uxntal
20 | # ^^^^^ source.tal meta.preprocessor.uxntal
21 | # ^ source.tal
22 | # ^ source.tal punctuation.braces.uxntal
23 | # ^ source.tal
24 | # ^ source.tal entity.name.function.uxntal
25 | # ^ source.tal
26 | # ^^ source.tal comment.uxntal
27 | # ^ source.tal
28 | # ^ source.tal comment.uxntal
29 | # ^ source.tal
30 | # ^ source.tal comment.uxntal
31 | # ^ source.tal
32 | # ^ source.tal entity.name.function.uxntal
33 | # ^ source.tal
34 | # ^ source.tal punctuation.braces.uxntal
35 | >%MACRO { x (x x )x ) x }
36 | #^ source.tal punctuation.rune.uxntal
37 | # ^^^^^ source.tal meta.preprocessor.uxntal
38 | # ^ source.tal
39 | # ^ source.tal punctuation.braces.uxntal
40 | # ^ source.tal
41 | # ^ source.tal entity.name.function.uxntal
42 | # ^ source.tal
43 | # ^^ source.tal comment.uxntal
44 | # ^ source.tal
45 | # ^ source.tal comment.uxntal
46 | # ^ source.tal
47 | # ^^ source.tal comment.uxntal
48 | # ^ source.tal
49 | # ^ source.tal comment.uxntal
50 | # ^ source.tal
51 | # ^ source.tal entity.name.function.uxntal
52 | # ^ source.tal
53 | # ^ source.tal punctuation.braces.uxntal
54 | >%MACRO { x (x) x )x()() x ) x }
55 | #^ source.tal punctuation.rune.uxntal
56 | # ^^^^^ source.tal meta.preprocessor.uxntal
57 | # ^ source.tal
58 | # ^ source.tal punctuation.braces.uxntal
59 | # ^ source.tal
60 | # ^ source.tal entity.name.function.uxntal
61 | # ^ source.tal
62 | # ^^^ source.tal comment.uxntal
63 | # ^ source.tal
64 | # ^ source.tal comment.uxntal
65 | # ^ source.tal
66 | # ^^^^^^ source.tal comment.uxntal
67 | # ^ source.tal
68 | # ^ source.tal comment.uxntal
69 | # ^ source.tal
70 | # ^ source.tal comment.uxntal
71 | # ^ source.tal
72 | # ^ source.tal entity.name.function.uxntal
73 | # ^ source.tal
74 | # ^ source.tal punctuation.braces.uxntal
75 | >%MACRO { x (x) x)X )x()() x ) x }
76 | #^ source.tal punctuation.rune.uxntal
77 | # ^^^^^ source.tal meta.preprocessor.uxntal
78 | # ^ source.tal
79 | # ^ source.tal punctuation.braces.uxntal
80 | # ^ source.tal
81 | # ^ source.tal entity.name.function.uxntal
82 | # ^ source.tal
83 | # ^^^ source.tal comment.uxntal
84 | # ^ source.tal
85 | # ^^^ source.tal comment.uxntal
86 | # ^ source.tal
87 | # ^^^^^^ source.tal comment.uxntal
88 | # ^ source.tal
89 | # ^ source.tal comment.uxntal
90 | # ^ source.tal
91 | # ^ source.tal comment.uxntal
92 | # ^ source.tal
93 | # ^ source.tal entity.name.function.uxntal
94 | # ^ source.tal
95 | # ^ source.tal punctuation.braces.uxntal
96 | >%MACRO { x (
97 | #^ source.tal punctuation.rune.uxntal
98 | # ^^^^^ source.tal meta.preprocessor.uxntal
99 | # ^ source.tal
100 | # ^ source.tal punctuation.braces.uxntal
101 | # ^ source.tal
102 | # ^ source.tal entity.name.function.uxntal
103 | # ^ source.tal
104 | # ^ source.tal comment.uxntal
105 | > BRK LIT2kr @label/label &sublabel
106 | #^^^^ source.tal
107 | # ^^^ source.tal comment.uxntal
108 | # ^ source.tal
109 | # ^^^^^^ source.tal comment.uxntal
110 | # ^ source.tal
111 | # ^^^^^^^^^^^^ source.tal comment.uxntal
112 | # ^ source.tal
113 | # ^^^^^^^^^ source.tal comment.uxntal
114 | > .label #12 #abcd $1 |100 ~lib.tal
115 | #^^^^ source.tal
116 | # ^^^^^^ source.tal comment.uxntal
117 | # ^ source.tal
118 | # ^^^ source.tal comment.uxntal
119 | # ^ source.tal
120 | # ^^^^^ source.tal comment.uxntal
121 | # ^ source.tal
122 | # ^^ source.tal comment.uxntal
123 | # ^ source.tal
124 | # ^^^^ source.tal comment.uxntal
125 | # ^ source.tal
126 | # ^^^^^^^^ source.tal comment.uxntal
127 | > "string [ ]
128 | #^^^^ source.tal
129 | # ^^^^^^^ source.tal comment.uxntal
130 | # ^ source.tal
131 | # ^ source.tal comment.uxntal
132 | # ^ source.tal
133 | # ^ source.tal comment.uxntal
134 | >) x }
135 | #^ source.tal comment.uxntal
136 | # ^ source.tal
137 | # ^ source.tal entity.name.function.uxntal
138 | # ^ source.tal
139 | # ^ source.tal punctuation.braces.uxntal
140 | >
141 | >%MACRO { X( x )X ) x }
142 | #^ source.tal punctuation.rune.uxntal
143 | # ^^^^^ source.tal meta.preprocessor.uxntal
144 | # ^ source.tal
145 | # ^ source.tal punctuation.braces.uxntal
146 | # ^ source.tal
147 | # ^^ source.tal entity.name.function.uxntal
148 | # ^ source.tal
149 | # ^ source.tal entity.name.function.uxntal
150 | # ^ source.tal
151 | # ^^ source.tal entity.name.function.uxntal
152 | # ^ source.tal
153 | # ^ source.tal entity.name.function.uxntal
154 | # ^ source.tal
155 | # ^ source.tal entity.name.function.uxntal
156 | # ^ source.tal
157 | # ^ source.tal punctuation.braces.uxntal
158 | >
159 | >( Nested comments )
160 | #^ source.tal comment.uxntal
161 | # ^ source.tal
162 | # ^^^^^^ source.tal comment.uxntal
163 | # ^ source.tal
164 | # ^^^^^^^^ source.tal comment.uxntal
165 | # ^ source.tal
166 | # ^ source.tal comment.uxntal
167 | >%MACRO { x ( x ( x ) x ) x }
168 | #^ source.tal punctuation.rune.uxntal
169 | # ^^^^^ source.tal meta.preprocessor.uxntal
170 | # ^ source.tal
171 | # ^ source.tal punctuation.braces.uxntal
172 | # ^ source.tal
173 | # ^ source.tal entity.name.function.uxntal
174 | # ^ source.tal
175 | # ^ source.tal comment.uxntal
176 | # ^ source.tal
177 | # ^ source.tal comment.uxntal
178 | # ^ source.tal
179 | # ^ source.tal comment.uxntal
180 | # ^ source.tal
181 | # ^ source.tal comment.uxntal
182 | # ^ source.tal
183 | # ^ source.tal comment.uxntal
184 | # ^ source.tal
185 | # ^ source.tal comment.uxntal
186 | # ^ source.tal
187 | # ^ source.tal comment.uxntal
188 | # ^ source.tal
189 | # ^ source.tal entity.name.function.uxntal
190 | # ^ source.tal
191 | # ^ source.tal punctuation.braces.uxntal
192 | >%MACRO { x (x x ( x ) x ) x }
193 | #^ source.tal punctuation.rune.uxntal
194 | # ^^^^^ source.tal meta.preprocessor.uxntal
195 | # ^ source.tal
196 | # ^ source.tal punctuation.braces.uxntal
197 | # ^ source.tal
198 | # ^ source.tal entity.name.function.uxntal
199 | # ^ source.tal
200 | # ^^ source.tal comment.uxntal
201 | # ^ source.tal
202 | # ^ source.tal comment.uxntal
203 | # ^ source.tal
204 | # ^ source.tal comment.uxntal
205 | # ^ source.tal
206 | # ^ source.tal comment.uxntal
207 | # ^ source.tal
208 | # ^ source.tal comment.uxntal
209 | # ^ source.tal
210 | # ^ source.tal comment.uxntal
211 | # ^ source.tal
212 | # ^ source.tal comment.uxntal
213 | # ^ source.tal
214 | # ^ source.tal entity.name.function.uxntal
215 | # ^ source.tal
216 | # ^ source.tal punctuation.braces.uxntal
217 | >%MACRO { x ( x ( x )x x ) x ) x }
218 | #^ source.tal punctuation.rune.uxntal
219 | # ^^^^^ source.tal meta.preprocessor.uxntal
220 | # ^ source.tal
221 | # ^ source.tal punctuation.braces.uxntal
222 | # ^ source.tal
223 | # ^ source.tal entity.name.function.uxntal
224 | # ^ source.tal
225 | # ^ source.tal comment.uxntal
226 | # ^ source.tal
227 | # ^ source.tal comment.uxntal
228 | # ^ source.tal
229 | # ^ source.tal comment.uxntal
230 | # ^ source.tal
231 | # ^ source.tal comment.uxntal
232 | # ^ source.tal
233 | # ^^ source.tal comment.uxntal
234 | # ^ source.tal
235 | # ^ source.tal comment.uxntal
236 | # ^ source.tal
237 | # ^ source.tal comment.uxntal
238 | # ^ source.tal
239 | # ^ source.tal comment.uxntal
240 | # ^ source.tal
241 | # ^ source.tal comment.uxntal
242 | # ^ source.tal
243 | # ^ source.tal entity.name.function.uxntal
244 | # ^ source.tal
245 | # ^ source.tal punctuation.braces.uxntal
246 | >%MACRO { x (x x ( x )x x ) x ) x }
247 | #^ source.tal punctuation.rune.uxntal
248 | # ^^^^^ source.tal meta.preprocessor.uxntal
249 | # ^ source.tal
250 | # ^ source.tal punctuation.braces.uxntal
251 | # ^ source.tal
252 | # ^ source.tal entity.name.function.uxntal
253 | # ^ source.tal
254 | # ^^ source.tal comment.uxntal
255 | # ^ source.tal
256 | # ^ source.tal comment.uxntal
257 | # ^ source.tal
258 | # ^ source.tal comment.uxntal
259 | # ^ source.tal
260 | # ^ source.tal comment.uxntal
261 | # ^ source.tal
262 | # ^^ source.tal comment.uxntal
263 | # ^ source.tal
264 | # ^ source.tal comment.uxntal
265 | # ^ source.tal
266 | # ^ source.tal comment.uxntal
267 | # ^ source.tal
268 | # ^ source.tal comment.uxntal
269 | # ^ source.tal
270 | # ^ source.tal comment.uxntal
271 | # ^ source.tal
272 | # ^ source.tal entity.name.function.uxntal
273 | # ^ source.tal
274 | # ^ source.tal punctuation.braces.uxntal
275 | >%MACRO { x ( x ( x ( x ) x ) x ) x }
276 | #^ source.tal punctuation.rune.uxntal
277 | # ^^^^^ source.tal meta.preprocessor.uxntal
278 | # ^ source.tal
279 | # ^ source.tal punctuation.braces.uxntal
280 | # ^ source.tal
281 | # ^ source.tal entity.name.function.uxntal
282 | # ^ source.tal
283 | # ^ source.tal comment.uxntal
284 | # ^ source.tal
285 | # ^ source.tal comment.uxntal
286 | # ^ source.tal
287 | # ^ source.tal comment.uxntal
288 | # ^ source.tal
289 | # ^ source.tal comment.uxntal
290 | # ^ source.tal
291 | # ^ source.tal comment.uxntal
292 | # ^ source.tal
293 | # ^ source.tal comment.uxntal
294 | # ^ source.tal
295 | # ^ source.tal comment.uxntal
296 | # ^ source.tal
297 | # ^ source.tal comment.uxntal
298 | # ^ source.tal
299 | # ^ source.tal comment.uxntal
300 | # ^ source.tal
301 | # ^ source.tal comment.uxntal
302 | # ^ source.tal
303 | # ^ source.tal comment.uxntal
304 | # ^ source.tal
305 | # ^ source.tal entity.name.function.uxntal
306 | # ^ source.tal
307 | # ^ source.tal punctuation.braces.uxntal
308 | >
309 | >( Not nested -- inner comment has other characters after the `(` )
310 | #^ source.tal comment.uxntal
311 | # ^ source.tal
312 | # ^^^ source.tal comment.uxntal
313 | # ^ source.tal
314 | # ^^^^^^ source.tal comment.uxntal
315 | # ^ source.tal
316 | # ^^ source.tal comment.uxntal
317 | # ^ source.tal
318 | # ^^^^^ source.tal comment.uxntal
319 | # ^ source.tal
320 | # ^^^^^^^ source.tal comment.uxntal
321 | # ^ source.tal
322 | # ^^^ source.tal comment.uxntal
323 | # ^ source.tal
324 | # ^^^^^ source.tal comment.uxntal
325 | # ^ source.tal
326 | # ^^^^^^^^^^ source.tal comment.uxntal
327 | # ^ source.tal
328 | # ^^^^^ source.tal comment.uxntal
329 | # ^ source.tal
330 | # ^^^ source.tal comment.uxntal
331 | # ^ source.tal
332 | # ^^^ source.tal comment.uxntal
333 | # ^ source.tal
334 | # ^ source.tal comment.uxntal
335 | >%MACRO { x ( x (x x ) x ) x }
336 | #^ source.tal punctuation.rune.uxntal
337 | # ^^^^^ source.tal meta.preprocessor.uxntal
338 | # ^ source.tal
339 | # ^ source.tal punctuation.braces.uxntal
340 | # ^ source.tal
341 | # ^ source.tal entity.name.function.uxntal
342 | # ^ source.tal
343 | # ^ source.tal comment.uxntal
344 | # ^ source.tal
345 | # ^ source.tal comment.uxntal
346 | # ^ source.tal
347 | # ^^ source.tal comment.uxntal
348 | # ^ source.tal
349 | # ^ source.tal comment.uxntal
350 | # ^ source.tal
351 | # ^ source.tal comment.uxntal
352 | # ^ source.tal
353 | # ^ source.tal entity.name.function.uxntal
354 | # ^ source.tal
355 | # ^ source.tal entity.name.function.uxntal
356 | # ^ source.tal
357 | # ^ source.tal entity.name.function.uxntal
358 | # ^ source.tal
359 | # ^ source.tal punctuation.braces.uxntal
360 | >%MACRO { x (x x (x x ) x ) x }
361 | #^ source.tal punctuation.rune.uxntal
362 | # ^^^^^ source.tal meta.preprocessor.uxntal
363 | # ^ source.tal
364 | # ^ source.tal punctuation.braces.uxntal
365 | # ^ source.tal
366 | # ^ source.tal entity.name.function.uxntal
367 | # ^ source.tal
368 | # ^^ source.tal comment.uxntal
369 | # ^ source.tal
370 | # ^ source.tal comment.uxntal
371 | # ^ source.tal
372 | # ^^ source.tal comment.uxntal
373 | # ^ source.tal
374 | # ^ source.tal comment.uxntal
375 | # ^ source.tal
376 | # ^ source.tal comment.uxntal
377 | # ^ source.tal
378 | # ^ source.tal entity.name.function.uxntal
379 | # ^ source.tal
380 | # ^ source.tal entity.name.function.uxntal
381 | # ^ source.tal
382 | # ^ source.tal entity.name.function.uxntal
383 | # ^ source.tal
384 | # ^ source.tal punctuation.braces.uxntal
385 | >%MACRO { x (x x (x )x ) x } x
386 | #^ source.tal punctuation.rune.uxntal
387 | # ^^^^^ source.tal meta.preprocessor.uxntal
388 | # ^ source.tal
389 | # ^ source.tal punctuation.braces.uxntal
390 | # ^ source.tal
391 | # ^ source.tal entity.name.function.uxntal
392 | # ^ source.tal
393 | # ^^ source.tal comment.uxntal
394 | # ^ source.tal
395 | # ^ source.tal comment.uxntal
396 | # ^ source.tal
397 | # ^^ source.tal comment.uxntal
398 | # ^ source.tal
399 | # ^^ source.tal comment.uxntal
400 | # ^ source.tal
401 | # ^ source.tal comment.uxntal
402 | # ^ source.tal
403 | # ^ source.tal entity.name.function.uxntal
404 | # ^ source.tal
405 | # ^ source.tal punctuation.braces.uxntal
406 | # ^ source.tal
407 | # ^ source.tal entity.name.function.uxntal
408 | >%MACRO { x (x x (x x ) x } x
409 | #^ source.tal punctuation.rune.uxntal
410 | # ^^^^^ source.tal meta.preprocessor.uxntal
411 | # ^ source.tal
412 | # ^ source.tal punctuation.braces.uxntal
413 | # ^ source.tal
414 | # ^ source.tal entity.name.function.uxntal
415 | # ^ source.tal
416 | # ^^ source.tal comment.uxntal
417 | # ^ source.tal
418 | # ^ source.tal comment.uxntal
419 | # ^ source.tal
420 | # ^^ source.tal comment.uxntal
421 | # ^ source.tal
422 | # ^ source.tal comment.uxntal
423 | # ^ source.tal
424 | # ^ source.tal comment.uxntal
425 | # ^ source.tal
426 | # ^ source.tal entity.name.function.uxntal
427 | # ^ source.tal
428 | # ^ source.tal punctuation.braces.uxntal
429 | # ^ source.tal
430 | # ^ source.tal entity.name.function.uxntal
431 | >
432 | >( Unclosed comments )
433 | #^ source.tal comment.uxntal
434 | # ^ source.tal
435 | # ^^^^^^^^ source.tal comment.uxntal
436 | # ^ source.tal
437 | # ^^^^^^^^ source.tal comment.uxntal
438 | # ^ source.tal
439 | # ^ source.tal comment.uxntal
440 | >%MACRO { x ( x } x
441 | #^ source.tal punctuation.rune.uxntal
442 | # ^^^^^ source.tal meta.preprocessor.uxntal
443 | # ^ source.tal
444 | # ^ source.tal punctuation.braces.uxntal
445 | # ^ source.tal
446 | # ^ source.tal entity.name.function.uxntal
447 | # ^ source.tal
448 | # ^ source.tal comment.uxntal
449 | # ^ source.tal
450 | # ^ source.tal comment.uxntal
451 | # ^ source.tal
452 | # ^ source.tal punctuation.braces.uxntal
453 | # ^ source.tal
454 | # ^ source.tal entity.name.function.uxntal
455 | >%MACRO { x (x x } x
456 | #^ source.tal punctuation.rune.uxntal
457 | # ^^^^^ source.tal meta.preprocessor.uxntal
458 | # ^ source.tal
459 | # ^ source.tal punctuation.braces.uxntal
460 | # ^ source.tal
461 | # ^ source.tal entity.name.function.uxntal
462 | # ^ source.tal
463 | # ^^ source.tal comment.uxntal
464 | # ^ source.tal
465 | # ^ source.tal comment.uxntal
466 | # ^ source.tal
467 | # ^ source.tal punctuation.braces.uxntal
468 | # ^ source.tal
469 | # ^ source.tal entity.name.function.uxntal
470 | >%MACRO { x (x ( x ) x } x
471 | #^ source.tal punctuation.rune.uxntal
472 | # ^^^^^ source.tal meta.preprocessor.uxntal
473 | # ^ source.tal
474 | # ^ source.tal punctuation.braces.uxntal
475 | # ^ source.tal
476 | # ^ source.tal entity.name.function.uxntal
477 | # ^ source.tal
478 | # ^^ source.tal comment.uxntal
479 | # ^ source.tal
480 | # ^ source.tal comment.uxntal
481 | # ^ source.tal
482 | # ^ source.tal comment.uxntal
483 | # ^ source.tal
484 | # ^ source.tal comment.uxntal
485 | # ^ source.tal
486 | # ^ source.tal comment.uxntal
487 | # ^ source.tal
488 | # ^ source.tal punctuation.braces.uxntal
489 | # ^ source.tal
490 | # ^ source.tal entity.name.function.uxntal
491 | >
492 | >( Nested macros )
493 | #^ source.tal comment.uxntal
494 | # ^ source.tal
495 | # ^^^^^^ source.tal comment.uxntal
496 | # ^ source.tal
497 | # ^^^^^^ source.tal comment.uxntal
498 | # ^ source.tal
499 | # ^ source.tal comment.uxntal
500 | >%MACRO { x ( x %NESTED x ) x } x ( Nested macro definition gets highlighted )
501 | #^ source.tal punctuation.rune.uxntal
502 | # ^^^^^ source.tal meta.preprocessor.uxntal
503 | # ^ source.tal
504 | # ^ source.tal punctuation.braces.uxntal
505 | # ^ source.tal
506 | # ^ source.tal entity.name.function.uxntal
507 | # ^ source.tal
508 | # ^ source.tal comment.uxntal
509 | # ^ source.tal
510 | # ^ source.tal comment.uxntal
511 | # ^ source.tal
512 | # ^ source.tal punctuation.rune.uxntal
513 | # ^^^^^^ source.tal meta.preprocessor.uxntal
514 | # ^ source.tal
515 | # ^ source.tal comment.uxntal
516 | # ^ source.tal
517 | # ^ source.tal comment.uxntal
518 | # ^ source.tal
519 | # ^ source.tal entity.name.function.uxntal
520 | # ^ source.tal
521 | # ^ source.tal punctuation.braces.uxntal
522 | # ^ source.tal
523 | # ^ source.tal entity.name.function.uxntal
524 | # ^ source.tal
525 | # ^ source.tal comment.uxntal
526 | # ^ source.tal
527 | # ^^^^^^ source.tal comment.uxntal
528 | # ^ source.tal
529 | # ^^^^^ source.tal comment.uxntal
530 | # ^ source.tal
531 | # ^^^^^^^^^^ source.tal comment.uxntal
532 | # ^ source.tal
533 | # ^^^^ source.tal comment.uxntal
534 | # ^ source.tal
535 | # ^^^^^^^^^^^ source.tal comment.uxntal
536 | # ^ source.tal
537 | # ^ source.tal comment.uxntal
538 | >%MACRO { x ( x ( x %NESTED x ) x ) x } x
539 | #^ source.tal punctuation.rune.uxntal
540 | # ^^^^^ source.tal meta.preprocessor.uxntal
541 | # ^ source.tal
542 | # ^ source.tal punctuation.braces.uxntal
543 | # ^ source.tal
544 | # ^ source.tal entity.name.function.uxntal
545 | # ^ source.tal
546 | # ^ source.tal comment.uxntal
547 | # ^ source.tal
548 | # ^ source.tal comment.uxntal
549 | # ^ source.tal
550 | # ^ source.tal comment.uxntal
551 | # ^ source.tal
552 | # ^ source.tal comment.uxntal
553 | # ^ source.tal
554 | # ^ source.tal punctuation.rune.uxntal
555 | # ^^^^^^ source.tal meta.preprocessor.uxntal
556 | # ^ source.tal
557 | # ^ source.tal comment.uxntal
558 | # ^ source.tal
559 | # ^ source.tal comment.uxntal
560 | # ^ source.tal
561 | # ^ source.tal comment.uxntal
562 | # ^ source.tal
563 | # ^ source.tal comment.uxntal
564 | # ^ source.tal
565 | # ^ source.tal entity.name.function.uxntal
566 | # ^ source.tal
567 | # ^ source.tal punctuation.braces.uxntal
568 | # ^ source.tal
569 | # ^ source.tal entity.name.function.uxntal
570 | >%MACRO { x ( x %NESTED { x } x
571 | #^ source.tal punctuation.rune.uxntal
572 | # ^^^^^ source.tal meta.preprocessor.uxntal
573 | # ^ source.tal
574 | # ^ source.tal punctuation.braces.uxntal
575 | # ^ source.tal
576 | # ^ source.tal entity.name.function.uxntal
577 | # ^ source.tal
578 | # ^ source.tal comment.uxntal
579 | # ^ source.tal
580 | # ^ source.tal comment.uxntal
581 | # ^ source.tal
582 | # ^ source.tal punctuation.rune.uxntal
583 | # ^^^^^^ source.tal meta.preprocessor.uxntal
584 | # ^ source.tal
585 | # ^ source.tal comment.uxntal
586 | # ^ source.tal
587 | # ^ source.tal comment.uxntal
588 | # ^ source.tal
589 | # ^ source.tal punctuation.braces.uxntal
590 | # ^ source.tal
591 | # ^ source.tal entity.name.function.uxntal
592 | >
593 | >( Macros in comments )
594 | #^ source.tal comment.uxntal
595 | # ^ source.tal
596 | # ^^^^^^ source.tal comment.uxntal
597 | # ^ source.tal
598 | # ^^ source.tal comment.uxntal
599 | # ^ source.tal
600 | # ^^^^^^^^ source.tal comment.uxntal
601 | # ^ source.tal
602 | # ^ source.tal comment.uxntal
603 | >x ( x %MACRO { x } x ) x
604 | #^ source.tal entity.name.function.uxntal
605 | # ^ source.tal
606 | # ^ source.tal comment.uxntal
607 | # ^ source.tal
608 | # ^ source.tal comment.uxntal
609 | # ^ source.tal
610 | # ^^^^^^ source.tal comment.uxntal
611 | # ^ source.tal
612 | # ^ source.tal comment.uxntal
613 | # ^ source.tal
614 | # ^ source.tal comment.uxntal
615 | # ^ source.tal
616 | # ^ source.tal comment.uxntal
617 | # ^ source.tal
618 | # ^ source.tal comment.uxntal
619 | # ^ source.tal
620 | # ^ source.tal comment.uxntal
621 | # ^ source.tal
622 | # ^ source.tal entity.name.function.uxntal
623 | >x ( } ) x
624 | #^ source.tal entity.name.function.uxntal
625 | # ^ source.tal
626 | # ^ source.tal comment.uxntal
627 | # ^ source.tal
628 | # ^ source.tal comment.uxntal
629 | # ^ source.tal
630 | # ^ source.tal comment.uxntal
631 | # ^ source.tal
632 | # ^ source.tal entity.name.function.uxntal
633 | >
--------------------------------------------------------------------------------