1469 lines
43 KiB
JSON
1469 lines
43 KiB
JSON
![]() |
{
|
|||
|
"$schema": "https://raw.githubusercontent.com/martinring/tmlanguage/master/tmlanguage.json",
|
|||
|
"name": "apl",
|
|||
|
"scopeName": "source.apl",
|
|||
|
"fileTypes": ["apl", "apla", "aplc", "aplf", "apli", "apln", "aplo", "dyalog", "dyapp", "mipage"],
|
|||
|
"firstLineMatch": "(?x)\n# APL symbols\n[⌶-⍺]\n|\n\n# Hashbang\n^\\#!.*(?:\\s|\\/|(?<=!)\\b)\n\t(?:gnu[-._]?apl|aplx?|dyalog)\n(?:$|\\s)\n|\n\n# Modeline\n(?i:\n\t# Emacs\n\t-\\*-(?:\\s*(?=[^:;\\s]+\\s*-\\*-)|(?:.*?[;\\s]|(?<=-\\*-))mode\\s*:\\s*)\n\t\tapl\n\t(?=[\\s;]|(?<![-*])-\\*-).*?-\\*-\n\n\t|\n\n\t# Vim\n\t(?:(?:\\s|^)vi(?:m[<=>]?\\d+|m)?|\\sex)(?=:(?=\\s*set?\\s[^\\n:]+:)|:(?!\\s* set?\\s))(?:(?:\\s|\\s*:\\s*)\\w*(?:\\s*=(?:[^\\n\\\\\\s]|\\\\.)*)?)*[\\s:](?:filetype|ft|syntax)\\s*=\n\t\tapl\n\t(?=\\s|:|$)\n)",
|
|||
|
"foldingStartMarker": "{",
|
|||
|
"foldingStopMarker": "}",
|
|||
|
"patterns": [
|
|||
|
{
|
|||
|
"match": "\\A#!.*$",
|
|||
|
"name": "comment.line.shebang.apl"
|
|||
|
},
|
|||
|
{
|
|||
|
"include": "#heredocs"
|
|||
|
},
|
|||
|
{
|
|||
|
"include": "#main"
|
|||
|
},
|
|||
|
{
|
|||
|
"contentName": "text.embedded.apl",
|
|||
|
"begin": "^\\s*((\\))OFF|(\\])NEXTFILE)\\b(.*)$",
|
|||
|
"end": "(?=N)A",
|
|||
|
"beginCaptures": {
|
|||
|
"1": {
|
|||
|
"name": "entity.name.command.eof.apl"
|
|||
|
},
|
|||
|
"2": {
|
|||
|
"name": "punctuation.definition.command.apl"
|
|||
|
},
|
|||
|
"3": {
|
|||
|
"name": "punctuation.definition.command.apl"
|
|||
|
},
|
|||
|
"4": {
|
|||
|
"patterns": [
|
|||
|
{
|
|||
|
"include": "#comment"
|
|||
|
}
|
|||
|
]
|
|||
|
}
|
|||
|
}
|
|||
|
},
|
|||
|
{
|
|||
|
"name": "meta.round.bracketed.group.apl",
|
|||
|
"patterns": [
|
|||
|
{
|
|||
|
"include": "#main"
|
|||
|
}
|
|||
|
],
|
|||
|
"begin": "\\(",
|
|||
|
"end": "\\)",
|
|||
|
"beginCaptures": {
|
|||
|
"0": {
|
|||
|
"name": "punctuation.round.bracket.begin.apl"
|
|||
|
}
|
|||
|
},
|
|||
|
"endCaptures": {
|
|||
|
"0": {
|
|||
|
"name": "punctuation.round.bracket.end.apl"
|
|||
|
}
|
|||
|
}
|
|||
|
},
|
|||
|
{
|
|||
|
"name": "meta.square.bracketed.group.apl",
|
|||
|
"patterns": [
|
|||
|
{
|
|||
|
"include": "#main"
|
|||
|
}
|
|||
|
],
|
|||
|
"begin": "\\[",
|
|||
|
"end": "\\]",
|
|||
|
"beginCaptures": {
|
|||
|
"0": {
|
|||
|
"name": "punctuation.square.bracket.begin.apl"
|
|||
|
}
|
|||
|
},
|
|||
|
"endCaptures": {
|
|||
|
"0": {
|
|||
|
"name": "punctuation.square.bracket.end.apl"
|
|||
|
}
|
|||
|
}
|
|||
|
},
|
|||
|
{
|
|||
|
"name": "meta.system.command.apl",
|
|||
|
"begin": "^\\s*((\\))\\S+)",
|
|||
|
"end": "$",
|
|||
|
"beginCaptures": {
|
|||
|
"1": {
|
|||
|
"name": "entity.name.command.apl"
|
|||
|
},
|
|||
|
"2": {
|
|||
|
"name": "punctuation.definition.command.apl"
|
|||
|
}
|
|||
|
},
|
|||
|
"patterns": [
|
|||
|
{
|
|||
|
"include": "#command-arguments"
|
|||
|
},
|
|||
|
{
|
|||
|
"include": "#command-switches"
|
|||
|
},
|
|||
|
{
|
|||
|
"include": "#main"
|
|||
|
}
|
|||
|
]
|
|||
|
},
|
|||
|
{
|
|||
|
"name": "meta.user.command.apl",
|
|||
|
"begin": "^\\s*((\\])\\S+)",
|
|||
|
"end": "$",
|
|||
|
"beginCaptures": {
|
|||
|
"1": {
|
|||
|
"name": "entity.name.command.apl"
|
|||
|
},
|
|||
|
"2": {
|
|||
|
"name": "punctuation.definition.command.apl"
|
|||
|
}
|
|||
|
},
|
|||
|
"patterns": [
|
|||
|
{
|
|||
|
"include": "#command-arguments"
|
|||
|
},
|
|||
|
{
|
|||
|
"include": "#command-switches"
|
|||
|
},
|
|||
|
{
|
|||
|
"include": "#main"
|
|||
|
}
|
|||
|
]
|
|||
|
}
|
|||
|
],
|
|||
|
"repository": {
|
|||
|
"main": {
|
|||
|
"patterns": [
|
|||
|
{
|
|||
|
"include": "#class"
|
|||
|
},
|
|||
|
{
|
|||
|
"include": "#definition"
|
|||
|
},
|
|||
|
{
|
|||
|
"include": "#comment"
|
|||
|
},
|
|||
|
{
|
|||
|
"include": "#label"
|
|||
|
},
|
|||
|
{
|
|||
|
"include": "#sck"
|
|||
|
},
|
|||
|
{
|
|||
|
"include": "#strings"
|
|||
|
},
|
|||
|
{
|
|||
|
"include": "#number"
|
|||
|
},
|
|||
|
{
|
|||
|
"include": "#lambda"
|
|||
|
},
|
|||
|
{
|
|||
|
"include": "#sysvars"
|
|||
|
},
|
|||
|
{
|
|||
|
"include": "#symbols"
|
|||
|
},
|
|||
|
{
|
|||
|
"include": "#name"
|
|||
|
}
|
|||
|
]
|
|||
|
},
|
|||
|
"comment": {
|
|||
|
"patterns": [
|
|||
|
{
|
|||
|
"name": "comment.line.apl",
|
|||
|
"begin": "⍝",
|
|||
|
"end": "$",
|
|||
|
"captures": {
|
|||
|
"0": {
|
|||
|
"name": "punctuation.definition.comment.apl"
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
]
|
|||
|
},
|
|||
|
"number": {
|
|||
|
"patterns": [
|
|||
|
{
|
|||
|
"name": "constant.numeric.apl",
|
|||
|
"match": "¯?[0-9][¯0-9A-Za-z]*(?:\\.[¯0-9Ee][¯0-9A-Za-z]*)*|¯?\\.[0-9Ee][¯0-9A-Za-z]*"
|
|||
|
}
|
|||
|
]
|
|||
|
},
|
|||
|
"strings": {
|
|||
|
"patterns": [
|
|||
|
{
|
|||
|
"name": "string.quoted.single.apl",
|
|||
|
"begin": "'",
|
|||
|
"end": "'|$",
|
|||
|
"beginCaptures": {
|
|||
|
"0": {
|
|||
|
"name": "punctuation.definition.string.begin.apl"
|
|||
|
}
|
|||
|
},
|
|||
|
"endCaptures": {
|
|||
|
"0": {
|
|||
|
"name": "punctuation.definition.string.end.apl"
|
|||
|
}
|
|||
|
},
|
|||
|
"patterns": [
|
|||
|
{
|
|||
|
"match": "[^']*[^'\\n\\r\\\\]$",
|
|||
|
"name": "invalid.illegal.string.apl"
|
|||
|
}
|
|||
|
]
|
|||
|
},
|
|||
|
{
|
|||
|
"name": "string.quoted.double.apl",
|
|||
|
"begin": "\"",
|
|||
|
"end": "\"|$",
|
|||
|
"beginCaptures": {
|
|||
|
"0": {
|
|||
|
"name": "punctuation.definition.string.begin.apl"
|
|||
|
}
|
|||
|
},
|
|||
|
"endCaptures": {
|
|||
|
"0": {
|
|||
|
"name": "punctuation.definition.string.end.apl"
|
|||
|
}
|
|||
|
},
|
|||
|
"patterns": [
|
|||
|
{
|
|||
|
"match": "[^\"]*[^\"\\n\\r\\\\]$",
|
|||
|
"name": "invalid.illegal.string.apl"
|
|||
|
}
|
|||
|
]
|
|||
|
}
|
|||
|
]
|
|||
|
},
|
|||
|
"name": {
|
|||
|
"patterns": [
|
|||
|
{
|
|||
|
"name": "variable.other.readwrite.apl",
|
|||
|
"match": "(?x)\n[A-Z_a-zÀ-ÖØ-Ýßà-öø-üþ∆⍙Ⓐ-Ⓩ]\n[A-Z_a-zÀ-ÖØ-Ýßà-öø-üþ∆⍙Ⓐ-Ⓩ¯0-9]*"
|
|||
|
}
|
|||
|
]
|
|||
|
},
|
|||
|
"label": {
|
|||
|
"patterns": [
|
|||
|
{
|
|||
|
"name": "meta.label.apl",
|
|||
|
"match": "(?x)\n^\\s*\n(\n\t[A-Z_a-zÀ-ÖØ-Ýßà-öø-üþ∆⍙Ⓐ-Ⓩ]\n\t[A-Z_a-zÀ-ÖØ-Ýßà-öø-üþ∆⍙Ⓐ-Ⓩ¯0-9]*\n)\n(:)",
|
|||
|
"captures": {
|
|||
|
"1": {
|
|||
|
"name": "entity.label.name.apl"
|
|||
|
},
|
|||
|
"2": {
|
|||
|
"name": "punctuation.definition.label.end.apl"
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
]
|
|||
|
},
|
|||
|
"symbols": {
|
|||
|
"patterns": [
|
|||
|
{
|
|||
|
"match": "(?<=\\s)←(?=\\s|$)",
|
|||
|
"name": "keyword.spaced.operator.assignment.apl"
|
|||
|
},
|
|||
|
{
|
|||
|
"match": "(?<=\\s)→(?=\\s|$)",
|
|||
|
"name": "keyword.spaced.control.goto.apl"
|
|||
|
},
|
|||
|
{
|
|||
|
"match": "(?<=\\s)≡(?=\\s|$)",
|
|||
|
"name": "keyword.spaced.operator.identical.apl"
|
|||
|
},
|
|||
|
{
|
|||
|
"match": "(?<=\\s)≢(?=\\s|$)",
|
|||
|
"name": "keyword.spaced.operator.not-identical.apl"
|
|||
|
},
|
|||
|
{
|
|||
|
"match": "\\+",
|
|||
|
"name": "keyword.operator.plus.apl"
|
|||
|
},
|
|||
|
{
|
|||
|
"match": "[-−]",
|
|||
|
"name": "keyword.operator.minus.apl"
|
|||
|
},
|
|||
|
{
|
|||
|
"match": "×",
|
|||
|
"name": "keyword.operator.times.apl"
|
|||
|
},
|
|||
|
{
|
|||
|
"match": "÷",
|
|||
|
"name": "keyword.operator.divide.apl"
|
|||
|
},
|
|||
|
{
|
|||
|
"match": "⌊",
|
|||
|
"name": "keyword.operator.floor.apl"
|
|||
|
},
|
|||
|
{
|
|||
|
"match": "⌈",
|
|||
|
"name": "keyword.operator.ceiling.apl"
|
|||
|
},
|
|||
|
{
|
|||
|
"match": "[∣|]",
|
|||
|
"name": "keyword.operator.absolute.apl"
|
|||
|
},
|
|||
|
{
|
|||
|
"match": "[⋆*]",
|
|||
|
"name": "keyword.operator.exponent.apl"
|
|||
|
},
|
|||
|
{
|
|||
|
"match": "⍟",
|
|||
|
"name": "keyword.operator.logarithm.apl"
|
|||
|
},
|
|||
|
{
|
|||
|
"match": "○",
|
|||
|
"name": "keyword.operator.circle.apl"
|
|||
|
},
|
|||
|
{
|
|||
|
"match": "!",
|
|||
|
"name": "keyword.operator.factorial.apl"
|
|||
|
},
|
|||
|
{
|
|||
|
"match": "∧",
|
|||
|
"name": "keyword.operator.and.apl"
|
|||
|
},
|
|||
|
{
|
|||
|
"match": "∨",
|
|||
|
"name": "keyword.operator.or.apl"
|
|||
|
},
|
|||
|
{
|
|||
|
"match": "⍲",
|
|||
|
"name": "keyword.operator.nand.apl"
|
|||
|
},
|
|||
|
{
|
|||
|
"match": "⍱",
|
|||
|
"name": "keyword.operator.nor.apl"
|
|||
|
},
|
|||
|
{
|
|||
|
"match": "<",
|
|||
|
"name": "keyword.operator.less.apl"
|
|||
|
},
|
|||
|
{
|
|||
|
"match": "≤",
|
|||
|
"name": "keyword.operator.less-or-equal.apl"
|
|||
|
},
|
|||
|
{
|
|||
|
"match": "=",
|
|||
|
"name": "keyword.operator.equal.apl"
|
|||
|
},
|
|||
|
{
|
|||
|
"match": "≥",
|
|||
|
"name": "keyword.operator.greater-or-equal.apl"
|
|||
|
},
|
|||
|
{
|
|||
|
"match": ">",
|
|||
|
"name": "keyword.operator.greater.apl"
|
|||
|
},
|
|||
|
{
|
|||
|
"match": "≠",
|
|||
|
"name": "keyword.operator.not-equal.apl"
|
|||
|
},
|
|||
|
{
|
|||
|
"match": "[∼~]",
|
|||
|
"name": "keyword.operator.tilde.apl"
|
|||
|
},
|
|||
|
{
|
|||
|
"match": "\\?",
|
|||
|
"name": "keyword.operator.random.apl"
|
|||
|
},
|
|||
|
{
|
|||
|
"match": "[∊∈]",
|
|||
|
"name": "keyword.operator.member-of.apl"
|
|||
|
},
|
|||
|
{
|
|||
|
"match": "⍷",
|
|||
|
"name": "keyword.operator.find.apl"
|
|||
|
},
|
|||
|
{
|
|||
|
"match": ",",
|
|||
|
"name": "keyword.operator.comma.apl"
|
|||
|
},
|
|||
|
{
|
|||
|
"match": "⍪",
|
|||
|
"name": "keyword.operator.comma-bar.apl"
|
|||
|
},
|
|||
|
{
|
|||
|
"match": "⌷",
|
|||
|
"name": "keyword.operator.squad.apl"
|
|||
|
},
|
|||
|
{
|
|||
|
"match": "⍳",
|
|||
|
"name": "keyword.operator.iota.apl"
|
|||
|
},
|
|||
|
{
|
|||
|
"match": "⍴",
|
|||
|
"name": "keyword.operator.rho.apl"
|
|||
|
},
|
|||
|
{
|
|||
|
"match": "↑",
|
|||
|
"name": "keyword.operator.take.apl"
|
|||
|
},
|
|||
|
{
|
|||
|
"match": "↓",
|
|||
|
"name": "keyword.operator.drop.apl"
|
|||
|
},
|
|||
|
{
|
|||
|
"match": "⊣",
|
|||
|
"name": "keyword.operator.left.apl"
|
|||
|
},
|
|||
|
{
|
|||
|
"match": "⊢",
|
|||
|
"name": "keyword.operator.right.apl"
|
|||
|
},
|
|||
|
{
|
|||
|
"match": "⊤",
|
|||
|
"name": "keyword.operator.encode.apl"
|
|||
|
},
|
|||
|
{
|
|||
|
"match": "⊥",
|
|||
|
"name": "keyword.operator.decode.apl"
|
|||
|
},
|
|||
|
{
|
|||
|
"match": "\\/",
|
|||
|
"name": "keyword.operator.slash.apl"
|
|||
|
},
|
|||
|
{
|
|||
|
"match": "⌿",
|
|||
|
"name": "keyword.operator.slash-bar.apl"
|
|||
|
},
|
|||
|
{
|
|||
|
"match": "\\x5C",
|
|||
|
"name": "keyword.operator.backslash.apl"
|
|||
|
},
|
|||
|
{
|
|||
|
"match": "⍀",
|
|||
|
"name": "keyword.operator.backslash-bar.apl"
|
|||
|
},
|
|||
|
{
|
|||
|
"match": "⌽",
|
|||
|
"name": "keyword.operator.rotate-last.apl"
|
|||
|
},
|
|||
|
{
|
|||
|
"match": "⊖",
|
|||
|
"name": "keyword.operator.rotate-first.apl"
|
|||
|
},
|
|||
|
{
|
|||
|
"match": "⍉",
|
|||
|
"name": "keyword.operator.transpose.apl"
|
|||
|
},
|
|||
|
{
|
|||
|
"match": "⍋",
|
|||
|
"name": "keyword.operator.grade-up.apl"
|
|||
|
},
|
|||
|
{
|
|||
|
"match": "⍒",
|
|||
|
"name": "keyword.operator.grade-down.apl"
|
|||
|
},
|
|||
|
{
|
|||
|
"match": "⌹",
|
|||
|
"name": "keyword.operator.quad-divide.apl"
|
|||
|
},
|
|||
|
{
|
|||
|
"match": "≡",
|
|||
|
"name": "keyword.operator.identical.apl"
|
|||
|
},
|
|||
|
{
|
|||
|
"match": "≢",
|
|||
|
"name": "keyword.operator.not-identical.apl"
|
|||
|
},
|
|||
|
{
|
|||
|
"match": "⊂",
|
|||
|
"name": "keyword.operator.enclose.apl"
|
|||
|
},
|
|||
|
{
|
|||
|
"match": "⊃",
|
|||
|
"name": "keyword.operator.pick.apl"
|
|||
|
},
|
|||
|
{
|
|||
|
"match": "∩",
|
|||
|
"name": "keyword.operator.intersection.apl"
|
|||
|
},
|
|||
|
{
|
|||
|
"match": "∪",
|
|||
|
"name": "keyword.operator.union.apl"
|
|||
|
},
|
|||
|
{
|
|||
|
"match": "⍎",
|
|||
|
"name": "keyword.operator.hydrant.apl"
|
|||
|
},
|
|||
|
{
|
|||
|
"match": "⍕",
|
|||
|
"name": "keyword.operator.thorn.apl"
|
|||
|
},
|
|||
|
{
|
|||
|
"match": "⊆",
|
|||
|
"name": "keyword.operator.underbar-shoe-left.apl"
|
|||
|
},
|
|||
|
{
|
|||
|
"match": "⍸",
|
|||
|
"name": "keyword.operator.underbar-iota.apl"
|
|||
|
},
|
|||
|
{
|
|||
|
"match": "¨",
|
|||
|
"name": "keyword.operator.each.apl"
|
|||
|
},
|
|||
|
{
|
|||
|
"match": "⍤",
|
|||
|
"name": "keyword.operator.rank.apl"
|
|||
|
},
|
|||
|
{
|
|||
|
"match": "⌸",
|
|||
|
"name": "keyword.operator.quad-equal.apl"
|
|||
|
},
|
|||
|
{
|
|||
|
"match": "⍨",
|
|||
|
"name": "keyword.operator.commute.apl"
|
|||
|
},
|
|||
|
{
|
|||
|
"match": "⍣",
|
|||
|
"name": "keyword.operator.power.apl"
|
|||
|
},
|
|||
|
{
|
|||
|
"match": "\\.",
|
|||
|
"name": "keyword.operator.dot.apl"
|
|||
|
},
|
|||
|
{
|
|||
|
"match": "∘",
|
|||
|
"name": "keyword.operator.jot.apl"
|
|||
|
},
|
|||
|
{
|
|||
|
"match": "⍠",
|
|||
|
"name": "keyword.operator.quad-colon.apl"
|
|||
|
},
|
|||
|
{
|
|||
|
"match": "&",
|
|||
|
"name": "keyword.operator.ampersand.apl"
|
|||
|
},
|
|||
|
{
|
|||
|
"match": "⌶",
|
|||
|
"name": "keyword.operator.i-beam.apl"
|
|||
|
},
|
|||
|
{
|
|||
|
"match": "⌺",
|
|||
|
"name": "keyword.operator.quad-diamond.apl"
|
|||
|
},
|
|||
|
{
|
|||
|
"match": "@",
|
|||
|
"name": "keyword.operator.at.apl"
|
|||
|
},
|
|||
|
{
|
|||
|
"match": "◊",
|
|||
|
"name": "keyword.operator.lozenge.apl"
|
|||
|
},
|
|||
|
{
|
|||
|
"match": ";",
|
|||
|
"name": "keyword.operator.semicolon.apl"
|
|||
|
},
|
|||
|
{
|
|||
|
"match": "¯",
|
|||
|
"name": "keyword.operator.high-minus.apl"
|
|||
|
},
|
|||
|
{
|
|||
|
"match": "←",
|
|||
|
"name": "keyword.operator.assignment.apl"
|
|||
|
},
|
|||
|
{
|
|||
|
"match": "→",
|
|||
|
"name": "keyword.control.goto.apl"
|
|||
|
},
|
|||
|
{
|
|||
|
"match": "⍬",
|
|||
|
"name": "constant.language.zilde.apl"
|
|||
|
},
|
|||
|
{
|
|||
|
"match": "⋄",
|
|||
|
"name": "keyword.operator.diamond.apl"
|
|||
|
},
|
|||
|
{
|
|||
|
"match": "⍫",
|
|||
|
"name": "keyword.operator.lock.apl"
|
|||
|
},
|
|||
|
{
|
|||
|
"match": "⎕",
|
|||
|
"name": "keyword.operator.quad.apl"
|
|||
|
},
|
|||
|
{
|
|||
|
"match": "##",
|
|||
|
"name": "constant.language.namespace.parent.apl"
|
|||
|
},
|
|||
|
{
|
|||
|
"match": "#",
|
|||
|
"name": "constant.language.namespace.root.apl"
|
|||
|
},
|
|||
|
{
|
|||
|
"match": "⌻",
|
|||
|
"name": "keyword.operator.quad-jot.apl"
|
|||
|
},
|
|||
|
{
|
|||
|
"match": "⌼",
|
|||
|
"name": "keyword.operator.quad-circle.apl"
|
|||
|
},
|
|||
|
{
|
|||
|
"match": "⌾",
|
|||
|
"name": "keyword.operator.circle-jot.apl"
|
|||
|
},
|
|||
|
{
|
|||
|
"match": "⍁",
|
|||
|
"name": "keyword.operator.quad-slash.apl"
|
|||
|
},
|
|||
|
{
|
|||
|
"match": "⍂",
|
|||
|
"name": "keyword.operator.quad-backslash.apl"
|
|||
|
},
|
|||
|
{
|
|||
|
"match": "⍃",
|
|||
|
"name": "keyword.operator.quad-less.apl"
|
|||
|
},
|
|||
|
{
|
|||
|
"match": "⍄",
|
|||
|
"name": "keyword.operator.greater.apl"
|
|||
|
},
|
|||
|
{
|
|||
|
"match": "⍅",
|
|||
|
"name": "keyword.operator.vane-left.apl"
|
|||
|
},
|
|||
|
{
|
|||
|
"match": "⍆",
|
|||
|
"name": "keyword.operator.vane-right.apl"
|
|||
|
},
|
|||
|
{
|
|||
|
"match": "⍇",
|
|||
|
"name": "keyword.operator.quad-arrow-left.apl"
|
|||
|
},
|
|||
|
{
|
|||
|
"match": "⍈",
|
|||
|
"name": "keyword.operator.quad-arrow-right.apl"
|
|||
|
},
|
|||
|
{
|
|||
|
"match": "⍊",
|
|||
|
"name": "keyword.operator.tack-down.apl"
|
|||
|
},
|
|||
|
{
|
|||
|
"match": "⍌",
|
|||
|
"name": "keyword.operator.quad-caret-down.apl"
|
|||
|
},
|
|||
|
{
|
|||
|
"match": "⍍",
|
|||
|
"name": "keyword.operator.quad-del-up.apl"
|
|||
|
},
|
|||
|
{
|
|||
|
"match": "⍏",
|
|||
|
"name": "keyword.operator.vane-up.apl"
|
|||
|
},
|
|||
|
{
|
|||
|
"match": "⍐",
|
|||
|
"name": "keyword.operator.quad-arrow-up.apl"
|
|||
|
},
|
|||
|
{
|
|||
|
"match": "⍑",
|
|||
|
"name": "keyword.operator.tack-up.apl"
|
|||
|
},
|
|||
|
{
|
|||
|
"match": "⍓",
|
|||
|
"name": "keyword.operator.quad-caret-up.apl"
|
|||
|
},
|
|||
|
{
|
|||
|
"match": "⍔",
|
|||
|
"name": "keyword.operator.quad-del-down.apl"
|
|||
|
},
|
|||
|
{
|
|||
|
"match": "⍖",
|
|||
|
"name": "keyword.operator.vane-down.apl"
|
|||
|
},
|
|||
|
{
|
|||
|
"match": "⍗",
|
|||
|
"name": "keyword.operator.quad-arrow-down.apl"
|
|||
|
},
|
|||
|
{
|
|||
|
"match": "⍘",
|
|||
|
"name": "keyword.operator.underbar-quote.apl"
|
|||
|
},
|
|||
|
{
|
|||
|
"match": "⍚",
|
|||
|
"name": "keyword.operator.underbar-diamond.apl"
|
|||
|
},
|
|||
|
{
|
|||
|
"match": "⍛",
|
|||
|
"name": "keyword.operator.underbar-jot.apl"
|
|||
|
},
|
|||
|
{
|
|||
|
"match": "⍜",
|
|||
|
"name": "keyword.operator.underbar-circle.apl"
|
|||
|
},
|
|||
|
{
|
|||
|
"match": "⍞",
|
|||
|
"name": "keyword.operator.quad-quote.apl"
|
|||
|
},
|
|||
|
{
|
|||
|
"match": "⍡",
|
|||
|
"name": "keyword.operator.dotted-tack-up.apl"
|
|||
|
},
|
|||
|
{
|
|||
|
"match": "⍢",
|
|||
|
"name": "keyword.operator.dotted-del.apl"
|
|||
|
},
|
|||
|
{
|
|||
|
"match": "⍥",
|
|||
|
"name": "keyword.operator.dotted-circle.apl"
|
|||
|
},
|
|||
|
{
|
|||
|
"match": "⍦",
|
|||
|
"name": "keyword.operator.stile-shoe-up.apl"
|
|||
|
},
|
|||
|
{
|
|||
|
"match": "⍧",
|
|||
|
"name": "keyword.operator.stile-shoe-left.apl"
|
|||
|
},
|
|||
|
{
|
|||
|
"match": "⍩",
|
|||
|
"name": "keyword.operator.dotted-greater.apl"
|
|||
|
},
|
|||
|
{
|
|||
|
"match": "⍭",
|
|||
|
"name": "keyword.operator.stile-tilde.apl"
|
|||
|
},
|
|||
|
{
|
|||
|
"match": "⍮",
|
|||
|
"name": "keyword.operator.underbar-semicolon.apl"
|
|||
|
},
|
|||
|
{
|
|||
|
"match": "⍯",
|
|||
|
"name": "keyword.operator.quad-not-equal.apl"
|
|||
|
},
|
|||
|
{
|
|||
|
"match": "⍰",
|
|||
|
"name": "keyword.operator.quad-question.apl"
|
|||
|
}
|
|||
|
]
|
|||
|
},
|
|||
|
"definition": {
|
|||
|
"patterns": [
|
|||
|
{
|
|||
|
"name": "meta.function.apl",
|
|||
|
"begin": "(?x) ^\\s*? (?# 1: keyword.operator.nabla.apl) (∇) (?: \\s* (?: (?# 2: entity.function.return-value.apl) ( [A-Z_a-zÀ-ÖØ-Ýßà-öø-üþ∆⍙Ⓐ-Ⓩ] [A-Z_a-zÀ-ÖØ-Ýßà-öø-üþ∆⍙Ⓐ-Ⓩ¯0-9]* ) | \\s* (?# 3: entity.function.return-value.shy.apl) ( (\\{) (?# 4: punctuation.definition.return-value.begin.apl) (?: \\s* [A-Z_a-zÀ-ÖØ-Ýßà-öø-üþ∆⍙Ⓐ-Ⓩ] [A-Z_a-zÀ-ÖØ-Ýßà-öø-üþ∆⍙Ⓐ-Ⓩ¯0-9]* \\s* )* (\\}) (?# 5: punctuation.definition.return-value.end.apl) | (\\() (?# 6: punctuation.definition.return-value.begin.apl) (?: \\s* [A-Z_a-zÀ-ÖØ-Ýßà-öø-üþ∆⍙Ⓐ-Ⓩ] [A-Z_a-zÀ-ÖØ-Ýßà-öø-üþ∆⍙Ⓐ-Ⓩ¯0-9]* \\s* )* (\\)) (?# 7: punctuation.definition.return-value.end.apl) | (\\(\\s*\\{) (?# 8: punctuation.definition.return-value.begin.apl) (?: \\s* [A-Z_a-zÀ-ÖØ-Ýßà-öø-üþ∆⍙Ⓐ-Ⓩ] [A-Z_a-zÀ-ÖØ-Ýßà-öø-üþ∆⍙Ⓐ-Ⓩ¯0-9]* \\s* )* (\\}\\s*\\)) (?# 9: punctuation.definition.return-value.end.apl) | (\\{\\s*\\() (?# 10: punctuation.definition.return-value.begin.apl) (?: \\s* [A-Z_a-zÀ-ÖØ-Ýßà-öø-üþ∆⍙Ⓐ-Ⓩ] [A-Z_a-zÀ-ÖØ-Ýßà-öø-üþ∆⍙Ⓐ-Ⓩ¯0-9]* \\s* )* (\\)\\s*\\}) (?# 11: punctuation.definition.return-value.end.apl) ) \\s* ) \\s* (?# 12: keyword.operator.assignment.apl) (←) )? \\s* (?: (?# MONADIC) (?: (?# 13: entity.function.name.apl) ( [A-Z_a-zÀ-ÖØ-Ýßà-öø-üþ∆⍙Ⓐ-Ⓩ] [A-Z_a-zÀ-ÖØ-Ýßà-öø-üþ∆⍙Ⓐ-Ⓩ¯0-9]* ) \\s* (?# 14: entity.function.axis.apl) ( (?# 15: punctuation.definition.axis.begin.apl) (\\[) \\s* (?: \\s* [A-Z_a-zÀ-ÖØ-Ýßà-öø-üþ∆⍙Ⓐ-Ⓩ] [A-Z_a-zÀ-ÖØ-Ýßà-öø-üþ∆⍙Ⓐ-Ⓩ¯0-9]* \\s* (?# 16: invalid.illegal.extra-characters.apl) (.*?) | (?# 17: invalid.illegal.apl) ([^\\]]*) ) \\s* (?# 18: punctuation.definition.axis.end.apl) (\\]) )? \\s*? (?# 19: entity.function.arguments.right.apl) ( (?<=\\s|\\]) [A-Z_a-zÀ-ÖØ-Ýßà-öø-üþ∆⍙Ⓐ-Ⓩ] [A-Z_a-zÀ-ÖØ-Ýßà-öø-üþ∆⍙Ⓐ-Ⓩ¯0-9]* | (\\() (?# 20: punctuation.definition.arguments.begin.apl) (?: \\s* [A-Z_a-zÀ-ÖØ-Ýßà-öø-üþ∆⍙Ⓐ-Ⓩ] [A-Z_a-zÀ-ÖØ-Ýßà-öø-üþ∆⍙Ⓐ-Ⓩ¯0-9]* \\s* )* (\\)) (?# 21: punctuation.definition.arguments.end.apl) ) \\s* (?=;|$) ) | (?# DYADIC/AMBIVALENT) (?#==================) (?: (?# 22: entity.function.arguments.left.apl) ( [A-Z_a-zÀ-ÖØ-Ýßà-öø-üþ∆⍙Ⓐ-Ⓩ] [A-Z_a-zÀ-ÖØ-Ýßà-öø-üþ∆⍙Ⓐ-Ⓩ¯0-9]* \\s+ ) | (?# 23: entity.function.arguments.left.optional.apl) ( (\\{) (?# 24: punctuation.definition.arguments.begin.apl) (?: \\s* [A-Z_a-zÀ-ÖØ-Ýßà-öø-üþ∆⍙Ⓐ-Ⓩ] [A-Z_a-zÀ-ÖØ-Ýßà-öø-üþ∆⍙Ⓐ-Ⓩ¯0-9]* \\s* )* (\\}) (?# 25: punctuation.definition.arguments.end.apl) | (\\(\\s*\\{) (?# 26: punctuation.definition.arguments.begin.apl) (?: \\s* [A-Z_a-zÀ-ÖØ-Ýßà-öø-üþ∆⍙Ⓐ-Ⓩ] [A-Z_a-zÀ-ÖØ-Ýßà-öø-üþ∆⍙Ⓐ-Ⓩ¯0-9]* \\s* )* (\\}\\s*\\)) (?# 27: punctuation.definition.arguments.end.apl) | (\\{\\s*\\() (?# 28: punctuation.definition.arguments.begin.apl) (?: \\s* [A-Z_a-zÀ-ÖØ-Ýßà-öø-üþ∆⍙Ⓐ-Ⓩ] [A-Z_a-zÀ-ÖØ-Ýßà-öø-üþ∆⍙Ⓐ-Ⓩ¯0-9]* \\s* )* (\\)\\s*\\}) (?# 29: punctuation.definition.arguments.end.apl) ) )? \\s* (?: (?# 30: entity.function.name.apl) ( [A-Z_a-zÀ-ÖØ-Ýßà-öø-üþ∆⍙Ⓐ-Ⓩ] [A-Z_a-zÀ-ÖØ-Ýßà-öø-üþ∆⍙Ⓐ-Ⓩ¯0-9]* ) \\s* (?# 31: entity.function.axis.apl) ( (?# 32: punctuation.definition.axis.begin.apl) (\\[) \\s* (?: \\s* [A-Z_a-zÀ-ÖØ-Ýßà-öø-üþ∆⍙Ⓐ-Ⓩ] [A-Z_a-zÀ-ÖØ-Ýßà-öø-üþ∆⍙Ⓐ-Ⓩ¯0-9]* \\s* (?# 33: invalid.illegal.extra-characters.apl) (.*?) | (?# 34: invalid.illegal.apl) ([^\\]]*) ) \\s* (?# 35: punctuation.definition.axis.end.apl) (\\]) )? | (?# 36: entity.function.operands.apl) ( (?# 37: punctuation.definition.operands.begin.apl) (\\() (?# 38: entity.function.operands.left.apl) ( \\s* [A-Z_a-zÀ-ÖØ-Ýßà-öø-üþ∆⍙Ⓐ-Ⓩ] [A-Z_a-zÀ-ÖØ-Ýßà-
|
|||
|
"end": "^\\s*?(?:(∇)|(⍫))\\s*?(⍝.*?)?$",
|
|||
|
"patterns": [
|
|||
|
{
|
|||
|
"name": "entity.function.definition.apl",
|
|||
|
"match": "(?x)\n^\\s*\n(\n\t(?>\n\t\t;\n\t\t(?:\n\t\t\t\\s*\n\t\t\t[⎕A-Z_a-zÀ-ÖØ-Ýßà-öø-üþ∆⍙Ⓐ-Ⓩ]\n\t\t\t[A-Z_a-zÀ-ÖØ-Ýßà-öø-üþ∆⍙Ⓐ-Ⓩ¯0-9]*\n\t\t\t\\s*\n\t\t)+\n\t)+\n)",
|
|||
|
"captures": {
|
|||
|
"0": {
|
|||
|
"name": "entity.function.local-variables.apl"
|
|||
|
},
|
|||
|
"1": {
|
|||
|
"patterns": [
|
|||
|
{
|
|||
|
"name": "punctuation.separator.apl",
|
|||
|
"match": ";"
|
|||
|
}
|
|||
|
]
|
|||
|
}
|
|||
|
}
|
|||
|
},
|
|||
|
{
|
|||
|
"include": "$self"
|
|||
|
}
|
|||
|
],
|
|||
|
"beginCaptures": {
|
|||
|
"0": {
|
|||
|
"name": "entity.function.definition.apl"
|
|||
|
},
|
|||
|
"1": {
|
|||
|
"name": "keyword.operator.nabla.apl"
|
|||
|
},
|
|||
|
"2": {
|
|||
|
"name": "entity.function.return-value.apl"
|
|||
|
},
|
|||
|
"3": {
|
|||
|
"name": "entity.function.return-value.shy.apl"
|
|||
|
},
|
|||
|
"4": {
|
|||
|
"name": "punctuation.definition.return-value.begin.apl"
|
|||
|
},
|
|||
|
"5": {
|
|||
|
"name": "punctuation.definition.return-value.end.apl"
|
|||
|
},
|
|||
|
"6": {
|
|||
|
"name": "punctuation.definition.return-value.begin.apl"
|
|||
|
},
|
|||
|
"7": {
|
|||
|
"name": "punctuation.definition.return-value.end.apl"
|
|||
|
},
|
|||
|
"8": {
|
|||
|
"name": "punctuation.definition.return-value.begin.apl"
|
|||
|
},
|
|||
|
"9": {
|
|||
|
"name": "punctuation.definition.return-value.end.apl"
|
|||
|
},
|
|||
|
"10": {
|
|||
|
"name": "punctuation.definition.return-value.begin.apl"
|
|||
|
},
|
|||
|
"11": {
|
|||
|
"name": "punctuation.definition.return-value.end.apl"
|
|||
|
},
|
|||
|
"12": {
|
|||
|
"name": "keyword.operator.assignment.apl"
|
|||
|
},
|
|||
|
"13": {
|
|||
|
"name": "entity.function.name.apl",
|
|||
|
"patterns": [
|
|||
|
{
|
|||
|
"include": "#embolden"
|
|||
|
}
|
|||
|
]
|
|||
|
},
|
|||
|
"14": {
|
|||
|
"name": "entity.function.axis.apl"
|
|||
|
},
|
|||
|
"15": {
|
|||
|
"name": "punctuation.definition.axis.begin.apl"
|
|||
|
},
|
|||
|
"16": {
|
|||
|
"name": "invalid.illegal.extra-characters.apl"
|
|||
|
},
|
|||
|
"17": {
|
|||
|
"name": "invalid.illegal.apl"
|
|||
|
},
|
|||
|
"18": {
|
|||
|
"name": "punctuation.definition.axis.end.apl"
|
|||
|
},
|
|||
|
"19": {
|
|||
|
"name": "entity.function.arguments.right.apl"
|
|||
|
},
|
|||
|
"20": {
|
|||
|
"name": "punctuation.definition.arguments.begin.apl"
|
|||
|
},
|
|||
|
"21": {
|
|||
|
"name": "punctuation.definition.arguments.end.apl"
|
|||
|
},
|
|||
|
"22": {
|
|||
|
"name": "entity.function.arguments.left.apl"
|
|||
|
},
|
|||
|
"23": {
|
|||
|
"name": "entity.function.arguments.left.optional.apl"
|
|||
|
},
|
|||
|
"24": {
|
|||
|
"name": "punctuation.definition.arguments.begin.apl"
|
|||
|
},
|
|||
|
"25": {
|
|||
|
"name": "punctuation.definition.arguments.end.apl"
|
|||
|
},
|
|||
|
"26": {
|
|||
|
"name": "punctuation.definition.arguments.begin.apl"
|
|||
|
},
|
|||
|
"27": {
|
|||
|
"name": "punctuation.definition.arguments.end.apl"
|
|||
|
},
|
|||
|
"28": {
|
|||
|
"name": "punctuation.definition.arguments.begin.apl"
|
|||
|
},
|
|||
|
"29": {
|
|||
|
"name": "punctuation.definition.arguments.end.apl"
|
|||
|
},
|
|||
|
"30": {
|
|||
|
"name": "entity.function.name.apl",
|
|||
|
"patterns": [
|
|||
|
{
|
|||
|
"include": "#embolden"
|
|||
|
}
|
|||
|
]
|
|||
|
},
|
|||
|
"31": {
|
|||
|
"name": "entity.function.axis.apl"
|
|||
|
},
|
|||
|
"32": {
|
|||
|
"name": "punctuation.definition.axis.begin.apl"
|
|||
|
},
|
|||
|
"33": {
|
|||
|
"name": "invalid.illegal.extra-characters.apl"
|
|||
|
},
|
|||
|
"34": {
|
|||
|
"name": "invalid.illegal.apl"
|
|||
|
},
|
|||
|
"35": {
|
|||
|
"name": "punctuation.definition.axis.end.apl"
|
|||
|
},
|
|||
|
"36": {
|
|||
|
"name": "entity.function.operands.apl"
|
|||
|
},
|
|||
|
"37": {
|
|||
|
"name": "punctuation.definition.operands.begin.apl"
|
|||
|
},
|
|||
|
"38": {
|
|||
|
"name": "entity.function.operands.left.apl"
|
|||
|
},
|
|||
|
"39": {
|
|||
|
"name": "entity.function.name.apl",
|
|||
|
"patterns": [
|
|||
|
{
|
|||
|
"include": "#embolden"
|
|||
|
}
|
|||
|
]
|
|||
|
},
|
|||
|
"40": {
|
|||
|
"name": "entity.function.axis.apl"
|
|||
|
},
|
|||
|
"41": {
|
|||
|
"name": "punctuation.definition.axis.begin.apl"
|
|||
|
},
|
|||
|
"42": {
|
|||
|
"name": "invalid.illegal.extra-characters.apl"
|
|||
|
},
|
|||
|
"43": {
|
|||
|
"name": "invalid.illegal.apl"
|
|||
|
},
|
|||
|
"44": {
|
|||
|
"name": "punctuation.definition.axis.end.apl"
|
|||
|
},
|
|||
|
"45": {
|
|||
|
"name": "entity.function.operands.right.apl"
|
|||
|
},
|
|||
|
"46": {
|
|||
|
"name": "punctuation.definition.operands.end.apl"
|
|||
|
},
|
|||
|
"47": {
|
|||
|
"name": "entity.function.arguments.right.apl"
|
|||
|
},
|
|||
|
"48": {
|
|||
|
"name": "punctuation.definition.arguments.begin.apl"
|
|||
|
},
|
|||
|
"49": {
|
|||
|
"name": "punctuation.definition.arguments.end.apl"
|
|||
|
},
|
|||
|
"50": {
|
|||
|
"name": "invalid.illegal.arguments.right.apl"
|
|||
|
},
|
|||
|
"51": {
|
|||
|
"name": "entity.function.local-variables.apl"
|
|||
|
},
|
|||
|
"52": {
|
|||
|
"patterns": [
|
|||
|
{
|
|||
|
"name": "punctuation.separator.apl",
|
|||
|
"match": ";"
|
|||
|
}
|
|||
|
]
|
|||
|
},
|
|||
|
"53": {
|
|||
|
"name": "invalid.illegal.local-variables.apl"
|
|||
|
},
|
|||
|
"54": {
|
|||
|
"name": "comment.line.apl"
|
|||
|
}
|
|||
|
},
|
|||
|
"endCaptures": {
|
|||
|
"1": {
|
|||
|
"name": "keyword.operator.nabla.apl"
|
|||
|
},
|
|||
|
"2": {
|
|||
|
"name": "keyword.operator.lock.apl"
|
|||
|
},
|
|||
|
"3": {
|
|||
|
"name": "comment.line.apl"
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
]
|
|||
|
},
|
|||
|
"embolden": {
|
|||
|
"patterns": [
|
|||
|
{
|
|||
|
"name": "markup.bold.identifier.apl",
|
|||
|
"match": ".+"
|
|||
|
}
|
|||
|
]
|
|||
|
},
|
|||
|
"lambda": {
|
|||
|
"name": "meta.lambda.function.apl",
|
|||
|
"begin": "\\{",
|
|||
|
"end": "\\}",
|
|||
|
"beginCaptures": {
|
|||
|
"0": {
|
|||
|
"name": "punctuation.definition.lambda.begin.apl"
|
|||
|
}
|
|||
|
},
|
|||
|
"endCaptures": {
|
|||
|
"0": {
|
|||
|
"name": "punctuation.definition.lambda.end.apl"
|
|||
|
}
|
|||
|
},
|
|||
|
"patterns": [
|
|||
|
{
|
|||
|
"include": "#main"
|
|||
|
},
|
|||
|
{
|
|||
|
"include": "#lambda-variables"
|
|||
|
}
|
|||
|
]
|
|||
|
},
|
|||
|
"lambda-variables": {
|
|||
|
"patterns": [
|
|||
|
{
|
|||
|
"match": "⍺⍺",
|
|||
|
"name": "constant.language.lambda.operands.left.apl"
|
|||
|
},
|
|||
|
{
|
|||
|
"match": "⍵⍵",
|
|||
|
"name": "constant.language.lambda.operands.right.apl"
|
|||
|
},
|
|||
|
{
|
|||
|
"match": "[⍺⍶]",
|
|||
|
"name": "constant.language.lambda.arguments.left.apl"
|
|||
|
},
|
|||
|
{
|
|||
|
"match": "[⍵⍹]",
|
|||
|
"name": "constant.language.lambda.arguments.right.apl"
|
|||
|
},
|
|||
|
{
|
|||
|
"match": "χ",
|
|||
|
"name": "constant.language.lambda.arguments.axis.apl"
|
|||
|
},
|
|||
|
{
|
|||
|
"match": "∇∇",
|
|||
|
"name": "constant.language.lambda.operands.self.operator.apl"
|
|||
|
},
|
|||
|
{
|
|||
|
"match": "∇",
|
|||
|
"name": "constant.language.lambda.operands.self.function.apl"
|
|||
|
},
|
|||
|
{
|
|||
|
"match": "λ",
|
|||
|
"name": "constant.language.lambda.symbol.apl"
|
|||
|
}
|
|||
|
]
|
|||
|
},
|
|||
|
"sysvars": {
|
|||
|
"patterns": [
|
|||
|
{
|
|||
|
"match": "(?:(⎕)|(⍞))[A-Za-z]*",
|
|||
|
"name": "support.system.variable.apl",
|
|||
|
"captures": {
|
|||
|
"1": {
|
|||
|
"name": "punctuation.definition.quad.apl"
|
|||
|
},
|
|||
|
"2": {
|
|||
|
"name": "punctuation.definition.quad-quote.apl"
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
]
|
|||
|
},
|
|||
|
"command-arguments": {
|
|||
|
"patterns": [
|
|||
|
{
|
|||
|
"name": "variable.parameter.argument.apl",
|
|||
|
"begin": "\\b(?=\\S)",
|
|||
|
"end": "\\b(?=\\s)",
|
|||
|
"patterns": [
|
|||
|
{
|
|||
|
"include": "#main"
|
|||
|
}
|
|||
|
]
|
|||
|
}
|
|||
|
]
|
|||
|
},
|
|||
|
"command-switches": {
|
|||
|
"patterns": [
|
|||
|
{
|
|||
|
"name": "variable.parameter.switch.apl",
|
|||
|
"begin": "(?x)\n(?<=\\s)(-)\n(\n\t[A-Z_a-zÀ-ÖØ-Ýßà-öø-üþ∆⍙Ⓐ-Ⓩ]\n\t[A-Z_a-zÀ-ÖØ-Ýßà-öø-üþ∆⍙Ⓐ-Ⓩ¯0-9]*\n)\n(=)",
|
|||
|
"end": "\\b(?=\\s)",
|
|||
|
"beginCaptures": {
|
|||
|
"1": {
|
|||
|
"name": "punctuation.delimiter.switch.apl"
|
|||
|
},
|
|||
|
"2": {
|
|||
|
"name": "entity.name.switch.apl"
|
|||
|
},
|
|||
|
"3": {
|
|||
|
"name": "punctuation.assignment.switch.apl"
|
|||
|
}
|
|||
|
},
|
|||
|
"patterns": [
|
|||
|
{
|
|||
|
"include": "#main"
|
|||
|
}
|
|||
|
]
|
|||
|
},
|
|||
|
{
|
|||
|
"name": "variable.parameter.switch.apl",
|
|||
|
"match": "(?x)\n(?<=\\s)(-)\n(\n\t[A-Z_a-zÀ-ÖØ-Ýßà-öø-üþ∆⍙Ⓐ-Ⓩ]\n\t[A-Z_a-zÀ-ÖØ-Ýßà-öø-üþ∆⍙Ⓐ-Ⓩ¯0-9]*\n)\n(?!=)",
|
|||
|
"captures": {
|
|||
|
"1": {
|
|||
|
"name": "punctuation.delimiter.switch.apl"
|
|||
|
},
|
|||
|
"2": {
|
|||
|
"name": "entity.name.switch.apl"
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
]
|
|||
|
},
|
|||
|
"sck": {
|
|||
|
"patterns": [
|
|||
|
{
|
|||
|
"name": "keyword.control.sck.apl",
|
|||
|
"match": "(?<=\\s|^)(:)[A-Za-z]+",
|
|||
|
"captures": {
|
|||
|
"1": {
|
|||
|
"name": "punctuation.definition.sck.begin.apl"
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
]
|
|||
|
},
|
|||
|
"class": {
|
|||
|
"patterns": [
|
|||
|
{
|
|||
|
"begin": "(?x)\n(?<=\\s|^)\n((:)Class)\n\\s+\n(\n\t'[^']*'?\n\t|\n\t[A-Z_a-zÀ-ÖØ-Ýßà-öø-üþ∆⍙Ⓐ-Ⓩ]\n\t[A-Z_a-zÀ-ÖØ-Ýßà-öø-üþ∆⍙Ⓐ-Ⓩ¯0-9]*\n)\n\\s*\n(\n\t(:)\n\t\\s*\n\t(?:\n\t\t(\n\t\t\t'[^']*'?\n\t\t\t|\n\t\t\t[A-Z_a-zÀ-ÖØ-Ýßà-öø-üþ∆⍙Ⓐ-Ⓩ]\n\t\t\t[A-Z_a-zÀ-ÖØ-Ýßà-öø-üþ∆⍙Ⓐ-Ⓩ¯0-9]*\n\t\t)\n\t\t\\s*\n\t)?\n)?\n(.*?)$",
|
|||
|
"end": "(?<=\\s|^)((:)EndClass)(?=\\b)",
|
|||
|
"beginCaptures": {
|
|||
|
"0": {
|
|||
|
"name": "meta.class.apl"
|
|||
|
},
|
|||
|
"1": {
|
|||
|
"name": "keyword.control.class.apl"
|
|||
|
},
|
|||
|
"2": {
|
|||
|
"name": "punctuation.definition.class.apl"
|
|||
|
},
|
|||
|
"3": {
|
|||
|
"name": "entity.name.type.class.apl",
|
|||
|
"patterns": [
|
|||
|
{
|
|||
|
"include": "#strings"
|
|||
|
}
|
|||
|
]
|
|||
|
},
|
|||
|
"4": {
|
|||
|
"name": "entity.other.inherited-class.apl"
|
|||
|
},
|
|||
|
"5": {
|
|||
|
"name": "punctuation.separator.inheritance.apl"
|
|||
|
},
|
|||
|
"6": {
|
|||
|
"patterns": [
|
|||
|
{
|
|||
|
"include": "#strings"
|
|||
|
}
|
|||
|
]
|
|||
|
},
|
|||
|
"7": {
|
|||
|
"name": "entity.other.class.interfaces.apl",
|
|||
|
"patterns": [
|
|||
|
{
|
|||
|
"include": "#csv"
|
|||
|
}
|
|||
|
]
|
|||
|
}
|
|||
|
},
|
|||
|
"endCaptures": {
|
|||
|
"1": {
|
|||
|
"name": "keyword.control.class.apl"
|
|||
|
},
|
|||
|
"2": {
|
|||
|
"name": "punctuation.definition.class.apl"
|
|||
|
}
|
|||
|
},
|
|||
|
"patterns": [
|
|||
|
{
|
|||
|
"name": "meta.field.apl",
|
|||
|
"begin": "(?<=\\s|^)(:)Field(?=\\s)",
|
|||
|
"end": "\\s*(←.*)?(?:$|(?=⍝))",
|
|||
|
"beginCaptures": {
|
|||
|
"0": {
|
|||
|
"name": "keyword.control.field.apl"
|
|||
|
},
|
|||
|
"1": {
|
|||
|
"name": "punctuation.definition.field.apl"
|
|||
|
}
|
|||
|
},
|
|||
|
"endCaptures": {
|
|||
|
"0": {
|
|||
|
"name": "entity.other.initial-value.apl"
|
|||
|
},
|
|||
|
"1": {
|
|||
|
"patterns": [
|
|||
|
{
|
|||
|
"include": "#main"
|
|||
|
}
|
|||
|
]
|
|||
|
}
|
|||
|
},
|
|||
|
"patterns": [
|
|||
|
{
|
|||
|
"name": "storage.modifier.access.public.apl",
|
|||
|
"match": "(?<=\\s|^)Public(?=\\s|$)"
|
|||
|
},
|
|||
|
{
|
|||
|
"name": "storage.modifier.access.private.apl",
|
|||
|
"match": "(?<=\\s|^)Private(?=\\s|$)"
|
|||
|
},
|
|||
|
{
|
|||
|
"name": "storage.modifier.shared.apl",
|
|||
|
"match": "(?<=\\s|^)Shared(?=\\s|$)"
|
|||
|
},
|
|||
|
{
|
|||
|
"name": "storage.modifier.instance.apl",
|
|||
|
"match": "(?<=\\s|^)Instance(?=\\s|$)"
|
|||
|
},
|
|||
|
{
|
|||
|
"name": "storage.modifier.readonly.apl",
|
|||
|
"match": "(?<=\\s|^)ReadOnly(?=\\s|$)"
|
|||
|
},
|
|||
|
{
|
|||
|
"name": "entity.name.type.apl",
|
|||
|
"match": "(?x)\n(\n\t'[^']*'?\n\t|\n\t[A-Z_a-zÀ-ÖØ-Ýßà-öø-üþ∆⍙Ⓐ-Ⓩ]\n\t[A-Z_a-zÀ-ÖØ-Ýßà-öø-üþ∆⍙Ⓐ-Ⓩ¯0-9]*\n)",
|
|||
|
"captures": {
|
|||
|
"1": {
|
|||
|
"patterns": [
|
|||
|
{
|
|||
|
"include": "#strings"
|
|||
|
}
|
|||
|
]
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
]
|
|||
|
},
|
|||
|
{
|
|||
|
"include": "$self"
|
|||
|
}
|
|||
|
]
|
|||
|
}
|
|||
|
]
|
|||
|
},
|
|||
|
"csv": {
|
|||
|
"patterns": [
|
|||
|
{
|
|||
|
"match": ",",
|
|||
|
"name": "punctuation.separator.apl"
|
|||
|
},
|
|||
|
{
|
|||
|
"include": "$self"
|
|||
|
}
|
|||
|
]
|
|||
|
},
|
|||
|
"heredocs": {
|
|||
|
"patterns": [
|
|||
|
{
|
|||
|
"name": "meta.heredoc.apl",
|
|||
|
"begin": "^.*?⎕INP\\s+('|\")((?i).*?HTML?.*?|END-OF-⎕INP)\\1.*$",
|
|||
|
"end": "^.*?\\2.*?$",
|
|||
|
"beginCaptures": {
|
|||
|
"0": {
|
|||
|
"patterns": [
|
|||
|
{
|
|||
|
"include": "#main"
|
|||
|
}
|
|||
|
]
|
|||
|
}
|
|||
|
},
|
|||
|
"endCaptures": {
|
|||
|
"0": {
|
|||
|
"name": "constant.other.apl"
|
|||
|
}
|
|||
|
},
|
|||
|
"contentName": "text.embedded.html.basic",
|
|||
|
"patterns": [
|
|||
|
{
|
|||
|
"include": "text.html.basic"
|
|||
|
},
|
|||
|
{
|
|||
|
"include": "#embedded-apl"
|
|||
|
}
|
|||
|
]
|
|||
|
},
|
|||
|
{
|
|||
|
"name": "meta.heredoc.apl",
|
|||
|
"begin": "^.*?⎕INP\\s+('|\")((?i).*?(?:XML|XSLT|SVG|RSS).*?)\\1.*$",
|
|||
|
"end": "^.*?\\2.*?$",
|
|||
|
"beginCaptures": {
|
|||
|
"0": {
|
|||
|
"patterns": [
|
|||
|
{
|
|||
|
"include": "#main"
|
|||
|
}
|
|||
|
]
|
|||
|
}
|
|||
|
},
|
|||
|
"endCaptures": {
|
|||
|
"0": {
|
|||
|
"name": "constant.other.apl"
|
|||
|
}
|
|||
|
},
|
|||
|
"contentName": "text.embedded.xml",
|
|||
|
"patterns": [
|
|||
|
{
|
|||
|
"include": "text.xml"
|
|||
|
},
|
|||
|
{
|
|||
|
"include": "#embedded-apl"
|
|||
|
}
|
|||
|
]
|
|||
|
},
|
|||
|
{
|
|||
|
"name": "meta.heredoc.apl",
|
|||
|
"begin": "^.*?⎕INP\\s+('|\")((?i).*?(?:CSS|stylesheet).*?)\\1.*$",
|
|||
|
"end": "^.*?\\2.*?$",
|
|||
|
"beginCaptures": {
|
|||
|
"0": {
|
|||
|
"patterns": [
|
|||
|
{
|
|||
|
"include": "#main"
|
|||
|
}
|
|||
|
]
|
|||
|
}
|
|||
|
},
|
|||
|
"endCaptures": {
|
|||
|
"0": {
|
|||
|
"name": "constant.other.apl"
|
|||
|
}
|
|||
|
},
|
|||
|
"contentName": "source.embedded.css",
|
|||
|
"patterns": [
|
|||
|
{
|
|||
|
"include": "source.css"
|
|||
|
},
|
|||
|
{
|
|||
|
"include": "#embedded-apl"
|
|||
|
}
|
|||
|
]
|
|||
|
},
|
|||
|
{
|
|||
|
"name": "meta.heredoc.apl",
|
|||
|
"begin": "^.*?⎕INP\\s+('|\")((?i).*?(?:JS(?!ON)|(?:ECMA|J|Java).?Script).*?)\\1.*$",
|
|||
|
"end": "^.*?\\2.*?$",
|
|||
|
"beginCaptures": {
|
|||
|
"0": {
|
|||
|
"patterns": [
|
|||
|
{
|
|||
|
"include": "#main"
|
|||
|
}
|
|||
|
]
|
|||
|
}
|
|||
|
},
|
|||
|
"endCaptures": {
|
|||
|
"0": {
|
|||
|
"name": "constant.other.apl"
|
|||
|
}
|
|||
|
},
|
|||
|
"contentName": "source.embedded.js",
|
|||
|
"patterns": [
|
|||
|
{
|
|||
|
"include": "source.js"
|
|||
|
},
|
|||
|
{
|
|||
|
"include": "#embedded-apl"
|
|||
|
}
|
|||
|
]
|
|||
|
},
|
|||
|
{
|
|||
|
"name": "meta.heredoc.apl",
|
|||
|
"begin": "^.*?⎕INP\\s+('|\")((?i).*?(?:JSON).*?)\\1.*$",
|
|||
|
"end": "^.*?\\2.*?$",
|
|||
|
"beginCaptures": {
|
|||
|
"0": {
|
|||
|
"patterns": [
|
|||
|
{
|
|||
|
"include": "#main"
|
|||
|
}
|
|||
|
]
|
|||
|
}
|
|||
|
},
|
|||
|
"endCaptures": {
|
|||
|
"0": {
|
|||
|
"name": "constant.other.apl"
|
|||
|
}
|
|||
|
},
|
|||
|
"contentName": "source.embedded.json",
|
|||
|
"patterns": [
|
|||
|
{
|
|||
|
"include": "source.json"
|
|||
|
},
|
|||
|
{
|
|||
|
"include": "#embedded-apl"
|
|||
|
}
|
|||
|
]
|
|||
|
},
|
|||
|
{
|
|||
|
"name": "meta.heredoc.apl",
|
|||
|
"begin": "^.*?⎕INP\\s+('|\")(?i)((?:Raw|Plain)?\\s*Te?xt)\\1.*$",
|
|||
|
"end": "^.*?\\2.*?$",
|
|||
|
"beginCaptures": {
|
|||
|
"0": {
|
|||
|
"patterns": [
|
|||
|
{
|
|||
|
"include": "#main"
|
|||
|
}
|
|||
|
]
|
|||
|
}
|
|||
|
},
|
|||
|
"endCaptures": {
|
|||
|
"0": {
|
|||
|
"name": "constant.other.apl"
|
|||
|
}
|
|||
|
},
|
|||
|
"contentName": "text.embedded.plain",
|
|||
|
"patterns": [
|
|||
|
{
|
|||
|
"include": "#embedded-apl"
|
|||
|
}
|
|||
|
]
|
|||
|
},
|
|||
|
{
|
|||
|
"name": "meta.heredoc.apl",
|
|||
|
"begin": "^.*?⎕INP\\s+('|\")(.*?)\\1.*$",
|
|||
|
"end": "^.*?\\2.*?$",
|
|||
|
"beginCaptures": {
|
|||
|
"0": {
|
|||
|
"patterns": [
|
|||
|
{
|
|||
|
"include": "#main"
|
|||
|
}
|
|||
|
]
|
|||
|
}
|
|||
|
},
|
|||
|
"endCaptures": {
|
|||
|
"0": {
|
|||
|
"name": "constant.other.apl"
|
|||
|
}
|
|||
|
},
|
|||
|
"patterns": [
|
|||
|
{
|
|||
|
"include": "$self"
|
|||
|
}
|
|||
|
]
|
|||
|
}
|
|||
|
]
|
|||
|
},
|
|||
|
"embedded-apl": {
|
|||
|
"patterns": [
|
|||
|
{
|
|||
|
"name": "meta.embedded.block.apl",
|
|||
|
"begin": "(?i)(<(\\?|%)(?:apl(?=\\s+)|=))",
|
|||
|
"end": "(?<=\\s)(\\2>)",
|
|||
|
"patterns": [
|
|||
|
{
|
|||
|
"include": "#main"
|
|||
|
}
|
|||
|
],
|
|||
|
"beginCaptures": {
|
|||
|
"1": {
|
|||
|
"name": "punctuation.section.embedded.begin.apl"
|
|||
|
}
|
|||
|
},
|
|||
|
"endCaptures": {
|
|||
|
"1": {
|
|||
|
"name": "punctuation.section.embedded.end.apl"
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
]
|
|||
|
}
|
|||
|
}
|
|||
|
}
|