├── .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 | ![Preview](https://github.com/bellinitte/uxntal-vscode/blob/main/images/preview.png?raw=true)
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 | > --------------------------------------------------------------------------------