shiki 1.14.0 → 1.15.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (170) hide show
  1. package/dist/langs/abap.mjs +1 -1
  2. package/dist/langs/actionscript-3.mjs +1 -1
  3. package/dist/langs/angular-expression.mjs +1 -1
  4. package/dist/langs/angular-let-declaration.mjs +1 -1
  5. package/dist/langs/angular-ts.mjs +1 -23
  6. package/dist/langs/apex.mjs +1 -1
  7. package/dist/langs/apl.mjs +1 -1
  8. package/dist/langs/applescript.mjs +1 -1
  9. package/dist/langs/ara.mjs +1 -1
  10. package/dist/langs/asm.mjs +1 -1
  11. package/dist/langs/astro.mjs +1 -1
  12. package/dist/langs/awk.mjs +1 -1
  13. package/dist/langs/ballerina.mjs +1 -1
  14. package/dist/langs/beancount.mjs +1 -1
  15. package/dist/langs/berry.mjs +1 -1
  16. package/dist/langs/bicep.mjs +1 -1
  17. package/dist/langs/blade.mjs +1 -1
  18. package/dist/langs/c.mjs +1 -15
  19. package/dist/langs/cadence.mjs +1 -1
  20. package/dist/langs/clarity.mjs +1 -1
  21. package/dist/langs/clojure.mjs +1 -1
  22. package/dist/langs/cobol.mjs +1 -1
  23. package/dist/langs/codeql.mjs +1 -1
  24. package/dist/langs/coffee.mjs +1 -7
  25. package/dist/langs/common-lisp.mjs +1 -1
  26. package/dist/langs/coq.mjs +1 -1
  27. package/dist/langs/cpp-macro.mjs +1 -1
  28. package/dist/langs/cpp.mjs +1 -22
  29. package/dist/langs/crystal.mjs +1 -1
  30. package/dist/langs/csharp.mjs +1 -5
  31. package/dist/langs/css.mjs +1 -3
  32. package/dist/langs/cue.mjs +1 -1
  33. package/dist/langs/d.mjs +1 -1
  34. package/dist/langs/dart.mjs +1 -1
  35. package/dist/langs/dax.mjs +1 -1
  36. package/dist/langs/dotenv.mjs +1 -1
  37. package/dist/langs/dream-maker.mjs +1 -1
  38. package/dist/langs/elixir.mjs +1 -1
  39. package/dist/langs/elm.mjs +1 -1
  40. package/dist/langs/emacs-lisp.mjs +1 -1
  41. package/dist/langs/fish.mjs +1 -1
  42. package/dist/langs/fluent.mjs +1 -1
  43. package/dist/langs/fortran-free-form.mjs +1 -1
  44. package/dist/langs/fsharp.mjs +1 -1
  45. package/dist/langs/gdresource.mjs +1 -1
  46. package/dist/langs/gdscript.mjs +1 -34
  47. package/dist/langs/genie.mjs +1 -1
  48. package/dist/langs/gleam.mjs +1 -1
  49. package/dist/langs/glimmer-js.mjs +1 -13
  50. package/dist/langs/glimmer-ts.mjs +1 -13
  51. package/dist/langs/gnuplot.mjs +1 -1
  52. package/dist/langs/go.mjs +1 -1
  53. package/dist/langs/graphql.mjs +1 -1
  54. package/dist/langs/groovy.mjs +1 -1
  55. package/dist/langs/hack.mjs +2 -2
  56. package/dist/langs/haml.mjs +1 -1
  57. package/dist/langs/handlebars.mjs +1 -1
  58. package/dist/langs/haskell.mjs +1 -28
  59. package/dist/langs/haxe.mjs +1 -1
  60. package/dist/langs/hcl.mjs +1 -1
  61. package/dist/langs/hjson.mjs +1 -26
  62. package/dist/langs/hlsl.mjs +1 -1
  63. package/dist/langs/html.mjs +1 -43
  64. package/dist/langs/http.mjs +1 -1
  65. package/dist/langs/hy.mjs +1 -1
  66. package/dist/langs/imba.mjs +1 -23
  67. package/dist/langs/java.mjs +1 -1
  68. package/dist/langs/javascript.mjs +1 -23
  69. package/dist/langs/jinja.mjs +1 -1
  70. package/dist/langs/jison.mjs +1 -1
  71. package/dist/langs/json.mjs +1 -1
  72. package/dist/langs/json5.mjs +1 -1
  73. package/dist/langs/jsonc.mjs +1 -1
  74. package/dist/langs/jsonl.mjs +1 -1
  75. package/dist/langs/jssm.mjs +1 -1
  76. package/dist/langs/jsx.mjs +1 -23
  77. package/dist/langs/julia.mjs +1 -1
  78. package/dist/langs/kusto.mjs +1 -1
  79. package/dist/langs/lean.mjs +1 -1
  80. package/dist/langs/less.mjs +1 -1
  81. package/dist/langs/liquid.mjs +1 -1
  82. package/dist/langs/log.mjs +1 -1
  83. package/dist/langs/lua.mjs +1 -1
  84. package/dist/langs/luau.mjs +1 -1
  85. package/dist/langs/markdown.mjs +1 -51
  86. package/dist/langs/marko.mjs +1 -1
  87. package/dist/langs/matlab.mjs +1 -1
  88. package/dist/langs/mdc.mjs +1 -9
  89. package/dist/langs/mdx.mjs +1 -1
  90. package/dist/langs/mermaid.mjs +1 -1
  91. package/dist/langs/mojo.mjs +1 -156
  92. package/dist/langs/move.mjs +1 -1
  93. package/dist/langs/narrat.mjs +1 -1
  94. package/dist/langs/nginx.mjs +1 -1
  95. package/dist/langs/nim.mjs +1 -1
  96. package/dist/langs/nix.mjs +1 -1
  97. package/dist/langs/nushell.mjs +1 -1
  98. package/dist/langs/objective-c.mjs +1 -15
  99. package/dist/langs/objective-cpp.mjs +1 -22
  100. package/dist/langs/ocaml.mjs +1 -1
  101. package/dist/langs/perl.mjs +1 -1
  102. package/dist/langs/php.mjs +1 -1
  103. package/dist/langs/postcss.mjs +1 -1
  104. package/dist/langs/powerquery.mjs +1 -1
  105. package/dist/langs/powershell.mjs +1 -1
  106. package/dist/langs/prisma.mjs +1 -1
  107. package/dist/langs/prolog.mjs +1 -1
  108. package/dist/langs/proto.mjs +1 -1
  109. package/dist/langs/pug.mjs +1 -1
  110. package/dist/langs/puppet.mjs +1 -1
  111. package/dist/langs/purescript.mjs +1 -1
  112. package/dist/langs/python.mjs +1 -156
  113. package/dist/langs/r.mjs +1 -1
  114. package/dist/langs/racket.mjs +1 -7
  115. package/dist/langs/razor.mjs +1 -1
  116. package/dist/langs/reg.mjs +1 -1
  117. package/dist/langs/regexp.mjs +1 -1
  118. package/dist/langs/rel.mjs +1 -1
  119. package/dist/langs/riscv.mjs +1 -1
  120. package/dist/langs/ruby.mjs +1 -1
  121. package/dist/langs/sas.mjs +1 -1
  122. package/dist/langs/sass.mjs +1 -1
  123. package/dist/langs/scala.mjs +1 -1
  124. package/dist/langs/scheme.mjs +1 -1
  125. package/dist/langs/scss.mjs +1 -32
  126. package/dist/langs/shaderlab.mjs +1 -1
  127. package/dist/langs/shellscript.mjs +1 -1
  128. package/dist/langs/shellsession.mjs +1 -1
  129. package/dist/langs/smalltalk.mjs +1 -1
  130. package/dist/langs/solidity.mjs +1 -1
  131. package/dist/langs/sql.mjs +1 -1
  132. package/dist/langs/ssh-config.mjs +1 -1
  133. package/dist/langs/stata.mjs +2 -2
  134. package/dist/langs/stylus.mjs +1 -1
  135. package/dist/langs/svelte.mjs +1 -1
  136. package/dist/langs/swift.mjs +2 -2
  137. package/dist/langs/system-verilog.mjs +1 -1
  138. package/dist/langs/tcl.mjs +1 -1
  139. package/dist/langs/templ.mjs +1 -1
  140. package/dist/langs/terraform.mjs +1 -1
  141. package/dist/langs/tex.mjs +1 -1
  142. package/dist/langs/toml.mjs +1 -16
  143. package/dist/langs/tsx.mjs +1 -23
  144. package/dist/langs/turtle.mjs +1 -1
  145. package/dist/langs/twig.mjs +1 -8
  146. package/dist/langs/typescript.mjs +1 -23
  147. package/dist/langs/typespec.mjs +1 -1
  148. package/dist/langs/typst.mjs +1 -1
  149. package/dist/langs/v.mjs +1 -1
  150. package/dist/langs/vala.mjs +1 -1
  151. package/dist/langs/vb.mjs +1 -1
  152. package/dist/langs/verilog.mjs +1 -1
  153. package/dist/langs/vhdl.mjs +1 -1
  154. package/dist/langs/viml.mjs +1 -1
  155. package/dist/langs/vue-html.mjs +1 -1
  156. package/dist/langs/vue.mjs +1 -1
  157. package/dist/langs/vyper.mjs +1 -156
  158. package/dist/langs/wasm.mjs +1 -1
  159. package/dist/langs/wgsl.mjs +1 -1
  160. package/dist/langs/wikitext.mjs +1 -1
  161. package/dist/langs/wolfram.mjs +1 -1
  162. package/dist/langs/xml.mjs +1 -1
  163. package/dist/langs/yaml.mjs +1 -1
  164. package/dist/langs/zenscript.mjs +1 -1
  165. package/dist/langs/zig.mjs +1 -1
  166. package/dist/themes/plastic.d.mts +1 -0
  167. package/dist/themes/plastic.mjs +333 -0
  168. package/dist/themes.d.mts +1 -1
  169. package/dist/themes.mjs +6 -0
  170. package/package.json +4 -4
@@ -1,4 +1,4 @@
1
- const lang = Object.freeze({ "displayName": "ABAP", "fileTypes": ["abap", "ABAP"], "foldingStartMarker": "/\\*\\*|\\{\\s*$", "foldingStopMarker": "\\*\\*/|^\\s*\\}", "name": "abap", "patterns": [{ "captures": { "1": { "name": "punctuation.definition.comment.abap" } }, "match": "^\\*.*\\n?", "name": "comment.line.full.abap" }, { "captures": { "1": { "name": "punctuation.definition.comment.abap" } }, "match": '".*\\n?', "name": "comment.line.partial.abap" }, { "match": "(?<![^\\s])##.*?(?=([\\.:,\\s]))", "name": "comment.line.pragma.abap" }, { "match": "(?i)(?<=(?:\\s|~|-))(?<=(?:->|=>))([a-z_\\/][a-z_0-9\\/]*)(?=\\s+(?:=|\\+=|-=|\\*=|\\/=|&&=|&=)\\s+)", "name": "variable.other.abap" }, { "match": "\\b[0-9]+(\\b|\\.|,)", "name": "constant.numeric.abap" }, { "match": "(?ix)(^|\\s+)((PUBLIC|PRIVATE|PROTECTED)\\sSECTION)(?=\\s+|:|\\.)", "name": "storage.modifier.class.abap" }, { "begin": "(?<!\\\\)(\\|)(.*?)", "beginCaptures": { "1": { "name": "constant.character.escape.abap" } }, "end": "(?<!\\\\)(\\||(\\\\\\\\\\|))", "endCaptures": { "1": { "name": "constant.character.escape.abap" } }, "name": "string.interpolated.abap", "patterns": [{ "match": "({ )|( })", "name": "constant.character.escape" }, { "match": "(?<={ ).*?(?= })", "name": "variable.other.abap" }, { "match": "\\\\\\|", "name": "constant.character.escape.abap" }] }, { "begin": "'", "end": "'", "name": "string.quoted.single.abap", "patterns": [{ "match": "''", "name": "constant.character.escape.abap" }] }, { "begin": "`", "end": "`", "name": "string.quoted.single.abap", "patterns": [{ "match": "``", "name": "constant.character.escape.abap" }] }, { "begin": "(?i)^\\s*(class)\\s([a-z_\\/][a-z_0-9\\/]*)", "beginCaptures": { "1": { "name": "storage.type.block.abap" }, "2": { "name": "entity.name.type.block.abap" } }, "end": "\\s*\\.\\s*\\n?", "name": "meta.block.begin.implementation.abap", "patterns": [{ "match": "(?ix)(^|\\s+)(definition|implementation|public|inheriting\\s+from|final|deferred|abstract|shared\\s+memory\\s+enabled|(global|local)*\\s*friends|(create\\s+(public|protected|private))|for\\s+behavior\\s+of|for\\s+testing|risk\\s+level\\s+(critical|dangerous|harmless))|duration\\s(short|medium|long)(?=\\s+|\\.)", "name": "storage.modifier.class.abap" }, { "begin": "(?=[A-Za-z_][A-Za-z0-9_]*)", "contentName": "entity.name.type.block.abap", "end": "(?![A-Za-z0-9_])", "patterns": [{ "include": "#generic_names" }] }] }, { "begin": "(?ix)^\\s*(method)\\s(?:([a-z_\\/][a-z_0-9\\/]*)~)?([a-z_\\/][a-z_0-9\\/]*)", "beginCaptures": { "1": { "name": "storage.type.block.abap" }, "2": { "name": "entity.name.type.abap" }, "3": { "name": "entity.name.function.abap" } }, "end": "\\s*\\.\\s*\\n?", "patterns": [{ "match": "(?ix)(?<=^|\\s)(BY\\s+DATABASE(\\s+PROCEDURE|\\s+FUNCTION|\\s+GRAPH\\s+WORKSPACE)|BY\\s+KERNEL\\s+MODULE)(?=\\s+|\\.)", "name": "storage.modifier.method.abap" }, { "match": "(?ix)(?<=^|\\s)(FOR\\s+(HDB|LLANG))(?=\\s+|\\.)", "name": "storage.modifier.method.abap" }, { "match": "(?ix)(?<=\\s)(OPTIONS\\s+(READ-ONLY|DETERMINISTIC|SUPPRESS\\s+SYNTAX\\s+ERRORS))(?=\\s+|\\.)", "name": "storage.modifier.method.abap" }, { "match": "(?ix)(?<=^|\\s)(LANGUAGE\\s+(SQLSCRIPT|SQL|GRAPH))(?=\\s+|\\.)", "name": "storage.modifier.method.abap" }, { "captures": { "1": { "name": "storage.modifier.method.abap" } }, "match": "(?ix)(?<=\\s)(USING)\\s+([a-z_\\/][a-z_0-9\\/=\\>]*)+(?=\\s+|\\.)" }, { "begin": "(?=[A-Za-z_][A-Za-z0-9_]*)", "end": "(?![A-Za-z0-9_])", "patterns": [{ "include": "#generic_names" }] }] }, { "begin": "(?ix)^\\s*(INTERFACE)\\s([a-z_\\/][a-z_0-9\\/]*)", "beginCaptures": { "1": { "name": "storage.type.block.abap" }, "2": { "name": "entity.name.type.abap" } }, "end": "\\s*\\.\\s*\\n?", "patterns": [{ "match": "(?ix)(?<=^|\\s)(DEFERRED|PUBLIC)(?=\\s+|\\.)", "name": "storage.modifier.method.abap" }] }, { "begin": "(?ix)^\\s*(FORM)\\s([a-z_\\/][a-z_0-9\\/\\-\\?]*)", "beginCaptures": { "1": { "name": "storage.type.block.abap" }, "2": { "name": "entity.name.type.abap" } }, "end": "\\s*\\.\\s*\\n?", "patterns": [{ "match": "(?ix)(?<=^|\\s)(USING|TABLES|CHANGING|RAISING|IMPLEMENTATION|DEFINITION)(?=\\s+|\\.)", "name": "storage.modifier.form.abap" }, { "include": "#abaptypes" }, { "include": "#keywords_followed_by_braces" }] }, { "match": "(?i)(endclass|endmethod|endform|endinterface)", "name": "storage.type.block.end.abap" }, { "match": "(?i)(<[A-Za-z_][A-Za-z0-9_]*>)", "name": "variable.other.field.symbol.abap" }, { "include": "#keywords" }, { "include": "#abap_constants" }, { "include": "#reserved_names" }, { "include": "#operators" }, { "include": "#builtin_functions" }, { "include": "#abaptypes" }, { "include": "#system_fields" }, { "include": "#sql_functions" }, { "include": "#sql_types" }], "repository": { "abap_constants": { "match": "(?ix)(?<=\\s)(initial|null|space|abap_true|abap_false|abap_undefined|table_line|\n%_final|%_hints|%_predefined|col_background|col_group|col_heading|col_key|col_negative|col_normal|col_positive|col_total|\nadabas|as400|db2|db6|hdb|oracle|sybase|mssqlnt|pos_low|pos_high)(?=\\s|\\.|,)", "name": "constant.language.abap" }, "abaptypes": { "patterns": [{ "match": "(?ix)\\s(abap_bool|string|xstring|any|clike|csequence|numeric|xsequence|decfloat|decfloat16|decfloat34|utclong|simple|int8|c|n|i|p|f|d|t|x)(?=\\s|\\.|,)", "name": "support.type.abap" }, { "match": "(?ix)\\s(TYPE|REF|TO|LIKE|LINE|OF|STRUCTURE|STANDARD|SORTED|HASHED|INDEX|TABLE|WITH|UNIQUE|NON-UNIQUE|SECONDARY|DEFAULT|KEY)(?=\\s|\\.|,)", "name": "keyword.control.simple.abap" }] }, "arithmetic_operator": { "match": "(?i)(?<=\\s)(\\+|\\-|\\*|\\*\\*|\\/|%|DIV|MOD|BIT-AND|BIT-OR|BIT-XOR|BIT-NOT)(?=\\s)", "name": "keyword.control.simple.abap" }, "builtin_functions": { "match": "(?ix)(?<=\\s)(abs|sign|ceil|floor|trunc|frac|acos|asin|atan|cos|sin|tan|cosh|sinh|tanh|exp|log|log10|sqrt|strlen|xstrlen|charlen|lines|numofchar|dbmaxlen|round|rescale|nmax|nmin|cmax|cmin|boolc|boolx|xsdbool|contains|contains_any_of|contains_any_not_of|matches|line_exists|ipow|char_off|count|count_any_of|count_any_not_of|distance|condense|concat_lines_of|escape|find|find_end|find_any_of|find_any_not_of|insert|match|repeat|replace|reverse|segment|shift_left|shift_right|substring|substring_after|substring_from|substring_before|substring_to|to_upper|to_lower|to_mixed|from_mixed|translate|bit-set|line_index)(?=\\()", "name": "entity.name.function.builtin.abap" }, "comparison_operator": { "match": "(?i)(?<=\\s)(<|>|<\\=|>\\=|\\=|<>|eq|ne|lt|le|gt|ge|cs|cp|co|cn|ca|na|ns|np|byte-co|byte-cn|byte-ca|byte-na|byte-cs|byte-ns|o|z|m)(?=\\s)", "name": "keyword.control.simple.abap" }, "control_keywords": { "match": "(?ix)(^|\\s)(\nat|case|catch|continue|do|elseif|else|endat|endcase|endcatch|enddo|endif|\nendloop|endon|endtry|endwhile|if|loop|on|raise|try|while)(?=\\s|\\.|:)", "name": "keyword.control.flow.abap" }, "generic_names": { "match": "[A-Za-z_][A-Za-z0-9_]*" }, "keywords": { "patterns": [{ "include": "#main_keywords" }, { "include": "#text_symbols" }, { "include": "#control_keywords" }, { "include": "#keywords_followed_by_braces" }] }, "keywords_followed_by_braces": { "captures": { "1": { "name": "keyword.control.simple.abap" }, "2": { "name": "variable.other.abap" } }, "match": "(?ix)\\b(data|value|field-symbol|final|reference|resumable)\\((<?[a-z_\\/][a-z_0-9\\/]*>?)\\)" }, "logical_operator": { "match": "(?i)(?<=\\s)(not|or|and)(?=\\s)", "name": "keyword.control.simple.abap" }, "main_keywords": { "match": "(?ix)(?<=^|\\s)(\nabap-source|\nabstract|\naccept|\naccepting|\naccess|\naccording|\naction|\nactivation|\nactual|\nadd|\nadd-corresponding|\nadjacent|\nalias|\naliases|\nalign|\nall|\nallocate|\nalpha|\namdp|\nanalysis|\nanalyzer|\nappend|\nappending|\napplication|\narchive|\narea|\narithmetic|\nas|\nascending|\nassert|\nassign|\nassigned|\nassigning|\nassociation|\nasynchronous|\nat|\nattributes|\nauthority|\nauthority-check|\nauthorization|\nauto|\nback|\nbackground|\nbackward|\nbadi|\nbase|\nbefore|\nbegin|\nbehavior|\nbetween|\nbinary|\nbit|\nblank|\nblanks|\nblock|\nblocks|\nbound|\nboundaries|\nbounds|\nboxed|\nbreak|\nbreak-point|\nbuffer|\nby|\nbypassing|\nbyte|\nbyte-order|\ncall|\ncalling|\ncast|\ncasting|\ncds|\ncenter|\ncentered|\nchange|\nchanging|\nchannels|\nchar-to-hex|\ncharacter|\ncheck|\ncheckbox|\ncid|\ncircular|\nclass|\nclass-data|\nclass-events|\nclass-method|\nclass-methods|\nclass-pool|\ncleanup|\nclear|\nclient|\nclients|\nclock|\nclone|\nclose|\ncnt|\ncode|\ncollect|\ncolor|\ncolumn|\ncomment|\ncomments|\ncommit|\ncommon|\ncommunication|\ncomparing|\ncomponent|\ncomponents|\ncompression|\ncompute|\nconcatenate|\ncond|\ncondense|\ncondition|\nconnection|\nconstant|\nconstants|\ncontext|\ncontexts|\ncontrol|\ncontrols|\nconv|\nconversion|\nconvert|\ncopy|\ncorresponding|\ncount|\ncountry|\ncover|\ncreate|\ncurrency|\ncurrent|\ncursor|\ncustomer-function|\ndata|\ndatabase|\ndatainfo|\ndataset|\ndate|\ndaylight|\nddl|\ndeallocate|\ndecimals|\ndeclarations|\ndeep|\ndefault|\ndeferred|\ndefine|\ndelete|\ndeleting|\ndemand|\ndescending|\ndescribe|\ndestination|\ndetail|\ndetermine|\ndialog|\ndid|\ndirectory|\ndiscarding|\ndisplay|\ndisplay-mode|\ndistance|\ndistinct|\ndivide|\ndivide-corresponding|\ndummy|\nduplicate|\nduplicates|\nduration|\nduring|\ndynpro|\nedit|\neditor-call|\nempty|\nenabled|\nenabling|\nencoding|\nend|\nend-enhancement-section|\nend-of-definition|\nend-of-page|\nend-of-selection|\nend-test-injection|\nend-test-seam|\nendenhancement|\nendexec|\nendfunction|\nendian|\nending|\nendmodule|\nendprovide|\nendselect|\nendwith|\nengineering|\nenhancement|\nenhancement-point|\nenhancement-section|\nenhancements|\nentities|\nentity|\nentries|\nentry|\nenum|\nenvironment|\nequiv|\nerrors|\nescape|\nescaping|\nevent|\nevents|\nexact|\nexcept|\nexception|\nexception-table|\nexceptions|\nexcluding|\nexec|\nexecute|\nexists|\nexit|\nexit-command|\nexpanding|\nexplicit|\nexponent|\nexport|\nexporting|\nextended|\nextension|\nextract|\nfail|\nfailed|\nfeatures|\nfetch|\nfield|\nfield-groups|\nfield-symbols|\nfields|\nfile|\nfill|\nfilter|\nfilters|\nfinal|\nfind|\nfirst|\nfirst-line|\nfixed-point|\nflush|\nfollowing|\nfor|\nformat|\nforward|\nfound|\nframe|\nframes|\nfree|\nfrom|\nfull|\nfunction|\nfunction-pool|\ngenerate|\nget|\ngiving|\ngraph|\ngroup|\ngroups|\nhandle|\nhandler|\nhashed|\nhaving|\nheader|\nheaders|\nheading|\nhelp-id|\nhelp-request|\nhide|\nhint|\nhold|\nhotspot|\nicon|\nid|\nidentification|\nidentifier|\nignore|\nignoring|\nimmediately|\nimplemented|\nimplicit|\nimport|\nimporting|\nin|\ninactive|\nincl|\ninclude|\nincludes|\nincrement|\nindex|\nindex-line|\nindicators|\ninfotypes|\ninheriting|\ninit|\ninitial|\ninitialization|\ninner|\ninput|\ninsert|\ninstance|\ninstances|\nintensified|\ninterface|\ninterface-pool|\ninterfaces|\ninternal|\nintervals|\ninto|\ninverse|\ninverted-date|\nis|\niso|\njob|\njoin|\nkeep|\nkeeping|\nkernel|\nkey|\nkeys|\nkeywords|\nkind|\nlanguage|\nlast|\nlate|\nlayout|\nleading|\nleave|\nleft|\nleft-justified|\nleftplus|\nleftspace|\nlegacy|\nlength|\nlet|\nlevel|\nlevels|\nlike|\nline|\nline-count|\nline-selection|\nline-size|\nlinefeed|\nlines|\nlink|\nlist|\nlist-processing|\nlistbox|\nload|\nload-of-program|\nlocal|\nlocale|\nlock|\nlocks|\nlog-point|\nlogical|\nlower|\nmapped|\nmapping|\nmargin|\nmark|\nmask|\nmatch|\nmatchcode|\nmaximum|\nmembers|\nmemory|\nmesh|\nmessage|\nmessage-id|\nmessages|\nmessaging|\nmethod|\nmethods|\nmode|\nmodif|\nmodifier|\nmodify|\nmodule|\nmove|\nmove-corresponding|\nmultiply|\nmultiply-corresponding|\nname|\nnametab|\nnative|\nnested|\nnesting|\nnew|\nnew-line|\nnew-page|\nnew-section|\nnext|\nno|\nno-display|\nno-extension|\nno-gap|\nno-gaps|\nno-grouping|\nno-heading|\nno-scrolling|\nno-sign|\nno-title|\nno-zero|\nnodes|\nnon-unicode|\nnon-unique|\nnumber|\nobject|\nobjects|\nobjmgr|\nobligatory|\noccurence|\noccurences|\noccurrence|\noccurrences|\noccurs|\nof|\noffset|\non|\nonly|\nopen|\noptional|\noption|\noptions|\norder|\nothers|\nout|\nouter|\noutput|\noutput-length|\noverflow|\noverlay|\npack|\npackage|\npad|\npadding|\npage|\nparameter|\nparameter-table|\nparameters|\npart|\npartially|\npcre|\nperform|\nperforming|\npermissions|\npf-status|\nplaces|\npool|\nposition|\npragmas|\npreceeding|\nprecompiled|\npreferred|\npreserving|\nprimary|\nprint|\nprint-control|\nprivate|\nprivileged|\nprocedure|\nprogram|\nproperty|\nprotected|\nprovide|\npush|\npushbutton|\nput|\nquery|\nqueue-only|\nqueueonly|\nquickinfo|\nradiobutton|\nraising|\nrange|\nranges|\nread|\nread-only|\nreceive|\nreceived|\nreceiving|\nredefinition|\nreduce|\nref|\nreference|\nrefresh|\nregex|\nreject|\nrenaming|\nreplace|\nreplacement|\nreplacing|\nreport|\nreported|\nrequest|\nrequested|\nrequired|\nreserve|\nreset|\nresolution|\nrespecting|\nresponse|\nrestore|\nresult|\nresults|\nresumable|\nresume|\nretry|\nreturn|\nreturning|\nright|\nright-justified|\nrightplus|\nrightspace|\nrollback|\nrows|\nrp-provide-from-last|\nrun|\nsap|\nsap-spool|\nsave|\nsaving|\nscale_preserving|\nscale_preserving_scientific|\nscan|\nscientific|\nscientific_with_leading_zero|\nscreen|\nscroll|\nscroll-boundary|\nscrolling|\nsearch|\nseconds|\nsection|\nselect|\nselect-options|\nselection|\nselection-screen|\nselection-set|\nselection-sets|\nselection-table|\nselections|\nsend|\nseparate|\nseparated|\nsession|\nset|\nshared|\nshift|\nshortdump|\nshortdump-id|\nsign|\nsign_as_postfix|\nsimple|\nsimulation|\nsingle|\nsize|\nskip|\nskipping|\nsmart|\nsome|\nsort|\nsortable|\nsorted|\nsource|\nspecified|\nsplit|\nspool|\nspots|\nsql|\nstable|\nstamp|\nstandard|\nstart-of-selection|\nstarting|\nstate|\nstatement|\nstatements|\nstatic|\nstatics|\nstatusinfo|\nstep|\nstep-loop|\nstop|\nstructure|\nstructures|\nstyle|\nsubkey|\nsubmatches|\nsubmit|\nsubroutine|\nsubscreen|\nsubstring|\nsubtract|\nsubtract-corresponding|\nsuffix|\nsum|\nsummary|\nsupplied|\nsupply|\nsuppress|\nswitch|\nsymbol|\nsyntax-check|\nsyntax-trace|\nsystem-call|\nsystem-exceptions|\ntab|\ntabbed|\ntable|\ntables|\ntableview|\ntabstrip|\ntarget|\ntask|\ntasks|\ntest|\ntest-injection|\ntest-seam|\ntesting|\ntext|\ntextpool|\nthen|\nthrow|\ntime|\ntimes|\ntimestamp|\ntimezone|\ntitle|\ntitlebar|\nto|\ntokens|\ntop-lines|\ntop-of-page|\ntrace-file|\ntrace-table|\ntrailing|\ntransaction|\ntransfer|\ntransformation|\ntranslate|\ntransporting|\ntrmac|\ntruncate|\ntruncation|\ntype|\ntype-pool|\ntype-pools|\ntypes|\nuline|\nunassign|\nunbounded|\nunder|\nunicode|\nunion|\nunique|\nunit|\nunix|\nunpack|\nuntil|\nunwind|\nup|\nupdate|\nupper|\nuser|\nuser-command|\nusing|\nutf-8|\nuuid|\nvalid|\nvalidate|\nvalue|\nvalue-request|\nvalues|\nvary|\nvarying|\nversion|\nvia|\nvisible|\nwait|\nwhen|\nwhere|\nwidth|\nwindow|\nwindows|\nwith|\nwith-heading|\nwith-title|\nwithout|\nword|\nwork|\nworkspace|\nwrite|\nxml|\nxsd|\nyes|\nzero|\nzone\n)(?=\\s|\\.|:|,)", "name": "keyword.control.simple.abap" }, "operators": { "patterns": [{ "include": "#other_operator" }, { "include": "#arithmetic_operator" }, { "include": "#comparison_operator" }, { "include": "#logical_operator" }] }, "other_operator": { "match": "(?<=\\s)(&&|&|\\?=|\\+=|-=|\\/=|\\*=|&&=|&=)(?=\\s)", "name": "keyword.control.simple.abap" }, "reserved_names": { "match": "(?ix)(?<=\\s)(me|super)(?=\\s|\\.|,|->)", "name": "constant.language.abap" }, "sql_functions": { "match": "(?ix)(?<=\\s)(\nabap_system_timezone|\nabap_user_timezone|\nabs|\nadd_days|\nadd_months|\nallow_precision_loss|\nas_geo_json|\navg|\nbintohex|\ncast|\nceil|\ncoalesce|\nconcat_with_space|\nconcat|\ncorr_spearman|\ncorr|\ncount|\ncurrency_conversion|\ndatn_add_days|\ndatn_add_months|\ndatn_days_between|\ndats_add_days|\ndats_add_months|\ndats_days_between|\ndats_from_datn|\ndats_is_valid|\ndats_tims_to_tstmp|\ndats_to_datn|\ndayname|\ndays_between|\ndense_rank|\ndivision|\ndiv|\nextract_day|\nextract_hour|\nextract_minute|\nextract_month|\nextract_second|\nextract_year|\nfirst_value|\nfloor|\ngrouping|\nhextobin|\ninitcap|\ninstr|\nis_valid|\nlag|\nlast_value|\nlead|\nleft|\nlength|\nlike_regexpr|\nlocate_regexpr_after|\nlocate_regexpr|\nlocate|\nlower|\nlpad|\nltrim|\nmax|\nmedian|\nmin|\nmod|\nmonthname|\nntile|\noccurrences_regexpr|\nover|\nproduct|\nrank|\nreplace_regexpr|\nreplace|\nrigth|\nround|\nrow_number|\nrpad|\nrtrim|\nstddev|\nstring_agg|\nsubstring_regexpr|\nsubstring|\nsum|\ntims_from_timn|\ntims_is_valid|\ntims_to_timn|\nto_blob|\nto_clob|\ntstmp_add_seconds|\ntstmp_current_utctimestamp|\ntstmp_is_valid|\ntstmp_seconds_between|\ntstmp_to_dats|\ntstmp_to_dst|\ntstmp_to_tims|\ntstmpl_from_utcl|\ntstmpl_to_utcl|\nunit_conversion|\nupper|\nutcl_add_seconds|\nutcl_current|\nutcl_seconds_between|\nuuid|\nvar|\nweekday\n)(?=\\()", "name": "entity.name.function.sql.abap" }, "sql_types": { "match": "(?ix)(?<=\\s)(char|clnt|cuky|curr|datn|dats|dec|decfloat16|decfloat34|fltp|int1|int2|int4|int8|lang|numc|quan|raw|sstring|timn|tims|unit|utclong)(?=\\s|\\(|\\))", "name": "entity.name.type.sql.abap" }, "system_fields": { "captures": { "1": { "name": "variable.language.abap" }, "2": { "name": "variable.language.abap" } }, "match": "(?ix)\\b(sy)-(abcde|batch|binpt|calld|callr|colno|cpage|cprog|cucol|curow|datar|datlo|datum|dayst|dbcnt|dbnam|dbsysc|dyngr|dynnr|fdayw|fdpos|host|index|langu|ldbpg|lilli|linct|linno|linsz|lisel|listi|loopc|lsind|macol|mandt|marow|modno|msgid|msgli|msgno|msgty|msgv[1-4]|opsysc|pagno|pfkey|repid|saprl|scols|slset|spono|srows|staco|staro|stepl|subrc|sysid|tabix|tcode|tfill|timlo|title|tleng|tvar[0-9]|tzone|ucomm|uline|uname|uzeit|vline|wtitl|zonlo)(?=\\.|\\s)" }, "text_symbols": { "captures": { "1": { "name": "keyword.control.simple.abap" }, "2": { "name": "constant.numeric.abap" } }, "match": "(?ix)(?<=^|\\s)(text)-([A-Z0-9]{1,3})(?=\\s|\\.|:|,)" } }, "scopeName": "source.abap" });
1
+ const lang = Object.freeze({ "displayName": "ABAP", "fileTypes": ["abap", "ABAP"], "foldingStartMarker": "/\\*\\*|\\{\\s*$", "foldingStopMarker": "\\*\\*/|^\\s*\\}", "name": "abap", "patterns": [{ "captures": { "1": { "name": "punctuation.definition.comment.abap" } }, "match": "^\\*.*\\n?", "name": "comment.line.full.abap" }, { "captures": { "1": { "name": "punctuation.definition.comment.abap" } }, "match": '".*\\n?', "name": "comment.line.partial.abap" }, { "match": "(?<![^\\s])##.*?(?=([\\.:,\\s]))", "name": "comment.line.pragma.abap" }, { "match": "(?i)(?<=(?:\\s|~|-))(?<=(?:->|=>))([a-z_\\/][a-z_0-9\\/]*)(?=\\s+(?:=|\\+=|-=|\\*=|\\/=|&&=|&=)\\s+)", "name": "variable.other.abap" }, { "match": "\\b\\d+(\\b|\\.|,)", "name": "constant.numeric.abap" }, { "match": "(?i)(^|\\s+)((PUBLIC|PRIVATE|PROTECTED)\\sSECTION)(?=\\s+|:|\\.)", "name": "storage.modifier.class.abap" }, { "begin": "(?<!\\\\)(\\|)(.*?)", "beginCaptures": { "1": { "name": "constant.character.escape.abap" } }, "end": "(?<!\\\\)(\\||(\\\\\\\\\\|))", "endCaptures": { "1": { "name": "constant.character.escape.abap" } }, "name": "string.interpolated.abap", "patterns": [{ "match": "({ )|( })", "name": "constant.character.escape" }, { "match": "(?<={ ).*?(?= })", "name": "variable.other.abap" }, { "match": "\\\\\\|", "name": "constant.character.escape.abap" }] }, { "begin": "'", "end": "'", "name": "string.quoted.single.abap", "patterns": [{ "match": "''", "name": "constant.character.escape.abap" }] }, { "begin": "`", "end": "`", "name": "string.quoted.single.abap", "patterns": [{ "match": "``", "name": "constant.character.escape.abap" }] }, { "begin": "(?i)^\\s*(class)\\s([a-z_\\/][a-z_0-9\\/]*)", "beginCaptures": { "1": { "name": "storage.type.block.abap" }, "2": { "name": "entity.name.type.block.abap" } }, "end": "\\s*\\.\\s*\\n?", "name": "meta.block.begin.implementation.abap", "patterns": [{ "match": "(?i)(^|\\s+)(definition|implementation|public|inheriting\\s+from|final|deferred|abstract|shared\\s+memory\\s+enabled|(global|local)*\\s*friends|(create\\s+(public|protected|private))|for\\s+behavior\\s+of|for\\s+testing|risk\\s+level\\s+(critical|dangerous|harmless))|duration\\s(short|medium|long)(?=\\s+|\\.)", "name": "storage.modifier.class.abap" }, { "begin": "(?=[A-Za-z_][A-Za-z0-9_]*)", "contentName": "entity.name.type.block.abap", "end": "(?![A-Za-z0-9_])", "patterns": [{ "include": "#generic_names" }] }] }, { "begin": "(?i)^\\s*(method)\\s(?:([a-z_\\/][a-z_0-9\\/]*)~)?([a-z_\\/][a-z_0-9\\/]*)", "beginCaptures": { "1": { "name": "storage.type.block.abap" }, "2": { "name": "entity.name.type.abap" }, "3": { "name": "entity.name.function.abap" } }, "end": "\\s*\\.\\s*\\n?", "patterns": [{ "match": "(?i)(?<=^|\\s)(BY\\s+DATABASE(\\s+PROCEDURE|\\s+FUNCTION|\\s+GRAPH\\s+WORKSPACE)|BY\\s+KERNEL\\s+MODULE)(?=\\s+|\\.)", "name": "storage.modifier.method.abap" }, { "match": "(?i)(?<=^|\\s)(FOR\\s+(HDB|LLANG))(?=\\s+|\\.)", "name": "storage.modifier.method.abap" }, { "match": "(?i)(?<=\\s)(OPTIONS\\s+(READ-ONLY|DETERMINISTIC|SUPPRESS\\s+SYNTAX\\s+ERRORS))(?=\\s+|\\.)", "name": "storage.modifier.method.abap" }, { "match": "(?i)(?<=^|\\s)(LANGUAGE\\s+(SQLSCRIPT|SQL|GRAPH))(?=\\s+|\\.)", "name": "storage.modifier.method.abap" }, { "captures": { "1": { "name": "storage.modifier.method.abap" } }, "match": "(?i)(?<=\\s)(USING)\\s+([a-z_\\/][a-z_0-9\\/=\\>]*)+(?=\\s+|\\.)" }, { "begin": "(?=[A-Za-z_][A-Za-z0-9_]*)", "end": "(?![A-Za-z0-9_])", "patterns": [{ "include": "#generic_names" }] }] }, { "begin": "(?i)^\\s*(INTERFACE)\\s([a-z_\\/][a-z_0-9\\/]*)", "beginCaptures": { "1": { "name": "storage.type.block.abap" }, "2": { "name": "entity.name.type.abap" } }, "end": "\\s*\\.\\s*\\n?", "patterns": [{ "match": "(?i)(?<=^|\\s)(DEFERRED|PUBLIC)(?=\\s+|\\.)", "name": "storage.modifier.method.abap" }] }, { "begin": "(?i)^\\s*(FORM)\\s([a-z_\\/][a-z_0-9\\/\\-\\?]*)", "beginCaptures": { "1": { "name": "storage.type.block.abap" }, "2": { "name": "entity.name.type.abap" } }, "end": "\\s*\\.\\s*\\n?", "patterns": [{ "match": "(?i)(?<=^|\\s)(USING|TABLES|CHANGING|RAISING|IMPLEMENTATION|DEFINITION)(?=\\s+|\\.)", "name": "storage.modifier.form.abap" }, { "include": "#abaptypes" }, { "include": "#keywords_followed_by_braces" }] }, { "match": "(?i)(endclass|endmethod|endform|endinterface)", "name": "storage.type.block.end.abap" }, { "match": "(?i)(<[A-Za-z_][A-Za-z0-9_]*>)", "name": "variable.other.field.symbol.abap" }, { "include": "#keywords" }, { "include": "#abap_constants" }, { "include": "#reserved_names" }, { "include": "#operators" }, { "include": "#builtin_functions" }, { "include": "#abaptypes" }, { "include": "#system_fields" }, { "include": "#sql_functions" }, { "include": "#sql_types" }], "repository": { "abap_constants": { "match": "(?i)(?<=\\s)(initial|null|space|abap_true|abap_false|abap_undefined|table_line|%_final|%_hints|%_predefined|col_background|col_group|col_heading|col_key|col_negative|col_normal|col_positive|col_total|adabas|as400|db2|db6|hdb|oracle|sybase|mssqlnt|pos_low|pos_high)(?=\\s|\\.|,)", "name": "constant.language.abap" }, "abaptypes": { "patterns": [{ "match": "(?i)\\s(abap_bool|string|xstring|any|clike|csequence|numeric|xsequence|decfloat|decfloat16|decfloat34|utclong|simple|int8|c|n|i|p|f|d|t|x)(?=\\s|\\.|,)", "name": "support.type.abap" }, { "match": "(?i)\\s(TYPE|REF|TO|LIKE|LINE|OF|STRUCTURE|STANDARD|SORTED|HASHED|INDEX|TABLE|WITH|UNIQUE|NON-UNIQUE|SECONDARY|DEFAULT|KEY)(?=\\s|\\.|,)", "name": "keyword.control.simple.abap" }] }, "arithmetic_operator": { "match": "(?i)(?<=\\s)(\\+|\\-|\\*|\\*\\*|\\/|%|DIV|MOD|BIT-AND|BIT-OR|BIT-XOR|BIT-NOT)(?=\\s)", "name": "keyword.control.simple.abap" }, "builtin_functions": { "match": "(?i)(?<=\\s)(abs|sign|ceil|floor|trunc|frac|acos|asin|atan|cos|sin|tan|cosh|sinh|tanh|exp|log|log10|sqrt|strlen|xstrlen|charlen|lines|numofchar|dbmaxlen|round|rescale|nmax|nmin|cmax|cmin|boolc|boolx|xsdbool|contains|contains_any_of|contains_any_not_of|matches|line_exists|ipow|char_off|count|count_any_of|count_any_not_of|distance|condense|concat_lines_of|escape|find|find_end|find_any_of|find_any_not_of|insert|match|repeat|replace|reverse|segment|shift_left|shift_right|substring|substring_after|substring_from|substring_before|substring_to|to_upper|to_lower|to_mixed|from_mixed|translate|bit-set|line_index)(?=\\()", "name": "entity.name.function.builtin.abap" }, "comparison_operator": { "match": "(?i)(?<=\\s)(<|>|<\\=|>\\=|\\=|<>|eq|ne|lt|le|gt|ge|cs|cp|co|cn|ca|na|ns|np|byte-co|byte-cn|byte-ca|byte-na|byte-cs|byte-ns|o|z|m)(?=\\s)", "name": "keyword.control.simple.abap" }, "control_keywords": { "match": "(?i)(^|\\s)(at|case|catch|continue|do|elseif|else|endat|endcase|endcatch|enddo|endif|endloop|endon|endtry|endwhile|if|loop|on|raise|try|while)(?=\\s|\\.|:)", "name": "keyword.control.flow.abap" }, "generic_names": { "match": "[A-Za-z_][A-Za-z0-9_]*" }, "keywords": { "patterns": [{ "include": "#main_keywords" }, { "include": "#text_symbols" }, { "include": "#control_keywords" }, { "include": "#keywords_followed_by_braces" }] }, "keywords_followed_by_braces": { "captures": { "1": { "name": "keyword.control.simple.abap" }, "2": { "name": "variable.other.abap" } }, "match": "(?i)\\b(data|value|field-symbol|final|reference|resumable)\\((<?[a-z_\\/][a-z_0-9\\/]*>?)\\)" }, "logical_operator": { "match": "(?i)(?<=\\s)(not|or|and)(?=\\s)", "name": "keyword.control.simple.abap" }, "main_keywords": { "match": "(?i)(?<=^|\\s)(abap-source|abstract|accept|accepting|access|according|action|activation|actual|add|add-corresponding|adjacent|alias|aliases|align|all|allocate|alpha|amdp|analysis|analyzer|append|appending|application|archive|area|arithmetic|as|ascending|assert|assign|assigned|assigning|association|asynchronous|at|attributes|authority|authority-check|authorization|auto|back|background|backward|badi|base|before|begin|behavior|between|binary|bit|blank|blanks|block|blocks|bound|boundaries|bounds|boxed|break|break-point|buffer|by|bypassing|byte|byte-order|call|calling|cast|casting|cds|center|centered|change|changing|channels|char-to-hex|character|check|checkbox|cid|circular|class|class-data|class-events|class-method|class-methods|class-pool|cleanup|clear|client|clients|clock|clone|close|cnt|code|collect|color|column|comment|comments|commit|common|communication|comparing|component|components|compression|compute|concatenate|cond|condense|condition|connection|constant|constants|context|contexts|control|controls|conv|conversion|convert|copy|corresponding|count|country|cover|create|currency|current|cursor|customer-function|data|database|datainfo|dataset|date|daylight|ddl|deallocate|decimals|declarations|deep|default|deferred|define|delete|deleting|demand|descending|describe|destination|detail|determine|dialog|did|directory|discarding|display|display-mode|distance|distinct|divide|divide-corresponding|dummy|duplicate|duplicates|duration|during|dynpro|edit|editor-call|empty|enabled|enabling|encoding|end|end-enhancement-section|end-of-definition|end-of-page|end-of-selection|end-test-injection|end-test-seam|endenhancement|endexec|endfunction|endian|ending|endmodule|endprovide|endselect|endwith|engineering|enhancement|enhancement-point|enhancement-section|enhancements|entities|entity|entries|entry|enum|environment|equiv|errors|escape|escaping|event|events|exact|except|exception|exception-table|exceptions|excluding|exec|execute|exists|exit|exit-command|expanding|explicit|exponent|export|exporting|extended|extension|extract|fail|failed|features|fetch|field|field-groups|field-symbols|fields|file|fill|filter|filters|final|find|first|first-line|fixed-point|flush|following|for|format|forward|found|frame|frames|free|from|full|function|function-pool|generate|get|giving|graph|group|groups|handle|handler|hashed|having|header|headers|heading|help-id|help-request|hide|hint|hold|hotspot|icon|id|identification|identifier|ignore|ignoring|immediately|implemented|implicit|import|importing|in|inactive|incl|include|includes|increment|index|index-line|indicators|infotypes|inheriting|init|initial|initialization|inner|input|insert|instance|instances|intensified|interface|interface-pool|interfaces|internal|intervals|into|inverse|inverted-date|is|iso|job|join|keep|keeping|kernel|key|keys|keywords|kind|language|last|late|layout|leading|leave|left|left-justified|leftplus|leftspace|legacy|length|let|level|levels|like|line|line-count|line-selection|line-size|linefeed|lines|link|list|list-processing|listbox|load|load-of-program|local|locale|lock|locks|log-point|logical|lower|mapped|mapping|margin|mark|mask|match|matchcode|maximum|members|memory|mesh|message|message-id|messages|messaging|method|methods|mode|modif|modifier|modify|module|move|move-corresponding|multiply|multiply-corresponding|name|nametab|native|nested|nesting|new|new-line|new-page|new-section|next|no|no-display|no-extension|no-gap|no-gaps|no-grouping|no-heading|no-scrolling|no-sign|no-title|no-zero|nodes|non-unicode|non-unique|number|object|objects|objmgr|obligatory|occurence|occurences|occurrence|occurrences|occurs|of|offset|on|only|open|optional|option|options|order|others|out|outer|output|output-length|overflow|overlay|pack|package|pad|padding|page|parameter|parameter-table|parameters|part|partially|pcre|perform|performing|permissions|pf-status|places|pool|position|pragmas|preceeding|precompiled|preferred|preserving|primary|print|print-control|private|privileged|procedure|program|property|protected|provide|push|pushbutton|put|query|queue-only|queueonly|quickinfo|radiobutton|raising|range|ranges|read|read-only|receive|received|receiving|redefinition|reduce|ref|reference|refresh|regex|reject|renaming|replace|replacement|replacing|report|reported|request|requested|required|reserve|reset|resolution|respecting|response|restore|result|results|resumable|resume|retry|return|returning|right|right-justified|rightplus|rightspace|rollback|rows|rp-provide-from-last|run|sap|sap-spool|save|saving|scale_preserving|scale_preserving_scientific|scan|scientific|scientific_with_leading_zero|screen|scroll|scroll-boundary|scrolling|search|seconds|section|select|select-options|selection|selection-screen|selection-set|selection-sets|selection-table|selections|send|separate|separated|session|set|shared|shift|shortdump|shortdump-id|sign|sign_as_postfix|simple|simulation|single|size|skip|skipping|smart|some|sort|sortable|sorted|source|specified|split|spool|spots|sql|stable|stamp|standard|start-of-selection|starting|state|statement|statements|static|statics|statusinfo|step|step-loop|stop|structure|structures|style|subkey|submatches|submit|subroutine|subscreen|substring|subtract|subtract-corresponding|suffix|sum|summary|supplied|supply|suppress|switch|symbol|syntax-check|syntax-trace|system-call|system-exceptions|tab|tabbed|table|tables|tableview|tabstrip|target|task|tasks|test|test-injection|test-seam|testing|text|textpool|then|throw|time|times|timestamp|timezone|title|titlebar|to|tokens|top-lines|top-of-page|trace-file|trace-table|trailing|transaction|transfer|transformation|translate|transporting|trmac|truncate|truncation|type|type-pool|type-pools|types|uline|unassign|unbounded|under|unicode|union|unique|unit|unix|unpack|until|unwind|up|update|upper|user|user-command|using|utf-8|uuid|valid|validate|value|value-request|values|vary|varying|version|via|visible|wait|when|where|width|window|windows|with|with-heading|with-title|without|word|work|workspace|write|xml|xsd|yes|zero|zone)(?=\\s|\\.|:|,)", "name": "keyword.control.simple.abap" }, "operators": { "patterns": [{ "include": "#other_operator" }, { "include": "#arithmetic_operator" }, { "include": "#comparison_operator" }, { "include": "#logical_operator" }] }, "other_operator": { "match": "(?<=\\s)(&&|&|\\?=|\\+=|-=|\\/=|\\*=|&&=|&=)(?=\\s)", "name": "keyword.control.simple.abap" }, "reserved_names": { "match": "(?i)(?<=\\s)(me|super)(?=\\s|\\.|,|->)", "name": "constant.language.abap" }, "sql_functions": { "match": "(?i)(?<=\\s)(abap_system_timezone|abap_user_timezone|abs|add_days|add_months|allow_precision_loss|as_geo_json|avg|bintohex|cast|ceil|coalesce|concat_with_space|concat|corr_spearman|corr|count|currency_conversion|datn_add_days|datn_add_months|datn_days_between|dats_add_days|dats_add_months|dats_days_between|dats_from_datn|dats_is_valid|dats_tims_to_tstmp|dats_to_datn|dayname|days_between|dense_rank|division|div|extract_day|extract_hour|extract_minute|extract_month|extract_second|extract_year|first_value|floor|grouping|hextobin|initcap|instr|is_valid|lag|last_value|lead|left|length|like_regexpr|locate_regexpr_after|locate_regexpr|locate|lower|lpad|ltrim|max|median|min|mod|monthname|ntile|occurrences_regexpr|over|product|rank|replace_regexpr|replace|rigth|round|row_number|rpad|rtrim|stddev|string_agg|substring_regexpr|substring|sum|tims_from_timn|tims_is_valid|tims_to_timn|to_blob|to_clob|tstmp_add_seconds|tstmp_current_utctimestamp|tstmp_is_valid|tstmp_seconds_between|tstmp_to_dats|tstmp_to_dst|tstmp_to_tims|tstmpl_from_utcl|tstmpl_to_utcl|unit_conversion|upper|utcl_add_seconds|utcl_current|utcl_seconds_between|uuid|var|weekday)(?=\\()", "name": "entity.name.function.sql.abap" }, "sql_types": { "match": "(?i)(?<=\\s)(char|clnt|cuky|curr|datn|dats|dec|decfloat16|decfloat34|fltp|int1|int2|int4|int8|lang|numc|quan|raw|sstring|timn|tims|unit|utclong)(?=\\s|\\(|\\))", "name": "entity.name.type.sql.abap" }, "system_fields": { "captures": { "1": { "name": "variable.language.abap" }, "2": { "name": "variable.language.abap" } }, "match": "(?i)\\b(sy)-(abcde|batch|binpt|calld|callr|colno|cpage|cprog|cucol|curow|datar|datlo|datum|dayst|dbcnt|dbnam|dbsysc|dyngr|dynnr|fdayw|fdpos|host|index|langu|ldbpg|lilli|linct|linno|linsz|lisel|listi|loopc|lsind|macol|mandt|marow|modno|msgid|msgli|msgno|msgty|msgv[1-4]|opsysc|pagno|pfkey|repid|saprl|scols|slset|spono|srows|staco|staro|stepl|subrc|sysid|tabix|tcode|tfill|timlo|title|tleng|tvar\\d|tzone|ucomm|uline|uname|uzeit|vline|wtitl|zonlo)(?=\\.|\\s)" }, "text_symbols": { "captures": { "1": { "name": "keyword.control.simple.abap" }, "2": { "name": "constant.numeric.abap" } }, "match": "(?i)(?<=^|\\s)(text)-([A-Z0-9]{1,3})(?=\\s|\\.|:|,)" } }, "scopeName": "source.abap" });
2
2
  var abap = [
3
3
  lang
4
4
  ];
@@ -1,4 +1,4 @@
1
- const lang = Object.freeze({ "displayName": "ActionScript", "fileTypes": ["as"], "name": "actionscript-3", "patterns": [{ "include": "#comments" }, { "include": "#package" }, { "include": "#class" }, { "include": "#interface" }, { "include": "#namespace_declaration" }, { "include": "#import" }, { "include": "#mxml" }, { "include": "#strings" }, { "include": "#regexp" }, { "include": "#variable_declaration" }, { "include": "#numbers" }, { "include": "#primitive_types" }, { "include": "#primitive_error_types" }, { "include": "#dynamic_type" }, { "include": "#primitive_functions" }, { "include": "#language_constants" }, { "include": "#language_variables" }, { "include": "#guess_type" }, { "include": "#guess_constant" }, { "include": "#other_operators" }, { "include": "#arithmetic_operators" }, { "include": "#logical_operators" }, { "include": "#array_access_operators" }, { "include": "#vector_creation_operators" }, { "include": "#control_keywords" }, { "include": "#other_keywords" }, { "include": "#use_namespace" }, { "include": "#functions" }], "repository": { "arithmetic_operators": { "match": "(\\+|\\-|/|%|(?<!:)\\*)", "name": "keyword.operator.actionscript.3" }, "array_access_operators": { "match": "(\\[|\\])", "name": "keyword.operator.actionscript.3" }, "class": { "begin": "(?x) (^|\\s+|;) (\\b(dynamic|final|abstract)\\b\\s+)? (\\b(internal|public)\\b\\s+)? (\\b(dynamic|final|abstract)\\b\\s+)? (?=\\bclass\\b)", "beginCaptures": { "3": { "name": "storage.modifier.actionscript.3" }, "5": { "name": "storage.modifier.actionscript.3" }, "7": { "name": "storage.modifier.actionscript.3" } }, "end": "\\}", "name": "meta.class.actionscript.3", "patterns": [{ "include": "#class_declaration" }, { "include": "#metadata" }, { "include": "#method" }, { "include": "#comments" }, { "include": "#strings" }, { "include": "#regexp" }, { "include": "#numbers" }, { "include": "#primitive_types" }, { "include": "#primitive_error_types" }, { "include": "#dynamic_type" }, { "include": "#primitive_functions" }, { "include": "#language_constants" }, { "include": "#language_variables" }, { "include": "#other_operators" }, { "include": "#other_keywords" }, { "include": "#use_namespace" }, { "include": "#guess_type" }, { "include": "#guess_constant" }, { "include": "#arithmetic_operators" }, { "include": "#array_access_operators" }, { "include": "#vector_creation_operators" }, { "include": "#variable_declaration" }, { "include": "#object_literal" }] }, "class_declaration": { "begin": "(?x) \\b(class)\\b \\s+ ([\\.\\w]+|\\*)", "beginCaptures": { "1": { "name": "storage.type.class.actionscript.3" }, "2": { "name": "entity.name.class.actionscript.3" } }, "end": "\\{", "name": "meta.class_declaration.actionscript.3", "patterns": [{ "include": "#extends" }, { "include": "#implements" }, { "include": "#comments" }] }, "code_block": { "begin": "\\{", "end": "\\}", "name": "meta.code_block.actionscript.3", "patterns": [{ "include": "#code_block" }, { "include": "#comments" }, { "include": "#strings" }, { "include": "#regexp" }, { "include": "#variable_declaration" }, { "include": "#numbers" }, { "include": "#primitive_types" }, { "include": "#primitive_error_types" }, { "include": "#dynamic_type" }, { "include": "#primitive_functions" }, { "include": "#language_constants" }, { "include": "#language_variables" }, { "include": "#guess_type" }, { "include": "#guess_constant" }, { "include": "#other_operators" }, { "include": "#arithmetic_operators" }, { "include": "#logical_operators" }, { "include": "#array_access_operators" }, { "include": "#vector_creation_operators" }, { "include": "#control_keywords" }, { "include": "#other_keywords" }, { "include": "#use_namespace" }, { "include": "#functions" }, { "include": "#import" }] }, "comments": { "patterns": [{ "begin": "/\\*\\*(?!/)", "end": "\\*/", "name": "comment.block.documentation.actionscript.3", "patterns": [{ "match": "@(copy|default|eventType|example|exampleText|includeExample|inheritDoc|internal|param|private|return|see|since|throws)\\b", "name": "keyword.other.documentation.actionscript.3.asdoc" }] }, { "begin": "/\\*", "end": "\\*/", "name": "comment.block.actionscript.3" }, { "match": "//.*", "name": "comment.line.actionscript.3" }] }, "control_keywords": { "match": "\\b(if|else|do|while|for|each|continue|return|switch|case|default|break|try|catch|finally|throw|with)\\b", "name": "keyword.control.actionscript.3" }, "dynamic_type": { "captures": { "1": { "name": "support.type.actionscript.3" } }, "match": "(?<=:)\\s*(\\*)" }, "escapes": { "match": "\\\\(x\\h{2}|[0-2][0-7]{,2}|3[0-6][0-7]|37[0-7]?|[4-7][0-7]?|.)", "name": "constant.character.escape.actionscript.3" }, "extends": { "captures": { "1": { "name": "keyword.other.actionscript.3" }, "2": { "name": "entity.other.inherited-class.actionscript.3" }, "3": { "name": "entity.other.inherited-class.actionscript.3" } }, "match": "(?x) \\b(extends)\\b \\s+ ([\\.\\w]+) \\s* (?:, \\s* ([\\.\\w]+))* \\s*", "name": "meta.extends.actionscript.3" }, "function_arguments": { "begin": "\\(", "end": "\\)", "name": "meta.function_arguments.actionscript.3", "patterns": [{ "include": "#parameters" }, { "include": "#comments" }] }, "functions": { "begin": "(?x) \\b(function)\\b (?:\\s+\\b(get|set)\\b\\s+)? \\s* ([a-zA-Z0-9_\\$]+\\b)?", "beginCaptures": { "1": { "name": "storage.type.function.actionscript.3" }, "2": { "name": "storage.modifier.actionscript.3" }, "3": { "name": "entity.name.function.actionscript.3" } }, "end": "($|;|(?=\\{))", "name": "meta.function.actionscript.3", "patterns": [{ "include": "#function_arguments" }, { "include": "#return_type" }, { "include": "#comments" }] }, "guess_constant": { "captures": { "1": { "name": "constant.other.actionscript.3" } }, "comment": "Following convention, let's guess that anything in all caps/digits (possible underscores) is a constant.", "match": "\\b([A-Z\\$][A-Z0-9_]+)\\b" }, "guess_type": { "captures": { "1": { "name": "support.type.actionscript.3" } }, "comment": "Following convention, let's guess that any word starting with one or more capital letters (that contains at least some lower-case letters so that constants aren't detected) refers to a class/type. May be fully-qualified.", "match": "\\b((?:[A-Za-z0-9_\\$]+\\.)*[A-Z][A-Z0-9]*[a-z]+[A-Za-z0-9_\\$]*)\\b" }, "implements": { "captures": { "1": { "name": "keyword.other.actionscript.3" }, "2": { "name": "entity.other.inherited-class.actionscript.3" }, "3": { "name": "entity.other.inherited-class.actionscript.3" } }, "match": "(?x) \\b(implements)\\b \\s+ ([\\.\\w]+) \\s* (?:, \\s* ([\\.\\w]+))* \\s*", "name": "meta.implements.actionscript.3" }, "import": { "captures": { "2": { "name": "keyword.control.import.actionscript.3" }, "3": { "name": "support.type.actionscript.3" } }, "match": "(?x) (^|\\s+|;) \\b(import)\\b \\s+ ([A-Za-z0-9\\$_\\.]+(?:\\.\\*)?) \\s* (?=;|$)", "name": "meta.import.actionscript.3" }, "interface": { "begin": "(?x) (^|\\s+|;) (\\b(internal|public)\\b\\s+)? (?=\\binterface\\b)", "beginCaptures": { "3": { "name": "storage.modifier.actionscript.3" } }, "end": "\\}", "name": "meta.interface.actionscript.3", "patterns": [{ "include": "#interface_declaration" }, { "include": "#metadata" }, { "include": "#functions" }, { "include": "#comments" }] }, "interface_declaration": { "begin": "(?x) \\b(interface)\\b \\s+ ([\\.\\w]+)", "beginCaptures": { "1": { "name": "storage.type.interface.actionscript.3" }, "2": { "name": "entity.name.class.actionscript.3" } }, "end": "\\{", "name": "meta.class_declaration.actionscript.3", "patterns": [{ "include": "#extends" }, { "include": "#comments" }] }, "language_constants": { "match": "\\b(true|false|null|Infinity|-Infinity|NaN|undefined)\\b", "name": "constant.language.actionscript.3" }, "language_variables": { "match": "\\b(super|this|arguments)\\b", "name": "variable.language.actionscript.3" }, "logical_operators": { "match": "(&|<|~|\\||>|\\^|!|\\?)", "name": "keyword.operator.actionscript.3" }, "metadata": { "begin": "\\[\\s*\\b(\\w+)\\b", "beginCaptures": { "1": { "name": "keyword.other.actionscript.3" } }, "end": "\\]", "name": "meta.metadata_info.actionscript.3", "patterns": [{ "include": "#metadata_info" }] }, "metadata_info": { "begin": "\\(", "end": "\\)", "patterns": [{ "include": "#strings" }, { "captures": { "1": { "name": "variable.parameter.actionscript.3" }, "2": { "name": "keyword.operator.actionscript.3" } }, "match": "(\\w+)\\s*(=)" }] }, "method": { "begin": "(?x) (^|\\s+) ((\\w+)\\s+)? ((\\w+)\\s+)? ((\\w+)\\s+)? ((\\w+)\\s+)? (?=\\bfunction\\b)", "beginCaptures": { "3": { "name": "storage.modifier.actionscript.3" }, "5": { "name": "storage.modifier.actionscript.3" }, "7": { "name": "storage.modifier.actionscript.3" }, "8": { "name": "storage.modifier.actionscript.3" } }, "end": "(?<=(;|\\}))", "name": "meta.method.actionscript.3", "patterns": [{ "include": "#functions" }, { "include": "#code_block" }] }, "mxml": { "begin": "<!\\[CDATA\\[", "end": "\\]\\]>", "name": "meta.cdata.actionscript.3", "patterns": [{ "include": "#comments" }, { "include": "#import" }, { "include": "#metadata" }, { "include": "#class" }, { "include": "#namespace_declaration" }, { "include": "#use_namespace" }, { "include": "#class_declaration" }, { "include": "#method" }, { "include": "#comments" }, { "include": "#strings" }, { "include": "#regexp" }, { "include": "#numbers" }, { "include": "#primitive_types" }, { "include": "#primitive_error_types" }, { "include": "#dynamic_type" }, { "include": "#primitive_functions" }, { "include": "#language_constants" }, { "include": "#language_variables" }, { "include": "#other_keywords" }, { "include": "#guess_type" }, { "include": "#guess_constant" }, { "include": "#other_operators" }, { "include": "#arithmetic_operators" }, { "include": "#array_access_operators" }, { "include": "#vector_creation_operators" }, { "include": "#variable_declaration" }] }, "namespace_declaration": { "captures": { "2": { "name": "storage.modifier.actionscript.3" }, "3": { "name": "storage.modifier.actionscript.3" } }, "match": "(?x) ((\\w+)\\s+)? (namespace) \\s+ (?:[A-Za-z0-9_\\$]+)", "name": "meta.namespace_declaration.actionscript.3" }, "numbers": { "match": "\\b((0(x|X)[0-9a-fA-F]*)|(([0-9]+\\.?[0-9]*)|(\\.[0-9]+))((e|E)(\\+|-)?[0-9]+)?)(L|l|UL|ul|u|U|F|f)?\\b", "name": "constant.numeric.actionscript.3" }, "object_literal": { "begin": "\\{", "end": "\\}", "name": "meta.object_literal.actionscript.3", "patterns": [{ "include": "#object_literal" }, { "include": "#comments" }, { "include": "#strings" }, { "include": "#regexp" }, { "include": "#numbers" }, { "include": "#primitive_types" }, { "include": "#primitive_error_types" }, { "include": "#dynamic_type" }, { "include": "#primitive_functions" }, { "include": "#language_constants" }, { "include": "#language_variables" }, { "include": "#guess_type" }, { "include": "#guess_constant" }, { "include": "#array_access_operators" }, { "include": "#vector_creation_operators" }, { "include": "#functions" }] }, "other_keywords": { "match": "\\b(as|delete|in|instanceof|is|native|new|to|typeof)\\b", "name": "keyword.other.actionscript.3" }, "other_operators": { "match": "(\\.|=)", "name": "keyword.operator.actionscript.3" }, "package": { "begin": "(^|\\s+)(package)\\b", "beginCaptures": { "2": { "name": "keyword.other.actionscript.3" } }, "end": "\\}", "name": "meta.package.actionscript.3", "patterns": [{ "include": "#package_name" }, { "include": "#variable_declaration" }, { "include": "#method" }, { "include": "#comments" }, { "include": "#return_type" }, { "include": "#import" }, { "include": "#use_namespace" }, { "include": "#strings" }, { "include": "#numbers" }, { "include": "#language_constants" }, { "include": "#metadata" }, { "include": "#class" }, { "include": "#interface" }, { "include": "#namespace_declaration" }] }, "package_name": { "begin": "(?<=package)\\s+([\\w\\._]*)\\b", "end": "\\{", "name": "meta.package_name.actionscript.3" }, "parameters": { "begin": "(\\.\\.\\.)?\\s*([A-Za-z\\_\\$][A-Za-z0-9_\\$]*)(?:\\s*(\\:)\\s*(?:(?:([A-Za-z\\$][A-Za-z0-9_\\$]+(?:\\.[A-Za-z\\$][A-Za-z0-9_\\$]+)*)(?:\\.<([A-Za-z\\$][A-Za-z0-9_\\$]+(?:\\.[A-Za-z\\$][A-Za-z0-9_\\$]+)*)>)?)|(\\*)))?(?:\\s*(=))?", "beginCaptures": { "1": { "name": "keyword.operator.actionscript.3" }, "2": { "name": "variable.parameter.actionscript.3" }, "3": { "name": "keyword.operator.actionscript.3" }, "4": { "name": "support.type.actionscript.3" }, "5": { "name": "support.type.actionscript.3" }, "6": { "name": "support.type.actionscript.3" }, "7": { "name": "keyword.operator.actionscript.3" } }, "end": ",|(?=\\))", "patterns": [{ "include": "#strings" }, { "include": "#numbers" }, { "include": "#language_constants" }, { "include": "#comments" }, { "include": "#primitive_types" }, { "include": "#primitive_error_types" }, { "include": "#dynamic_type" }, { "include": "#guess_type" }, { "include": "#guess_constant" }] }, "primitive_error_types": { "captures": { "1": { "name": "support.class.error.actionscript.3" } }, "match": "\\b((Argument|Definition|Eval|Internal|Range|Reference|Security|Syntax|Type|URI|Verify)?Error)\\b" }, "primitive_functions": { "captures": { "1": { "name": "support.function.actionscript.3" } }, "match": "\\b(decodeURI|decodeURIComponent|encodeURI|encodeURIComponent|escape|isFinite|isNaN|isXMLName|parseFloat|parseInt|trace|unescape)(?=\\s*\\()" }, "primitive_types": { "captures": { "1": { "name": "support.class.builtin.actionscript.3" } }, "match": "\\b(Array|Boolean|Class|Date|Function|int|JSON|Math|Namespace|Number|Object|QName|RegExp|String|uint|Vector|XML|XMLList|\\*(?<=a))\\b" }, "regexp": { "begin": "(?<=[=(:,\\[]|^|return|&&|\\|\\||!)\\s*(/)(?![/*+{}?])", "end": "$|(/)[igm]*", "name": "string.regex.actionscript.3", "patterns": [{ "match": "\\\\.", "name": "constant.character.escape.actionscript.3" }, { "match": "\\[(\\\\\\]|[^\\]])*\\]", "name": "constant.character.class.actionscript.3" }] }, "return_type": { "captures": { "1": { "name": "keyword.operator.actionscript.3" }, "2": { "name": "support.type.actionscript.3" }, "3": { "name": "support.type.actionscript.3" }, "4": { "name": "support.type.actionscript.3" } }, "match": "(\\:)\\s*(?:([A-Za-z\\$][A-Za-z0-9_\\$]+(?:\\.[A-Za-z\\$][A-Za-z0-9_\\$]+)*)(?:\\.<([A-Za-z\\$][A-Za-z0-9_\\$]+(?:\\.[A-Za-z\\$][A-Za-z0-9_\\$]+)*)>)?)|(\\*)" }, "strings": { "patterns": [{ "begin": '@"', "end": '"', "name": "string.quoted.verbatim.actionscript.3" }, { "begin": '"', "end": '"', "name": "string.quoted.double.actionscript.3", "patterns": [{ "include": "#escapes" }] }, { "begin": "'", "end": "'", "name": "string.quoted.single.actionscript.3", "patterns": [{ "include": "#escapes" }] }] }, "use_namespace": { "captures": { "2": { "name": "keyword.other.actionscript.3" }, "3": { "name": "keyword.other.actionscript.3" }, "4": { "name": "storage.modifier.actionscript.3" } }, "match": "(?x) (^|\\s+|;) (use\\s+)? (namespace) \\s+ (\\w+) \\s* (;|$)" }, "variable_declaration": { "captures": { "2": { "name": "storage.modifier.actionscript.3" }, "4": { "name": "storage.modifier.actionscript.3" }, "6": { "name": "storage.modifier.actionscript.3" }, "7": { "name": "storage.modifier.actionscript.3" }, "8": { "name": "keyword.operator.actionscript.3" } }, "match": "(?x) ((static)\\s+)? ((\\w+)\\s+)? ((static)\\s+)? (const|var) \\s+ (?:[A-Za-z0-9_\\$]+)(?:\\s*(:))?", "name": "meta.variable_declaration.actionscript.3" }, "vector_creation_operators": { "match": "(<|>)", "name": "keyword.operator.actionscript.3" } }, "scopeName": "source.actionscript.3" });
1
+ const lang = Object.freeze({ "displayName": "ActionScript", "fileTypes": ["as"], "name": "actionscript-3", "patterns": [{ "include": "#comments" }, { "include": "#package" }, { "include": "#class" }, { "include": "#interface" }, { "include": "#namespace_declaration" }, { "include": "#import" }, { "include": "#mxml" }, { "include": "#strings" }, { "include": "#regexp" }, { "include": "#variable_declaration" }, { "include": "#numbers" }, { "include": "#primitive_types" }, { "include": "#primitive_error_types" }, { "include": "#dynamic_type" }, { "include": "#primitive_functions" }, { "include": "#language_constants" }, { "include": "#language_variables" }, { "include": "#guess_type" }, { "include": "#guess_constant" }, { "include": "#other_operators" }, { "include": "#arithmetic_operators" }, { "include": "#logical_operators" }, { "include": "#array_access_operators" }, { "include": "#vector_creation_operators" }, { "include": "#control_keywords" }, { "include": "#other_keywords" }, { "include": "#use_namespace" }, { "include": "#functions" }], "repository": { "arithmetic_operators": { "match": "(\\+|\\-|/|%|(?<!:)\\*)", "name": "keyword.operator.actionscript.3" }, "array_access_operators": { "match": "(\\[|\\])", "name": "keyword.operator.actionscript.3" }, "class": { "begin": "(^|\\s+|;)(\\b(dynamic|final|abstract)\\b\\s+)?(\\b(internal|public)\\b\\s+)?(\\b(dynamic|final|abstract)\\b\\s+)?(?=\\bclass\\b)", "beginCaptures": { "3": { "name": "storage.modifier.actionscript.3" }, "5": { "name": "storage.modifier.actionscript.3" }, "7": { "name": "storage.modifier.actionscript.3" } }, "end": "\\}", "name": "meta.class.actionscript.3", "patterns": [{ "include": "#class_declaration" }, { "include": "#metadata" }, { "include": "#method" }, { "include": "#comments" }, { "include": "#strings" }, { "include": "#regexp" }, { "include": "#numbers" }, { "include": "#primitive_types" }, { "include": "#primitive_error_types" }, { "include": "#dynamic_type" }, { "include": "#primitive_functions" }, { "include": "#language_constants" }, { "include": "#language_variables" }, { "include": "#other_operators" }, { "include": "#other_keywords" }, { "include": "#use_namespace" }, { "include": "#guess_type" }, { "include": "#guess_constant" }, { "include": "#arithmetic_operators" }, { "include": "#array_access_operators" }, { "include": "#vector_creation_operators" }, { "include": "#variable_declaration" }, { "include": "#object_literal" }] }, "class_declaration": { "begin": "\\b(class)\\b\\s+([\\.\\w]+|\\*)", "beginCaptures": { "1": { "name": "storage.type.class.actionscript.3" }, "2": { "name": "entity.name.class.actionscript.3" } }, "end": "\\{", "name": "meta.class_declaration.actionscript.3", "patterns": [{ "include": "#extends" }, { "include": "#implements" }, { "include": "#comments" }] }, "code_block": { "begin": "\\{", "end": "\\}", "name": "meta.code_block.actionscript.3", "patterns": [{ "include": "#code_block" }, { "include": "#comments" }, { "include": "#strings" }, { "include": "#regexp" }, { "include": "#variable_declaration" }, { "include": "#numbers" }, { "include": "#primitive_types" }, { "include": "#primitive_error_types" }, { "include": "#dynamic_type" }, { "include": "#primitive_functions" }, { "include": "#language_constants" }, { "include": "#language_variables" }, { "include": "#guess_type" }, { "include": "#guess_constant" }, { "include": "#other_operators" }, { "include": "#arithmetic_operators" }, { "include": "#logical_operators" }, { "include": "#array_access_operators" }, { "include": "#vector_creation_operators" }, { "include": "#control_keywords" }, { "include": "#other_keywords" }, { "include": "#use_namespace" }, { "include": "#functions" }, { "include": "#import" }] }, "comments": { "patterns": [{ "begin": "/\\*\\*(?!/)", "end": "\\*/", "name": "comment.block.documentation.actionscript.3", "patterns": [{ "match": "@(copy|default|eventType|example|exampleText|includeExample|inheritDoc|internal|param|private|return|see|since|throws)\\b", "name": "keyword.other.documentation.actionscript.3.asdoc" }] }, { "begin": "/\\*", "end": "\\*/", "name": "comment.block.actionscript.3" }, { "match": "//.*", "name": "comment.line.actionscript.3" }] }, "control_keywords": { "match": "\\b(if|else|do|while|for|each|continue|return|switch|case|default|break|try|catch|finally|throw|with)\\b", "name": "keyword.control.actionscript.3" }, "dynamic_type": { "captures": { "1": { "name": "support.type.actionscript.3" } }, "match": "(?<=:)\\s*(\\*)" }, "escapes": { "match": "\\\\(x[ \\t]{2}|[0-2][0-7]{,2}|3[0-6][0-7]|37[0-7]?|[4-7][0-7]?|.)", "name": "constant.character.escape.actionscript.3" }, "extends": { "captures": { "1": { "name": "keyword.other.actionscript.3" }, "2": { "name": "entity.other.inherited-class.actionscript.3" }, "3": { "name": "entity.other.inherited-class.actionscript.3" } }, "match": "\\b(extends)\\b\\s+([\\.\\w]+)\\s*(?:,\\s*([\\.\\w]+))*\\s*", "name": "meta.extends.actionscript.3" }, "function_arguments": { "begin": "\\(", "end": "\\)", "name": "meta.function_arguments.actionscript.3", "patterns": [{ "include": "#parameters" }, { "include": "#comments" }] }, "functions": { "begin": "\\b(function)\\b(?:\\s+\\b(get|set)\\b\\s+)?\\s*([a-zA-Z0-9_\\$]+\\b)?", "beginCaptures": { "1": { "name": "storage.type.function.actionscript.3" }, "2": { "name": "storage.modifier.actionscript.3" }, "3": { "name": "entity.name.function.actionscript.3" } }, "end": "($|;|(?=\\{))", "name": "meta.function.actionscript.3", "patterns": [{ "include": "#function_arguments" }, { "include": "#return_type" }, { "include": "#comments" }] }, "guess_constant": { "captures": { "1": { "name": "constant.other.actionscript.3" } }, "comment": "Following convention, let's guess that anything in all caps/digits (possible underscores) is a constant.", "match": "\\b([A-Z\\$][A-Z0-9_]+)\\b" }, "guess_type": { "captures": { "1": { "name": "support.type.actionscript.3" } }, "comment": "Following convention, let's guess that any word starting with one or more capital letters (that contains at least some lower-case letters so that constants aren't detected) refers to a class/type. May be fully-qualified.", "match": "\\b((?:[A-Za-z0-9_\\$]+\\.)*[A-Z][A-Z0-9]*[a-z]+[A-Za-z0-9_\\$]*)\\b" }, "implements": { "captures": { "1": { "name": "keyword.other.actionscript.3" }, "2": { "name": "entity.other.inherited-class.actionscript.3" }, "3": { "name": "entity.other.inherited-class.actionscript.3" } }, "match": "\\b(implements)\\b\\s+([\\.\\w]+)\\s*(?:,\\s*([\\.\\w]+))*\\s*", "name": "meta.implements.actionscript.3" }, "import": { "captures": { "2": { "name": "keyword.control.import.actionscript.3" }, "3": { "name": "support.type.actionscript.3" } }, "match": "(^|\\s+|;)\\b(import)\\b\\s+([A-Za-z0-9\\$_\\.]+(?:\\.\\*)?)\\s*(?=;|$)", "name": "meta.import.actionscript.3" }, "interface": { "begin": "(^|\\s+|;)(\\b(internal|public)\\b\\s+)?(?=\\binterface\\b)", "beginCaptures": { "3": { "name": "storage.modifier.actionscript.3" } }, "end": "\\}", "name": "meta.interface.actionscript.3", "patterns": [{ "include": "#interface_declaration" }, { "include": "#metadata" }, { "include": "#functions" }, { "include": "#comments" }] }, "interface_declaration": { "begin": "\\b(interface)\\b\\s+([\\.\\w]+)", "beginCaptures": { "1": { "name": "storage.type.interface.actionscript.3" }, "2": { "name": "entity.name.class.actionscript.3" } }, "end": "\\{", "name": "meta.class_declaration.actionscript.3", "patterns": [{ "include": "#extends" }, { "include": "#comments" }] }, "language_constants": { "match": "\\b(true|false|null|Infinity|-Infinity|NaN|undefined)\\b", "name": "constant.language.actionscript.3" }, "language_variables": { "match": "\\b(super|this|arguments)\\b", "name": "variable.language.actionscript.3" }, "logical_operators": { "match": "(&|<|~|\\||>|\\^|!|\\?)", "name": "keyword.operator.actionscript.3" }, "metadata": { "begin": "\\[\\s*\\b(\\w+)\\b", "beginCaptures": { "1": { "name": "keyword.other.actionscript.3" } }, "end": "\\]", "name": "meta.metadata_info.actionscript.3", "patterns": [{ "include": "#metadata_info" }] }, "metadata_info": { "begin": "\\(", "end": "\\)", "patterns": [{ "include": "#strings" }, { "captures": { "1": { "name": "variable.parameter.actionscript.3" }, "2": { "name": "keyword.operator.actionscript.3" } }, "match": "(\\w+)\\s*(=)" }] }, "method": { "begin": "(^|\\s+)((\\w+)\\s+)?((\\w+)\\s+)?((\\w+)\\s+)?((\\w+)\\s+)?(?=\\bfunction\\b)", "beginCaptures": { "3": { "name": "storage.modifier.actionscript.3" }, "5": { "name": "storage.modifier.actionscript.3" }, "7": { "name": "storage.modifier.actionscript.3" }, "8": { "name": "storage.modifier.actionscript.3" } }, "end": "(?<=(;|\\}))", "name": "meta.method.actionscript.3", "patterns": [{ "include": "#functions" }, { "include": "#code_block" }] }, "mxml": { "begin": "<!\\[CDATA\\[", "end": "\\]\\]>", "name": "meta.cdata.actionscript.3", "patterns": [{ "include": "#comments" }, { "include": "#import" }, { "include": "#metadata" }, { "include": "#class" }, { "include": "#namespace_declaration" }, { "include": "#use_namespace" }, { "include": "#class_declaration" }, { "include": "#method" }, { "include": "#comments" }, { "include": "#strings" }, { "include": "#regexp" }, { "include": "#numbers" }, { "include": "#primitive_types" }, { "include": "#primitive_error_types" }, { "include": "#dynamic_type" }, { "include": "#primitive_functions" }, { "include": "#language_constants" }, { "include": "#language_variables" }, { "include": "#other_keywords" }, { "include": "#guess_type" }, { "include": "#guess_constant" }, { "include": "#other_operators" }, { "include": "#arithmetic_operators" }, { "include": "#array_access_operators" }, { "include": "#vector_creation_operators" }, { "include": "#variable_declaration" }] }, "namespace_declaration": { "captures": { "2": { "name": "storage.modifier.actionscript.3" }, "3": { "name": "storage.modifier.actionscript.3" } }, "match": "((\\w+)\\s+)?(namespace)\\s+(?:[A-Za-z0-9_\\$]+)", "name": "meta.namespace_declaration.actionscript.3" }, "numbers": { "match": "\\b((0(x|X)[0-9a-fA-F]*)|((\\d+\\.?\\d*)|(\\.\\d+))((e|E)(\\+|-)?\\d+)?)(L|l|UL|ul|u|U|F|f)?\\b", "name": "constant.numeric.actionscript.3" }, "object_literal": { "begin": "\\{", "end": "\\}", "name": "meta.object_literal.actionscript.3", "patterns": [{ "include": "#object_literal" }, { "include": "#comments" }, { "include": "#strings" }, { "include": "#regexp" }, { "include": "#numbers" }, { "include": "#primitive_types" }, { "include": "#primitive_error_types" }, { "include": "#dynamic_type" }, { "include": "#primitive_functions" }, { "include": "#language_constants" }, { "include": "#language_variables" }, { "include": "#guess_type" }, { "include": "#guess_constant" }, { "include": "#array_access_operators" }, { "include": "#vector_creation_operators" }, { "include": "#functions" }] }, "other_keywords": { "match": "\\b(as|delete|in|instanceof|is|native|new|to|typeof)\\b", "name": "keyword.other.actionscript.3" }, "other_operators": { "match": "(\\.|=)", "name": "keyword.operator.actionscript.3" }, "package": { "begin": "(^|\\s+)(package)\\b", "beginCaptures": { "2": { "name": "keyword.other.actionscript.3" } }, "end": "\\}", "name": "meta.package.actionscript.3", "patterns": [{ "include": "#package_name" }, { "include": "#variable_declaration" }, { "include": "#method" }, { "include": "#comments" }, { "include": "#return_type" }, { "include": "#import" }, { "include": "#use_namespace" }, { "include": "#strings" }, { "include": "#numbers" }, { "include": "#language_constants" }, { "include": "#metadata" }, { "include": "#class" }, { "include": "#interface" }, { "include": "#namespace_declaration" }] }, "package_name": { "begin": "(?<=package)\\s+([\\w\\._]*)\\b", "end": "\\{", "name": "meta.package_name.actionscript.3" }, "parameters": { "begin": "(\\.\\.\\.)?\\s*([A-Za-z\\_\\$][A-Za-z0-9_\\$]*)(?:\\s*(\\:)\\s*(?:(?:([A-Za-z\\$][A-Za-z0-9_\\$]+(?:\\.[A-Za-z\\$][A-Za-z0-9_\\$]+)*)(?:\\.<([A-Za-z\\$][A-Za-z0-9_\\$]+(?:\\.[A-Za-z\\$][A-Za-z0-9_\\$]+)*)>)?)|(\\*)))?(?:\\s*(=))?", "beginCaptures": { "1": { "name": "keyword.operator.actionscript.3" }, "2": { "name": "variable.parameter.actionscript.3" }, "3": { "name": "keyword.operator.actionscript.3" }, "4": { "name": "support.type.actionscript.3" }, "5": { "name": "support.type.actionscript.3" }, "6": { "name": "support.type.actionscript.3" }, "7": { "name": "keyword.operator.actionscript.3" } }, "end": ",|(?=\\))", "patterns": [{ "include": "#strings" }, { "include": "#numbers" }, { "include": "#language_constants" }, { "include": "#comments" }, { "include": "#primitive_types" }, { "include": "#primitive_error_types" }, { "include": "#dynamic_type" }, { "include": "#guess_type" }, { "include": "#guess_constant" }] }, "primitive_error_types": { "captures": { "1": { "name": "support.class.error.actionscript.3" } }, "match": "\\b((Argument|Definition|Eval|Internal|Range|Reference|Security|Syntax|Type|URI|Verify)?Error)\\b" }, "primitive_functions": { "captures": { "1": { "name": "support.function.actionscript.3" } }, "match": "\\b(decodeURI|decodeURIComponent|encodeURI|encodeURIComponent|escape|isFinite|isNaN|isXMLName|parseFloat|parseInt|trace|unescape)(?=\\s*\\()" }, "primitive_types": { "captures": { "1": { "name": "support.class.builtin.actionscript.3" } }, "match": "\\b(Array|Boolean|Class|Date|Function|int|JSON|Math|Namespace|Number|Object|QName|RegExp|String|uint|Vector|XML|XMLList|\\*(?<=a))\\b" }, "regexp": { "begin": "(?<=[=(:,\\[]|^|return|&&|\\|\\||!)\\s*(/)(?![/*+{}?])", "end": "$|(/)[igm]*", "name": "string.regex.actionscript.3", "patterns": [{ "match": "\\\\.", "name": "constant.character.escape.actionscript.3" }, { "match": "\\[(\\\\\\]|[^\\]])*\\]", "name": "constant.character.class.actionscript.3" }] }, "return_type": { "captures": { "1": { "name": "keyword.operator.actionscript.3" }, "2": { "name": "support.type.actionscript.3" }, "3": { "name": "support.type.actionscript.3" }, "4": { "name": "support.type.actionscript.3" } }, "match": "(\\:)\\s*(?:([A-Za-z\\$][A-Za-z0-9_\\$]+(?:\\.[A-Za-z\\$][A-Za-z0-9_\\$]+)*)(?:\\.<([A-Za-z\\$][A-Za-z0-9_\\$]+(?:\\.[A-Za-z\\$][A-Za-z0-9_\\$]+)*)>)?)|(\\*)" }, "strings": { "patterns": [{ "begin": '@"', "end": '"', "name": "string.quoted.verbatim.actionscript.3" }, { "begin": '"', "end": '"', "name": "string.quoted.double.actionscript.3", "patterns": [{ "include": "#escapes" }] }, { "begin": "'", "end": "'", "name": "string.quoted.single.actionscript.3", "patterns": [{ "include": "#escapes" }] }] }, "use_namespace": { "captures": { "2": { "name": "keyword.other.actionscript.3" }, "3": { "name": "keyword.other.actionscript.3" }, "4": { "name": "storage.modifier.actionscript.3" } }, "match": "(^|\\s+|;)(use\\s+)?(namespace)\\s+(\\w+)\\s*(;|$)" }, "variable_declaration": { "captures": { "2": { "name": "storage.modifier.actionscript.3" }, "4": { "name": "storage.modifier.actionscript.3" }, "6": { "name": "storage.modifier.actionscript.3" }, "7": { "name": "storage.modifier.actionscript.3" }, "8": { "name": "keyword.operator.actionscript.3" } }, "match": "((static)\\s+)?((\\w+)\\s+)?((static)\\s+)?(const|var)\\s+(?:[A-Za-z0-9_\\$]+)(?:\\s*(:))?", "name": "meta.variable_declaration.actionscript.3" }, "vector_creation_operators": { "match": "(<|>)", "name": "keyword.operator.actionscript.3" } }, "scopeName": "source.actionscript.3" });
2
2
  var actionscript3 = [
3
3
  lang
4
4
  ];
@@ -1,4 +1,4 @@
1
- const lang = Object.freeze({ "injectionSelector": "L:text.html -comment", "name": "angular-expression", "patterns": [{ "include": "#ngExpression" }], "repository": { "arrayLiteral": { "begin": "\\[", "beginCaptures": { "0": { "name": "meta.brace.square.ts" } }, "end": "\\]", "endCaptures": { "0": { "name": "meta.brace.square.ts" } }, "name": "meta.array.literal.ts", "patterns": [{ "include": "#ngExpression" }, { "include": "#punctuationComma" }] }, "booleanLiteral": { "patterns": [{ "match": "(?<!\\.|\\$)\\btrue\\b(?!\\$)", "name": "constant.language.boolean.true.ts" }, { "match": "(?<!\\.|\\$)\\bfalse\\b(?!\\$)", "name": "constant.language.boolean.false.ts" }] }, "expressionOperator": { "patterns": [{ "captures": { "1": { "name": "keyword.operator.logical.ts" }, "2": { "name": "entity.name.function.pipe.ng" } }, "match": "((?<!\\|)\\|(?!\\|))\\s?([a-zA-Z0-9\\-\\_\\$]*)" }, { "match": "(?<!\\.|\\$)\\b(let)\\b(?!\\$)", "name": "storage.type.ts" }, { "match": "(?<!\\.|\\$)\\b(await)\\b(?!\\$)", "name": "keyword.control.flow.ts" }, { "match": "(?<!\\.|\\$)\\bdelete\\b(?!\\$)", "name": "keyword.operator.expression.delete.ts" }, { "match": "(?<!\\.|\\$)\\bin\\b(?!\\$)", "name": "keyword.operator.expression.in.ts" }, { "match": "(?<!\\.|\\$)\\bof\\b(?!\\$)", "name": "keyword.operator.expression.of.ts" }, { "match": "(?<!\\.|\\$)\\bif\\b(?!\\$)", "name": "keyword.control.if.ts" }, { "match": "(?<!\\.|\\$)\\belse\\b(?!\\$)", "name": "keyword.control.else.ts" }, { "match": "(?<!\\.|\\$)\\bthen\\b(?!\\$)", "name": "keyword.control.then.ts" }, { "match": "(?<!\\.|\\$)\\binstanceof\\b(?!\\$)", "name": "keyword.operator.expression.instanceof.ts" }, { "match": "(?<!\\.|\\$)\\bnew\\b(?!\\$)", "name": "keyword.operator.new.ts" }, { "match": "(?<!\\.|\\$)\\bvoid\\b(?!\\$)", "name": "keyword.operator.expression.void.ts" }, { "begin": "(?<!\\.|\\$)\\bas\\b(?!\\$)", "beginCaptures": { "0": { "name": "storage.type.as.ts" } }, "end": `(?=$|"|'|[;,:})\\]])`, "patterns": [{ "include": "#type" }] }, { "match": "\\*=|(?<!\\()\\/=|%=|\\+=|\\-=", "name": "keyword.operator.assignment.compound.ts" }, { "match": "\\&=|\\^=|<<=|>>=|>>>=|\\|=", "name": "keyword.operator.assignment.compound.bitwise.ts" }, { "match": "<<|>>>|>>", "name": "keyword.operator.bitwise.shift.ts" }, { "match": "===|!==|==|!=", "name": "keyword.operator.comparison.ts" }, { "match": "<=|>=|<>|<|>", "name": "keyword.operator.relational.ts" }, { "match": "\\!|&&|\\?\\?|\\|\\|", "name": "keyword.operator.logical.ts" }, { "match": "\\&|~|\\^|\\|", "name": "keyword.operator.bitwise.ts" }, { "match": "\\=", "name": "keyword.operator.assignment.ts" }, { "match": "--", "name": "keyword.operator.decrement.ts" }, { "match": "\\+\\+", "name": "keyword.operator.increment.ts" }, { "match": "\\%|\\*|\\/|-|\\+", "name": "keyword.operator.arithmetic.ts" }, { "captures": { "1": { "name": "keyword.operator.arithmetic.ts" } }, "match": "(?<=[_$[:alnum:]])\\s*(\\/)(?![\\/*])" }, { "include": "#typeofOperator" }] }, "functionCall": { "begin": "(?=(\\??\\.\\s*)?([_$[:alpha:]][_$[:alnum:]]*)\\s*(<([^<>]|\\<[^<>]+\\>)+>\\s*)?\\()", "end": "(?<=\\))(?!(\\??\\.\\s*)?([_$[:alpha:]][_$[:alnum:]]*)\\s*(<([^<>]|\\<[^<>]+\\>)+>\\s*)?\\()", "patterns": [{ "match": "\\?", "name": "punctuation.accessor.ts" }, { "match": "\\.", "name": "punctuation.accessor.ts" }, { "match": "([_$[:alpha:]][_$[:alnum:]]*)", "name": "entity.name.function.ts" }, { "begin": "\\<", "beginCaptures": { "0": { "name": "punctuation.definition.typeparameters.begin.ts" } }, "end": "\\>", "endCaptures": { "0": { "name": "punctuation.definition.typeparameters.end.ts" } }, "name": "meta.type.parameters.ts", "patterns": [{ "include": "#type" }, { "include": "#punctuationComma" }] }, { "include": "#parenExpression" }] }, "functionParameters": { "begin": "\\(", "beginCaptures": { "0": { "name": "punctuation.definition.parameters.begin.ts" } }, "end": "\\)", "endCaptures": { "0": { "name": "punctuation.definition.parameters.end.ts" } }, "name": "meta.parameters.ts", "patterns": [{ "include": "#decorator" }, { "include": "#parameterName" }, { "include": "#variableInitializer" }, { "match": ",", "name": "punctuation.separator.parameter.ts" }] }, "identifiers": { "patterns": [{ "match": "([_$[:alpha:]][_$[:alnum:]]*)(?=\\s*\\.\\s*prototype\\b(?!\\$))", "name": "support.class.ts" }, { "captures": { "1": { "name": "punctuation.accessor.ts" }, "2": { "name": "constant.other.object.property.ts" }, "3": { "name": "variable.other.object.property.ts" } }, "match": "(?x)([?!]?\\.)\\s*(?:\n([[:upper:]][_$[:digit:][:upper:]]*)|\n([_$[:alpha:]][_$[:alnum:]]*)\n)(?=\\s*\\.\\s*[_$[:alpha:]][_$[:alnum:]]*)" }, { "captures": { "1": { "name": "punctuation.accessor.ts" }, "2": { "name": "entity.name.function.ts" } }, "match": "(?x)(?:([?!]?\\.)\\s*)?([_$[:alpha:]][_$[:alnum:]]*)(?=\\s*=\\s*((async\\s+)|(function\\s*[(<])|(function\\s+)|([_$[:alpha:]][_$[:alnum:]]*\\s*=>)|((<([^<>]|\\<[^<>]+\\>)+>\\s*)?\\(([^()]|\\([^()]*\\))*\\)(\\s*:\\s*(.)*)?\\s*=>)))" }, { "captures": { "1": { "name": "punctuation.accessor.ts" }, "2": { "name": "constant.other.property.ts" } }, "match": "([?!]?\\.)\\s*([[:upper:]][_$[:digit:][:upper:]]*)(?![_$[:alnum:]])" }, { "captures": { "1": { "name": "punctuation.accessor.ts" }, "2": { "name": "variable.other.property.ts" } }, "match": "([?!]?\\.)\\s*([_$[:alpha:]][_$[:alnum:]]*)" }, { "captures": { "1": { "name": "constant.other.object.ts" }, "2": { "name": "variable.other.object.ts" } }, "match": "(?x)(?:\n([[:upper:]][_$[:digit:][:upper:]]*)|\n([_$[:alpha:]][_$[:alnum:]]*)\n)(?=\\s*\\.\\s*[_$[:alpha:]][_$[:alnum:]]*)" }, { "match": "([[:upper:]][_$[:digit:][:upper:]]*)(?![_$[:alnum:]])", "name": "constant.character.other" }, { "match": "[_$[:alpha:]][_$[:alnum:]]*", "name": "variable.other.readwrite.ts" }] }, "literal": { "name": "literal.ts", "patterns": [{ "include": "#numericLiteral" }, { "include": "#booleanLiteral" }, { "include": "#nullLiteral" }, { "include": "#undefinedLiteral" }, { "include": "#numericConstantLiteral" }, { "include": "#arrayLiteral" }, { "include": "#thisLiteral" }] }, "ngExpression": { "name": "meta.expression.ng", "patterns": [{ "include": "#string" }, { "include": "#literal" }, { "include": "#ternaryExpression" }, { "include": "#expressionOperator" }, { "include": "#functionCall" }, { "include": "#identifiers" }, { "include": "#parenExpression" }, { "include": "#punctuationComma" }, { "include": "#punctuationAccessor" }] }, "nullLiteral": { "match": "(?<!\\.|\\$)\\bnull\\b(?!\\$)", "name": "constant.language.null.ts" }, "numericConstantLiteral": { "patterns": [{ "match": "(?<!\\.|\\$)\\bNaN\\b(?!\\$)", "name": "constant.language.nan.ts" }, { "match": "(?<!\\.|\\$)\\bInfinity\\b(?!\\$)", "name": "constant.language.infinity.ts" }] }, "numericLiteral": { "patterns": [{ "match": "\\b(?<!\\$)0(x|X)[0-9a-fA-F]+\\b(?!\\$)", "name": "constant.numeric.hex.ts" }, { "match": "\\b(?<!\\$)0(b|B)[01]+\\b(?!\\$)", "name": "constant.numeric.binary.ts" }, { "match": "\\\\b(?<!\\$)0(o|O)?[0-7]+\\b(?!\\$)", "name": "constant.numeric.octal.ts" }, { "captures": { "0": { "name": "constant.numeric.decimal.ts" }, "1": { "name": "meta.delimiter.decimal.period.ts" }, "2": { "name": "meta.delimiter.decimal.period.ts" }, "3": { "name": "meta.delimiter.decimal.period.ts" }, "4": { "name": "meta.delimiter.decimal.period.ts" }, "5": { "name": "meta.delimiter.decimal.period.ts" }, "6": { "name": "meta.delimiter.decimal.period.ts" } }, "match": "(?x)\n(?<!\\$)(?:\n(?:\\b[0-9]+(\\.)[0-9]+[eE][+-]?[0-9]+\\b)|#1.1E+3\n(?:\\b[0-9]+(\\.)[eE][+-]?[0-9]+\\b)|#1.E+3\n(?:\\B(\\.)[0-9]+[eE][+-]?[0-9]+\\b)|#.1E+3\n(?:\\b[0-9]+[eE][+-]?[0-9]+\\b)|#1E+3(?:\\b[0-9]+(\\.)[0-9]+\\b)|#1.1\n(?:\\b[0-9]+(\\.)\\B)|#1.\n(?:\\B(\\.)[0-9]+\\b)|#.1\n(?:\\b[0-9]+\\b(?!\\.))#1\n)(?!\\$)" }] }, "parameterName": { "patterns": [{ "captures": { "1": { "name": "storage.modifier.ts" }, "2": { "name": "storage.modifier.ts" }, "3": { "name": "keyword.operator.rest.ts" }, "4": { "name": "entity.name.function.ts" }, "5": { "name": "keyword.operator.optional.ts" } }, "match": "(?x)(?:\\s*\\b(readonly)\\s+)?(?:\\s*\\b(public|private|protected)\\s+)?(\\.\\.\\.)?\\s*(?<!=|:)([_$[:alpha:]][_$[:alnum:]]*)\\s*(\\??)(?=\\s* (=\\s*( (async\\s+) | (function\\s*[(<]) | (function\\s+) | ([_$[:alpha:]][_$[:alnum:]]*\\s*=>) | ((<([^<>]|\\<[^<>]+\\>)+>\\s*)?\\(([^()]|\\([^()]*\\))*\\)(\\s*:\\s*(.)*)?\\s*=>)) ) | (:\\s*( (<) | ([(]\\s*( ([)]) | (\\.\\.\\.) | ([_$[:alnum:]]+\\s*( ([:,?=])| ([)]\\s*=>) )) ))) ))" }, { "captures": { "1": { "name": "storage.modifier.ts" }, "2": { "name": "storage.modifier.ts" }, "3": { "name": "keyword.operator.rest.ts" }, "4": { "name": "variable.parameter.ts" }, "5": { "name": "keyword.operator.optional.ts" } }, "match": "(?:\\s*\\b(readonly)\\s+)?(?:\\s*\\b(public|private|protected)\\s+)?(\\.\\.\\.)?\\s*(?<!=|:)([_$[:alpha:]][_$[:alnum:]]*)\\s*(\\??)" }] }, "parenExpression": { "begin": "\\(", "beginCaptures": { "0": { "name": "meta.brace.round.ts" } }, "end": "\\)", "endCaptures": { "0": { "name": "meta.brace.round.ts" } }, "patterns": [{ "include": "#ngExpression" }, { "include": "#punctuationComma" }] }, "punctuationAccessor": { "match": "\\?\\.|\\!\\.|\\.", "name": "punctuation.accessor.ts" }, "punctuationComma": { "match": ",", "name": "punctuation.separator.comma.ts" }, "punctuationSemicolon": { "match": ";", "name": "punctuation.terminator.statement.ts" }, "qstringDouble": { "begin": '"', "beginCaptures": { "0": { "name": "punctuation.definition.string.begin.ts" } }, "end": '(")|((?:[^\\\\\\n])$)', "endCaptures": { "1": { "name": "punctuation.definition.string.end.ts" }, "2": { "name": "invalid.illegal.newline.ts" } }, "name": "string.quoted.double.ts", "patterns": [{ "include": "#stringCharacterEscape" }] }, "qstringSingle": { "begin": "'", "beginCaptures": { "0": { "name": "punctuation.definition.string.begin.ts" } }, "end": "(\\')|((?:[^\\\\\\n])$)", "endCaptures": { "1": { "name": "punctuation.definition.string.end.ts" }, "2": { "name": "invalid.illegal.newline.ts" } }, "name": "string.quoted.single.ts", "patterns": [{ "include": "#stringCharacterEscape" }] }, "string": { "patterns": [{ "include": "#qstringSingle" }, { "include": "#qstringDouble" }] }, "stringCharacterEscape": { "match": "\\\\(x\\h{2}|[0-2][0-7]{0,2}|3[0-6][0-7]?|37[0-7]?|[4-7][0-7]?|.|$)", "name": "constant.character.escape.ts" }, "ternaryExpression": { "begin": "(?!\\?\\.\\s*[^[:digit:]])(\\?)(?!\\?)", "beginCaptures": { "1": { "name": "keyword.operator.ternary.ts" } }, "end": "\\s*(:)", "endCaptures": { "1": { "name": "keyword.operator.ternary.ts" } }, "patterns": [{ "include": "#ngExpression" }] }, "thisLiteral": { "match": "(?<!\\.|\\$)\\bthis\\b(?!\\$)", "name": "variable.language.this.ts" }, "type": { "name": "meta.type.ts", "patterns": [{ "include": "#string" }, { "include": "#numericLiteral" }, { "include": "#typeBuiltinLiterals" }, { "include": "#typeTuple" }, { "include": "#typeObject" }, { "include": "#typeOperators" }, { "include": "#typeFnTypeParameters" }, { "include": "#typeParenOrFunctionParameters" }, { "include": "#typeName" }] }, "typeAnnotation": { "begin": ":", "beginCaptures": { "0": { "name": "keyword.operator.type.annotation.ts" } }, "end": '(?=$|[,);\\}\\]]|\\/\\/|")|(?==[^>])|(?<=[\\}>\\]\\)]|[_$[:alpha:]])\\s*(?=\\{)', "name": "meta.type.annotation.ts", "patterns": [{ "include": "#type" }] }, "typeBuiltinLiterals": { "match": "(?<!\\.|\\$)\\b(this|true|false|undefined|null)\\b(?!\\$)", "name": "support.type.builtin.ts" }, "typeFnTypeParameters": { "patterns": [{ "captures": { "1": { "name": "keyword.control.new.ts" } }, "match": "(?<!\\.|\\$)\\b(new)\\b(?=\\s*\\<)", "name": "meta.type.constructor.ts" }, { "begin": "(?<!\\.|\\$)\\b(new)\\b\\s*(?=\\()", "beginCaptures": { "1": { "name": "keyword.control.new.ts" } }, "end": "(?<=\\))", "name": "meta.type.constructor.ts", "patterns": [{ "include": "#functionParameters" }] }, { "begin": "(?<=\\>)\\s*(?=\\()", "end": "(?<=\\))", "include": "#typeofOperator", "name": "meta.type.function.ts", "patterns": [{ "include": "#functionParameters" }] }, { "begin": "(?x)((?=[(]\\s*(([)])|(\\.\\.\\.)|([_$[:alnum:]]+\\s*(([:,?=])|([)]\\s*=>))))))", "end": "(?<=\\))", "name": "meta.type.function.ts", "patterns": [{ "include": "#functionParameters" }] }] }, "typeName": { "patterns": [{ "captures": { "1": { "name": "entity.name.type.module.ts" }, "2": { "name": "punctuation.accessor.ts" } }, "match": "([_$[:alpha:]][_$[:alnum:]]*)\\s*([?!]?\\.)" }, { "match": "[_$[:alpha:]][_$[:alnum:]]*", "name": "entity.name.type.ts" }] }, "typeObject": { "begin": "\\{", "beginCaptures": { "0": { "name": "punctuation.definition.block.ts" } }, "end": "\\}", "endCaptures": { "0": { "name": "punctuation.definition.block.ts" } }, "name": "meta.object.type.ts", "patterns": [{ "include": "#typeObjectMembers" }] }, "typeObjectMembers": { "patterns": [{ "include": "#typeAnnotation" }, { "include": "#punctuationComma" }, { "include": "#punctuationSemicolon" }] }, "typeOperators": { "patterns": [{ "include": "#typeofOperator" }, { "match": "[&|]", "name": "keyword.operator.type.ts" }, { "match": "(?<!\\.|\\$)\\bkeyof\\b(?!\\$)", "name": "keyword.operator.expression.keyof.ts" }] }, "typeParenOrFunctionParameters": { "begin": "\\(", "beginCaptures": { "0": { "name": "meta.brace.round.ts" } }, "end": "\\)", "endCaptures": { "0": { "name": "meta.brace.round.ts" } }, "name": "meta.type.paren.cover.ts", "patterns": [{ "include": "#type" }, { "include": "#functionParameters" }] }, "typeTuple": { "begin": "\\[", "beginCaptures": { "0": { "name": "meta.brace.square.ts" } }, "end": "\\]", "endCaptures": { "0": { "name": "meta.brace.square.ts" } }, "name": "meta.type.tuple.ts", "patterns": [{ "include": "#type" }, { "include": "#punctuationComma" }] }, "typeofOperator": { "match": "(?<!\\.|\\$)\\btypeof\\b(?!\\$)", "name": "keyword.operator.expression.typeof.ts" }, "undefinedLiteral": { "match": "(?<!\\.|\\$)\\bundefined\\b(?!\\$)", "name": "constant.language.undefined.ts" }, "variableInitializer": { "begin": "(?<!=|!)(=)(?!=)", "beginCaptures": { "1": { "name": "keyword.operator.assignment.ts" } }, "end": "(?=$|[,);}\\]])", "patterns": [{ "include": "#ngExpression" }] } }, "scopeName": "expression.ng" });
1
+ const lang = Object.freeze({ "injectionSelector": "L:text.html -comment", "name": "angular-expression", "patterns": [{ "include": "#ngExpression" }], "repository": { "arrayLiteral": { "begin": "\\[", "beginCaptures": { "0": { "name": "meta.brace.square.ts" } }, "end": "\\]", "endCaptures": { "0": { "name": "meta.brace.square.ts" } }, "name": "meta.array.literal.ts", "patterns": [{ "include": "#ngExpression" }, { "include": "#punctuationComma" }] }, "booleanLiteral": { "patterns": [{ "match": "(?<!\\.|\\$)\\btrue\\b(?!\\$)", "name": "constant.language.boolean.true.ts" }, { "match": "(?<!\\.|\\$)\\bfalse\\b(?!\\$)", "name": "constant.language.boolean.false.ts" }] }, "expressionOperator": { "patterns": [{ "captures": { "1": { "name": "keyword.operator.logical.ts" }, "2": { "name": "entity.name.function.pipe.ng" } }, "match": "((?<!\\|)\\|(?!\\|))\\s?([a-zA-Z0-9\\-\\_\\$]*)" }, { "match": "(?<!\\.|\\$)\\b(let)\\b(?!\\$)", "name": "storage.type.ts" }, { "match": "(?<!\\.|\\$)\\b(await)\\b(?!\\$)", "name": "keyword.control.flow.ts" }, { "match": "(?<!\\.|\\$)\\bdelete\\b(?!\\$)", "name": "keyword.operator.expression.delete.ts" }, { "match": "(?<!\\.|\\$)\\bin\\b(?!\\$)", "name": "keyword.operator.expression.in.ts" }, { "match": "(?<!\\.|\\$)\\bof\\b(?!\\$)", "name": "keyword.operator.expression.of.ts" }, { "match": "(?<!\\.|\\$)\\bif\\b(?!\\$)", "name": "keyword.control.if.ts" }, { "match": "(?<!\\.|\\$)\\belse\\b(?!\\$)", "name": "keyword.control.else.ts" }, { "match": "(?<!\\.|\\$)\\bthen\\b(?!\\$)", "name": "keyword.control.then.ts" }, { "match": "(?<!\\.|\\$)\\binstanceof\\b(?!\\$)", "name": "keyword.operator.expression.instanceof.ts" }, { "match": "(?<!\\.|\\$)\\bnew\\b(?!\\$)", "name": "keyword.operator.new.ts" }, { "match": "(?<!\\.|\\$)\\bvoid\\b(?!\\$)", "name": "keyword.operator.expression.void.ts" }, { "begin": "(?<!\\.|\\$)\\bas\\b(?!\\$)", "beginCaptures": { "0": { "name": "storage.type.as.ts" } }, "end": `(?=$|"|'|[;,:})\\]])`, "patterns": [{ "include": "#type" }] }, { "match": "\\*=|(?<!\\()\\/=|%=|\\+=|\\-=", "name": "keyword.operator.assignment.compound.ts" }, { "match": "\\&=|\\^=|<<=|>>=|>>>=|\\|=", "name": "keyword.operator.assignment.compound.bitwise.ts" }, { "match": "<<|>>>|>>", "name": "keyword.operator.bitwise.shift.ts" }, { "match": "===|!==|==|!=", "name": "keyword.operator.comparison.ts" }, { "match": "<=|>=|<>|<|>", "name": "keyword.operator.relational.ts" }, { "match": "\\!|&&|\\?\\?|\\|\\|", "name": "keyword.operator.logical.ts" }, { "match": "\\&|~|\\^|\\|", "name": "keyword.operator.bitwise.ts" }, { "match": "\\=", "name": "keyword.operator.assignment.ts" }, { "match": "--", "name": "keyword.operator.decrement.ts" }, { "match": "\\+\\+", "name": "keyword.operator.increment.ts" }, { "match": "\\%|\\*|\\/|-|\\+", "name": "keyword.operator.arithmetic.ts" }, { "captures": { "1": { "name": "keyword.operator.arithmetic.ts" } }, "match": "(?<=[_$0-9A-Za-z])\\s*(\\/)(?![\\/*])" }, { "include": "#typeofOperator" }] }, "functionCall": { "begin": "(?=(\\??\\.\\s*)?([_$A-Za-z][_$0-9A-Za-z]*)\\s*(<([^<>]|\\<[^<>]+\\>)+>\\s*)?\\()", "end": "(?<=\\))(?!(\\??\\.\\s*)?([_$A-Za-z][_$0-9A-Za-z]*)\\s*(<([^<>]|\\<[^<>]+\\>)+>\\s*)?\\()", "patterns": [{ "match": "\\?", "name": "punctuation.accessor.ts" }, { "match": "\\.", "name": "punctuation.accessor.ts" }, { "match": "([_$A-Za-z][_$0-9A-Za-z]*)", "name": "entity.name.function.ts" }, { "begin": "\\<", "beginCaptures": { "0": { "name": "punctuation.definition.typeparameters.begin.ts" } }, "end": "\\>", "endCaptures": { "0": { "name": "punctuation.definition.typeparameters.end.ts" } }, "name": "meta.type.parameters.ts", "patterns": [{ "include": "#type" }, { "include": "#punctuationComma" }] }, { "include": "#parenExpression" }] }, "functionParameters": { "begin": "\\(", "beginCaptures": { "0": { "name": "punctuation.definition.parameters.begin.ts" } }, "end": "\\)", "endCaptures": { "0": { "name": "punctuation.definition.parameters.end.ts" } }, "name": "meta.parameters.ts", "patterns": [{ "include": "#decorator" }, { "include": "#parameterName" }, { "include": "#variableInitializer" }, { "match": ",", "name": "punctuation.separator.parameter.ts" }] }, "identifiers": { "patterns": [{ "match": "([_$A-Za-z][_$0-9A-Za-z]*)(?=\\s*\\.\\s*prototype\\b(?!\\$))", "name": "support.class.ts" }, { "captures": { "1": { "name": "punctuation.accessor.ts" }, "2": { "name": "constant.other.object.property.ts" }, "3": { "name": "variable.other.object.property.ts" } }, "match": "([?!]?\\.)\\s*(?:([A-Z][_$\\dA-Z]*)|([_$A-Za-z][_$0-9A-Za-z]*))(?=\\s*\\.\\s*[_$A-Za-z][_$0-9A-Za-z]*)" }, { "captures": { "1": { "name": "punctuation.accessor.ts" }, "2": { "name": "entity.name.function.ts" } }, "match": "(?:([?!]?\\.)\\s*)?([_$A-Za-z][_$0-9A-Za-z]*)(?=\\s*=\\s*((async\\s+)|(function\\s*[(<])|(function\\s+)|([_$A-Za-z][_$0-9A-Za-z]*\\s*=>)|((<([^<>]|\\<[^<>]+\\>)+>\\s*)?\\(([^()]|\\([^()]*\\))*\\)(\\s*:\\s*(.)*)?\\s*=>)))" }, { "captures": { "1": { "name": "punctuation.accessor.ts" }, "2": { "name": "constant.other.property.ts" } }, "match": "([?!]?\\.)\\s*([A-Z][_$\\dA-Z]*)(?![_$0-9A-Za-z])" }, { "captures": { "1": { "name": "punctuation.accessor.ts" }, "2": { "name": "variable.other.property.ts" } }, "match": "([?!]?\\.)\\s*([_$A-Za-z][_$0-9A-Za-z]*)" }, { "captures": { "1": { "name": "constant.other.object.ts" }, "2": { "name": "variable.other.object.ts" } }, "match": "(?:([A-Z][_$\\dA-Z]*)|([_$A-Za-z][_$0-9A-Za-z]*))(?=\\s*\\.\\s*[_$A-Za-z][_$0-9A-Za-z]*)" }, { "match": "([A-Z][_$\\dA-Z]*)(?![_$0-9A-Za-z])", "name": "constant.character.other" }, { "match": "[_$A-Za-z][_$0-9A-Za-z]*", "name": "variable.other.readwrite.ts" }] }, "literal": { "name": "literal.ts", "patterns": [{ "include": "#numericLiteral" }, { "include": "#booleanLiteral" }, { "include": "#nullLiteral" }, { "include": "#undefinedLiteral" }, { "include": "#numericConstantLiteral" }, { "include": "#arrayLiteral" }, { "include": "#thisLiteral" }] }, "ngExpression": { "name": "meta.expression.ng", "patterns": [{ "include": "#string" }, { "include": "#literal" }, { "include": "#ternaryExpression" }, { "include": "#expressionOperator" }, { "include": "#functionCall" }, { "include": "#identifiers" }, { "include": "#parenExpression" }, { "include": "#punctuationComma" }, { "include": "#punctuationAccessor" }] }, "nullLiteral": { "match": "(?<!\\.|\\$)\\bnull\\b(?!\\$)", "name": "constant.language.null.ts" }, "numericConstantLiteral": { "patterns": [{ "match": "(?<!\\.|\\$)\\bNaN\\b(?!\\$)", "name": "constant.language.nan.ts" }, { "match": "(?<!\\.|\\$)\\bInfinity\\b(?!\\$)", "name": "constant.language.infinity.ts" }] }, "numericLiteral": { "patterns": [{ "match": "\\b(?<!\\$)0(x|X)[0-9a-fA-F]+\\b(?!\\$)", "name": "constant.numeric.hex.ts" }, { "match": "\\b(?<!\\$)0(b|B)[01]+\\b(?!\\$)", "name": "constant.numeric.binary.ts" }, { "match": "\\\\b(?<!\\$)0(o|O)?[0-7]+\\b(?!\\$)", "name": "constant.numeric.octal.ts" }, { "captures": { "0": { "name": "constant.numeric.decimal.ts" }, "1": { "name": "meta.delimiter.decimal.period.ts" }, "2": { "name": "meta.delimiter.decimal.period.ts" }, "3": { "name": "meta.delimiter.decimal.period.ts" }, "4": { "name": "meta.delimiter.decimal.period.ts" }, "5": { "name": "meta.delimiter.decimal.period.ts" }, "6": { "name": "meta.delimiter.decimal.period.ts" } }, "match": "(?<!\\$)(?:(?:\\b\\d+(\\.)\\d+[eE][+-]?\\d+\\b)|#1.1E+3(?:\\b\\d+(\\.)[eE][+-]?\\d+\\b)|#1.E+3(?:\\B(\\.)\\d+[eE][+-]?\\d+\\b)|#.1E+3(?:\\b\\d+[eE][+-]?\\d+\\b)|#1E+3(?:\\b\\d+(\\.)\\d+\\b)|#1.1(?:\\b\\d+(\\.)\\B)|#1.(?:\\B(\\.)\\d+\\b)|#.1(?:\\b\\d+\\b(?!\\.))#1)(?!\\$)" }] }, "parameterName": { "patterns": [{ "captures": { "1": { "name": "storage.modifier.ts" }, "2": { "name": "storage.modifier.ts" }, "3": { "name": "keyword.operator.rest.ts" }, "4": { "name": "entity.name.function.ts" }, "5": { "name": "keyword.operator.optional.ts" } }, "match": "(?:\\s*\\b(readonly)\\s+)?(?:\\s*\\b(public|private|protected)\\s+)?(\\.\\.\\.)?\\s*(?<!=|:)([_$A-Za-z][_$0-9A-Za-z]*)\\s*(\\??)(?=\\s*(=\\s*((async\\s+)|(function\\s*[(<])|(function\\s+)|([_$A-Za-z][_$0-9A-Za-z]*\\s*=>)|((<([^<>]|\\<[^<>]+\\>)+>\\s*)?\\(([^()]|\\([^()]*\\))*\\)(\\s*:\\s*(.)*)?\\s*=>)))|(:\\s*((<)|([(]\\s*(([)])|(\\.\\.\\.)|([_$0-9A-Za-z]+\\s*(([:,?=])|([)]\\s*=>))))))))" }, { "captures": { "1": { "name": "storage.modifier.ts" }, "2": { "name": "storage.modifier.ts" }, "3": { "name": "keyword.operator.rest.ts" }, "4": { "name": "variable.parameter.ts" }, "5": { "name": "keyword.operator.optional.ts" } }, "match": "(?:\\s*\\b(readonly)\\s+)?(?:\\s*\\b(public|private|protected)\\s+)?(\\.\\.\\.)?\\s*(?<!=|:)([_$A-Za-z][_$0-9A-Za-z]*)\\s*(\\??)" }] }, "parenExpression": { "begin": "\\(", "beginCaptures": { "0": { "name": "meta.brace.round.ts" } }, "end": "\\)", "endCaptures": { "0": { "name": "meta.brace.round.ts" } }, "patterns": [{ "include": "#ngExpression" }, { "include": "#punctuationComma" }] }, "punctuationAccessor": { "match": "\\?\\.|\\!\\.|\\.", "name": "punctuation.accessor.ts" }, "punctuationComma": { "match": ",", "name": "punctuation.separator.comma.ts" }, "punctuationSemicolon": { "match": ";", "name": "punctuation.terminator.statement.ts" }, "qstringDouble": { "begin": '"', "beginCaptures": { "0": { "name": "punctuation.definition.string.begin.ts" } }, "end": '(")|((?:[^\\\\\\n])$)', "endCaptures": { "1": { "name": "punctuation.definition.string.end.ts" }, "2": { "name": "invalid.illegal.newline.ts" } }, "name": "string.quoted.double.ts", "patterns": [{ "include": "#stringCharacterEscape" }] }, "qstringSingle": { "begin": "'", "beginCaptures": { "0": { "name": "punctuation.definition.string.begin.ts" } }, "end": "(\\')|((?:[^\\\\\\n])$)", "endCaptures": { "1": { "name": "punctuation.definition.string.end.ts" }, "2": { "name": "invalid.illegal.newline.ts" } }, "name": "string.quoted.single.ts", "patterns": [{ "include": "#stringCharacterEscape" }] }, "string": { "patterns": [{ "include": "#qstringSingle" }, { "include": "#qstringDouble" }] }, "stringCharacterEscape": { "match": "\\\\(x[ \\t]{2}|[0-2][0-7]{0,2}|3[0-6][0-7]?|37[0-7]?|[4-7][0-7]?|.|$)", "name": "constant.character.escape.ts" }, "ternaryExpression": { "begin": "(?!\\?\\.\\s*[^\\d])(\\?)(?!\\?)", "beginCaptures": { "1": { "name": "keyword.operator.ternary.ts" } }, "end": "\\s*(:)", "endCaptures": { "1": { "name": "keyword.operator.ternary.ts" } }, "patterns": [{ "include": "#ngExpression" }] }, "thisLiteral": { "match": "(?<!\\.|\\$)\\bthis\\b(?!\\$)", "name": "variable.language.this.ts" }, "type": { "name": "meta.type.ts", "patterns": [{ "include": "#string" }, { "include": "#numericLiteral" }, { "include": "#typeBuiltinLiterals" }, { "include": "#typeTuple" }, { "include": "#typeObject" }, { "include": "#typeOperators" }, { "include": "#typeFnTypeParameters" }, { "include": "#typeParenOrFunctionParameters" }, { "include": "#typeName" }] }, "typeAnnotation": { "begin": ":", "beginCaptures": { "0": { "name": "keyword.operator.type.annotation.ts" } }, "end": '(?=$|[,);\\}\\]]|\\/\\/|")|(?==[^>])|(?<=[\\}>\\]\\)]|[_$A-Za-z])\\s*(?=\\{)', "name": "meta.type.annotation.ts", "patterns": [{ "include": "#type" }] }, "typeBuiltinLiterals": { "match": "(?<!\\.|\\$)\\b(this|true|false|undefined|null)\\b(?!\\$)", "name": "support.type.builtin.ts" }, "typeFnTypeParameters": { "patterns": [{ "captures": { "1": { "name": "keyword.control.new.ts" } }, "match": "(?<!\\.|\\$)\\b(new)\\b(?=\\s*\\<)", "name": "meta.type.constructor.ts" }, { "begin": "(?<!\\.|\\$)\\b(new)\\b\\s*(?=\\()", "beginCaptures": { "1": { "name": "keyword.control.new.ts" } }, "end": "(?<=\\))", "name": "meta.type.constructor.ts", "patterns": [{ "include": "#functionParameters" }] }, { "begin": "(?<=\\>)\\s*(?=\\()", "end": "(?<=\\))", "include": "#typeofOperator", "name": "meta.type.function.ts", "patterns": [{ "include": "#functionParameters" }] }, { "begin": "((?=[(]\\s*(([)])|(\\.\\.\\.)|([_$0-9A-Za-z]+\\s*(([:,?=])|([)]\\s*=>))))))", "end": "(?<=\\))", "name": "meta.type.function.ts", "patterns": [{ "include": "#functionParameters" }] }] }, "typeName": { "patterns": [{ "captures": { "1": { "name": "entity.name.type.module.ts" }, "2": { "name": "punctuation.accessor.ts" } }, "match": "([_$A-Za-z][_$0-9A-Za-z]*)\\s*([?!]?\\.)" }, { "match": "[_$A-Za-z][_$0-9A-Za-z]*", "name": "entity.name.type.ts" }] }, "typeObject": { "begin": "\\{", "beginCaptures": { "0": { "name": "punctuation.definition.block.ts" } }, "end": "\\}", "endCaptures": { "0": { "name": "punctuation.definition.block.ts" } }, "name": "meta.object.type.ts", "patterns": [{ "include": "#typeObjectMembers" }] }, "typeObjectMembers": { "patterns": [{ "include": "#typeAnnotation" }, { "include": "#punctuationComma" }, { "include": "#punctuationSemicolon" }] }, "typeOperators": { "patterns": [{ "include": "#typeofOperator" }, { "match": "[&|]", "name": "keyword.operator.type.ts" }, { "match": "(?<!\\.|\\$)\\bkeyof\\b(?!\\$)", "name": "keyword.operator.expression.keyof.ts" }] }, "typeParenOrFunctionParameters": { "begin": "\\(", "beginCaptures": { "0": { "name": "meta.brace.round.ts" } }, "end": "\\)", "endCaptures": { "0": { "name": "meta.brace.round.ts" } }, "name": "meta.type.paren.cover.ts", "patterns": [{ "include": "#type" }, { "include": "#functionParameters" }] }, "typeTuple": { "begin": "\\[", "beginCaptures": { "0": { "name": "meta.brace.square.ts" } }, "end": "\\]", "endCaptures": { "0": { "name": "meta.brace.square.ts" } }, "name": "meta.type.tuple.ts", "patterns": [{ "include": "#type" }, { "include": "#punctuationComma" }] }, "typeofOperator": { "match": "(?<!\\.|\\$)\\btypeof\\b(?!\\$)", "name": "keyword.operator.expression.typeof.ts" }, "undefinedLiteral": { "match": "(?<!\\.|\\$)\\bundefined\\b(?!\\$)", "name": "constant.language.undefined.ts" }, "variableInitializer": { "begin": "(?<!=|!)(=)(?!=)", "beginCaptures": { "1": { "name": "keyword.operator.assignment.ts" } }, "end": "(?=$|[,);}\\]])", "patterns": [{ "include": "#ngExpression" }] } }, "scopeName": "expression.ng" });
2
2
  var angular_expression = [
3
3
  lang
4
4
  ];
@@ -1,6 +1,6 @@
1
1
  import angular_expression from './angular-expression.mjs';
2
2
 
3
- const lang = Object.freeze({ "injectTo": ["text.html.derivative", "text.html.derivative.ng", "source.ts.ng"], "injectionSelector": "L:text.html -comment -expression.ng -meta.tag -source.css -source.js", "name": "angular-let-declaration", "patterns": [{ "include": "#letDeclaration" }], "repository": { "letDeclaration": { "begin": "(@let)\\s+([_$[:alpha:]][_$[:alnum:]]*)\\s*(=)?", "beginCaptures": { "1": { "name": "storage.type.ng" }, "2": { "name": "meta.definition.variable.ng" }, "3": { "name": "keyword.operator.assignment.ng" } }, "contentName": "meta.definition.variable.ng", "end": "(?<=;)", "patterns": [{ "include": "#letInitializer" }] }, "letInitializer": { "begin": "\\s*", "beginCaptures": { "0": { "name": "keyword.operator.assignment.ng" } }, "contentName": "meta.definition.variable.initializer.ng", "end": ";", "endCaptures": { "0": { "name": "punctuation.terminator.statement.ng" } }, "patterns": [{ "include": "expression.ng" }] } }, "scopeName": "template.let.ng", "embeddedLangs": ["angular-expression"] });
3
+ const lang = Object.freeze({ "injectTo": ["text.html.derivative", "text.html.derivative.ng", "source.ts.ng"], "injectionSelector": "L:text.html -comment -expression.ng -meta.tag -source.css -source.js", "name": "angular-let-declaration", "patterns": [{ "include": "#letDeclaration" }], "repository": { "letDeclaration": { "begin": "(@let)\\s+([_$A-Za-z][_$0-9A-Za-z]*)\\s*(=)?", "beginCaptures": { "1": { "name": "storage.type.ng" }, "2": { "name": "meta.definition.variable.ng" }, "3": { "name": "keyword.operator.assignment.ng" } }, "contentName": "meta.definition.variable.ng", "end": "(?<=;)", "patterns": [{ "include": "#letInitializer" }] }, "letInitializer": { "begin": "\\s*", "beginCaptures": { "0": { "name": "keyword.operator.assignment.ng" } }, "contentName": "meta.definition.variable.initializer.ng", "end": ";", "endCaptures": { "0": { "name": "punctuation.terminator.statement.ng" } }, "patterns": [{ "include": "expression.ng" }] } }, "scopeName": "template.let.ng", "embeddedLangs": ["angular-expression"] });
4
4
  var angular_let_declaration = [
5
5
  ...angular_expression,
6
6
  lang