github-linguist 8.0.1 → 9.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (70) hide show
  1. checksums.yaml +4 -4
  2. data/grammars/go.mod.json +1 -1
  3. data/grammars/markdown.vue.codeblock.json +1 -0
  4. data/grammars/mdx.vue.codeblock.json +1 -0
  5. data/grammars/source.QB64.json +1 -0
  6. data/grammars/source.abap.json +1 -1
  7. data/grammars/source.abl.json +1 -1
  8. data/grammars/source.angelscript.json +1 -1
  9. data/grammars/source.basic.json +1 -1
  10. data/grammars/source.bb.json +1 -1
  11. data/grammars/source.brs.json +1 -1
  12. data/grammars/source.bsl.json +1 -1
  13. data/grammars/source.cmake.json +1 -1
  14. data/grammars/source.cmakecache.json +1 -0
  15. data/grammars/source.cobol.json +1 -1
  16. data/grammars/source.dart.json +1 -1
  17. data/grammars/source.fsharp.json +1 -1
  18. data/grammars/source.gdscript.json +1 -1
  19. data/grammars/source.graphql.json +1 -1
  20. data/grammars/source.hcl.json +1 -1
  21. data/grammars/source.hcl.terraform.json +1 -1
  22. data/grammars/source.julia.json +1 -1
  23. data/grammars/source.just.json +1 -1
  24. data/grammars/source.luau.json +1 -1
  25. data/grammars/source.matlab.json +1 -1
  26. data/grammars/source.mdx.astro.json +1 -0
  27. data/grammars/source.mdx.json +1 -1
  28. data/grammars/source.moonbit.json +1 -0
  29. data/grammars/source.msg.json +1 -0
  30. data/grammars/source.ned.json +1 -0
  31. data/grammars/source.nushell.json +1 -1
  32. data/grammars/source.odin.json +1 -1
  33. data/grammars/source.openesql.json +1 -0
  34. data/grammars/source.p4.json +1 -1
  35. data/grammars/source.polar.json +1 -1
  36. data/grammars/source.powerbuilder.json +1 -1
  37. data/grammars/source.rescript.json +1 -1
  38. data/grammars/source.rpgle.json +1 -1
  39. data/grammars/source.scala.json +1 -1
  40. data/grammars/source.sdbl.json +1 -1
  41. data/grammars/source.tact.json +1 -0
  42. data/grammars/source.toc.json +1 -1
  43. data/grammars/source.ts.json +1 -1
  44. data/grammars/source.tsp.json +1 -0
  45. data/grammars/source.tsx.json +1 -1
  46. data/grammars/source.vba.json +1 -1
  47. data/grammars/source.vue.json +1 -0
  48. data/grammars/source.wdl.json +1 -1
  49. data/grammars/text.adblock.json +1 -1
  50. data/grammars/text.md.json +1 -1
  51. data/grammars/version +1 -1
  52. data/grammars/vue.directives.json +1 -0
  53. data/grammars/vue.interpolations.json +1 -0
  54. data/grammars/vue.sfc.style.variable.injection.json +1 -0
  55. data/lib/linguist/VERSION +1 -1
  56. data/lib/linguist/generated.rb +31 -0
  57. data/lib/linguist/generic.yml +1 -0
  58. data/lib/linguist/heuristics.yml +55 -11
  59. data/lib/linguist/languages.json +1 -1
  60. data/lib/linguist/languages.yml +93 -3
  61. data/lib/linguist/lazy_blob.rb +15 -7
  62. data/lib/linguist/repository.rb +18 -13
  63. data/lib/linguist/samples.json +1 -1
  64. data/lib/linguist/source/diff.rb +72 -0
  65. data/lib/linguist/source/repository.rb +64 -0
  66. data/lib/linguist/source/rugged.rb +95 -0
  67. metadata +21 -6
  68. data/grammars/source.cache.cmake.json +0 -1
  69. data/grammars/text.html.vue.json +0 -1
  70. data/grammars/text.mdx.astro.codeblock.json +0 -1
@@ -0,0 +1 @@
1
+ {"name":"moonbit","scopeName":"source.moonbit","patterns":[{"include":"#strings"},{"include":"#comments"},{"include":"#constants"},{"include":"#keywords"},{"include":"#functions"},{"include":"#support"},{"include":"#types"},{"include":"#modules"},{"include":"#variables"}],"repository":{"comments":{"patterns":[{"name":"comment.line","match":"//.*"}]},"constants":{"patterns":[{"name":"constant.numeric.moonbit","match":"\\b\\d(\\d|_)*(?!\\.)(U)?(L)?\\b"},{"name":"constant.numeric.moonbit","match":"(?\u003c=\\.)\\d((?=\\.)|\\b)"},{"name":"constant.numeric.moonbit","match":"\\b\\d+(\\.)\\d+\\b"},{"name":"constant.numeric.moonbit","match":"\\b0[XxOoBb][\\dAaBbCcDdEeFf]+(U)?(L)?\\b"},{"name":"constant.language.moonbit","match":"\\b(true|false|\\(\\))\\b"}]},"escape":{"patterns":[{"name":"constant.character.escape.moonbit","match":"\\\\[0\\\\tnrb\"']"},{"name":"constant.character.escape.moonbit","match":"\\\\x[0-9a-fA-F]{2}"},{"name":"constant.character.escape.moonbit","match":"\\\\o[0-3][0-7]{2}"},{"name":"constant.character.escape.unicode.moonbit","match":"\\\\u[0-9a-fA-F]{4}"},{"name":"constant.character.escape.unicode.moonbit","match":"\\\\u{[0-9a-fA-F]*}"}]},"functions":{"patterns":[{"match":"\\b(fn)\\s*(?:([A-Z][A-Za-z0-9_]*)::)?([a-z0-9_][A-Za-z0-9_]*)?\\b","captures":{"1":{"name":"keyword.moonbit"},"2":{"name":"entity.name.type.moonbit"},"3":{"name":"entity.name.function.moonbit"}}},{"name":"meta.function.call.moonbit","begin":"(?!\\bfn\\s+)(?:\\.|::)?([a-z0-9_][A-Za-z0-9_]*(\\!|\\?)?)(\\()","end":"\\)","patterns":[{"include":"#comments"},{"include":"#constants"},{"include":"#functions"},{"include":"#support"},{"include":"#types"},{"include":"#keywords"},{"include":"#modules"},{"include":"#strings"},{"include":"#variables"}],"beginCaptures":{"1":{"name":"entity.name.function.moonbit"},"2":{"name":"punctuation.brackets.round.moonbit"}},"endCaptures":{"0":{"name":"punctuation.brackets.round.moonbit"}}}]},"interpolation":{"patterns":[{"name":"meta.embedded.line.moonbit","contentName":"source.moonbit","begin":"\\\\{","end":"}","patterns":[{"include":"$self"}],"beginCaptures":{"0":{"name":"punctuation.section.embedded.begin.moonbit"}},"endCaptures":{"0":{"name":"punctuation.section.embedded.end.moonbit"}}}]},"keywords":{"patterns":[{"name":"keyword.control.moonbit","match":"\\b(guard|if|while|break|continue|return|try|catch|except|raise|match|else|as|in|loop|for)\\b"},{"name":"keyword.moonbit","match":"\\b(type!|(type|typealias|let|enum|struct|import|trait|derive|test|impl|with)\\b)"},{"name":"variable.language.moonbit","match":"\\b(self)\\b"},{"name":"storage.modifier.moonbit","match":"\\b(mut|pub|priv|readonly|extern)\\b"},{"name":"storage.type.function.arrow.moonbit","match":"-\u003e"},{"name":"storage.type.function.arrow.moonbit","match":"=\u003e"},{"name":"keyword.operator.assignment.moonbit","match":"="},{"name":"keyword.operator.other.moonbit","match":"\\|\u003e"},{"name":"keyword.operator.comparison.moonbit","match":"(===|==|!=|\u003e=|\u003c=|(?\u003c!-)\u003e|\u003c)"},{"name":"keyword.operator.logical.moonbit","match":"(\\bnot\\b|\u0026\u0026|\\|\\|)"},{"name":"keyword.operator.math.moonbit","match":"(\\+|-(?!\u003e)|\\*|%|/)"}]},"modules":{"patterns":[{"name":"entity.name.namespace.moonbit","match":"@[A-Za-z][A-Za-z0-9_/]*"}]},"strings":{"patterns":[{"name":"string.line","match":"(#\\|).*","captures":{"1":{"name":"keyword.operator.other.moonbit"}}},{"name":"string.line","match":"(\\$\\|)(.*)","captures":{"1":{"name":"keyword.operator.other.moonbit"},"2":{"patterns":[{"include":"#escape"},{"include":"#interpolation"}]}}},{"name":"string.quoted.single.moonbit","begin":"'","end":"'","patterns":[{"include":"#escape"}]},{"name":"string.quoted.double.moonbit","begin":"\"","end":"\"","patterns":[{"include":"#escape"},{"include":"#interpolation"}]}]},"support":{"patterns":[{"name":"support.class.moonbit","match":"\\b(Eq|Compare|Hash|Show|Default|ToJson|FromJson)\\b"}]},"types":{"patterns":[{"name":"entity.name.type.moonbit","match":"\\b(?\u003c!@)[A-Z][A-Za-z0-9_]*((\\?)+|\\b)"}]},"variables":{"patterns":[{"name":"variable.other.moonbit","match":"\\b(?\u003c!\\.|::)[a-z_][a-zA-Z0-9_]*\\b"}]}}}
@@ -0,0 +1 @@
1
+ {"name":"MSG","scopeName":"source.msg","patterns":[{"include":"#keyword"},{"include":"#comment"},{"include":"#property"},{"include":"#types"}],"repository":{"comment":{"patterns":[{"name":"comment.line.double-slash.msg","match":"//.*$"}]},"keyword":{"patterns":[{"name":"keyword.other.msg","match":"\\b(?:cplusplus|namespace|struct|message|packet|class|enum|extends|import)\\b"}]},"property":{"patterns":[{"name":"entity.name.tag.msg","match":"@[a-zA-Z]+"}]},"string":{"patterns":[{"name":"string.quoted.msg","match":"\"[^\"]*\""}]},"types":{"patterns":[{"name":"storage.type.common","match":"\\b(?:abstract|bool|char|short|int|long|float|double|unsigned|string|simtime_t|int8_t|int16_t|int32_t|int64_t|uint8_t|uint16_t|uint32_t|uint64_t|int16|int32|int64|uint8|uint16|uint32|uint64)\\b"}]}}}
@@ -0,0 +1 @@
1
+ {"name":"NED","scopeName":"source.ned","patterns":[{"include":"#comment"},{"include":"#property"},{"include":"#type"},{"include":"#string"},{"include":"#expr"},{"include":"#non_expr"}],"repository":{"comment":{"patterns":[{"name":"comment.line.double-slash.ned","match":"//.*$"}]},"expr":{"patterns":[{"name":"keyword.other.ned","match":"\\b(?:sizeof|const|default|ask|this|index|typename)\\b"}]},"non_expr":{"patterns":[{"name":"keyword.other.ned","match":"\\b(?:channel|channelinterface|simple|module|network|moduleinterface|parameters|gates|types|submodules|connections|allowunconnected|extends|for|if|import|like|package|property)\\b"}]},"property":{"patterns":[{"name":"entity.name.tag.ned","match":"@[a-zA-Z]+"}]},"string":{"patterns":[{"name":"string.quoted.msg","match":"\"[^\"]*\""}]},"type":{"patterns":[{"name":"storage.type.common.ned","match":"\\b(?:inout|input|output|bool|double|int|string|object|xml|--\u003e|\u003c--|\u003c--\u003e|\\.\\.|volatile|false|true|undefined|nan|inf|null|nullptr)\\b"}]}}}
@@ -1 +1 @@
1
- {"name":"nushell","scopeName":"source.nushell","patterns":[{"include":"#define-variable"},{"include":"#define-alias"},{"include":"#function"},{"include":"#extern"},{"include":"#module"},{"include":"#use-module"},{"include":"#expression"},{"include":"#comment"}],"repository":{"binary":{"name":"constant.binary.nushell","begin":"\\b(0x)(\\[)","end":"\\]","patterns":[{"name":"constant.numeric.nushell","match":"[0-9a-fA-F]{2}"}],"beginCaptures":{"1":{"name":"constant.numeric.nushell"},"2":{"name":"meta.brace.square.begin.nushell"}},"endCaptures":{"0":{"name":"meta.brace.square.begin.nushell"}}},"braced-expression":{"name":"meta.expression.braced.nushell","begin":"\\{","end":"\\}","patterns":[{"name":"meta.closure.parameters.nushell","begin":"(?\u003c=\\{)\\s*\\|","end":"\\|","patterns":[{"include":"#function-parameter"}]},{"match":"(\\w+)\\s*(:)\\s*","captures":{"1":{"name":"variable.other.nushell"},"2":{"name":"keyword.control.nushell"}}},{"name":"meta.record-entry.nushell","match":"(\\$\"((?:[^\"\\\\]|\\\\.)*)\")\\s*(:)\\s*","captures":{"1":{"name":"variable.other.nushell"},"2":{"name":"variable.other.nushell","patterns":[{"include":"#paren-expression"}]},"3":{"name":"keyword.control.nushell"}}},{"name":"meta.record-entry.nushell","match":"(\"(?:[^\"\\\\]|\\\\.)*\")\\s*(:)\\s*","captures":{"1":{"name":"variable.other.nushell"},"2":{"name":"keyword.control.nushell"}}},{"name":"meta.record-entry.nushell","match":"(\\$'([^']*)')\\s*(:)\\s*","captures":{"1":{"name":"variable.other.nushell"},"2":{"name":"variable.other.nushell","patterns":[{"include":"#paren-expression"}]},"3":{"name":"keyword.control.nushell"}}},{"name":"meta.record-entry.nushell","match":"('[^']*')\\s*(:)\\s*","captures":{"1":{"name":"variable.other.nushell"},"2":{"name":"keyword.control.nushell"}}},{"include":"#spread"},{"include":"source.nushell"}],"beginCaptures":{"0":{"name":"punctuation.section.block.begin.bracket.curly.nushell"}},"endCaptures":{"0":{"name":"punctuation.section.block.end.bracket.curly.nushell"}}},"command":{"name":"meta.command.nushell","begin":"(?\u003c!\\w)(?:(\\^)|(?![0-9]|\\$))([\\w.!]+(?:(?: (?!-)[\\w\\-.!]+(?:(?= |\\))|$)|[\\w\\-.!]+))*|(?\u003c=\\^)\\$?(?:\"[^\"]+\"|'[^']+'))","end":"(?=\\||\\)|\\}|;)|$","patterns":[{"include":"#parameters"},{"include":"#spread"},{"include":"#value"}],"beginCaptures":{"1":{"name":"keyword.operator.nushell"},"2":{"patterns":[{"include":"#control-keywords"},{"match":"(?:ansi|char) \\w+","captures":{"0":{"name":"keyword.other.builtin.nushell"}}},{"match":"(a(?:l(?:ias|l)|n(?:si(?: (?:gradient|link|strip))?|y)|ppend|st)|b(?:g|its(?: (?:and|not|or|ro(?:l|r)|sh(?:l|r)|xor))?|reak|ytes(?: (?:a(?:dd|t)|build|collect|ends-with|index-of|length|re(?:move|place|verse)|starts-with))?)|c(?:al|d|har|l(?:ear|ipboard (?:copy|paste))|o(?:l(?:lect|umns)|m(?:mandline(?: (?:edit|get-cursor|set-cursor))?|p(?:act|lete))|n(?:fig(?: (?:env|nu|reset))?|st|tinue))|p|ustom-value (?:generate(?:2)?|update(?:-arg)?))|d(?:ate(?: (?:format|humanize|list-timezone|now|to-(?:record|t(?:able|imezone))))?|e(?:bug(?: info)?|code(?: (?:base64|hex))?|f(?:ault)?|scribe|tect columns)|fr(?: (?:a(?:gg(?:-groups)?|ll-(?:false|true)|ppend|rg-(?:m(?:ax|in)|sort|true|unique|where)|s(?:-date(?:time)?)?)|c(?:a(?:che|st)|o(?:l(?:lect|umns)?|n(?:cat(?:-str|enate)|tains)|unt(?:-null)?)|umulative)|d(?:atepart|rop(?:-(?:duplicates|nulls))?|types|ummies)|exp(?:lode|r-not)|f(?:etch|i(?:l(?:l-n(?:an|ull)|ter(?:-with)?)|rst)|latten)|g(?:et(?:-(?:day|hour|m(?:inute|onth)|nanosecond|ordinal|second|week(?:day)?|year))?|roup-by)|i(?:mplode|nto-(?:df|lazy|nu)|s-(?:duplicated|in|n(?:ot-null|ull)|unique))|join|l(?:ast|it|owercase|s)|m(?:ax|e(?:an|dian|lt)|in)|n(?:-unique|ot)|o(?:pen|therwise)|qu(?:antile|ery)|r(?:e(?:name|place(?:-all)?|verse)|olling)|s(?:ample|chema|e(?:lect|t(?:-with-idx)?)|h(?:ape|ift)|lice|ort-by|t(?:d|r(?:-(?:lengths|slice)|ftime))|um(?:mary)?)|t(?:ake|o-(?:a(?:rrow|vro)|csv|jsonl|parquet))|u(?:nique|ppercase)|va(?:lue-counts|r)|w(?:hen|ith-column)))?|o|rop(?: (?:column|nth))?|u)|e(?:ach(?: while)?|cho|moji|n(?:code(?: (?:base64|hex))?|umerate)|rror make|very|x(?:ec|it|p(?:l(?:ain|ore)|ort(?: (?:alias|const|def|extern|module|use)|-env)?)|tern))|f(?:i(?:l(?:e|l|ter)|nd|rst)|latten|mt|or(?:mat(?: (?:d(?:ate|uration)|filesize|pattern))?)?|rom(?: (?:csv|eml|i(?:cs|ni)|json|nuon|ods|p(?:arquet|ng)|ssv|t(?:oml|sv)|url|vcf|x(?:lsx|ml)|y(?:aml|ml)))?)|g(?:e(?:nerate|t)|lob|r(?:id|oup(?:-by)?)|stat)|h(?:ash(?: (?:md5|sha256))?|e(?:aders|lp(?: (?:aliases|commands|e(?:scapes|xterns)|modules|operators))?)|i(?:de(?:-env)?|ghlight|st(?:o(?:gram|ry(?: session)?))?)|ttp(?: (?:delete|get|head|options|p(?:atch|ost|ut)))?)|i(?:f|gnore|n(?:c|put(?: list(?:en)?)?|s(?:ert|pect)|t(?:erleave|o(?: (?:b(?:i(?:nary|ts)|ool)|cell-path|d(?:atetime|uration)|f(?:ilesize|loat)|glob|int|record|s(?:qlite|tring)|value))?))|s-(?:admin|empty|not-empty|terminal)|tems)|j(?:oin|son path|walk)|k(?:eybindings(?: (?:default|list(?:en)?))?|ill)|l(?:a(?:st|zy make)|e(?:ngth|t(?:-env)?)|ines|o(?:ad-env|op)|s)|m(?:at(?:ch|h(?: (?:a(?:bs|rc(?:cos(?:h)?|sin(?:h)?|tan(?:h)?)|vg)|c(?:eil|os(?:h)?)|exp|floor|l(?:n|og)|m(?:ax|edian|in|ode)|product|round|s(?:in(?:h)?|qrt|tddev|um)|tan(?:h)?|variance))?)|e(?:rge|tadata)|k(?:dir|temp)|o(?:dule|ve)|ut|v)|nu-(?:check|example-(?:1|2|3|config)|highlight)|o(?:pen|verlay(?: (?:hide|list|new|use))?)|p(?:a(?:nic|r(?:-each|se)|th(?: (?:basename|dirname|ex(?:ists|pand)|join|parse|relative-to|split|type))?)|eriodic-table|lot|net|ort(?: (?:list|scan))?|r(?:epend|int)|s)|query(?: (?:db|git|json|web|xml))?|r(?:an(?:dom(?: (?:bool|chars|dice|float|int|uuid))?|ge)|e(?:duce|g(?:ex|ist(?:er|ry query))|ject|name|turn|verse)|m|o(?:ll(?: (?:down|left|right|up))?|tate)|un-external)|s(?:ave|c(?:hema|ope(?: (?:aliases|commands|e(?:ngine-stats|xterns)|modules|variables))?)|e(?:lect|q(?: (?:char|date))?)|huffle|kip(?: (?:until|while))?|leep|o(?:rt(?:-by)?|urce(?:-env)?)|plit(?: (?:c(?:hars|olumn)|list|row|words)|-by)?|t(?:art|or(?: (?:create|delete|export|i(?:mport|nsert)|open|reset|update))?|r(?: (?:c(?:a(?:mel-case|pitalize)|ontains)|d(?:istance|owncase)|e(?:nds-with|scape-glob|xpand)|index-of|join|kebab-case|length|pascal-case|re(?:place|verse)|s(?:creaming-snake-case|imilarity|nake-case|ta(?:rts-with|ts)|ubstring)|t(?:itle-case|rim)|upcase)|eam_example(?: (?:collect-external|s(?:eq|um)))?)?)|ys)|t(?:a(?:ble|ke(?: (?:until|while))?)|e(?:e|rm size)|imeit|o(?: (?:csv|html|json|md|nuon|png|qr|t(?:ext|oml|sv)|xml|yaml)|uch)?|r(?:anspose|y)|utor)|u(?:limit|ni(?:q(?:-by)?|ts)|p(?:date(?: cells)?|sert)|rl(?: (?:build-query|decode|encode|join|parse))?|se)|v(?:alues|ersion|iew(?: (?:files|s(?:ource|pan)))?)|w(?:atch|h(?:ere|i(?:ch|le)|oami)|i(?:ndow|th-env)|rap)|xyplot|zip)(?![\\w-])( (.*))?","captures":{"1":{"name":"keyword.other.builtin.nushell"},"2":{"patterns":[{"include":"#value"}]}}},{"name":"entity.name.type.external.nushell","match":"(?\u003c=\\^)(?:\\$(\"[^\"]+\"|'[^']+')|\"[^\"]+\"|'[^']+')","captures":{"1":{"patterns":[{"include":"#paren-expression"}]}}},{"match":"([\\w.]+(?:-[\\w.!]+)*)(?: (.*))?","captures":{"1":{"name":"entity.name.type.external.nushell"},"2":{"patterns":[{"include":"#value"}]}}},{"include":"#value"}]}}},"comment":{"name":"comment.nushell","match":"(#.*)$"},"constant-keywords":{"name":"constant.language.nushell","match":"\\b(?:true|false|null)\\b"},"constant-value":{"patterns":[{"include":"#constant-keywords"},{"include":"#datetime"},{"include":"#numbers"},{"include":"#numbers-hexa"},{"include":"#binary"}]},"control-keywords":{"name":"keyword.control.nushell","match":"(?\u003c![0-9a-zA-Z_\\-.\\/:\\\\])(?:break|continue|else(?: if)?|for|if|loop|mut|return|try|while)(?![0-9a-zA-Z_\\-.\\/:\\\\])"},"datetime":{"name":"constant.numeric.nushell","match":"\\b\\d{4}-\\d{2}-\\d{2}(?:T\\d{2}:\\d{2}:\\d{2}(?:\\.\\d+)?(?:\\+\\d{2}:?\\d{2}|Z)?)?\\b"},"define-alias":{"match":"((?:export )?alias)\\s+([\\w\\-!]+)\\s*(=)","captures":{"1":{"name":"entity.name.function.nushell"},"2":{"name":"entity.name.type.nushell"},"3":{"patterns":[{"include":"#operators"}]}}},"define-variable":{"match":"(let|mut|(?:export\\s+)?const)\\s+(\\w+)\\s+(=)","captures":{"1":{"name":"keyword.other.nushell"},"2":{"name":"variable.other.nushell"},"3":{"patterns":[{"include":"#operators"}]}}},"expression":{"patterns":[{"include":"#pre-command"},{"include":"#for-loop"},{"include":"#operators"},{"name":"keyword.control.nushell","match":"\\|"},{"include":"#control-keywords"},{"include":"#constant-value"},{"include":"#command"},{"include":"#value"}]},"extern":{"begin":"((?:export\\s+)?extern)\\s+([\\w\\-]+|\"[\\w\\- ]+\")","end":"(?\u003c=\\])","patterns":[{"include":"#function-parameters"}],"beginCaptures":{"1":{"name":"entity.name.function.nushell"},"2":{"name":"entity.name.type.nushell"}},"endCaptures":{"0":{"name":"punctuation.definition.function.end.nushell"}}},"for-loop":{"name":"meta.for-loop.nushell","begin":"(for)\\s+(\\$?\\w+)\\s+(in)\\s+(.+)\\s*(\\{)","end":"\\}","patterns":[{"include":"source.nushell"}],"beginCaptures":{"1":{"name":"keyword.other.nushell"},"2":{"name":"variable.other.nushell"},"3":{"name":"keyword.other.nushell"},"4":{"patterns":[{"include":"#value"}]},"5":{"name":"punctuation.section.block.begin.bracket.curly.nushell"}},"endCaptures":{"0":{"name":"punctuation.section.block.end.bracket.curly.nushell"}}},"function":{"begin":"((?:export\\s+)?def(?:\\s+--\\w+)*)\\s+([\\w\\-]+|\"[\\w\\- ]+\"|'[\\w\\- ]+'|`[\\w\\- ]+`)(\\s+--\\w+)*","end":"(?\u003c=\\})","patterns":[{"include":"#function-parameters"},{"include":"#function-body"},{"include":"#function-inout"}],"beginCaptures":{"1":{"name":"entity.name.function.nushell"},"2":{"name":"entity.name.type.nushell"},"3":{"name":"entity.name.function.nushell"}}},"function-body":{"name":"meta.function.body.nushell","begin":"\\{","end":"\\}","patterns":[{"include":"source.nushell"}],"beginCaptures":{"0":{"name":"punctuation.definition.function.begin.nushell"}},"endCaptures":{"0":{"name":"punctuation.definition.function.end.nushell"}}},"function-inout":{"patterns":[{"include":"#types"},{"name":"keyword.operator.nushell","match":"-\u003e"},{"include":"#function-multiple-inout"}]},"function-multiple-inout":{"end":"\\]","patterns":[{"include":"#types"},{"match":"\\s*(,)\\s*","captures":{"1":{"name":"punctuation.separator.nushell"}}},{"match":"\\s+(-\u003e)\\s+","captures":{"1":{"name":"keyword.operator.nushell"}}}],"beginCaptures":{"1":{"name":"punctuation.definition.in-out.nushell"},"2":{"name":"meta.brace.square.begin.nushell"}},"endCaptures":{"0":{"name":"meta.brace.square.end.nushell"}}},"function-parameter":{"patterns":[{"name":"variable.parameter.nushell","match":"(-{0,2}|\\.{3})[\\w-]+(?:\\((-[\\w?])\\))?","captures":{"1":{"name":"keyword.control.nushell"}}},{"begin":"\\??:\\s*","end":"(?=(?:\\s+(?:-{0,2}|\\.{3})[\\w-]+)|(?:\\s*(?:,|\\]|\\||@|=|#|$)))","patterns":[{"include":"#types"}]},{"begin":"@(?=\"|')","end":"(?\u003c=\"|')","patterns":[{"include":"#string"}]},{"name":"default.value.nushell","begin":"=\\s*","end":"(?=(?:\\s+-{0,2}[\\w-]+)|(?:\\s*(?:,|\\]|\\||#|$)))","patterns":[{"include":"#value"}]}]},"function-parameters":{"name":"meta.function.parameters.nushell","begin":"\\[","end":"\\]","patterns":[{"include":"#function-parameter"},{"include":"#comment"}],"beginCaptures":{"0":{"name":"meta.brace.square.begin.nushell"}},"endCaptures":{"0":{"name":"meta.brace.square.end.nushell"}}},"internal-variables":{"name":"variable.language.nushell","match":"\\$(?:nu|env)\\b"},"keyword":{"name":"keyword.other.nushell","match":"(?:def(?:-env)?)"},"module":{"name":"meta.module.nushell","begin":"((?:export\\s+)?module)\\s+([\\w\\-]+)\\s*\\{","end":"\\}","patterns":[{"include":"source.nushell"}],"beginCaptures":{"1":{"name":"entity.name.function.nushell"},"2":{"name":"entity.name.namespace.nushell"}},"endCaptures":{"0":{"name":"punctuation.definition.module.end.nushell"}}},"numbers":{"name":"constant.numeric.nushell","match":"(?\u003c![\\w-])[-+]?(?:\\d+|\\d{1,3}(?:_\\d{3})*)(?:\\.\\d*)?(?i:ns|us|ms|sec|min|hr|day|wk|b|kb|mb|gb|tb|pt|eb|zb|kib|mib|gib|tib|pit|eib|zib)?(?:(?![\\w.])|(?=\\.\\.))"},"numbers-hexa":{"name":"constant.numeric.nushell","match":"(?\u003c![\\w-])0x[0-9a-fA-F]+(?![\\w.])"},"operators":{"patterns":[{"include":"#operators-word"},{"include":"#operators-symbols"},{"include":"#ranges"}]},"operators-symbols":{"name":"keyword.control.nushell","match":"(?\u003c= )(?:(?:\\+|\\-|\\*|\\/)=?|\\/\\/|\\*\\*|!=|[\u003c\u003e=]=?|[!=]~|\\+\\+=?)(?= |$)"},"operators-word":{"name":"keyword.control.nushell","match":"(?\u003c= |\\()(?:mod|in|not-in|not|and|or|xor|bit-or|bit-and|bit-xor|bit-shl|bit-shr|starts-with|ends-with)(?= |\\)|$)"},"parameters":{"name":"variable.parameter.nushell","match":"(?\u003c=\\s)(-{1,2})[\\w-]+","captures":{"1":{"name":"keyword.control.nushell"}}},"paren-expression":{"name":"meta.expression.parenthesis.nushell","begin":"\\(","end":"\\)","patterns":[{"include":"#expression"}],"beginCaptures":{"0":{"name":"meta.brace.round.begin.nushell"}},"endCaptures":{"0":{"name":"meta.brace.round.end.nushell"}}},"pre-command":{"begin":"(\\w+)(=)","end":"(?=\\s+)","patterns":[{"include":"#value"}],"beginCaptures":{"1":{"name":"variable.other.nushell"},"2":{"patterns":[{"include":"#operators"}]}}},"ranges":{"name":"keyword.control.nushell","match":"\\.\\.\u003c?"},"spread":{"name":"keyword.control.nushell","match":"\\.\\.\\.(?=[^\\s\\]}])"},"string":{"patterns":[{"include":"#string-single-quote"},{"include":"#string-backtick"},{"include":"#string-double-quote"},{"include":"#string-interpolated-double"},{"include":"#string-interpolated-single"},{"include":"#string-bare"}]},"string-backtick":{"name":"string.quoted.single.nushell","begin":"`","end":"`","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.nushell"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.nushell"}}},"string-bare":{"name":"string.bare.nushell","match":"[^$\\[{(\"',|#\\s|][^\\[\\]{}()\"'\\s#,|]*"},"string-double-quote":{"name":"string.quoted.double.nushell","begin":"\"","end":"\"","patterns":[{"match":"\\w+"},{"include":"#string-escape"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.nushell"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.nushell"}}},"string-escape":{"name":"constant.character.escape.nushell","match":"\\\\(?:[bfrnt\\\\'\"/]|u[0-9a-fA-F]{4})"},"string-interpolated-double":{"name":"string.interpolated.double.nushell","begin":"\\$\"","end":"\"","patterns":[{"name":"constant.character.escape.nushell","match":"\\\\[()]"},{"include":"#string-escape"},{"include":"#paren-expression"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.nushell"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.nushell"}}},"string-interpolated-single":{"name":"string.interpolated.single.nushell","begin":"\\$'","end":"'","patterns":[{"include":"#paren-expression"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.nushell"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.nushell"}}},"string-single-quote":{"name":"string.quoted.single.nushell","begin":"'","end":"'","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.nushell"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.nushell"}}},"table":{"name":"meta.table.nushell","begin":"\\[","end":"\\]","patterns":[{"include":"#spread"},{"include":"#value"},{"name":"punctuation.separator.nushell","match":","}],"beginCaptures":{"0":{"name":"meta.brace.square.begin.nushell"}},"endCaptures":{"0":{"name":"meta.brace.square.end.nushell"}}},"types":{"patterns":[{"name":"meta.list.nushell","begin":"\\b(list)\\s*\u003c","end":"\u003e","patterns":[{"include":"#types"}],"beginCaptures":{"1":{"name":"entity.name.type.nushell"}}},{"name":"meta.record.nushell","begin":"\\b(record)\\s*\u003c","end":"\u003e","patterns":[{"match":"([\\w\\-]+|\"[\\w\\- ]+\"|'[^']+')\\s*:\\s*","captures":{"1":{"name":"variable.parameter.nushell"}}},{"include":"#types"}],"beginCaptures":{"1":{"name":"entity.name.type.nushell"}}},{"name":"entity.name.type.nushell","match":"\\b(\\w+)\\b"}]},"use-module":{"patterns":[{"match":"^\\s*((?:export )?use)\\s+([\\w\\-]+|\"[\\w\\- ]+\"|'[\\w\\- ]+')(?:\\s+([\\w\\-]+|\"[\\w\\- ]+\"|'[\\w\\- ]+'|\\*))?\\s*;?$","captures":{"1":{"name":"entity.name.function.nushell"},"2":{"name":"entity.name.namespace.nushell"},"3":{"name":"keyword.other.nushell"}}},{"begin":"^\\s*((?:export )?use)\\s+([\\w\\-]+|\"[\\w\\- ]+\"|'[\\w\\- ]+')\\s*\\[","end":"(\\])\\s*;?\\s*$","patterns":[{"match":"([\\w\\-]+|\"[\\w\\- ]+\"|'[\\w\\- ]+'|\\*),?","captures":{"1":{"name":"keyword.other.nushell"}}},{"include":"#comment"}],"beginCaptures":{"1":{"name":"entity.name.function.nushell"},"2":{"name":"entity.name.namespace.nushell"}},"endCaptures":{"1":{"name":"meta.brace.square.end.nushell"}}},{"match":"(?\u003cpath\u003e(?:/|\\\\|~[\\/\\\\]|\\.\\.?[\\/\\\\])?(?:[^\\/\\\\]+[\\/\\\\])*[\\w\\- ]+(?:\\.nu)?){0}^\\s*((?:export )?use)\\s+(\"\\g\u003cpath\u003e\"|'\\g\u003cpath\u003e\\'|(?![\"'])\\g\u003cpath\u003e)(?:\\s+([\\w\\-]+|\"[\\w\\- ]+\"|'[^']+'|\\*))?\\s*;?$","captures":{"2":{"name":"entity.name.function.nushell"},"3":{"name":"string.bare.nushell","patterns":[{"match":"([\\w\\- ]+)(?:\\.nu)?(?=$|\"|')","captures":{"1":{"name":"entity.name.namespace.nushell"}}}]},"4":{"name":"keyword.other.nushell"}}},{"begin":"(?\u003cpath\u003e(?:/|\\\\|~[\\/\\\\]|\\.\\.?[\\/\\\\])?(?:[^\\/\\\\]+[\\/\\\\])*[\\w\\- ]+(?:\\.nu)?){0}^\\s*((?:export )?use)\\s+(\"\\g\u003cpath\u003e\"|'\\g\u003cpath\u003e\\'|(?![\"'])\\g\u003cpath\u003e)\\s+\\[","end":"(\\])\\s*;?\\s*$","patterns":[{"match":"([\\w\\-]+|\"[\\w\\- ]+\"|'[\\w\\- ]+'|\\*),?","captures":{"0":{"name":"keyword.other.nushell"}}},{"include":"#comment"}],"beginCaptures":{"2":{"name":"entity.name.function.nushell"},"3":{"name":"string.bare.nushell","patterns":[{"match":"([\\w\\- ]+)(?:\\.nu)?(?=$|\"|')","captures":{"1":{"name":"entity.name.namespace.nushell"}}}]}},"endCaptures":{"1":{"name":"meta.brace.square.end.nushell"}}},{"match":"^\\s*(?:export )?use\\b","captures":{"0":{"name":"entity.name.function.nushell"}}}]},"value":{"patterns":[{"include":"#variables"},{"include":"#variable-fields"},{"include":"#control-keywords"},{"include":"#constant-value"},{"include":"#table"},{"include":"#operators"},{"include":"#paren-expression"},{"include":"#braced-expression"},{"include":"#string"},{"include":"#comment"}]},"variable-fields":{"name":"variable.other.nushell","match":"(?\u003c=\\)|\\}|\\])(?:\\.(?:[\\w-]+|\"[\\w\\- ]+\"))+"},"variables":{"match":"(\\$[a-zA-Z0-9_]+)((?:\\.(?:[\\w-]+|\"[\\w\\- ]+\"))*)","captures":{"1":{"patterns":[{"include":"#internal-variables"},{"name":"variable.other.nushell","match":"\\$.+"}]},"2":{"name":"variable.other.nushell"}}}}}
1
+ {"name":"nushell","scopeName":"source.nushell","patterns":[{"include":"#define-variable"},{"include":"#define-alias"},{"include":"#function"},{"include":"#extern"},{"include":"#module"},{"include":"#use-module"},{"include":"#expression"},{"include":"#comment"}],"repository":{"binary":{"name":"constant.binary.nushell","begin":"\\b(0x)(\\[)","end":"\\]","patterns":[{"name":"constant.numeric.nushell","match":"[0-9a-fA-F]{2}"}],"beginCaptures":{"1":{"name":"constant.numeric.nushell"},"2":{"name":"meta.brace.square.begin.nushell"}},"endCaptures":{"0":{"name":"meta.brace.square.begin.nushell"}}},"braced-expression":{"name":"meta.expression.braced.nushell","begin":"\\{","end":"\\}","patterns":[{"name":"meta.closure.parameters.nushell","begin":"(?\u003c=\\{)\\s*\\|","end":"\\|","patterns":[{"include":"#function-parameter"}]},{"match":"(\\w+)\\s*(:)\\s*","captures":{"1":{"name":"variable.other.nushell"},"2":{"name":"keyword.control.nushell"}}},{"name":"meta.record-entry.nushell","match":"(\\$\"((?:[^\"\\\\]|\\\\.)*)\")\\s*(:)\\s*","captures":{"1":{"name":"variable.other.nushell"},"2":{"name":"variable.other.nushell","patterns":[{"include":"#paren-expression"}]},"3":{"name":"keyword.control.nushell"}}},{"name":"meta.record-entry.nushell","match":"(\"(?:[^\"\\\\]|\\\\.)*\")\\s*(:)\\s*","captures":{"1":{"name":"variable.other.nushell"},"2":{"name":"keyword.control.nushell"}}},{"name":"meta.record-entry.nushell","match":"(\\$'([^']*)')\\s*(:)\\s*","captures":{"1":{"name":"variable.other.nushell"},"2":{"name":"variable.other.nushell","patterns":[{"include":"#paren-expression"}]},"3":{"name":"keyword.control.nushell"}}},{"name":"meta.record-entry.nushell","match":"('[^']*')\\s*(:)\\s*","captures":{"1":{"name":"variable.other.nushell"},"2":{"name":"keyword.control.nushell"}}},{"include":"#spread"},{"include":"source.nushell"}],"beginCaptures":{"0":{"name":"punctuation.section.block.begin.bracket.curly.nushell"}},"endCaptures":{"0":{"name":"punctuation.section.block.end.bracket.curly.nushell"}}},"command":{"name":"meta.command.nushell","begin":"(?\u003c!\\w)(?:(\\^)|(?![0-9]|\\$))([\\w.!]+(?:(?: (?!-)[\\w\\-.!]+(?:(?= |\\))|$)|[\\w\\-.!]+))*|(?\u003c=\\^)\\$?(?:\"[^\"]+\"|'[^']+'))","end":"(?=\\||\\)|\\}|;)|$","patterns":[{"include":"#parameters"},{"include":"#spread"},{"include":"#value"}],"beginCaptures":{"1":{"name":"keyword.operator.nushell"},"2":{"patterns":[{"include":"#control-keywords"},{"match":"(?:ansi|char) \\w+","captures":{"0":{"name":"keyword.other.builtin.nushell"}}},{"match":"(a(?:l(?:ias|l)|n(?:si(?: (?:gradient|link|strip))?|y)|ppend|st)|b(?:g|its(?: (?:and|not|or|ro(?:l|r)|sh(?:l|r)|xor))?|reak|ytes(?: (?:a(?:dd|t)|build|collect|ends-with|index-of|length|re(?:move|place|verse)|starts-with))?)|c(?:al|d|h(?:ar|unks)|lear|o(?:l(?:lect|umns)|m(?:mandline(?: (?:edit|get-cursor|set-cursor))?|p(?:act|lete))|n(?:fig(?: (?:env|nu|reset))?|st|tinue))|p)|d(?:ate(?: (?:format|humanize|list-timezone|now|to-(?:record|t(?:able|imezone))))?|e(?:bug(?: (?:info|profile))?|code(?: (?:base(?:32(?:hex)?|64)|hex|new-base64))?|f(?:ault)?|scribe|tect columns)|o|rop(?: (?:column|nth))?|t(?: (?:add|diff|format|now|part|to|utcnow))?|u)|e(?:ach(?: while)?|cho|moji|n(?:code(?: (?:base(?:32(?:hex)?|64)|hex|new-base64))?|umerate)|rror make|very|x(?:ec|it|p(?:l(?:ain|ore)|ort(?: (?:alias|const|def|extern|module|use)|-env)?)|tern))|f(?:i(?:l(?:e|l|ter)|nd|rst)|latten|mt|or(?:mat(?: (?:d(?:ate|uration)|filesize|pattern))?)?|rom(?: (?:csv|eml|i(?:cs|ni)|json|msgpack(?:z)?|nuon|ods|p(?:arquet|list)|ssv|t(?:oml|sv)|url|vcf|x(?:lsx|ml)|y(?:aml|ml)))?)|g(?:e(?:nerate|t)|lob|r(?:id|oup(?:-by)?)|stat)|h(?:ash(?: (?:md5|sha256))?|e(?:aders|lp(?: (?:aliases|commands|e(?:scapes|xterns)|modules|operators))?)|i(?:de(?:-env)?|sto(?:gram|ry(?: session)?))|ttp(?: (?:delete|get|head|options|p(?:atch|ost|ut)))?)|i(?:f|gnore|n(?:c|put(?: list(?:en)?)?|s(?:ert|pect)|t(?:erleave|o(?: (?:b(?:i(?:nary|ts)|ool)|cell-path|d(?:atetime|uration)|f(?:ilesize|loat)|glob|int|record|s(?:qlite|tring)|value))?))|s-(?:admin|empty|not-empty|terminal)|tems)|j(?:oin|son path|walk)|k(?:eybindings(?: (?:default|list(?:en)?))?|ill)|l(?:ast|e(?:ngth|t(?:-env)?)|ines|o(?:ad-env|op)|s)|m(?:at(?:ch|h(?: (?:a(?:bs|rc(?:cos(?:h)?|sin(?:h)?|tan(?:h)?)|vg)|c(?:eil|os(?:h)?)|exp|floor|l(?:n|og)|m(?:ax|edian|in|ode)|product|round|s(?:in(?:h)?|qrt|tddev|um)|tan(?:h)?|variance))?)|d|e(?:rge|tadata(?: (?:access|set))?)|k(?:dir|temp)|o(?:dule|ve)|ut|v)|nu-(?:check|highlight)|o(?:pen|verlay(?: (?:hide|list|new|use))?)|p(?:a(?:nic|r(?:-each|se)|th(?: (?:basename|dirname|ex(?:ists|pand)|join|parse|relative-to|split|type))?)|lugin(?: (?:add|list|rm|stop|use))?|net|o(?:lars(?: (?:a(?:gg(?:-groups)?|ll-(?:false|true)|ppend|rg-(?:m(?:ax|in)|sort|true|unique|where)|s(?:-date(?:time)?)?)|c(?:a(?:che|st)|o(?:l(?:lect|umns)?|n(?:cat(?:-str)?|tains)|unt(?:-null)?)|umulative)|d(?:atepart|ecimal|rop(?:-(?:duplicates|nulls))?|ummies)|exp(?:lode|r-not)|f(?:etch|i(?:l(?:l-n(?:an|ull)|ter(?:-with)?)|rst)|latten)|g(?:et(?:-(?:day|hour|m(?:inute|onth)|nanosecond|ordinal|second|week(?:day)?|year))?|roup-by)|i(?:mplode|nt(?:eger|o-(?:df|lazy|nu))|s-(?:duplicated|in|n(?:ot-null|ull)|unique))|join|l(?:ast|it|owercase)|m(?:ax|e(?:an|dian)|in)|n(?:-unique|ot)|o(?:pen|therwise)|p(?:ivot|rofile)|qu(?:antile|ery)|r(?:e(?:name|place(?:-all)?|verse)|olling)|s(?:a(?:mple|ve)|chema|e(?:lect|t(?:-with-idx)?)|h(?:ape|ift)|lice|ort-by|t(?:d|ore-(?:get|ls|rm)|r(?:-(?:join|lengths|slice)|ftime))|um(?:mary)?)|take|u(?:n(?:ique|pivot)|ppercase)|va(?:lue-counts|r)|w(?:hen|ith-column)))?|rt)|r(?:epend|int)|s)|query(?: (?:db|git|json|web(?:page-info)?|xml))?|r(?:an(?:dom(?: (?:b(?:inary|ool)|chars|dice|float|int|uuid))?|ge)|e(?:duce|g(?:ex|istry query)|ject|name|turn|verse)|m|o(?:ll(?: (?:down|left|right|up))?|tate)|un-external)|s(?:ave|c(?:hema|ope(?: (?:aliases|commands|e(?:ngine-stats|xterns)|modules|variables))?)|e(?:lect|q(?: (?:char|date))?)|huffle|kip(?: (?:until|while))?|leep|o(?:rt(?:-by)?|urce(?:-env)?)|plit(?: (?:c(?:ell-path|hars|olumn)|list|row|words)|-by)?|t(?:art|or(?: (?:create|delete|export|i(?:mport|nsert)|open|reset|update))?|r(?: (?:c(?:a(?:mel-case|pitalize)|ontains)|d(?:istance|owncase)|e(?:nds-with|xpand)|index-of|join|kebab-case|length|pascal-case|re(?:place|verse)|s(?:creaming-snake-case|imilarity|nake-case|ta(?:rts-with|ts)|ubstring)|t(?:itle-case|rim)|upcase)|ess_internals)?)|ys(?: (?:cpu|disks|host|mem|net|temp|users))?)|t(?:a(?:ble|ke(?: (?:until|while))?)|e(?:e|rm size)|imeit|o(?: (?:csv|html|json|m(?:d|sgpack(?:z)?)|nuon|p(?:arquet|list)|t(?:ext|oml|sv)|xml|yaml)|uch)?|r(?:anspose|y)|utor)|u(?:limit|n(?:ame|iq(?:-by)?)|p(?:date(?: cells)?|sert)|rl(?: (?:build-query|decode|encode|join|parse))?|se)|v(?:alues|ersion|iew(?: (?:files|ir|s(?:ource|pan)))?)|w(?:atch|h(?:ere|i(?:ch|le)|oami)|i(?:ndow|th-env)|rap)|zip)(?![\\w-])( (.*))?","captures":{"1":{"name":"keyword.other.builtin.nushell"},"2":{"patterns":[{"include":"#value"}]}}},{"name":"entity.name.type.external.nushell","match":"(?\u003c=\\^)(?:\\$(\"[^\"]+\"|'[^']+')|\"[^\"]+\"|'[^']+')","captures":{"1":{"patterns":[{"include":"#paren-expression"}]}}},{"match":"([\\w.]+(?:-[\\w.!]+)*)(?: (.*))?","captures":{"1":{"name":"entity.name.type.external.nushell"},"2":{"patterns":[{"include":"#value"}]}}},{"include":"#value"}]}}},"comment":{"name":"comment.nushell","match":"(#.*)$"},"constant-keywords":{"name":"constant.language.nushell","match":"\\b(?:true|false|null)\\b"},"constant-value":{"patterns":[{"include":"#constant-keywords"},{"include":"#datetime"},{"include":"#numbers"},{"include":"#numbers-hexa"},{"include":"#binary"}]},"control-keywords":{"name":"keyword.control.nushell","match":"(?\u003c![0-9a-zA-Z_\\-.\\/:\\\\])(?:break|continue|else(?: if)?|for|if|loop|mut|return|try|while)(?![0-9a-zA-Z_\\-.\\/:\\\\])"},"datetime":{"name":"constant.numeric.nushell","match":"\\b\\d{4}-\\d{2}-\\d{2}(?:T\\d{2}:\\d{2}:\\d{2}(?:\\.\\d+)?(?:\\+\\d{2}:?\\d{2}|Z)?)?\\b"},"define-alias":{"match":"((?:export )?alias)\\s+([\\w\\-!]+)\\s*(=)","captures":{"1":{"name":"entity.name.function.nushell"},"2":{"name":"entity.name.type.nushell"},"3":{"patterns":[{"include":"#operators"}]}}},"define-variable":{"match":"(let|mut|(?:export\\s+)?const)\\s+(\\w+)\\s+(=)","captures":{"1":{"name":"keyword.other.nushell"},"2":{"name":"variable.other.nushell"},"3":{"patterns":[{"include":"#operators"}]}}},"expression":{"patterns":[{"include":"#pre-command"},{"include":"#for-loop"},{"include":"#operators"},{"name":"keyword.control.nushell","match":"\\|"},{"include":"#control-keywords"},{"include":"#constant-value"},{"include":"#command"},{"include":"#value"}]},"extern":{"begin":"((?:export\\s+)?extern)\\s+([\\w\\-]+|\"[\\w\\- ]+\")","end":"(?\u003c=\\])","patterns":[{"include":"#function-parameters"}],"beginCaptures":{"1":{"name":"entity.name.function.nushell"},"2":{"name":"entity.name.type.nushell"}},"endCaptures":{"0":{"name":"punctuation.definition.function.end.nushell"}}},"for-loop":{"name":"meta.for-loop.nushell","begin":"(for)\\s+(\\$?\\w+)\\s+(in)\\s+(.+)\\s*(\\{)","end":"\\}","patterns":[{"include":"source.nushell"}],"beginCaptures":{"1":{"name":"keyword.other.nushell"},"2":{"name":"variable.other.nushell"},"3":{"name":"keyword.other.nushell"},"4":{"patterns":[{"include":"#value"}]},"5":{"name":"punctuation.section.block.begin.bracket.curly.nushell"}},"endCaptures":{"0":{"name":"punctuation.section.block.end.bracket.curly.nushell"}}},"function":{"begin":"((?:export\\s+)?def(?:\\s+--\\w+)*)\\s+([\\w\\-]+|\"[\\w\\- ]+\"|'[\\w\\- ]+'|`[\\w\\- ]+`)(\\s+--\\w+)*","end":"(?\u003c=\\})","patterns":[{"include":"#function-parameters"},{"include":"#function-body"},{"include":"#function-inout"}],"beginCaptures":{"1":{"name":"entity.name.function.nushell"},"2":{"name":"entity.name.type.nushell"},"3":{"name":"entity.name.function.nushell"}}},"function-body":{"name":"meta.function.body.nushell","begin":"\\{","end":"\\}","patterns":[{"include":"source.nushell"}],"beginCaptures":{"0":{"name":"punctuation.definition.function.begin.nushell"}},"endCaptures":{"0":{"name":"punctuation.definition.function.end.nushell"}}},"function-inout":{"patterns":[{"include":"#types"},{"name":"keyword.operator.nushell","match":"-\u003e"},{"include":"#function-multiple-inout"}]},"function-multiple-inout":{"end":"\\]","patterns":[{"include":"#types"},{"match":"\\s*(,)\\s*","captures":{"1":{"name":"punctuation.separator.nushell"}}},{"match":"\\s+(-\u003e)\\s+","captures":{"1":{"name":"keyword.operator.nushell"}}}],"beginCaptures":{"1":{"name":"punctuation.definition.in-out.nushell"},"2":{"name":"meta.brace.square.begin.nushell"}},"endCaptures":{"0":{"name":"meta.brace.square.end.nushell"}}},"function-parameter":{"patterns":[{"name":"variable.parameter.nushell","match":"(-{0,2}|\\.{3})[\\w-]+(?:\\((-[\\w?])\\))?","captures":{"1":{"name":"keyword.control.nushell"}}},{"begin":"\\??:\\s*","end":"(?=(?:\\s+(?:-{0,2}|\\.{3})[\\w-]+)|(?:\\s*(?:,|\\]|\\||@|=|#|$)))","patterns":[{"include":"#types"}]},{"begin":"@(?=\"|')","end":"(?\u003c=\"|')","patterns":[{"include":"#string"}]},{"name":"default.value.nushell","begin":"=\\s*","end":"(?=(?:\\s+-{0,2}[\\w-]+)|(?:\\s*(?:,|\\]|\\||#|$)))","patterns":[{"include":"#value"}]}]},"function-parameters":{"name":"meta.function.parameters.nushell","begin":"\\[","end":"\\]","patterns":[{"include":"#function-parameter"},{"include":"#comment"}],"beginCaptures":{"0":{"name":"meta.brace.square.begin.nushell"}},"endCaptures":{"0":{"name":"meta.brace.square.end.nushell"}}},"internal-variables":{"name":"variable.language.nushell","match":"\\$(?:nu|env)\\b"},"keyword":{"name":"keyword.other.nushell","match":"(?:def(?:-env)?)"},"module":{"name":"meta.module.nushell","begin":"((?:export\\s+)?module)\\s+([\\w\\-]+)\\s*\\{","end":"\\}","patterns":[{"include":"source.nushell"}],"beginCaptures":{"1":{"name":"entity.name.function.nushell"},"2":{"name":"entity.name.namespace.nushell"}},"endCaptures":{"0":{"name":"punctuation.definition.module.end.nushell"}}},"numbers":{"name":"constant.numeric.nushell","match":"(?\u003c![\\w-])[-+]?(?:\\d+|\\d{1,3}(?:_\\d{3})*)(?:\\.\\d*)?(?i:ns|us|ms|sec|min|hr|day|wk|b|kb|mb|gb|tb|pt|eb|zb|kib|mib|gib|tib|pit|eib|zib)?(?:(?![\\w.])|(?=\\.\\.))"},"numbers-hexa":{"name":"constant.numeric.nushell","match":"(?\u003c![\\w-])0x[0-9a-fA-F]+(?![\\w.])"},"operators":{"patterns":[{"include":"#operators-word"},{"include":"#operators-symbols"},{"include":"#ranges"}]},"operators-symbols":{"name":"keyword.control.nushell","match":"(?\u003c= )(?:(?:\\+|\\-|\\*|\\/)=?|\\/\\/|\\*\\*|!=|[\u003c\u003e=]=?|[!=]~|\\+\\+=?)(?= |$)"},"operators-word":{"name":"keyword.control.nushell","match":"(?\u003c= |\\()(?:mod|in|not-in|not|and|or|xor|bit-or|bit-and|bit-xor|bit-shl|bit-shr|starts-with|ends-with)(?= |\\)|$)"},"parameters":{"name":"variable.parameter.nushell","match":"(?\u003c=\\s)(-{1,2})[\\w-]+","captures":{"1":{"name":"keyword.control.nushell"}}},"paren-expression":{"name":"meta.expression.parenthesis.nushell","begin":"\\(","end":"\\)","patterns":[{"include":"#expression"}],"beginCaptures":{"0":{"name":"meta.brace.round.begin.nushell"}},"endCaptures":{"0":{"name":"meta.brace.round.end.nushell"}}},"pre-command":{"begin":"(\\w+)(=)","end":"(?=\\s+)","patterns":[{"include":"#value"}],"beginCaptures":{"1":{"name":"variable.other.nushell"},"2":{"patterns":[{"include":"#operators"}]}}},"ranges":{"name":"keyword.control.nushell","match":"\\.\\.\u003c?"},"spread":{"name":"keyword.control.nushell","match":"\\.\\.\\.(?=[^\\s\\]}])"},"string":{"patterns":[{"include":"#string-single-quote"},{"include":"#string-backtick"},{"include":"#string-double-quote"},{"include":"#string-interpolated-double"},{"include":"#string-interpolated-single"},{"include":"#string-bare"}]},"string-backtick":{"name":"string.quoted.single.nushell","begin":"`","end":"`","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.nushell"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.nushell"}}},"string-bare":{"name":"string.bare.nushell","match":"[^$\\[{(\"',|#\\s|][^\\[\\]{}()\"'\\s#,|]*"},"string-double-quote":{"name":"string.quoted.double.nushell","begin":"\"","end":"\"","patterns":[{"match":"\\w+"},{"include":"#string-escape"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.nushell"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.nushell"}}},"string-escape":{"name":"constant.character.escape.nushell","match":"\\\\(?:[bfrnt\\\\'\"/]|u[0-9a-fA-F]{4})"},"string-interpolated-double":{"name":"string.interpolated.double.nushell","begin":"\\$\"","end":"\"","patterns":[{"name":"constant.character.escape.nushell","match":"\\\\[()]"},{"include":"#string-escape"},{"include":"#paren-expression"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.nushell"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.nushell"}}},"string-interpolated-single":{"name":"string.interpolated.single.nushell","begin":"\\$'","end":"'","patterns":[{"include":"#paren-expression"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.nushell"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.nushell"}}},"string-single-quote":{"name":"string.quoted.single.nushell","begin":"'","end":"'","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.nushell"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.nushell"}}},"table":{"name":"meta.table.nushell","begin":"\\[","end":"\\]","patterns":[{"include":"#spread"},{"include":"#value"},{"name":"punctuation.separator.nushell","match":","}],"beginCaptures":{"0":{"name":"meta.brace.square.begin.nushell"}},"endCaptures":{"0":{"name":"meta.brace.square.end.nushell"}}},"types":{"patterns":[{"name":"meta.list.nushell","begin":"\\b(list)\\s*\u003c","end":"\u003e","patterns":[{"include":"#types"}],"beginCaptures":{"1":{"name":"entity.name.type.nushell"}}},{"name":"meta.record.nushell","begin":"\\b(record)\\s*\u003c","end":"\u003e","patterns":[{"match":"([\\w\\-]+|\"[\\w\\- ]+\"|'[^']+')\\s*:\\s*","captures":{"1":{"name":"variable.parameter.nushell"}}},{"include":"#types"}],"beginCaptures":{"1":{"name":"entity.name.type.nushell"}}},{"name":"entity.name.type.nushell","match":"\\b(\\w+)\\b"}]},"use-module":{"patterns":[{"match":"^\\s*((?:export )?use)\\s+([\\w\\-]+|\"[\\w\\- ]+\"|'[\\w\\- ]+')(?:\\s+([\\w\\-]+|\"[\\w\\- ]+\"|'[\\w\\- ]+'|\\*))?\\s*;?$","captures":{"1":{"name":"entity.name.function.nushell"},"2":{"name":"entity.name.namespace.nushell"},"3":{"name":"keyword.other.nushell"}}},{"begin":"^\\s*((?:export )?use)\\s+([\\w\\-]+|\"[\\w\\- ]+\"|'[\\w\\- ]+')\\s*\\[","end":"(\\])\\s*;?\\s*$","patterns":[{"match":"([\\w\\-]+|\"[\\w\\- ]+\"|'[\\w\\- ]+'|\\*),?","captures":{"1":{"name":"keyword.other.nushell"}}},{"include":"#comment"}],"beginCaptures":{"1":{"name":"entity.name.function.nushell"},"2":{"name":"entity.name.namespace.nushell"}},"endCaptures":{"1":{"name":"meta.brace.square.end.nushell"}}},{"match":"(?\u003cpath\u003e(?:/|\\\\|~[\\/\\\\]|\\.\\.?[\\/\\\\])?(?:[^\\/\\\\]+[\\/\\\\])*[\\w\\- ]+(?:\\.nu)?){0}^\\s*((?:export )?use)\\s+(\"\\g\u003cpath\u003e\"|'\\g\u003cpath\u003e\\'|(?![\"'])\\g\u003cpath\u003e)(?:\\s+([\\w\\-]+|\"[\\w\\- ]+\"|'[^']+'|\\*))?\\s*;?$","captures":{"2":{"name":"entity.name.function.nushell"},"3":{"name":"string.bare.nushell","patterns":[{"match":"([\\w\\- ]+)(?:\\.nu)?(?=$|\"|')","captures":{"1":{"name":"entity.name.namespace.nushell"}}}]},"4":{"name":"keyword.other.nushell"}}},{"begin":"(?\u003cpath\u003e(?:/|\\\\|~[\\/\\\\]|\\.\\.?[\\/\\\\])?(?:[^\\/\\\\]+[\\/\\\\])*[\\w\\- ]+(?:\\.nu)?){0}^\\s*((?:export )?use)\\s+(\"\\g\u003cpath\u003e\"|'\\g\u003cpath\u003e\\'|(?![\"'])\\g\u003cpath\u003e)\\s+\\[","end":"(\\])\\s*;?\\s*$","patterns":[{"match":"([\\w\\-]+|\"[\\w\\- ]+\"|'[\\w\\- ]+'|\\*),?","captures":{"0":{"name":"keyword.other.nushell"}}},{"include":"#comment"}],"beginCaptures":{"2":{"name":"entity.name.function.nushell"},"3":{"name":"string.bare.nushell","patterns":[{"match":"([\\w\\- ]+)(?:\\.nu)?(?=$|\"|')","captures":{"1":{"name":"entity.name.namespace.nushell"}}}]}},"endCaptures":{"1":{"name":"meta.brace.square.end.nushell"}}},{"match":"^\\s*(?:export )?use\\b","captures":{"0":{"name":"entity.name.function.nushell"}}}]},"value":{"patterns":[{"include":"#variables"},{"include":"#variable-fields"},{"include":"#control-keywords"},{"include":"#constant-value"},{"include":"#table"},{"include":"#operators"},{"include":"#paren-expression"},{"include":"#braced-expression"},{"include":"#string"},{"include":"#comment"}]},"variable-fields":{"name":"variable.other.nushell","match":"(?\u003c=\\)|\\}|\\])(?:\\.(?:[\\w-]+|\"[\\w\\- ]+\"))+"},"variables":{"match":"(\\$[a-zA-Z0-9_]+)((?:\\.(?:[\\w-]+|\"[\\w\\- ]+\"))*)","captures":{"1":{"patterns":[{"include":"#internal-variables"},{"name":"variable.other.nushell","match":"\\$.+"}]},"2":{"name":"variable.other.nushell"}}}}}
@@ -1 +1 @@
1
- {"name":"Odin","scopeName":"source.odin","patterns":[{"include":"#comments"},{"include":"#types"},{"include":"#keywords"},{"include":"#functions_and_declarations"},{"include":"#strings"},{"include":"#string_escaped_char"}],"repository":{"block_comment":{"name":"comment.block.odin","begin":"/\\*","end":"\\*/","captures":{"0":{"name":"punctuation.definition.comment.odin"}}},"comments":{"patterns":[{"include":"#block_comment"},{"name":"invalid.illegal.stray-comment-end.odin","match":"\\*/.*\\n"},{"include":"#line_comment"}]},"functions_and_declarations":{"patterns":[{"match":"\\b(\\b[[:alpha:]_]+[[:alnum:]_]*\\b)\\s*[:]\\s*[:]\\s*(proc)","captures":{"1":{"name":"meta.function.odin entity.name.function.odin"},"2":{"name":"storage.type.odin"}}},{"match":"\\b(\\b[[:alpha:]_]+[[:alnum:]_]*\\b)\\s*[:]\\s*[:]\\s*([#]force_inline|[#]force_no_inline)\\s+(proc)","captures":{"1":{"name":"meta.function.odin entity.name.function.odin"},"2":{"name":"keyword.control.odin"},"3":{"name":"storage.type.odin"}}},{"match":"(proc)\\s*[\\(]","captures":{"1":{"name":"storage.type.odin"}}},{"match":"(\\b[[:alpha:]_]+[[:alnum:]_]*\\b)\\s*[!]?\\s*[\\(]","captures":{"1":{"name":"support.function.odin"}}},{"match":"\\b(\\b[[:alpha:]_]+[[:alnum:]_]*\\b)\\s*[:]\\s*[:]\\s*(struct|union|enum|bit_field|bit_set)","captures":{"1":{"name":"meta.type.odin entity.name.type.odin"},"2":{"name":"storage.type.odin"}}},{"match":"\\b(\\b[[:alpha:]_]+[[:alnum:]_]*\\b)\\s*[:]\\s*[:]\\s*([#]\\s*type)","captures":{"1":{"name":"meta.type.odin entity.name.type.odin"},"2":{"name":"keyword.tag.odin"}}},{"match":"\\b(\\b[[:alpha:]_]+[[:alnum:]_]*\\b)\\s*[:]\\s*[:]\\s*","captures":{"1":{"name":"meta.constant.odin entity.name.type.odin"}}}]},"keywords":{"patterns":[{"name":"keyword.control.odin","match":"\\b(import|foreign|package)\\b"},{"name":"keyword.control.odin","match":"\\b(if|else|when|for|in|not_in|defer|switch|return|const|do|where)\\b"},{"name":"keyword.control.odin","match":"\\b(fallthrough|break|continue|case)\\b"},{"name":"keyword.control.odin","match":"\\b(using)\\b"},{"name":"keyword.control.odin","match":"\\b(asm|or_return|or_else|or_break|or_continue)\\b"},{"name":"keyword.operator.odin","match":"\\b(distinct)\\b"},{"name":"keyword.operator.odin","match":"\\b(context)\\b"},{"name":"constant.language.odin","match":"\\b(nil|true|false)\\b"},{"name":"constant.numeric.odin","match":"\\b(\\d(\\d|_)*(.\\d(\\d|_)*)?)((e|E)(\\+|-)?\\d+)?[ijk]?\\b"},{"name":"constant.numeric.odin","match":"\\b((0b(0|1|_)+)|(0o(\\d|_)+)|(0d(\\d|_)+)|(0[xXh]([[:xdigit:]]|_)+))[ijk]?\\b"},{"name":"constant.numeric.odin","match":"---"},{"name":"storage.type.odin","match":"\\b(struct|enum|union|map|bit_set|bit_field|dynamic)\\b"},{"name":"keyword.function.odin","match":"\\b(cast|transmute|auto_cast)\\b"},{"name":"keyword.tag.odin","match":"([#]\\s*\\b([[:alpha:]_]+[[:alnum:]_]*)\\b)"},{"name":"keyword.tag.odin","match":"(\\x40\\s*\\b([[:alpha:]_]+[[:alnum:]_]*)\\b)"},{"name":"keyword.tag.odin","match":"(\\x40\\s*[(]\\s*\\b([[:alpha:]_]+[[:alnum:]_]*)\\b)\\s*[)]"},{"name":"keyword.operator.odin","match":"@"}]},"line_comment":{"begin":"(^[ \\t]+)?((?=//)|(?=#!))","end":"(?!\\G)","patterns":[{"name":"comment.line.double-slash.odin","begin":"//","end":"\\n","patterns":[{"name":"punctuation.separator.continuation.odin","match":"(?\u003e\\\\\\s*\\n)"}],"beginCaptures":{"0":{"name":"punctuation.definition.comment.odin"}}},{"name":"comment.line.double-slash.odin","begin":"#!","end":"\\n","patterns":[{"name":"punctuation.separator.continuation.odin","match":"(?\u003e\\\\\\s*\\n)"}],"beginCaptures":{"0":{"name":"punctuation.definition.comment.odin"}}}],"beginCaptures":{"1":{"name":"punctuation.whitespace.comment.leading.odin"}}},"string_escaped_char":{"patterns":[{"name":"constant.character.escape.odin","match":"\\\\(\\\\|[abefnrutv'\"]|x[0-9a-fA-F]{2}|u[0-9a-fA-F]{4}|U[0-9a-fA-F]{8}|[0-7]{3})"},{"name":"invalid.illegal.unknown-escape.odin","match":"\\\\."}]},"strings":{"patterns":[{"name":"string.quoted.double.odin","begin":"\"","end":"\"","patterns":[{"include":"#string_placeholder"},{"include":"#string_escaped_char"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.odin"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.odin"}}},{"name":"string.quoted.single.odin","begin":"'","end":"'","patterns":[{"include":"#string_escaped_char"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.odin"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.odin"}}},{"name":"string.quoted.raw.odin","begin":"`","end":"`","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.odin"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.odin"}}}]},"types":{"patterns":[{"name":"storage.type.odin","match":"\\b(struct|enum|union|bit_field|bit_set)\\b(?:(\\{)(\\}))?"},{"name":"storage.type.odin","match":"\\b(proc)\\b"},{"name":"storage.type.odin","match":"\\$\\s*(\\b([[:alpha:]_]+[[:alnum:]_]*)\\b)"},{"name":"storage.type.odin","match":"\\b(i8|i16|i32|i64|i128|int)\\b"},{"name":"storage.type.odin","match":"\\b(u8|u16|u32|u64|u128|uint|uintptr)\\b"},{"name":"storage.type.odin","match":"\\b(f16|f32|f64|f128)\\b"},{"name":"storage.type.odin","match":"\\b(f16le|f32le|f64le|f128le)\\b"},{"name":"storage.type.odin","match":"\\b(f16be|f32be|f64be|f128be)\\b"},{"name":"storage.type.odin","match":"\\b(complex32|complex64|complex128)\\b"},{"name":"storage.type.odin","match":"\\b(quaternion64|quaternion128|quaternion256)\\b"},{"name":"storage.type.odin","match":"\\b(bool|b8|b16|b32|b64)\\b"},{"name":"storage.type.odin","match":"\\b(string|cstring|rune)\\b"},{"name":"storage.type.odin","match":"\\b(rawptr)\\b"},{"name":"storage.type.odin","match":"\\b(any|typeid)\\b"},{"name":"storage.type.odin","match":"\\b(byte)\\b"},{"name":"storage.type.odin","match":"\\b(u16le|u32le|u64le|u128le|i16le|i32le|i64le|i128le)\\b"},{"name":"storage.type.odin","match":"\\b(i16be|i32be|i64be|i128be|u16be|u32be|u64be|u128be)\\b"}]}}}
1
+ {"name":"Odin","scopeName":"source.odin","patterns":[{"include":"#comments"},{"include":"#types"},{"include":"#keywords"},{"include":"#functions_and_declarations"},{"include":"#strings"},{"include":"#string_escaped_char"}],"repository":{"block_comment":{"name":"comment.block.odin","begin":"/\\*","end":"\\*/","captures":{"0":{"name":"punctuation.definition.comment.odin"}}},"comments":{"patterns":[{"include":"#block_comment"},{"name":"invalid.illegal.stray-comment-end.odin","match":"\\*/.*\\n"},{"include":"#line_comment"}]},"functions_and_declarations":{"patterns":[{"match":"\\b(\\b[[:alpha:]_]+[[:alnum:]_]*\\b)\\s*[:]\\s*[:]\\s*(proc)","captures":{"1":{"name":"meta.function.odin entity.name.function.odin"},"2":{"name":"storage.type.odin"}}},{"match":"\\b(\\b[[:alpha:]_]+[[:alnum:]_]*\\b)\\s*[:]\\s*[:]\\s*([#]force_inline|[#]force_no_inline)\\s+(proc)","captures":{"1":{"name":"meta.function.odin entity.name.function.odin"},"2":{"name":"keyword.control.odin"},"3":{"name":"storage.type.odin"}}},{"match":"(proc)\\s*[\\(]","captures":{"1":{"name":"storage.type.odin"}}},{"match":"(\\b[[:alpha:]_]+[[:alnum:]_]*\\b)\\s*[!]?\\s*[\\(]","captures":{"1":{"name":"support.function.odin"}}},{"match":"\\b(\\b[[:alpha:]_]+[[:alnum:]_]*\\b)\\s*[:]\\s*[:]\\s*(struct|union|enum|bit_field|bit_set)","captures":{"1":{"name":"meta.type.odin entity.name.type.odin"},"2":{"name":"storage.type.odin"}}},{"match":"\\b(\\b[[:alpha:]_]+[[:alnum:]_]*\\b)\\s*[:]\\s*[:]\\s*([#]\\s*type)","captures":{"1":{"name":"meta.type.odin entity.name.type.odin"},"2":{"name":"keyword.tag.odin"}}},{"match":"\\b(\\b[[:alpha:]_]+[[:alnum:]_]*\\b)\\s*[:]\\s*[:]\\s*","captures":{"1":{"name":"meta.constant.odin entity.name.type.odin"}}}]},"keywords":{"patterns":[{"name":"keyword.control.odin","match":"\\b(import|foreign|package)\\b"},{"name":"keyword.control.odin","match":"\\b(if|else|when|for|in|not_in|defer|switch|return|const|do|where)\\b"},{"name":"keyword.control.odin","match":"\\b(fallthrough|break|continue|case)\\b"},{"name":"keyword.control.odin","match":"\\b(using)\\b"},{"name":"keyword.control.odin","match":"\\b(asm|or_return|or_else|or_break|or_continue)\\b"},{"name":"keyword.operator.odin","match":"\\b(distinct)\\b"},{"name":"keyword.operator.odin","match":"\\b(context)\\b"},{"name":"constant.language.odin","match":"\\b(nil|true|false)\\b"},{"name":"constant.numeric.odin","match":"\\b(\\d(\\d|_)*(.\\d(\\d|_)*)?)((e|E)(\\+|-)?\\d+)?[ijk]?\\b"},{"name":"constant.numeric.odin","match":"\\b((0b(0|1|_)+)|(0o(\\d|_)+)|(0d(\\d|_)+)|(0[xXh]([[:xdigit:]]|_)+))[ijk]?\\b"},{"name":"constant.numeric.odin","match":"---"},{"name":"storage.type.odin","match":"\\b(struct|enum|union|map|bit_set|bit_field|dynamic)\\b"},{"name":"keyword.function.odin","match":"\\b(cast|transmute|auto_cast)\\b"},{"name":"keyword.tag.odin","match":"([#]\\s*\\b([[:alpha:]_]+[[:alnum:]_]*)\\b)"},{"name":"keyword.tag.odin","match":"(#[+]\\s*[[:alpha:]-][[:alnum:]-]*)"},{"name":"keyword.tag.odin","match":"(\\x40\\s*\\b([[:alpha:]_]+[[:alnum:]_]*)\\b)"},{"name":"keyword.tag.odin","match":"(\\x40\\s*[(]\\s*\\b([[:alpha:]_]+[[:alnum:]_]*)\\b)\\s*[)]"},{"name":"keyword.operator.odin","match":"@"}]},"line_comment":{"begin":"(^[ \\t]+)?((?=//)|(?=#!))","end":"(?!\\G)","patterns":[{"name":"comment.line.double-slash.odin","begin":"//","end":"(?=\\n)","patterns":[{"name":"punctuation.separator.continuation.odin","match":"(?\u003e\\\\\\s*\\n)"}],"beginCaptures":{"0":{"name":"punctuation.definition.comment.odin"}}},{"name":"comment.line.double-slash.odin","begin":"#!","end":"(?=\\n)","patterns":[{"name":"punctuation.separator.continuation.odin","match":"(?\u003e\\\\\\s*\\n)"}],"beginCaptures":{"0":{"name":"punctuation.definition.comment.odin"}}}],"beginCaptures":{"1":{"name":"punctuation.whitespace.comment.leading.odin"}}},"string_escaped_char":{"patterns":[{"name":"constant.character.escape.odin","match":"\\\\(\\\\|[abefnrutv'\"]|x[0-9a-fA-F]{2}|u[0-9a-fA-F]{4}|U[0-9a-fA-F]{8}|[0-7]{3})"},{"name":"invalid.illegal.unknown-escape.odin","match":"\\\\."}]},"strings":{"patterns":[{"name":"string.quoted.double.odin","begin":"\"","end":"\"","patterns":[{"include":"#string_placeholder"},{"include":"#string_escaped_char"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.odin"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.odin"}}},{"name":"string.quoted.single.odin","begin":"'","end":"'","patterns":[{"include":"#string_escaped_char"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.odin"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.odin"}}},{"name":"string.quoted.raw.odin","begin":"`","end":"`","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.odin"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.odin"}}}]},"types":{"patterns":[{"name":"storage.type.odin","match":"\\b(struct|enum|union|bit_field|bit_set)\\b(?:(\\{)(\\}))?"},{"name":"storage.type.odin","match":"\\b(proc)\\b"},{"name":"storage.type.odin","match":"\\$\\s*(\\b([[:alpha:]_]+[[:alnum:]_]*)\\b)"},{"name":"storage.type.odin","match":"\\b(i8|i16|i32|i64|i128|int)\\b"},{"name":"storage.type.odin","match":"\\b(u8|u16|u32|u64|u128|uint|uintptr)\\b"},{"name":"storage.type.odin","match":"\\b(f16|f32|f64|f128)\\b"},{"name":"storage.type.odin","match":"\\b(f16le|f32le|f64le|f128le)\\b"},{"name":"storage.type.odin","match":"\\b(f16be|f32be|f64be|f128be)\\b"},{"name":"storage.type.odin","match":"\\b(complex32|complex64|complex128)\\b"},{"name":"storage.type.odin","match":"\\b(quaternion64|quaternion128|quaternion256)\\b"},{"name":"storage.type.odin","match":"\\b(bool|b8|b16|b32|b64)\\b"},{"name":"storage.type.odin","match":"\\b(string|cstring|rune)\\b"},{"name":"storage.type.odin","match":"\\b(rawptr)\\b"},{"name":"storage.type.odin","match":"\\b(any|typeid)\\b"},{"name":"storage.type.odin","match":"\\b(byte)\\b"},{"name":"storage.type.odin","match":"\\b(u16le|u32le|u64le|u128le|i16le|i32le|i64le|i128le)\\b"},{"name":"storage.type.odin","match":"\\b(i16be|i32be|i64be|i128be|u16be|u32be|u64be|u128be)\\b"}]}}}
@@ -0,0 +1 @@
1
+ {"name":"OpenESQL","scopeName":"source.openesql","patterns":[{"name":"text.variable","match":"((?\u003c!@)@)\\b(\\w+)\\b"},{"name":"text.bracketed","match":"(\\[)[^\\]]*(\\])"},{"name":"keyword.other.openesql","match":"\\b(?i)(abort|abort_after_wait|absent|absolute|accent_sensitivity|acceptable_cursopt|acp|action|activation|address|admin|aes_128|aes_192|aes_256|affinity|after|aggregate|algorithm|all_constraints|all_errormsgs|all_indexes|all_levels|all_results|allow_connections|allow_dup_row|allow_encrypted_value_modifications|allow_page_locks|allow_row_locks|allow_snapshot_isolation|alter|altercolumn|always|anonymous|ansi_defaults|ansi_null_default|ansi_null_dflt_off|ansi_null_dflt_on|ansi_nulls|ansi_padding|ansi_warnings|appdomain|append|application|apply|arithabort|arithignore|assembly|asymmetric|asynchronous_commit|at|atan2|atomic|attach|attach_force_rebuild_log|attach_rebuild_log|audit|auth_realm|authentication|auto|auto_cleanup|auto_close|auto_create_statistics|auto_shrink|auto_update_statistics|auto_update_statistics_async|automated_backup_preference|automatic|autopilot|availability|availability_mode|backup_priority|base64|basic|batches|batchsize|before|between|bigint|binary|binding|bit|block|blocksize|bmk|break|broker|broker_instance|bucket_count|buffer|buffercount|bulk_logged|by|call|caller|card|case|cast|catalog|catch|cert|certificate|change_retention|change_tracking|change_tracking_context|changes|char|character|character_set|check_expiration|check_policy|checkconstraints|checkindex|checkpoint|cleanup_policy|clear|clear_port|close|codepage|collection|column_encryption_key|column_master_key|columnstore|columnstore_archive|colv_80_to_100|colv_100_to_80|commit_differential_base|committed|compatibility_level|compress_all_row_groups|compression|compression_delay|concat_null_yields_null|concatenate|configuration|connect|continue|continue_after_error|contract|contract_name|control|conversation|conversation_group_id|conversation_handle|copy|copy_only|count_rows|counter|create(\\s+or\\s+alter)?|credential|cross|cryptographic|cryptographic_provider|cube|cursor_close_on_commit|cursor_default|data|data_compression|data_flush_interval_seconds|data_mirroring|data_purity|data_source|database|database_name|database_snapshot|datafiletype|date_correlation_optimization|date|datefirst|dateformat|date_format|datetime|datetime2|datetimeoffset|days|db_chaining|dbid|dbidexec|dbo_only|deadlock_priority|deallocate|dec|decimal|declare(\\s+cursor)?|decrypt|decrypt_a|decryption|default_database|default_language|default_logon_domain|default_schema|definition|delay|delayed_durability|delimitedtext|density_vector|dependent|des|description|desired_state|desx|differential|digest|disable|disable_broker|disable_def_cnst_chk|disabled|disk|distinct|distributed|distribution|drop|drop_existing|dts_buffers|dump|durability|dynamic|edition|elements|else|emergency|empty|enable|enable_broker|enabled|encoding|encrypted|encrypted_value|encryption|encryption_type|end|endpoint|endpoint_url|enhancedintegrity|entry|error_broker_conversations|errorfile|estimateonly|event|except|exec|executable|execute|exists|expand|expiredate|expiry_date|explicit|external|external_access|failover|failover_mode|failure_condition_level|fast|fast_forward|fastfirstrow|federated_service_account|fetch|field_terminator|fieldterminator|file|filelistonly|filegroup|filename|filestream|filestream_log|filestream_on|filetable|file_format|filter|first_row|fips_flagger|fire_triggers|first|firstrow|float|flush_interval_seconds|fmtonly|following|force|force_failover_allow_data_loss|force_service_allow_data_loss|forced|forceplan|formatfile|format_options|format_type|formsof|forward_only|free_cursors|free_exec_context|fullscan|fulltext|fulltextall|fulltextkey|function|generated|get|geography|geometry|global|go|goto|governor|guid|hadoop|hardening|hash|hashed|header_limit|headeronly|health_check_timeout|hidden|hierarchyid|histogram|histogram_steps|hits_cursors|hits_exec_context|hours|http|identity|identity_value|if|ifnull|ignore_constraints|ignore_dup_key|ignore_dup_row|ignore_triggers|image|immediate|implicit_transactions|include|include_null_values|inflectional|init|initiator|insensitive|insert|instead|int|integer|integrated|intersect|intermediate|interval_length_minutes|into|inuse_cursors|inuse_exec_context|io|is|isabout|iso_week|isolation|job_tracker_location|json|keep|keep_nulls|keep_replication|keepdefaults|keepfixed|keepidentity|keepnulls|kerberos|key|key_path|key_source|key_store_provider_name|keyset|kill|kilobytes_per_batch|labelonly|langid|language|last|lastrow|legacy_cardinality_estimation|length|level|lifetime|lineage_80_to_100|lineage_100_to_80|listener_ip|listener_port|load|loadhistory|lob_compaction|local|local_service_name|locate|location|lock_escalation|lock_timeout|lockres|login|login_type|loop|manual|mark_in_use_for_removal|masked|master|max_queue_readers|max_duration|max_outstanding_io_per_volume|maxdop|maxerrors|maxlength|maxtransfersize|max_plans_per_query|max_storage_size_mb|mediadescription|medianame|mediapassword|memogroup|memory_optimized|merge|message|message_forward_size|message_forwarding|microsecond|millisecond|minutes|mirror_address|misses_cursors|misses_exec_context|mixed|modify|money|move|multi_user|must_change|name|namespace|nanosecond|native|native_compilation|nchar|ncharacter|never|new_account|new_broker|newname|next|no|no_browsetable|no_checksum|no_compression|no_infomsgs|no_triggers|no_truncate|nocount|noexec|noexpand|noformat|noinit|nolock|nonatomic|nondurable|none|norecompute|norecovery|noreset|norewind|noskip|not|notification|nounload|now|nowait|ntext|ntlm|numeric|numeric_roundabort|nvarchar|object|objid|oem|offline|old_account|online|operation_mode|open|openjson|optimistic|option|orc|out|outer|output|over|override|owner|ownership|pad_index|page|page_checksum|page_verify|pagecount|paglock|param|parameter_sniffing|parameter_type_expansion|parameterization|parquet|parseonly|partial|partition|partner|password|path|pause|percentage|permission_set|persisted|period|physical_only|plan_forcing_mode|policy|pool|population|ports|preceding|precision|predicate|presume_abort|primary|primary_role|print|prior|priority |priority_level|private|proc(edure)?|procedure_name|profile|provider|query_capture_mode|query_governor_cost_limit|query_optimizer_hotfixes|query_store|queue|quoted_identifier|raiserror|range|raw|rcfile|rc2|rc4|rc4_128|rdbms|read_committed_snapshot|read|read_only|read_write|readcommitted|readcommittedlock|readonly|readpast|readuncommitted|readwrite|real|rebuild|receive|recmodel_70backcomp|recompile|reconfigure|recovery|recursive|recursive_triggers|redo_queue|reject_sample_value|reject_type|reject_value|relative|remote|remote_data_archive|remote_proc_transactions|remote_service_name|remove|removed_cursors|removed_exec_context|reorganize|repeat|repeatable|repeatableread|replica|replicated|replnick_100_to_80|replnickarray_80_to_100|replnickarray_100_to_80|required|required_cursopt|resample|reset|resource|resource_manager_location|restart|restore|restricted_user|resume|retaindays|retention|return|revert|rewind|rewindonly|returns|robust|role|rollup|root|round_robin|route|row|rowdump|rowguidcol|rowlock|row_terminator|rows|rows_per_batch|rowsets_only|rowterminator|rowversion|rsa_1024|rsa_2048|rsa_3072|rsa_4096|rsa_512|safe|safety|sample|save|schema|schemabinding|scoped|scroll|scroll_locks|sddl|secexpr|secondary|secondary_only|secondary_role|secret|security|securityaudit|selective|self|send|sent|sequence|serde_method|serializable|server|service|service_broker|service_name|service_objective|session_timeout|session|sessions|seterror|setopts|sets|shard_map_manager|shard_map_name|sharded|shared_memory|show_statistics|showplan_all|showplan_text|showplan_xml|showplan_xml_with_recompile|shrinkdb|shutdown|sid|signature|simple|single_blob|single_clob|single_nclob|single_user|singleton|site|size_based_cleanup_mode|skip|smalldatetime|smallint|smallmoney|snapshot|snapshot_import|snapshotrestorephase|soap|softnuma|sort_in_tempdb|sorted_data|sorted_data_reorg|spatial|sql|sql_bigint|sql_binary|sql_bit|sql_char|sql_date|sql_decimal|sql_double|sql_float|sql_guid|sql_handle|sql_longvarbinary|sql_longvarchar|sql_numeric|sql_real|sql_smallint|sql_time|sql_timestamp|sql_tinyint|sql_tsi_day|sql_tsi_frac_second|sql_tsi_hour|sql_tsi_minute|sql_tsi_month|sql_tsi_quarter|sql_tsi_second|sql_tsi_week|sql_tsi_year|sql_type_date|sql_type_time|sql_type_timestamp|sql_varbinary|sql_varchar|sql_variant|sql_wchar|sql_wlongvarchar|ssl|ssl_port|standard|standby|start|start_date|started|stat_header|state|statement|static|statistics|statistics_incremental|statistics_norecompute|statistics_only|statman|stats_stream|status|stop|stop_on_error|stopat|stopatmark|stopbeforemark|stoplist|stopped|string_delimiter|subject|supplemental_logging|supported|suspend|symmetric|synchronous_commit|synonym|sysname|system|system_time|system_versioning|table|tableresults|tablock|tablockx|take|tape|target|target_index|target_partition|tcp|temporal_history_retention|text|textimage_on|then|thesaurus|throw|time|timeout|timestamp|tinyint|to|top|torn_page_detection|track_columns_updated|tran|transaction|transfer|triple_des|triple_des_3key|truncate|trustworthy|try|tsql|type|type_desc|type_warning|tzoffset|uid|unbounded|uncommitted|uniqueidentifier|unlimited|unload|unlock|unsafe|updlock|url|use|useplan|useroptions|use_type_default|using|utcdatetime|valid_xml|validation|value|values|varbinary|varchar|verbose|verifyonly|version|view_metadata|virtual_device|visiblity|waitfor|webmethod|weekday|weight|well_formed_xml|when|while|widechar|widechar_ansi|widenative|windows|with|within|witness|without|without_array_wrapper|workload|wsdl|xact_abort|xlock|xml|xmlschema|xquery|xsinil|zone)(?![0-9A-Za-z_-])\\b"},{"include":"#comments"},{"name":"meta.create.openesql","match":"(?i:^\\s*(create(?:\\s+or\\s+replace)?)\\s+(aggregate|conversion|database|domain|function|group|(unique\\s+)?index|language|operator class|operator|rule|schema|sequence|table|tablespace|trigger|type|user|view)\\s+)(['\"`]?)(\\w+)\\4","captures":{"1":{"name":"keyword.other.create.openesql"},"2":{"name":"keyword.other.openesql"},"5":{"name":"entity.name.function.openesql"}}},{"name":"meta.drop.openesql","match":"(?i:^\\s*(drop)\\s+(aggregate|conversion|database|domain|function|group|index|language|operator class|operator|rule|schema|sequence|table|tablespace|trigger|type|user|view))","captures":{"1":{"name":"keyword.other.create.openesql"},"2":{"name":"keyword.other.openesql"}}},{"name":"meta.drop.openesql","match":"(?i:\\s*(drop)\\s+(table)\\s+(\\w+)(\\s+cascade)?\\b)","captures":{"1":{"name":"keyword.other.create.openesql"},"2":{"name":"keyword.other.table.openesql"},"3":{"name":"entity.name.function.openesql"},"4":{"name":"keyword.other.cascade.openesql"}}},{"name":"meta.alter.openesql","match":"(?i:^\\s*(alter)\\s+(aggregate|conversion|database|domain|function|group|index|language|operator class|operator|proc(edure)?|rule|schema|sequence|table|tablespace|trigger|type|user|view)\\s+)","captures":{"1":{"name":"keyword.other.create.openesql"},"2":{"name":"keyword.other.table.openesql"}}},{"match":"(?xi)\n\n\t\t\t\t# normal stuff, capture 1\n\t\t\t\t \\b(bigint|bigserial|bit|boolean|box|bytea|cidr|circle|date|double\\sprecision|inet|int|integer|line|lseg|macaddr|money|oid|path|point|polygon|real|serial|smallint|sysdate|text)\\b\n\n\t\t\t\t# numeric suffix, capture 2 + 3i\n\t\t\t\t|\\b(bit\\svarying|character\\s(?:varying)?|tinyint|var\\schar|float|interval)\\((\\d+)\\)\n\n\t\t\t\t# optional numeric suffix, capture 4 + 5i\n\t\t\t\t|\\b(char|number|varchar\\d?)\\b(?:\\((\\d+)\\))?\n\n\t\t\t\t# special case, capture 6 + 7i + 8i\n\t\t\t\t|\\b(numeric|decimal)\\b(?:\\((\\d+),(\\d+)\\))?\n\n\t\t\t\t# special case, captures 9, 10i, 11\n\t\t\t\t|\\b(times?)\\b(?:\\((\\d+)\\))?(\\swith(?:out)?\\stime\\szone\\b)?\n\n\t\t\t\t# special case, captures 12, 13, 14i, 15\n\t\t\t\t|\\b(timestamp)(?:(s|tz))?\\b(?:\\((\\d+)\\))?(\\s(with|without)\\stime\\szone\\b)?\n\n\t\t\t","captures":{"1":{"name":"storage.type.openesql"},"10":{"name":"constant.numeric.openesql"},"11":{"name":"storage.type.openesql"},"12":{"name":"storage.type.openesql"},"13":{"name":"storage.type.openesql"},"14":{"name":"constant.numeric.openesql"},"15":{"name":"storage.type.openesql"},"2":{"name":"storage.type.openesql"},"3":{"name":"constant.numeric.openesql"},"4":{"name":"storage.type.openesql"},"5":{"name":"constant.numeric.openesql"},"6":{"name":"storage.type.openesql"},"7":{"name":"constant.numeric.openesql"},"8":{"name":"constant.numeric.openesql"},"9":{"name":"storage.type.openesql"}}},{"name":"storage.modifier.openesql","match":"(?i:\\b((?:primary|foreign)\\s+key|references|on\\sdelete(\\s+cascade)?|check|constraint)\\b)"},{"name":"constant.numeric.openesql","match":"\\b\\d+\\b"},{"name":"keyword.other.DML.openesql","match":"(?i:\\b(select(\\s+distinct)?|insert\\s+(ignore\\s+)?into|update|delete|from|set|where|group\\sby|or|like|and|union(\\s+all)?|having|order\\sby|limit|(inner|cross)\\s+join|join|straight_join|full\\s+outer\\s+join|(left|right)(\\s+outer)?\\s+join|natural(\\s+(left|right)(\\s+outer)?)?\\s+join)\\b)"},{"name":"keyword.other.DDL.create.II.openesql","match":"(?i:\\b(on|off|((is\\s+)?not\\s+)?null)\\b)"},{"name":"keyword.other.DML.II.openesql","match":"(?i:\\bvalues\\b)"},{"name":"keyword.other.extra.openesql","match":"(?i:\\b(whenever|of|for|cursor|found|insensitive|sensitive)\\b)"},{"name":"keyword.other.LUW.openesql","match":"(?i:\\b(begin(\\s+work)?|start\\s+transaction|commit(\\s+work)?|rollback(\\s+work)?)\\b)"},{"name":"keyword.other.authorization.openesql","match":"(?i:\\b(grant(\\swith\\sgrant\\soption)?|revoke)\\b)"},{"name":"keyword.other.data-integrity.openesql","match":"(?i:\\bin\\b)"},{"name":"keyword.other.object-comments.openesql","match":"(?i:^\\s*(comment\\s+on\\s+(table|column|aggregate|constraint|database|domain|function|index|operator|rule|schema|sequence|trigger|type|view))\\s+.*?\\s+(is)\\s+)"},{"name":"keyword.other.alias.openesql","match":"(?i)\\bAS\\b"},{"name":"keyword.other.order.openesql","match":"(?i)\\b(DESC|ASC)\\b"},{"name":"keyword.operator.star.openesql","match":"\\*"},{"name":"keyword.operator.comparison.openesql","match":"[!\u003c\u003e]?=|\u003c\u003e|\u003c|\u003e"},{"name":"keyword.operator.math.openesql","match":"-|\\+|/"},{"name":"keyword.operator.concatenator.openesql","match":"\\|\\|"},{"name":"support.function.aggregate.openesql","match":"(?i)\\b(avg|checksum_agg|count|count_big|grouping|grouping_id|max|min|sum|stdev|stdevp|var|varp)\\b"},{"name":"support.function.conversion.openesql","match":"(?i)\\b(cast|convert|parse|try_cast|try_convert|try_parse)\\b"},{"name":"support.function.cursor.openesql","match":"(?i)\\b(cursor_status)\\b"},{"name":"support.function.datetime.openesql","match":"(?i)\\b(sysdatetime|sysdatetimeoffset|sysutcdatetime|current_time(stamp)?|getdate|getutcdate|datename|datepart|day|month|year|datefromparts|datetime2fromparts|datetimefromparts|datetimeoffsetfromparts|smalldatetimefromparts|timefromparts|datediff|dateadd|eomonth|switchoffset|todatetimeoffset|isdate)\\b"},{"name":"support.function.expression.openesql","match":"(?i)\\b(coalesce|nullif)\\b"},{"name":"support.function.globalvar.openesql","match":"(?\u003c!@)@@(?i)\\b(cursor_rows|connections|cpu_busy|datefirst|dbts|error|fetch_status|identity|idle|io_busy|langid|language|lock_timeout|max_connections|max_precision|nestlevel|options|packet_errors|pack_received|pack_sent|procid|remserver|rowcount|servername|servicename|spid|textsize|timeticks|total_errors|total_read|total_write|trancount|version)\\b"},{"name":"support.function.logical.openesql","match":"(?i)\\b(choose|iif)\\b"},{"name":"support.function.mathematical.openesql","match":"(?i)\\b(abs|acos|asin|atan|atn2|ceiling|cos|cot|degrees|exp|floor|log|log10|pi|power|radians|rand|round|sign|sin|sqrt|square|tan)\\b"},{"name":"support.function.metadata.openesql","match":"(?i)\\b(app_name|applock_mode|applock_test|assemblyproperty|col_length|col_name|columnproperty|database_principal_id|databasepropertyex|db_id|db_name|file_id|file_idex|file_name|filegroup_id|filegroup_name|filegroupproperty|fileproperty|fulltextcatalogproperty|fulltextserviceproperty|index_col|indexkey_property|indexproperty|object_definition|object_id|object_name|object_schema_name|objectproperty|objectpropertyex|original_db_name|parsename|schema_id|schema_name|scope_identity|serverproperty|stats_date|type_id|type_name|typeproperty)\\b"},{"name":"support.function.ranking.openesql","match":"(?i)\\b(rank|dense_rank|ntile|row_number)\\b"},{"name":"support.function.rowset.openesql","match":"(?i)\\b(opendatasource|openrowset|openquery|openxml)\\b"},{"name":"support.function.security.openesql","match":"(?i)\\b(certencoded|certprivatekey|current_user|database_principal_id|has_perms_by_name|is_member|is_rolemember|is_srvrolemember|original_login|permissions|pwdcompare|pwdencrypt|schema_id|schema_name|session_user|suser_id|suser_sid|suser_sname|system_user|suser_name|user_id|user_name)\\b"},{"name":"support.function.string.openesql","match":"(?i)\\b(ascii|char|charindex|concat|difference|format|left|len|lower|ltrim|nchar|patindex|quotename|replace|replicate|reverse|rtrim|soundex|space|str|string_agg|string_escape|string_split|stuff|substring|translate|trim|unicode|upper)\\b"},{"name":"support.function.system.openesql","match":"(?i)\\b(binary_checksum|checksum|compress|connectionproperty|context_info|current_request_id|current_transaction_id|decompress|error_line|error_message|error_number|error_procedure|error_severity|error_state|formatmessage|get_filestream_transaction_context|getansinull|host_id|host_name|isnull|isnumeric|min_active_rowversion|newid|newsequentialid|rowcount_big|session_context|session_id|xact_state)\\b"},{"name":"support.function.textimage.openesql","match":"(?i)\\b(patindex|textptr|textvalid)\\b"},{"match":"(\\w+?)\\.(\\w+)","captures":{"1":{"name":"constant.other.database-name.openesql"},"2":{"name":"constant.other.table-name.openesql"}}},{"include":"#strings"},{"include":"#regexps"},{"name":"meta.block.openesql","match":"(\\()(\\))","captures":{"1":{"name":"punctuation.section.scope.begin.openesql"},"2":{"name":"punctuation.section.scope.end.openesql"}}}],"repository":{"comments":{"patterns":[{"begin":"(^[ \\t]+)?(?=--)","end":"(?!\\G)","patterns":[{"name":"comment.line.double-dash.openesql","begin":"--","end":"\\n","beginCaptures":{"0":{"name":"punctuation.definition.comment.openesql"}}}],"beginCaptures":{"1":{"name":"punctuation.whitespace.comment.leading.openesql"}}},{"begin":"(^[ \\t]+)?(?=#)","end":"(?!\\G)","beginCaptures":{"1":{"name":"punctuation.whitespace.comment.leading.openesql"}}},{"name":"comment.block.c","begin":"/\\*","end":"\\*/","captures":{"0":{"name":"punctuation.definition.comment.openesql"}}}]},"regexps":{"patterns":[{"name":"string.regexp.openesql","begin":"/(?=\\S.*/)","end":"/","patterns":[{"include":"#string_interpolation"},{"name":"constant.character.escape.slash.openesql","match":"\\\\/"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.openesql"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.openesql"}}},{"name":"string.regexp.modr.openesql","begin":"%r\\{","end":"\\}","patterns":[{"include":"#string_interpolation"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.openesql"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.openesql"}}}]},"string_escape":{"name":"constant.character.escape.openesql","match":"\\\\."},"string_interpolation":{"name":"string.interpolated.openesql","match":"(#\\{)([^\\}]*)(\\})","captures":{"1":{"name":"punctuation.definition.string.begin.openesql"},"3":{"name":"punctuation.definition.string.end.openesql"}}},"strings":{"patterns":[{"name":"string.quoted.single.openesql","match":"(N)?(')[^']*(')","captures":{"1":{"name":"punctuation.definition.string.begin.openesql"},"2":{"name":"punctuation.definition.string.end.openesql"}}},{"name":"string.quoted.single.openesql","begin":"'","end":"'","patterns":[{"include":"#string_escape"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.openesql"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.openesql"}}},{"name":"string.quoted.other.backtick.openesql","match":"(`)[^`\\\\]*(`)","captures":{"1":{"name":"punctuation.definition.string.begin.openesql"},"2":{"name":"punctuation.definition.string.end.openesql"}}},{"name":"string.quoted.other.backtick.openesql","begin":"`","end":"`","patterns":[{"include":"#string_escape"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.openesql"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.openesql"}}},{"name":"string.quoted.double.openesql","match":"(\")[^\"#]*(\")","captures":{"1":{"name":"punctuation.definition.string.begin.openesql"},"2":{"name":"punctuation.definition.string.end.openesql"}}},{"name":"string.quoted.double.openesql","begin":"\"","end":"\"","patterns":[{"include":"#string_interpolation"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.openesql"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.openesql"}}},{"name":"string.other.quoted.brackets.openesql","begin":"%\\{","end":"\\}","patterns":[{"include":"#string_interpolation"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.openesql"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.openesql"}}}]}}}
@@ -1 +1 @@
1
- {"name":"P4-16","scopeName":"source.p4","patterns":[{"name":"comment.block.p4","begin":"/\\*","end":"\\*/","beginCaptures":{"0":{"name":"punctuation.definition.comment.block.begin.p4"}},"endCaptures":{"0":{"name":"punctuation.definition.comment.block.end.p4"}}},{"name":"string.quoted.double.p4","begin":"\"","end":"\"","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.p4"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.p4"}}},{"name":"comment.line.p4","begin":"//","end":"\\n","beginCaptures":{"0":{"name":"comment.p4"}}},{"name":"storage.type.object.p4","match":"\\b(struct|package|header|metadata|parser|transition|state|actions|action|table|key|control|extern|verify)\\b"},{"name":"storage.data.type.p4","match":"\\b(void|const|bool|varbit|int|typedef|tuple|enum)\\b"},{"name":"support.type.bit.p4","match":"bit(\u003c\\d+\u003e)"},{"name":"variable.language.p4","match":"\\b(hit|miss|latest|return|default)\\b"},{"name":"keyword.control.p4","match":"\\b(if|else if|else|return|hit|miss|true|false|inout|in|out|exit)\\b"},{"name":"keyword.operator.p4","match":"\\b(and|or)\\b"},{"name":"entity.name.type.p4","match":"\\b(exact|ternary|lpm|range|valid|mask|match_kind)\\b"},{"name":"storage.type.p4","match":"\\b(reads|actions|min_size|max_size|size|support_timeout|action_profile)\\b"},{"name":"storage.type.p4","match":"\\b(bytes|packets)\\b"},{"name":"entity.name.type.p4","match":"\\b(width|layout|attributes|type|static|result|direct|instance_count|min_width|saturating)\\b"},{"name":"entity.name.type.p4","match":"\\b(length|fields|max_length)\\b"},{"name":"meta.preprocessor.include.p4","match":"\\#include"},{"name":"meta.preprocessor.p4","match":"\\#ifndef|\\#ifdef|\\#if|\\#else|\\#endif|\\#elif"},{"name":"meta.preprocessor.define.p4","match":"\\#define"},{"name":"support.function.primitive.p4","match":"\\b(apply|valid|select|current|extract|add_header|copy_header|remove_header|modify_field|add_to_field|add|set_field_to_hash_index|truncate|drop|no_op|push|pop|count|meter|generate_digest|resubmit|recirculate|clone_ingress_pkt_to_ingress|clone_egress_pkt_to_ingress|clone_ingress_pkt_to_egress|clone_egress_pkt_to_egress|register_write|register_read)\\b"},{"name":"storage.type.annotation.p4","match":"@\\w+"},{"name":"support.any-method.p4","match":"[a-zA-Z_][0-9a-zA-Z_]*"},{"name":"constant.numeric.p4","match":"[\\+|-]?[0-9]+'[0-9]+"},{"name":"constant.numeric.p4","match":"0(x|X)[0-9a-fA-F]+"},{"name":"constant.numeric.p4","match":"\\dw\\d+"},{"name":"constant.numeric.p4","match":"0(b|B)[01]+"},{"name":"constant.numeric.p4","match":"[0-9]+"},{"name":"constant.language.p4","match":"\\b(true|false)\\b"}]}
1
+ {"name":"P4","scopeName":"source.p4","patterns":[{"name":"comment.block.p4","begin":"/\\*","end":"\\*/","beginCaptures":{"0":{"name":"punctuation.definition.comment.block.begin.p4"}},"endCaptures":{"0":{"name":"punctuation.definition.comment.block.end.p4"}}},{"name":"string.quoted.double.p4","begin":"\"","end":"\"","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.p4"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.p4"}}},{"name":"comment.line.p4","begin":"//","end":"\\n","beginCaptures":{"0":{"name":"comment.p4"}}},{"name":"storage.type.object.p4","match":"\\b(header_type|header|metadata|field_list|field_list_calculation|parser|parser_exception|parser_value_set|counter|meter|register|action|action_profile|table|control|extern)\\b"},{"name":"storage.data.type.p4","match":"\\b(bool|bit|varbit|int)\\b"},{"name":"variable.language.p4","match":"\\b(hit|miss|latest|return|default)\\b"},{"name":"keyword.control.p4","match":"\\b(if|else if|else|return|hit|miss|true|false)\\b"},{"name":"keyword.operator.p4","match":"\\b(and|or)\\b"},{"name":"entity.name.type.p4","match":"\\b(exact|ternary|lpm|range|valid|mask)\\b"},{"name":"storage.type.p4","match":"\\b(reads|actions|min_size|max_size|size|support_timeout|action_profile)\\b"},{"name":"storage.type.p4","match":"\\b(bytes|packets)\\b"},{"name":"entity.name.type.p4","match":"\\b(width|layout|attributes|type|static|result|direct|instance_count|min_width|saturating)\\b"},{"name":"entity.name.type.p4","match":"\\b(length|fields|max_length)\\b"},{"name":"meta.preprocessor.include.p4","match":"\\#include"},{"name":"meta.preprocessor.define.p4","match":"\\#define"},{"name":"support.function.primitive.p4","match":"\\b(apply|valid|select|current|extract|add_header|copy_header|remove_header|modify_field|add_to_field|add|set_field_to_hash_index|truncate|drop|no_op|push|pop|count|meter|generate_digest|resubmit|recirculate|clone_ingress_pkt_to_ingress|clone_egress_pkt_to_ingress|clone_ingress_pkt_to_egress|clone_egress_pkt_to_egress|register_write|register_read)\\b"},{"name":"support.any-method.p4","match":"[a-zA-Z_][0-9a-zA-Z_]*"},{"name":"constant.numeric.p4","match":"[\\+|-]?[0-9]+'[0-9]+"},{"name":"constant.numeric.p4","match":"0(x|X)[0-9a-fA-F]+"},{"name":"constant.numeric.p4","match":"0(b|B)[01]+"},{"name":"constant.numeric.p4","match":"[0-9]+"},{"name":"constant.language.p4","match":"\\b(true|false)\\b"}]}
@@ -1 +1 @@
1
- {"name":"polar","scopeName":"source.polar","patterns":[{"include":"#comment"},{"include":"#rule"},{"include":"#rule-type"},{"include":"#inline-query"},{"include":"#resource-block"},{"include":"#test-block"}],"repository":{"boolean":{"name":"constant.language.boolean","match":"\\b(true|false)\\b"},"comment":{"name":"comment.line.number-sign","match":"#.*"},"inline-query":{"name":"meta.inline-query","begin":"\\?=","end":";","patterns":[{"include":"#term"}],"beginCaptures":{"0":{"name":"keyword.control"}}},"keyword":{"patterns":[{"name":"constant.character","match":"\\b(cut|or|debug|print|in|forall|if|and|of|not|matches|type|on|global)\\b"}]},"number":{"patterns":[{"name":"constant.numeric.float","match":"\\b[+-]?\\d+(?:(\\.)\\d+(?:e[+-]?\\d+)?|(?:e[+-]?\\d+))\\b"},{"name":"constant.numeric.integer","match":"\\b(\\+|\\-)[\\d]+\\b"},{"name":"constant.numeric.natural","match":"\\b[\\d]+\\b"}]},"object-literal":{"name":"constant.other.object-literal","begin":"([a-zA-Z_][a-zA-Z0-9_]*(?:::[a-zA-Z0-9_]+)*)\\s*\\{","end":"\\}","patterns":[{"include":"#string"},{"include":"#number"},{"include":"#boolean"}],"beginCaptures":{"1":{"name":"entity.name.type.resource"}}},"operator":{"match":"(\\+|-|\\*|\\/|\u003c|\u003e|=|!)","captures":{"1":{"name":"keyword.control"}}},"resource-block":{"name":"meta.resource-block","begin":"(?\u003cresourceType\u003e[a-zA-Z_][a-zA-Z0-9_]*(?:::[a-zA-Z0-9_]+)*){0}((?:(resource|actor)\\s+(\\g\u003cresourceType\u003e)(?:\\s+(extends)\\s+(\\g\u003cresourceType\u003e(?:\\s*,\\s*\\g\u003cresourceType\u003e)*)\\s*,?\\s*)?)|(global))\\s*{","end":"\\}","patterns":[{"name":"punctuation.separator.sequence.declarations","match":";"},{"name":"meta.relation-declaration","begin":"\\{","end":"\\}","patterns":[{"include":"#specializer"},{"include":"#comment"},{"name":"punctuation.separator.sequence.dict","match":","}]},{"include":"#term"}],"beginCaptures":{"3":{"name":"keyword.control"},"4":{"name":"entity.name.type"},"5":{"name":"keyword.control"},"6":{"patterns":[{"name":"entity.name.type","match":"([a-zA-Z_][a-zA-Z0-9_]*(?:::[a-zA-Z0-9_]+)*)"}]},"7":{"name":"keyword.control"}}},"rule":{"name":"meta.rule","patterns":[{"include":"#rule-functor"},{"begin":"\\bif\\b","end":";","patterns":[{"include":"#term"}],"beginCaptures":{"0":{"name":"keyword.control.if"}}},{"match":";"}]},"rule-functor":{"begin":"([a-zA-Z_][a-zA-Z0-9_]*(?:::[a-zA-Z0-9_]+)*)\\s*\\(","end":"\\)","patterns":[{"include":"#specializer"},{"name":"punctuation.separator.sequence.list","match":","},{"include":"#term"}],"beginCaptures":{"1":{"name":"support.function.rule"}}},"rule-type":{"name":"meta.rule-type","begin":"\\btype\\b","end":";","patterns":[{"include":"#rule-functor"}],"beginCaptures":{"0":{"name":"keyword.other.type-decl"}}},"specializer":{"match":"[a-zA-Z_][a-zA-Z0-9_]*(?:::[a-zA-Z0-9_]+)*\\s*:\\s*([a-zA-Z_][a-zA-Z0-9_]*(?:::[a-zA-Z0-9_]+)*)","captures":{"1":{"name":"entity.name.type.resource"}}},"string":{"name":"string.quoted.double","begin":"\"","end":"\"","patterns":[{"name":"constant.character.escape","match":"\\\\."}]},"term":{"patterns":[{"include":"#comment"},{"include":"#string"},{"include":"#number"},{"include":"#keyword"},{"include":"#operator"},{"include":"#boolean"},{"include":"#object-literal"},{"name":"meta.bracket.list","begin":"\\[","end":"\\]","patterns":[{"include":"#term"},{"name":"punctuation.separator.sequence.list","match":","}]},{"name":"meta.bracket.dict","begin":"\\{","end":"\\}","patterns":[{"include":"#term"},{"name":"punctuation.separator.sequence.dict","match":","}]},{"name":"meta.parens","begin":"\\(","end":"\\)","patterns":[{"include":"#term"}]}]},"test-block":{"name":"meta.test-block","begin":"(test)\\s+(\"[^\"]*\")\\s*\\{","end":"\\}","patterns":[{"name":"meta.test-setup","begin":"(setup)\\s*\\{","end":"\\}","patterns":[{"include":"#rule"},{"include":"#comment"}],"beginCaptures":{"1":{"name":"keyword.control"}}},{"include":"#rule"},{"name":"keyword.other","match":"\\b(assert|assert_not)\\b"},{"include":"#comment"}],"beginCaptures":{"1":{"name":"keyword.control"},"2":{"name":"string.quoted.double"}}}}}
1
+ {"name":"polar","scopeName":"source.polar","patterns":[{"include":"#comment"},{"include":"#rule"},{"include":"#rule-type"},{"include":"#inline-query"},{"include":"#resource-block"},{"include":"#test-block"},{"include":"#fixture"}],"repository":{"boolean":{"name":"constant.language.boolean","match":"\\b(true|false)\\b"},"comment":{"name":"comment.line.number-sign","match":"#.*"},"fixture":{"patterns":[{"name":"keyword.control","match":"\\bfixture\\b"},{"begin":"\\btest\\b","end":"\\bfixture\\b","beginCaptures":{"0":{"name":"keyword.control"}},"endCaptures":{"0":{"name":"keyword.control"}}}]},"inline-query":{"name":"meta.inline-query","begin":"\\?=","end":";","patterns":[{"include":"#term"}],"beginCaptures":{"0":{"name":"keyword.control"}}},"keyword":{"patterns":[{"name":"constant.character","match":"\\b(cut|or|debug|print|in|forall|if|and|of|not|matches|type|on|global)\\b"}]},"number":{"patterns":[{"name":"constant.numeric.float","match":"\\b[+-]?\\d+(?:(\\.)\\d+(?:e[+-]?\\d+)?|(?:e[+-]?\\d+))\\b"},{"name":"constant.numeric.integer","match":"\\b(\\+|\\-)[\\d]+\\b"},{"name":"constant.numeric.natural","match":"\\b[\\d]+\\b"}]},"object-literal":{"name":"constant.other.object-literal","begin":"([a-zA-Z_][a-zA-Z0-9_]*(?:::[a-zA-Z0-9_]+)*)\\s*\\{","end":"\\}","patterns":[{"include":"#string"},{"include":"#number"},{"include":"#boolean"}],"beginCaptures":{"1":{"name":"entity.name.type.resource"}}},"operator":{"match":"(\\+|-|\\*|\\/|\u003c|\u003e|=|!)","captures":{"1":{"name":"keyword.control"}}},"resource-block":{"name":"meta.resource-block","begin":"(?\u003cresourceType\u003e[a-zA-Z_][a-zA-Z0-9_]*(?:::[a-zA-Z0-9_]+)*){0}((?:(resource|actor)\\s+(\\g\u003cresourceType\u003e)(?:\\s+(extends)\\s+(\\g\u003cresourceType\u003e(?:\\s*,\\s*\\g\u003cresourceType\u003e)*)\\s*,?\\s*)?)|(global))\\s*{","end":"\\}","patterns":[{"name":"punctuation.separator.sequence.declarations","match":";"},{"name":"meta.relation-declaration","begin":"\\{","end":"\\}","patterns":[{"include":"#specializer"},{"include":"#comment"},{"name":"punctuation.separator.sequence.dict","match":","}]},{"include":"#term"}],"beginCaptures":{"3":{"name":"keyword.control"},"4":{"name":"entity.name.type"},"5":{"name":"keyword.control"},"6":{"patterns":[{"name":"entity.name.type","match":"([a-zA-Z_][a-zA-Z0-9_]*(?:::[a-zA-Z0-9_]+)*)"}]},"7":{"name":"keyword.control"}}},"rule":{"name":"meta.rule","patterns":[{"include":"#rule-functor"},{"begin":"\\bif\\b","end":";","patterns":[{"include":"#term"}],"beginCaptures":{"0":{"name":"keyword.control.if"}}},{"match":";"}]},"rule-functor":{"begin":"([a-zA-Z_][a-zA-Z0-9_]*(?:::[a-zA-Z0-9_]+)*)\\s*\\(","end":"\\)","patterns":[{"include":"#specializer"},{"name":"punctuation.separator.sequence.list","match":","},{"include":"#term"}],"beginCaptures":{"1":{"name":"support.function.rule"}}},"rule-type":{"name":"meta.rule-type","begin":"\\btype\\b","end":";","patterns":[{"include":"#rule-functor"}],"beginCaptures":{"0":{"name":"keyword.other.type-decl"}}},"specializer":{"match":"[a-zA-Z_][a-zA-Z0-9_]*(?:::[a-zA-Z0-9_]+)*\\s*:\\s*([a-zA-Z_][a-zA-Z0-9_]*(?:::[a-zA-Z0-9_]+)*)","captures":{"1":{"name":"entity.name.type.resource"}}},"string":{"name":"string.quoted.double","begin":"\"","end":"\"","patterns":[{"name":"constant.character.escape","match":"\\\\."}]},"term":{"patterns":[{"include":"#comment"},{"include":"#string"},{"include":"#number"},{"include":"#keyword"},{"include":"#operator"},{"include":"#boolean"},{"include":"#object-literal"},{"name":"meta.bracket.list","begin":"\\[","end":"\\]","patterns":[{"include":"#term"},{"name":"punctuation.separator.sequence.list","match":","}]},{"name":"meta.bracket.dict","begin":"\\{","end":"\\}","patterns":[{"include":"#term"},{"name":"punctuation.separator.sequence.dict","match":","}]},{"name":"meta.parens","begin":"\\(","end":"\\)","patterns":[{"include":"#term"}]}]},"test-block":{"name":"meta.test-block","begin":"(test)\\s+(\"[^\"]*\")\\s*\\{","end":"\\}","patterns":[{"name":"meta.test-setup","begin":"(setup)\\s*\\{","end":"\\}","patterns":[{"include":"#rule"},{"include":"#comment"},{"include":"#fixture"}],"beginCaptures":{"1":{"name":"keyword.control"}}},{"include":"#rule"},{"name":"keyword.other","match":"\\b(assert|assert_not)\\b"},{"include":"#comment"}],"beginCaptures":{"1":{"name":"keyword.control"},"2":{"name":"string.quoted.double"}}}}}
@@ -1 +1 @@
1
- {"name":"PowerBuilder","scopeName":"source.powerbuilder","patterns":[{"include":"#strings"},{"include":"#general_rules"},{"include":"#comments"},{"include":"#keywords"},{"include":"#sql_keywords"},{"include":"#literals"},{"include":"#special_rules"},{"include":"#final"}],"repository":{"comments":{"patterns":[{"name":"comment.line.double-slash.powerbuilder","match":"//.*$"},{"name":"comment.block.documentation.powerbuilder","begin":"/\\*","end":"\\*/"},{"name":"meta.header.powerbuilder","begin":"\\A(HA)?","end":"^(?!\\$)","patterns":[{"name":"meta.header.line.powerbuilder","match":"(\\$)(.*?)(\\$)(.*)","captures":{"1":{"name":"comment.block.documentation.headers.powerbuilder"},"2":{"name":"variable.other.header.name.powerbuilder"},"3":{"name":"comment.block.documentation.headers.powerbuilder"},"4":{"name":"string.unquoted.header.description.powerbuilder","patterns":[{"include":"#string-escapes"}]}}}],"captures":{"1":{"name":"comment.block.documentation.headers.powerbuilder"}}}]},"final":{"patterns":[{"name":"variable.other.local.powerbuilder","match":"[\\w\\d$#%\\-]+"},{"name":"keyword.operator.symbols.powerbuilder","match":"(\\+|\\-|\\*|\\/|\\^|=|\u003e|\u003c|\u0026)"}]},"general_rules":{"patterns":[{"name":"meta.sql.statement.powerbuilder","begin":"(?i)^\\s*(close|commit|connect|declare|delete|describe|disconnect|execute|fetch|insert|open|prepare|rollback|select|selectblob|update|updateblob)\\b(?!\\s*\\()","end":";","patterns":[{"include":"#sql_keywords"},{"include":"#literals"},{"name":"variable.other.local.powerbuilder","match":"(?\u003c=::|\\.)[\\w\\d$#%\\-]+"},{"name":"variable.other.local.powerbuilder","match":":?([\\w\\d$#%\\-]+)"}],"captures":{"1":{"name":"keyword.operator.sql.powerbuilder"}}},{"name":"meta.variable.create.powerbuilder","match":"(?i)\\b(create)\\s+([\\w\\d$#%\\-`]+)","captures":{"1":{"name":"keyword.other.types.powerbuilder"},"2":{"name":"entity.type.name.complex.powerbuilder"}}},{"name":"meta.variable.create_using.powerbuilder","match":"(?i)\\b(create\\s+using)(\\s+[\\w\\d$#%\\-]+)?","captures":{"1":{"name":"keyword.other.types.powerbuilder"},"2":{"name":"variable.other.local.powerbuilder"}}},{"name":"meta.type.declaration.powerbuilder","match":"(?i)\\b(type)\\s+([\\w\\d$#%\\-]+)\\s+(from)\\s+([\\w\\d$#%\\-`]+)(\\s+(within)\\s+([\\w\\d$#%\\-`]+))?","captures":{"1":{"name":"keyword.other.types.powerbuilder"},"2":{"name":"entity.type.name.complex.powerbuilder"},"3":{"name":"keyword.other.types.powerbuilder"},"4":{"name":"entity.other.inherited-class.powerbuilder"},"6":{"name":"keyword.other.types.powerbuilder"},"7":{"name":"entity.other.inherited-class.powerbuilder"}}},{"name":"meta.function.throws_clause.powerbuilder","match":"(?i)\\b(throws)\\s+([\\w\\d$#%\\-`]+(,\\s*[\\w\\d$#%\\-`]+)*)","captures":{"1":{"name":"keyword.other.functions.powerbuilder"},"2":{"patterns":[{"include":"#types"}]}}},{"name":"meta.event.declaration_definition.powerbuilder","match":"(?i)(event)(\\s+(type)\\s+([\\w\\d$#%\\-`]+))?\\s+([\\w\\d$#%\\-]+)\\s*(\\s([\\w\\d$#%\\-]+)\\s*($|;)|(?=\\())","captures":{"1":{"name":"keyword.other.functions.powerbuilder"},"3":{"name":"keyword.other.types.powerbuilder"},"4":{"patterns":[{"include":"#types"}]},"5":{"name":"entity.name.function.event.powerbuilder"},"7":{"name":"entity.name.tag.event.powerbuilder"}}}]},"keywords":{"patterns":[{"name":"keyword.operator.boolean.powerbuilder","match":"(?i)\\b(or|and|not)\\b"},{"name":"keyword.other.variable.modifier.powerbuilder","match":"(?i)\\b(constant|readonly|ref)\\b"},{"name":"keyword.other.access.powerbuilder","match":"(?i)\\b(public|private|protected|privatewrite|privateread|protectedread|protectedwrite|systemread|systemwrite)\\b"},{"name":"variable.language.powerbuiler","match":"(?i)\\b(super|this|sqlca|parent)\\b"},{"name":"keyword.other.types.powerbuilder","match":"(?i)\\b(indirect|variables|end\\s+variables|forward|end\\s+forward|destroy|create|type|end\\s+type|prototypes|within|autoinstantiate|system)\\b"},{"name":"keyword.other.scope.powerbuilder","match":"(?i)\\b(global|shared)\\b"},{"name":"keyword.other.functions.powerbuilder","match":"(?i)\\b(return|function|end\\s+function|subroutine|end\\s+subroutine|throw|throws|event|end\\s+event|on|end\\s+on|call|dynamic|post|trigger|open|static|alias\\s+for|alias|library|rpcfunc)\\b"},{"name":"keyword.control.powerbuilder","match":"(?i)\\b(if|then|else|elseif|case|choose|exit|continue|for|to|step|next|do|while|loop|until|try|catch|finally|release|end|goto|halt)\\b"},{"name":"keyword.other.reserved.powerbuilder","match":"(?i)\\b(namespace|intrinsic|with|_debug|enumerated|external|native)\\b"}]},"literals":{"patterns":[{"name":"constant.numeric.date.powerbuilder","match":"\\b\\d{4}-\\d{2}-\\d{2}\\b"},{"name":"constant.numeric.time.powerbuilder","match":"\\b\\d{2}:\\d{2}:\\d{2}(.\\d+)?\\b"},{"name":"constant.numeric.number.powerbuilder","match":"\\b(\\d+(\\.\\d+)?|(\\.\\d+))([eE][+\\-]\\d+)?\\b"},{"name":"constant.language.boolean.powerbuilder","match":"(?i)\\b(true|false)\\b"},{"name":"constant.language.enumerated.powerbuilder","match":"[\\w\\d$#%\\-]+!"}]},"primitives":{"patterns":[{"name":"entity.name.type.primitives.powerbuilder","match":"(?i)\\b(any|blob|boolean|byte|char|character|date|datetime|dec|decimal|double|int|integer|long|longlong|longptr|real|string|time|uint|ulong|unsignedinteger|unsignedlong)\\b"}]},"special_rules":{"patterns":[{"name":"entity.name.function.powerbuilder","match":"[\\w\\d$#%\\-]+(?=\\s*\\()"},{"name":"variable.other.member.powerbuilder","match":"(?\u003c=::|\\.)[\\w\\d$#%\\-]+"},{"name":"meta.function.declaration.powerbuilder","match":"([\\w\\d$#%\\-]+)\\s+([\\w\\d$#%\\-]+)(?=\\s*\\()","captures":{"1":{"patterns":[{"include":"#types"}]},"2":{"name":"entity.name.function.powerbuilder"}}},{"name":"meta.variable.declaration.powerbuilder","match":"(?i)([\\w\\d$#%\\-`]+)\\s*(\\{(\\d+)\\}|\\s)\\s*(?!or|and|then)([\\w\\d$#%\\-]+)","captures":{"1":{"patterns":[{"include":"#types"}]},"3":{"name":"constant.numeric.number.powerbuilder"},"4":{"name":"variable.other.local.powerbuilder"}}}]},"sql_keywords":{"patterns":[{"name":"keyword.operator.sql.boolean.powerbuilder","match":"(?i)\\b(or|and|xor|not)\\b"},{"name":"keyword.operator.sql.powerbuilder","match":"(?i)\\b(close|commit|connect|declare|delete|describe|disconnect|execute|fetch|insert|open|prepare|rollback|select|selectblob|update|updateblob)\\b"},{"name":"keyword.operator.sql.powerbuilder","match":"(?i)\\b(set|current|of|is|using|null|from|into|values|where|first|prior|last|rollback|immediate|descriptor|cursor|procedure|for|of)\\b"}]},"string-escapes":{"patterns":[{"name":"constant.character.escape.powerbuilder","match":"~o?\\d{3}"},{"name":"constant.character.escape.powerbuilder","match":"~h[0-9a-fA-F]{2}"},{"name":"constant.character.escape.powerbuilder","match":"~."}]},"strings":{"patterns":[{"name":"string.quoted.double.powerbuilder","begin":"\\\"","end":"\\\"","patterns":[{"include":"#string-escapes"}]},{"name":"string.quoted.single.powerbuilder","begin":"\\'","end":"\\'","patterns":[{"include":"#string-escapes"}]}]},"types":{"patterns":[{"include":"#primitives"},{"name":"entity.name.type.complex.powerbuilder","match":"([\\w\\d$#%\\-`]+)"}]}}}
1
+ {"name":"PowerBuilder","scopeName":"source.powerbuilder","patterns":[{"include":"#strings"},{"include":"#comments"},{"include":"#general_rules"},{"include":"#keywords"},{"include":"#literals"},{"include":"#special_rules"},{"include":"#final"}],"repository":{"comments":{"patterns":[{"name":"comment.line.double-slash.powerbuilder","match":"//.*$"},{"name":"comment.block.documentation.powerbuilder","begin":"/\\*","end":"\\*/"},{"name":"meta.header.powerbuilder","begin":"\\A(HA)?(?=\\$)","end":"^(?!\\$)","patterns":[{"name":"meta.header.line.powerbuilder","match":"(\\$)(.*?)(\\$)(.*)","captures":{"1":{"name":"comment.block.documentation.headers.powerbuilder"},"2":{"name":"variable.other.header.name.powerbuilder"},"3":{"name":"comment.block.documentation.headers.powerbuilder"},"4":{"name":"string.unquoted.header.description.powerbuilder","patterns":[{"include":"#string-escapes"}]}}}],"captures":{"1":{"name":"comment.block.documentation.headers.powerbuilder"}}}]},"final":{"patterns":[{"name":"variable.other.local.powerbuilder","match":"([\\w$#%][\\w\\d$#%\\-]*)"},{"include":"#operators"}]},"general_rules":{"patterns":[{"name":"meta.sql.statement.powerbuilder","begin":"(?i)^\\s*(close|commit|connect|declare|delete|describe|disconnect|execute|fetch|insert|open|prepare|rollback|select|selectblob|update|updateblob)(?:^(?=[\\w\\d$#%\\-`])|(?\u003c=[\\w\\d$#%\\-`])$|(?\u003c![\\w\\d$#%\\-`])(?=[\\w\\d$#%\\-`])|(?\u003c=[\\w\\d$#%\\-`])(?![\\w\\d$#%\\-`]))(?!\\s*\\()","end":"(;)","patterns":[{"include":"#strings"},{"include":"#sql_keywords"},{"include":"#literals"},{"include":"#operators"},{"name":"variable.other.local.powerbuilder","match":"(?\u003c=::|\\.)[\\w$#%][\\w\\d$#%\\-]*"},{"name":"variable.other.local.powerbuilder","match":":?([\\w$#%][\\w\\d$#%\\-]*)"}],"captures":{"1":{"name":"keyword.operator.sql.powerbuilder"},"2":{"name":"keyword.operator.sql.powerbuilder"}}},{"name":"meta.variable.create.powerbuilder","match":"(?i)(?:^(?=[\\w\\d$#%\\-`])|(?\u003c=[\\w\\d$#%\\-`])$|(?\u003c![\\w\\d$#%\\-`])(?=[\\w\\d$#%\\-`])|(?\u003c=[\\w\\d$#%\\-`])(?![\\w\\d$#%\\-`]))(create)\\s+(?!using(?:^(?=[\\w\\d$#%\\-`])|(?\u003c=[\\w\\d$#%\\-`])$|(?\u003c![\\w\\d$#%\\-`])(?=[\\w\\d$#%\\-`])|(?\u003c=[\\w\\d$#%\\-`])(?![\\w\\d$#%\\-`])))([\\w$#%][\\w\\d$#%\\-`]*)","captures":{"1":{"name":"keyword.other.types.powerbuilder"},"2":{"patterns":[{"include":"#types"}]}}},{"name":"meta.type.declaration.powerbuilder","match":"(?i)(?:^(?=[\\w\\d$#%\\-`])|(?\u003c=[\\w\\d$#%\\-`])$|(?\u003c![\\w\\d$#%\\-`])(?=[\\w\\d$#%\\-`])|(?\u003c=[\\w\\d$#%\\-`])(?![\\w\\d$#%\\-`]))(type)\\s+([\\w$#%][\\w\\d$#%\\-]*)\\s+(from)\\s+([\\w$#%][\\w\\d$#%\\-`]*)(\\s+(within)\\s+([\\w$#%][\\w\\d$#%\\-`]*))?","captures":{"1":{"name":"keyword.other.types.powerbuilder"},"2":{"name":"entity.type.name.complex.powerbuilder"},"3":{"name":"keyword.other.types.powerbuilder"},"4":{"name":"entity.other.inherited-class.powerbuilder"},"6":{"name":"keyword.other.types.powerbuilder"},"7":{"name":"entity.other.inherited-class.powerbuilder"}}},{"name":"meta.function.throws_clause.powerbuilder","match":"(?i)(?:^(?=[\\w\\d$#%\\-`])|(?\u003c=[\\w\\d$#%\\-`])$|(?\u003c![\\w\\d$#%\\-`])(?=[\\w\\d$#%\\-`])|(?\u003c=[\\w\\d$#%\\-`])(?![\\w\\d$#%\\-`]))(throws)\\s+([\\w$#%][\\w\\d$#%\\-`]*(,\\s*[\\w$#%][\\w\\d$#%\\-`]*)*)","captures":{"1":{"name":"keyword.other.functions.powerbuilder"},"2":{"patterns":[{"include":"#types"}]}}},{"name":"meta.event.declaration_definition.powerbuilder","match":"(?i)(event)(\\s+(type)\\s+([\\w$#%][\\w\\d$#%\\-`]*))?\\s+([\\w$#%][\\w\\d$#%\\-]*)\\s*(\\s([\\w$#%][\\w\\d$#%\\-]*)\\s*($|;)|(?=\\())","captures":{"1":{"name":"keyword.other.functions.powerbuilder"},"3":{"name":"keyword.other.types.powerbuilder"},"4":{"patterns":[{"include":"#types"}]},"5":{"name":"entity.name.function.event.powerbuilder"},"7":{"name":"entity.name.tag.event.powerbuilder"}}}]},"keywords":{"patterns":[{"name":"keyword.operator.boolean.powerbuilder","match":"(?i)(?:^(?=[\\w\\d$#%\\-`])|(?\u003c=[\\w\\d$#%\\-`])$|(?\u003c![\\w\\d$#%\\-`])(?=[\\w\\d$#%\\-`])|(?\u003c=[\\w\\d$#%\\-`])(?![\\w\\d$#%\\-`]))(or|and|not)(?:^(?=[\\w\\d$#%\\-`])|(?\u003c=[\\w\\d$#%\\-`])$|(?\u003c![\\w\\d$#%\\-`])(?=[\\w\\d$#%\\-`])|(?\u003c=[\\w\\d$#%\\-`])(?![\\w\\d$#%\\-`]))"},{"name":"keyword.other.variable.modifier.powerbuilder","match":"(?i)(?:^(?=[\\w\\d$#%\\-`])|(?\u003c=[\\w\\d$#%\\-`])$|(?\u003c![\\w\\d$#%\\-`])(?=[\\w\\d$#%\\-`])|(?\u003c=[\\w\\d$#%\\-`])(?![\\w\\d$#%\\-`]))(constant|readonly|ref)(?:^(?=[\\w\\d$#%\\-`])|(?\u003c=[\\w\\d$#%\\-`])$|(?\u003c![\\w\\d$#%\\-`])(?=[\\w\\d$#%\\-`])|(?\u003c=[\\w\\d$#%\\-`])(?![\\w\\d$#%\\-`]))"},{"name":"keyword.other.access.powerbuilder","match":"(?i)(?:^(?=[\\w\\d$#%\\-`])|(?\u003c=[\\w\\d$#%\\-`])$|(?\u003c![\\w\\d$#%\\-`])(?=[\\w\\d$#%\\-`])|(?\u003c=[\\w\\d$#%\\-`])(?![\\w\\d$#%\\-`]))(public|private|protected|privatewrite|privateread|protectedread|protectedwrite|systemread|systemwrite)(?:^(?=[\\w\\d$#%\\-`])|(?\u003c=[\\w\\d$#%\\-`])$|(?\u003c![\\w\\d$#%\\-`])(?=[\\w\\d$#%\\-`])|(?\u003c=[\\w\\d$#%\\-`])(?![\\w\\d$#%\\-`]))"},{"name":"variable.language.powerbuiler","match":"(?i)(?:^(?=[\\w\\d$#%\\-`])|(?\u003c=[\\w\\d$#%\\-`])$|(?\u003c![\\w\\d$#%\\-`])(?=[\\w\\d$#%\\-`])|(?\u003c=[\\w\\d$#%\\-`])(?![\\w\\d$#%\\-`]))(super|this|sqlca|parent)(?:^(?=[\\w\\d$#%\\-`])|(?\u003c=[\\w\\d$#%\\-`])$|(?\u003c![\\w\\d$#%\\-`])(?=[\\w\\d$#%\\-`])|(?\u003c=[\\w\\d$#%\\-`])(?![\\w\\d$#%\\-`]))"},{"name":"keyword.other.types.powerbuilder","match":"(?i)(?:^(?=[\\w\\d$#%\\-`])|(?\u003c=[\\w\\d$#%\\-`])$|(?\u003c![\\w\\d$#%\\-`])(?=[\\w\\d$#%\\-`])|(?\u003c=[\\w\\d$#%\\-`])(?![\\w\\d$#%\\-`]))(indirect|variables|end\\s+variables|forward|end\\s+forward|destroy|create|using|type|end\\s+type|prototypes|within|autoinstantiate|system)(?:^(?=[\\w\\d$#%\\-`])|(?\u003c=[\\w\\d$#%\\-`])$|(?\u003c![\\w\\d$#%\\-`])(?=[\\w\\d$#%\\-`])|(?\u003c=[\\w\\d$#%\\-`])(?![\\w\\d$#%\\-`]))"},{"name":"keyword.other.scope.powerbuilder","match":"(?i)(?:^(?=[\\w\\d$#%\\-`])|(?\u003c=[\\w\\d$#%\\-`])$|(?\u003c![\\w\\d$#%\\-`])(?=[\\w\\d$#%\\-`])|(?\u003c=[\\w\\d$#%\\-`])(?![\\w\\d$#%\\-`]))(global|shared)(?:^(?=[\\w\\d$#%\\-`])|(?\u003c=[\\w\\d$#%\\-`])$|(?\u003c![\\w\\d$#%\\-`])(?=[\\w\\d$#%\\-`])|(?\u003c=[\\w\\d$#%\\-`])(?![\\w\\d$#%\\-`]))"},{"name":"keyword.other.functions.powerbuilder","match":"(?i)(?:^(?=[\\w\\d$#%\\-`])|(?\u003c=[\\w\\d$#%\\-`])$|(?\u003c![\\w\\d$#%\\-`])(?=[\\w\\d$#%\\-`])|(?\u003c=[\\w\\d$#%\\-`])(?![\\w\\d$#%\\-`]))(return|function|end\\s+function|subroutine|end\\s+subroutine|throw|throws|event|end\\s+event|on|end\\s+on|call|dynamic|post|trigger|open|static|alias\\s+for|alias|library|rpcfunc)(?:^(?=[\\w\\d$#%\\-`])|(?\u003c=[\\w\\d$#%\\-`])$|(?\u003c![\\w\\d$#%\\-`])(?=[\\w\\d$#%\\-`])|(?\u003c=[\\w\\d$#%\\-`])(?![\\w\\d$#%\\-`]))"},{"name":"keyword.control.powerbuilder","match":"(?i)(?:^(?=[\\w\\d$#%\\-`])|(?\u003c=[\\w\\d$#%\\-`])$|(?\u003c![\\w\\d$#%\\-`])(?=[\\w\\d$#%\\-`])|(?\u003c=[\\w\\d$#%\\-`])(?![\\w\\d$#%\\-`]))(if|then|else|elseif|case|choose|exit|continue|for|to|step|next|do|while|loop|until|try|catch|finally|release|end|goto|halt)(?:^(?=[\\w\\d$#%\\-`])|(?\u003c=[\\w\\d$#%\\-`])$|(?\u003c![\\w\\d$#%\\-`])(?=[\\w\\d$#%\\-`])|(?\u003c=[\\w\\d$#%\\-`])(?![\\w\\d$#%\\-`]))"},{"name":"keyword.other.reserved.powerbuilder","match":"(?i)(?:^(?=[\\w\\d$#%\\-`])|(?\u003c=[\\w\\d$#%\\-`])$|(?\u003c![\\w\\d$#%\\-`])(?=[\\w\\d$#%\\-`])|(?\u003c=[\\w\\d$#%\\-`])(?![\\w\\d$#%\\-`]))(namespace|intrinsic|with|_debug|enumerated|external|native)(?:^(?=[\\w\\d$#%\\-`])|(?\u003c=[\\w\\d$#%\\-`])$|(?\u003c![\\w\\d$#%\\-`])(?=[\\w\\d$#%\\-`])|(?\u003c=[\\w\\d$#%\\-`])(?![\\w\\d$#%\\-`]))"},{"include":"#sql_keywords"}]},"literals":{"patterns":[{"name":"constant.numeric.date.powerbuilder","match":"(?:^(?=[\\w\\d$#%\\-`])|(?\u003c=[\\w\\d$#%\\-`])$|(?\u003c![\\w\\d$#%\\-`])(?=[\\w\\d$#%\\-`])|(?\u003c=[\\w\\d$#%\\-`])(?![\\w\\d$#%\\-`]))\\d{4}-\\d{2}-\\d{2}(?:^(?=[\\w\\d$#%\\-`])|(?\u003c=[\\w\\d$#%\\-`])$|(?\u003c![\\w\\d$#%\\-`])(?=[\\w\\d$#%\\-`])|(?\u003c=[\\w\\d$#%\\-`])(?![\\w\\d$#%\\-`]))"},{"name":"constant.numeric.time.powerbuilder","match":"(?:^(?=[\\w\\d$#%\\-`])|(?\u003c=[\\w\\d$#%\\-`])$|(?\u003c![\\w\\d$#%\\-`])(?=[\\w\\d$#%\\-`])|(?\u003c=[\\w\\d$#%\\-`])(?![\\w\\d$#%\\-`]))\\d{2}:\\d{2}:\\d{2}(.\\d+)?(?:^(?=[\\w\\d$#%\\-`])|(?\u003c=[\\w\\d$#%\\-`])$|(?\u003c![\\w\\d$#%\\-`])(?=[\\w\\d$#%\\-`])|(?\u003c=[\\w\\d$#%\\-`])(?![\\w\\d$#%\\-`]))"},{"name":"constant.numeric.number.powerbuilder","match":"((?:^(?=[\\w\\d$#%\\-`])|(?\u003c=[\\w\\d$#%\\-`])$|(?\u003c![\\w\\d$#%\\-`])(?=[\\w\\d$#%\\-`])|(?\u003c=[\\w\\d$#%\\-`])(?![\\w\\d$#%\\-`]))|\\+|-)(\\d+(\\.\\d+)?|(\\.\\d+))([eE][+\\-]?\\d+)?(?:^(?=[\\w\\d$#%\\-`])|(?\u003c=[\\w\\d$#%\\-`])$|(?\u003c![\\w\\d$#%\\-`])(?=[\\w\\d$#%\\-`])|(?\u003c=[\\w\\d$#%\\-`])(?![\\w\\d$#%\\-`]))"},{"name":"constant.language.boolean.powerbuilder","match":"(?i)(?:^(?=[\\w\\d$#%\\-`])|(?\u003c=[\\w\\d$#%\\-`])$|(?\u003c![\\w\\d$#%\\-`])(?=[\\w\\d$#%\\-`])|(?\u003c=[\\w\\d$#%\\-`])(?![\\w\\d$#%\\-`]))(true|false)(?:^(?=[\\w\\d$#%\\-`])|(?\u003c=[\\w\\d$#%\\-`])$|(?\u003c![\\w\\d$#%\\-`])(?=[\\w\\d$#%\\-`])|(?\u003c=[\\w\\d$#%\\-`])(?![\\w\\d$#%\\-`]))"},{"name":"constant.language.enumerated.powerbuilder","match":"([\\w$#%][\\w\\d$#%\\-]*!)"}]},"operators":{"patterns":[{"name":"keyword.operator.symbols.powerbuilder","match":"(\\+|\\-|\\*|\\/|\\^|=|\u003e|\u003c|\u0026)"}]},"primitives":{"patterns":[{"name":"entity.name.type.primitives.powerbuilder","match":"(?i)(?:^(?=[\\w\\d$#%\\-`])|(?\u003c=[\\w\\d$#%\\-`])$|(?\u003c![\\w\\d$#%\\-`])(?=[\\w\\d$#%\\-`])|(?\u003c=[\\w\\d$#%\\-`])(?![\\w\\d$#%\\-`]))(any|blob|boolean|byte|char|character|date|datetime|dec|decimal|double|int|integer|long|longlong|longptr|real|string|time|uint|ulong|unsignedinteger|unsignedlong)(?:^(?=[\\w\\d$#%\\-`])|(?\u003c=[\\w\\d$#%\\-`])$|(?\u003c![\\w\\d$#%\\-`])(?=[\\w\\d$#%\\-`])|(?\u003c=[\\w\\d$#%\\-`])(?![\\w\\d$#%\\-`]))"}]},"special_rules":{"patterns":[{"name":"entity.name.function.powerbuilder","match":"[\\w$#%][\\w\\d$#%\\-]*(?=\\s*\\()"},{"name":"variable.other.member.powerbuilder","match":"(?\u003c=::|\\.)[\\w$#%][\\w\\d$#%\\-]*"},{"name":"meta.function.declaration.powerbuilder","match":"([\\w$#%][\\w\\d$#%\\-]*)\\s+([\\w$#%][\\w\\d$#%\\-]*)(?=\\s*\\()","captures":{"1":{"patterns":[{"include":"#types"}]},"2":{"name":"entity.name.function.powerbuilder"}}},{"name":"meta.variable.declaration.powerbuilder","match":"(?i)([\\w$#%][\\w\\d$#%\\-`]*)\\s*(\\{(\\d+)\\}|\\s)\\s*(?!(or|and|then)(?:^(?=[\\w\\d$#%\\-`])|(?\u003c=[\\w\\d$#%\\-`])$|(?\u003c![\\w\\d$#%\\-`])(?=[\\w\\d$#%\\-`])|(?\u003c=[\\w\\d$#%\\-`])(?![\\w\\d$#%\\-`])))([\\w$#%][\\w\\d$#%\\-]*)","captures":{"1":{"patterns":[{"include":"#types"}]},"3":{"name":"constant.numeric.number.powerbuilder"},"5":{"name":"variable.other.local.powerbuilder"}}}]},"sql_keywords":{"patterns":[{"name":"keyword.operator.sql.boolean.powerbuilder","match":"(?i)(?:^(?=[\\w\\d$#%\\-`])|(?\u003c=[\\w\\d$#%\\-`])$|(?\u003c![\\w\\d$#%\\-`])(?=[\\w\\d$#%\\-`])|(?\u003c=[\\w\\d$#%\\-`])(?![\\w\\d$#%\\-`]))(or|and|xor|not)(?:^(?=[\\w\\d$#%\\-`])|(?\u003c=[\\w\\d$#%\\-`])$|(?\u003c![\\w\\d$#%\\-`])(?=[\\w\\d$#%\\-`])|(?\u003c=[\\w\\d$#%\\-`])(?![\\w\\d$#%\\-`]))"},{"name":"keyword.operator.sql.powerbuilder","match":"(?i)(?:^(?=[\\w\\d$#%\\-`])|(?\u003c=[\\w\\d$#%\\-`])$|(?\u003c![\\w\\d$#%\\-`])(?=[\\w\\d$#%\\-`])|(?\u003c=[\\w\\d$#%\\-`])(?![\\w\\d$#%\\-`]))(close|commit|connect|declare|delete|describe|disconnect|execute|fetch|insert|open|prepare|rollback|select|selectblob|update|updateblob)(?:^(?=[\\w\\d$#%\\-`])|(?\u003c=[\\w\\d$#%\\-`])$|(?\u003c![\\w\\d$#%\\-`])(?=[\\w\\d$#%\\-`])|(?\u003c=[\\w\\d$#%\\-`])(?![\\w\\d$#%\\-`]))"},{"name":"keyword.operator.sql.powerbuilder","match":"(?i)(?:^(?=[\\w\\d$#%\\-`])|(?\u003c=[\\w\\d$#%\\-`])$|(?\u003c![\\w\\d$#%\\-`])(?=[\\w\\d$#%\\-`])|(?\u003c=[\\w\\d$#%\\-`])(?![\\w\\d$#%\\-`]))(set|current|of|is|null|from|into|using|values|where|first|prior|last|rollback|immediate|descriptor|cursor|procedure|for|of)(?:^(?=[\\w\\d$#%\\-`])|(?\u003c=[\\w\\d$#%\\-`])$|(?\u003c![\\w\\d$#%\\-`])(?=[\\w\\d$#%\\-`])|(?\u003c=[\\w\\d$#%\\-`])(?![\\w\\d$#%\\-`]))"}]},"string-escapes":{"patterns":[{"name":"constant.character.escape.powerbuilder","match":"~o?\\d{3}"},{"name":"constant.character.escape.powerbuilder","match":"~h[0-9a-fA-F]{2}"},{"name":"constant.character.escape.powerbuilder","match":"~."}]},"strings":{"patterns":[{"name":"string.quoted.double.powerbuilder","begin":"\\\"","end":"\\\"","patterns":[{"include":"#string-escapes"}]},{"name":"string.quoted.single.powerbuilder","begin":"\\'","end":"\\'","patterns":[{"include":"#string-escapes"}]}]},"types":{"patterns":[{"include":"#primitives"},{"name":"entity.name.type.complex.powerbuilder","match":"([\\w$#%][\\w\\d$#%\\-`]*)"}]}}}
@@ -1 +1 @@
1
- {"name":"ReScript","scopeName":"source.rescript","patterns":[{"include":"#ffi-single"},{"include":"#ffi"},{"include":"#constant"},{"include":"#commentLine"},{"include":"#commentBlock"},{"include":"#character"},{"include":"#typeParameter"},{"include":"#string"},{"include":"#attribute"},{"include":"#function"},{"include":"#list"},{"include":"#jsx"},{"include":"#operator"},{"include":"#number"},{"include":"#openOrIncludeModule"},{"include":"#moduleDeclaration"},{"include":"#moduleAccess"},{"include":"#constructor"},{"include":"#keyword"},{"include":"#punctuation"},{"include":"#defaultIdIsVariable"}],"repository":{"RE_CONSTANTS_BOOL":{"name":"constant.language.boolean","match":"\\b(false|true)\\b"},"RE_KEYWORD":{"name":"storage.type","match":"\\b(include|let|module|of|open|type)\\b"},"RE_KEYWORD_CONTROL":{"name":"keyword.control","match":"\\b(and|as|assert|async|await|catch|constraint|downto|else|exception|external|for|if|in|lazy|mutable|rec|switch|to|try|when|while|with|private)\\b"},"RE_TO_DOWNTO_AS_LABELS":{"patterns":[{"match":"(to|downto)\\s*(=)","captures":{"1":{"name":"variable"},"2":{"name":"keyword.operator keyword"}}},{"match":"(to|downto)\\s*(as)","captures":{"1":{"name":"variable"},"2":{"name":"keyword.control"}}}]},"attribute":{"patterns":[{"match":"(%%?|@@?)([A-Za-z_][A-Za-z0-9_\\.]*)","captures":{"1":{"name":"punctuation.decorator"},"2":{"patterns":[{"name":"invalid.deprecated","match":"bs\\.send\\.pipe"},{"name":"invalid.illegal","match":"splice"},{"match":"(bs\\.)?([A-Za-z_][A-Za-z0-9_\\.]*)","captures":{"1":{"name":"invalid.deprecated"},"2":{"name":"entity.name.function"}}},{"name":"entity.name.function","match":"[A-Za-z_][A-Za-z0-9_\\.]*"}]}}}]},"character":{"patterns":[{"name":"string.quoted.single","match":"'[\\x00-\\x7F]'"}]},"commentBlock":{"name":"comment.block","begin":"/\\*","end":"\\*/","patterns":[{"include":"#commentBlock"}]},"commentLine":{"name":"comment.line","match":"//.*"},"constant":{"patterns":[{"include":"#RE_CONSTANTS_BOOL"}]},"constructor":{"patterns":[{"name":"variable.other.enummember","match":"\\b[A-Z][0-9a-zA-Z_]*\\b"},{"match":"(#)\\s*([a-zA-Z][0-9a-zA-Z_]*)\\b","captures":{"1":{"name":"variable.other.enummember"},"2":{"name":"variable.other.enummember"}}},{"match":"(#)\\s*(\\.\\.\\.)\\b","captures":{"1":{"name":"variable.other.enummember"},"2":{"name":"variable.other.enummember"}}},{"match":"(#)","captures":{"1":{"name":"variable.other.enummember"}}}]},"defaultIdIsVariable":{"patterns":[{"name":"variable","match":"[A-Za-z_][A-Za-z0-9_]*"}]},"ffi":{"name":"source.embedded.javascript","contentName":"meta.embedded.block.javascript","begin":"(%|%%)(raw|ffi)(\\()(`)","end":"(`)(\\))","patterns":[{"include":"source.js"}],"beginCaptures":{"1":{"name":"punctuation.decorator"},"2":{"name":"entity.name.function"},"4":{"name":"punctuation.definition.string.template.begin.embedded-js"}},"endCaptures":{"1":{"name":"punctuation.definition.string.template.end.embedded-js"}}},"ffi-single":{"name":"source.embedded.javascript.single","match":"(%|%%)(raw|ffi)(\\()(`)(.*?)(`)(\\))","captures":{"1":{"name":"punctuation.decorator"},"2":{"name":"entity.name.function"},"4":{"name":"punctuation.definition.string.template.begin.embedded-js"},"5":{"patterns":[{"include":"source.js"}]},"6":{"name":"punctuation.definition.string.template.end.embedded-js"}}},"function":{"patterns":[{"name":"storage.type.function keyword.declaration.function","match":"=\u003e"}]},"jsx":{"patterns":[{"name":"punctuation.definition.tag","match":"\u003c\u003e|\u003c/\u003e|\u003c/|/\u003e"},{"match":"\u003c/([A-Z_][0-9a-zA-Z_]*)","captures":{"0":{"name":"punctuation.definition.tag"},"1":{"name":"entity.name.class"}}},{"match":"\u003c/([a-z_][0-9a-zA-Z_]*)","captures":{"0":{"name":"punctuation.definition.tag"},"1":{"name":"variable"}}},{"match":"\u003c([A-Z_][0-9a-zA-Z_]*)","captures":{"0":{"name":"punctuation.definition.tag"},"1":{"name":"entity.name.class"}}}]},"keyword":{"patterns":[{"include":"#RE_TO_DOWNTO_AS_LABELS"},{"include":"#RE_KEYWORD_CONTROL"},{"include":"#RE_KEYWORD"}]},"list":{"patterns":[{"match":"\\b(list)(\\{)","captures":{"1":{"name":"keyword"},"2":{"name":"punctuation.section.braces.begin"}}},{"name":"punctuation.section.braces.end","match":"\\}"}]},"moduleAccess":{"patterns":[{"match":"\\b([A-Z_][0-9a-zA-Z_]*)(\\.)","captures":{"1":{"name":"entity.name.class"},"2":{"name":"punctuation.accessor"}}}]},"moduleAccessEndsWithModule":{"patterns":[{"name":"entity.name.class","match":"[A-Z_][0-9a-zA-Z_]*"},{"match":"(\\.)([A-Z_][0-9a-zA-Z_]*)","captures":{"1":{"name":"punctuation.accessor"},"2":{"name":"entity.name.class"}}}]},"moduleDeclaration":{"patterns":[{"match":"\\b(module)\\s+(type\\s+)?(of\\s+)?([A-Z_][0-9a-zA-Z_]*)","patterns":[{"match":"\\s*:\\s*([A-Z_][0-9a-zA-Z_]*)","captures":{"1":{"name":"entity.name.class"}}}],"captures":{"1":{"name":"keyword"},"2":{"name":"keyword"},"3":{"name":"keyword"},"4":{"name":"entity.name.class"}}}]},"number":{"patterns":[{"name":"constant.numeric","match":"\\b(0[xX][a-fA-F0-9_]+[Lln]?|0[oO][0-7_]+[Lln]?|0[bB][01_]+[Lln]?|[0-9][0-9_]*([Lln]|(\\.[0-9_]+)?([eE][-+]?[0-9_]+)?)?)\\b"}]},"openOrIncludeModule":{"patterns":[{"match":"\\b(open|include)\\s+([A-Z_][0-9a-zA-Z_]*((\\.)([A-Z_][0-9a-zA-Z_]*))*)","captures":{"1":{"name":"keyword"},"2":{"patterns":[{"include":"#moduleAccessEndsWithModule"}]}}},{"name":"keyword","match":"\\b(open|include)\\s+"}]},"operator":{"patterns":[{"name":"keyword.operator","match":"-\u003e|\\|\\||\u0026\u0026|\\+\\+|\\*\\*|\\+\\.|\\+|-\\.|-|\\*\\.|\\*|/\\.|/|\\.\\.\\.|\\.\\.|===|==|\\^|:=|!|\u003e=(?! *\\?)|\u003c=|="},{"name":"invalid.deprecated","match":"\\|\u003e"}]},"punctuation":{"patterns":[{"name":"punctuation.definition.keyword","match":"~"},{"name":"punctuation.terminator","match":";"},{"name":"punctuation.accessor","match":"\\."},{"name":"punctuation.separator","match":"\\,"},{"name":"punctuation.separator","match":"\\?|:"},{"name":"punctuation.separator","match":"\\|(?!\\|)"},{"name":"punctuation.section.braces.begin","match":"\\{"},{"name":"punctuation.section.braces.end","match":"\\}"},{"name":"punctuation.section.brackets.begin","match":"\\["},{"name":"punctuation.section.brackets.end","match":"\\]"},{"name":"punctuation.section.parens.begin","match":"\\("},{"name":"punctuation.section.parens.end","match":"\\)"}]},"string":{"patterns":[{"name":"string.quoted.double","begin":"\"","end":"\"","patterns":[{"include":"#string-character-escape"}],"beginCaptures":{"1":{"name":"punctuation.definition.string.begin"}},"endCaptures":{"1":{"name":"punctuation.definition.string.end"}}},{"name":"string.template","begin":"([a-z_][0-9a-zA-Z_]*)?(`)","end":"(?\u003c!\\\\)`","patterns":[{"include":"#string-character-escape"},{"name":"meta.template.expression","begin":"\\$\\{","end":"\\}","patterns":[{"match":"[a-z_][0-9a-zA-Z_]*"},{"include":"#operator"},{"include":"#punctuation"},{"include":"#string"}],"beginCaptures":{"0":{"name":"punctuation.definition.template-expression.begin"}},"endCaptures":{"0":{"name":"punctuation.definition.template-expression.end"}}}],"beginCaptures":{"1":{"name":"entity.name.function"},"2":{"name":"punctuation.definition.string.template.begin"}},"endCaptures":{"1":{"name":"punctuation.definition.string.template.end"}}}]},"string-character-escape":{"name":"constant.character.escape","match":"\\\\(x[0-9A-Fa-f]{2}|u[0-9A-Fa-f]{4}|u{[0-9A-Fa-f]+}|[0-2][0-7]{0,2}|3[0-6][0-7]?|37[0-7]?|[4-7][0-7]?|.|$)"},"typeParameter":{"patterns":[{"name":"support.type","match":"'[A-Za-z][A-Za-z0-9_]*"}]}}}
1
+ {"name":"ReScript","scopeName":"source.rescript","patterns":[{"include":"#ffi-single"},{"include":"#ffi"},{"include":"#constant"},{"include":"#commentLine"},{"include":"#commentBlock"},{"include":"#character"},{"include":"#typeParameter"},{"include":"#string"},{"include":"#attribute"},{"include":"#function"},{"include":"#entity-literal"},{"include":"#jsx"},{"include":"#operator"},{"include":"#number"},{"include":"#openOrIncludeModule"},{"include":"#moduleDeclaration"},{"include":"#moduleAccess"},{"include":"#constructor"},{"include":"#keyword"},{"include":"#punctuation"},{"include":"#defaultIdIsVariable"}],"repository":{"RE_CONSTANTS_BOOL":{"name":"constant.language.boolean","match":"\\b(false|true)\\b"},"RE_KEYWORD":{"name":"storage.type","match":"\\b(include|let|module|of|open|type)\\b"},"RE_KEYWORD_CONTROL":{"name":"keyword.control","match":"\\b(and|as|assert|async|await|catch|constraint|downto|else|exception|external|for|if|in|lazy|mutable|rec|switch|to|try|when|while|with|private)\\b"},"RE_TO_DOWNTO_AS_LABELS":{"patterns":[{"match":"(to|downto)\\s*(=)","captures":{"1":{"name":"variable"},"2":{"name":"keyword.operator keyword"}}},{"match":"(to|downto)\\s*(as)","captures":{"1":{"name":"variable"},"2":{"name":"keyword.control"}}}]},"attribute":{"patterns":[{"match":"(%%?|@@?)([A-Za-z_][A-Za-z0-9_\\.]*)","captures":{"1":{"name":"punctuation.decorator"},"2":{"patterns":[{"name":"invalid.deprecated","match":"bs\\.send\\.pipe"},{"name":"invalid.illegal","match":"splice"},{"match":"(bs\\.)?([A-Za-z_][A-Za-z0-9_\\.]*)","captures":{"1":{"name":"invalid.deprecated"},"2":{"name":"entity.name.function"}}},{"name":"entity.name.function","match":"[A-Za-z_][A-Za-z0-9_\\.]*"}]}}}]},"character":{"patterns":[{"name":"string.quoted.single","match":"'[\\x00-\\x7F]'"}]},"commentBlock":{"name":"comment.block","begin":"/\\*","end":"\\*/","patterns":[{"include":"#commentBlock"}]},"commentLine":{"name":"comment.line","match":"//.*"},"constant":{"patterns":[{"include":"#RE_CONSTANTS_BOOL"}]},"constructor":{"patterns":[{"name":"variable.other.enummember","match":"\\b[A-Z][0-9a-zA-Z_]*\\b"},{"match":"(#)\\s*([a-zA-Z][0-9a-zA-Z_]*)\\b","captures":{"1":{"name":"variable.other.enummember"},"2":{"name":"variable.other.enummember"}}},{"match":"(#)\\s*(\\.\\.\\.)\\b","captures":{"1":{"name":"variable.other.enummember"},"2":{"name":"variable.other.enummember"}}},{"match":"(#)","captures":{"1":{"name":"variable.other.enummember"}}}]},"defaultIdIsVariable":{"patterns":[{"name":"variable","match":"[A-Za-z_][A-Za-z0-9_]*"}]},"entity-literal":{"patterns":[{"match":"\\b(list|dict)(\\{)","captures":{"1":{"name":"keyword"},"2":{"name":"punctuation.section.braces.begin"}}},{"name":"punctuation.section.braces.end","match":"\\}"}]},"ffi":{"name":"source.embedded.javascript","contentName":"meta.embedded.block.javascript","begin":"(%|%%)(raw|ffi)(\\()(`)","end":"(`)(\\))","patterns":[{"include":"source.js"}],"beginCaptures":{"1":{"name":"punctuation.decorator"},"2":{"name":"entity.name.function"},"4":{"name":"punctuation.definition.string.template.begin.embedded-js"}},"endCaptures":{"1":{"name":"punctuation.definition.string.template.end.embedded-js"}}},"ffi-single":{"name":"source.embedded.javascript.single","match":"(%|%%)(raw|ffi)(\\()(`)(.*?)(`)(\\))","captures":{"1":{"name":"punctuation.decorator"},"2":{"name":"entity.name.function"},"4":{"name":"punctuation.definition.string.template.begin.embedded-js"},"5":{"patterns":[{"include":"source.js"}]},"6":{"name":"punctuation.definition.string.template.end.embedded-js"}}},"function":{"patterns":[{"name":"storage.type.function keyword.declaration.function","match":"=\u003e"}]},"jsx":{"patterns":[{"name":"punctuation.definition.tag","match":"\u003c\u003e|\u003c/\u003e|\u003c/|/\u003e"},{"match":"\u003c/([A-Z_][0-9a-zA-Z_]*)","captures":{"0":{"name":"punctuation.definition.tag"},"1":{"name":"entity.name.class"}}},{"match":"\u003c/([a-z_][0-9a-zA-Z_]*)","captures":{"0":{"name":"punctuation.definition.tag"},"1":{"name":"variable"}}},{"match":"\u003c([A-Z_][0-9a-zA-Z_]*)","captures":{"0":{"name":"punctuation.definition.tag"},"1":{"name":"entity.name.class"}}}]},"keyword":{"patterns":[{"include":"#RE_TO_DOWNTO_AS_LABELS"},{"include":"#RE_KEYWORD_CONTROL"},{"include":"#RE_KEYWORD"}]},"moduleAccess":{"patterns":[{"match":"\\b([A-Z_][0-9a-zA-Z_]*)(\\.)","captures":{"1":{"name":"entity.name.class"},"2":{"name":"punctuation.accessor"}}}]},"moduleAccessEndsWithModule":{"patterns":[{"name":"entity.name.class","match":"[A-Z_][0-9a-zA-Z_]*"},{"match":"(\\.)([A-Z_][0-9a-zA-Z_]*)","captures":{"1":{"name":"punctuation.accessor"},"2":{"name":"entity.name.class"}}}]},"moduleDeclaration":{"patterns":[{"match":"\\b(module)\\s+(type\\s+)?(of\\s+)?([A-Z_][0-9a-zA-Z_]*)","patterns":[{"match":"\\s*:\\s*([A-Z_][0-9a-zA-Z_]*)","captures":{"1":{"name":"entity.name.class"}}}],"captures":{"1":{"name":"keyword"},"2":{"name":"keyword"},"3":{"name":"keyword"},"4":{"name":"entity.name.class"}}}]},"number":{"patterns":[{"name":"constant.numeric","match":"\\b(0[xX][a-fA-F0-9_]+[Lln]?|0[oO][0-7_]+[Lln]?|0[bB][01_]+[Lln]?|[0-9][0-9_]*([Lln]|(\\.[0-9_]+)?([eE][-+]?[0-9_]+)?)?)\\b"}]},"openOrIncludeModule":{"patterns":[{"match":"\\b(open|include)\\s+([A-Z_][0-9a-zA-Z_]*((\\.)([A-Z_][0-9a-zA-Z_]*))*)","captures":{"1":{"name":"keyword"},"2":{"patterns":[{"include":"#moduleAccessEndsWithModule"}]}}},{"name":"keyword","match":"\\b(open|include)\\s+"}]},"operator":{"patterns":[{"name":"keyword.operator","match":"-\u003e|\\|\\||\u0026\u0026|\\+\\+|\\*\\*|\\+\\.|\\+|-\\.|-|\\*\\.|\\*|/\\.|/|\\.\\.\\.|\\.\\.|===|==|\\^|:=|!|\u003e=(?! *\\?)|\u003c=|="},{"name":"invalid.deprecated","match":"\\|\u003e"}]},"punctuation":{"patterns":[{"name":"punctuation.definition.keyword","match":"~"},{"name":"punctuation.terminator","match":";"},{"name":"punctuation.accessor","match":"\\."},{"name":"punctuation.separator","match":"\\,"},{"name":"punctuation.separator","match":"\\?|:"},{"name":"punctuation.separator","match":"\\|(?!\\|)"},{"name":"punctuation.section.braces.begin","match":"\\{"},{"name":"punctuation.section.braces.end","match":"\\}"},{"name":"punctuation.section.brackets.begin","match":"\\["},{"name":"punctuation.section.brackets.end","match":"\\]"},{"name":"punctuation.section.parens.begin","match":"\\("},{"name":"punctuation.section.parens.end","match":"\\)"}]},"string":{"patterns":[{"name":"string.quoted.double","begin":"\"","end":"\"","patterns":[{"include":"#string-character-escape"}],"beginCaptures":{"1":{"name":"punctuation.definition.string.begin"}},"endCaptures":{"1":{"name":"punctuation.definition.string.end"}}},{"name":"string.template","begin":"([a-z_][0-9a-zA-Z_]*)?(`)","end":"(?\u003c!\\\\)`","patterns":[{"include":"#string-character-escape"},{"name":"meta.template.expression","begin":"\\$\\{","end":"\\}","patterns":[{"match":"[a-z_][0-9a-zA-Z_]*"},{"include":"#operator"},{"include":"#punctuation"},{"include":"#string"}],"beginCaptures":{"0":{"name":"punctuation.definition.template-expression.begin"}},"endCaptures":{"0":{"name":"punctuation.definition.template-expression.end"}}}],"beginCaptures":{"1":{"name":"entity.name.function"},"2":{"name":"punctuation.definition.string.template.begin"}},"endCaptures":{"1":{"name":"punctuation.definition.string.template.end"}}}]},"string-character-escape":{"name":"constant.character.escape","match":"\\\\(x[0-9A-Fa-f]{2}|u[0-9A-Fa-f]{4}|u{[0-9A-Fa-f]+}|[0-2][0-7]{0,2}|3[0-6][0-7]?|37[0-7]?|[4-7][0-7]?|.|$)"},"typeParameter":{"patterns":[{"name":"support.type","match":"'[A-Za-z][A-Za-z0-9_]*"}]}}}