github-linguist 7.26.0 → 7.28.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (104) hide show
  1. checksums.yaml +4 -4
  2. data/ext/linguist/lex.linguist_yy.c +313 -294
  3. data/ext/linguist/lex.linguist_yy.h +5 -4
  4. data/ext/linguist/tokenizer.l +5 -2
  5. data/grammars/inline.edgeql.json +1 -0
  6. data/grammars/inline.hbs.json +1 -0
  7. data/grammars/inline.template.json +1 -0
  8. data/grammars/markdown.d2.codeblock.json +1 -0
  9. data/grammars/markdown.lean4.codeblock.json +1 -0
  10. data/grammars/markdown.move.codeblock.json +1 -0
  11. data/grammars/mdx.LANGUAGE.codeblock.json +1 -0
  12. data/grammars/source.abap.json +1 -1
  13. data/grammars/source.aidl.json +1 -1
  14. data/grammars/source.al.json +1 -1
  15. data/grammars/source.ballerina.json +1 -1
  16. data/grammars/source.bicep.json +1 -1
  17. data/grammars/source.cds.json +1 -1
  18. data/grammars/source.cobol.json +1 -1
  19. data/grammars/source.cs.json +1 -1
  20. data/grammars/source.d2.json +1 -1
  21. data/grammars/source.dart.json +1 -1
  22. data/grammars/source.denizenscript.json +1 -1
  23. data/grammars/source.directivesmf.json +1 -0
  24. data/grammars/source.dm.json +1 -1
  25. data/grammars/source.earthfile.json +1 -1
  26. data/grammars/source.edgeql.json +1 -0
  27. data/grammars/source.emacs.lisp.json +1 -1
  28. data/grammars/source.fsharp.json +1 -1
  29. data/grammars/source.gdresource.json +1 -1
  30. data/grammars/source.gdscript.json +1 -1
  31. data/grammars/source.genero-4gl.json +1 -0
  32. data/grammars/source.genero-per.json +1 -0
  33. data/grammars/source.gjs.json +1 -0
  34. data/grammars/source.gleam.json +1 -1
  35. data/grammars/source.gsc.json +1 -1
  36. data/grammars/source.gts.json +1 -0
  37. data/grammars/source.hcl.json +1 -0
  38. data/grammars/source.hcl.terraform.json +1 -0
  39. data/grammars/source.ice.json +1 -0
  40. data/grammars/source.igor.json +1 -1
  41. data/grammars/source.julia.json +1 -1
  42. data/grammars/source.kotlin.json +1 -1
  43. data/grammars/source.lean4.json +1 -0
  44. data/grammars/source.lean4.markdown.json +1 -0
  45. data/grammars/source.matlab.json +1 -1
  46. data/grammars/source.mdx.json +1 -1
  47. data/grammars/source.meta-info.json +1 -1
  48. data/grammars/source.mo.json +1 -1
  49. data/grammars/source.nasal.json +1 -1
  50. data/grammars/source.nim.json +1 -1
  51. data/grammars/source.nushell.json +1 -1
  52. data/grammars/source.odin.json +1 -1
  53. data/grammars/source.pic.json +1 -1
  54. data/grammars/source.praat.json +1 -0
  55. data/grammars/source.prisma.json +1 -1
  56. data/grammars/source.ql.json +1 -1
  57. data/grammars/source.raku.json +1 -1
  58. data/grammars/source.rascal.json +1 -1
  59. data/grammars/source.rbs.json +1 -1
  60. data/grammars/source.rego.json +1 -1
  61. data/grammars/source.rescript.json +1 -1
  62. data/grammars/source.rez.json +1 -0
  63. data/grammars/source.rpgle.json +1 -1
  64. data/grammars/source.rust.json +1 -1
  65. data/grammars/source.scala.json +1 -1
  66. data/grammars/source.scenic.json +1 -1
  67. data/grammars/source.sentinel.json +1 -0
  68. data/grammars/source.slice.json +1 -1
  69. data/grammars/source.solidity.json +1 -1
  70. data/grammars/source.stan.json +1 -1
  71. data/grammars/source.swift.json +1 -1
  72. data/grammars/source.talon.json +1 -1
  73. data/grammars/source.textgrid.json +1 -0
  74. data/grammars/source.toit.json +1 -0
  75. data/grammars/source.ts.json +1 -1
  76. data/grammars/source.tsx.json +1 -1
  77. data/grammars/source.typst.json +1 -0
  78. data/grammars/source.vba.json +1 -1
  79. data/grammars/source.viml.json +1 -1
  80. data/grammars/source.vyper.json +1 -1
  81. data/grammars/source.wit.json +1 -1
  82. data/grammars/source.yul.json +1 -1
  83. data/grammars/text.adblock.json +1 -1
  84. data/grammars/text.hash-commented.json +1 -1
  85. data/grammars/text.html.ember-handlebars.json +1 -0
  86. data/grammars/text.html.statamic.json +1 -1
  87. data/grammars/text.md.json +1 -1
  88. data/grammars/text.tex.json +1 -1
  89. data/grammars/text.tex.latex.sweave.json +1 -0
  90. data/grammars/text.xml.svg.json +1 -1
  91. data/grammars/version +1 -1
  92. data/lib/linguist/VERSION +1 -1
  93. data/lib/linguist/generated.rb +14 -4
  94. data/lib/linguist/heuristics.rb +2 -0
  95. data/lib/linguist/heuristics.yml +26 -11
  96. data/lib/linguist/languages.json +1 -1
  97. data/lib/linguist/languages.yml +129 -12
  98. data/lib/linguist/samples.json +1 -1
  99. metadata +35 -14
  100. data/grammars/govulncheck.json +0 -1
  101. data/grammars/source.dmf.json +0 -1
  102. data/grammars/source.genero-forms.json +0 -1
  103. data/grammars/source.genero.json +0 -1
  104. data/grammars/source.nimcfg.json +0 -1
@@ -246,7 +246,7 @@
246
246
  #if defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L
247
247
 
248
248
  /* C99 says to define __STDC_LIMIT_MACROS before including stdint.h,
249
- * if you want the limit (max/min) macros for int types.
249
+ * if you want the limit (max/min) macros for int types.
250
250
  */
251
251
  #ifndef __STDC_LIMIT_MACROS
252
252
  #define __STDC_LIMIT_MACROS 1
@@ -263,7 +263,7 @@ typedef uint32_t flex_uint32_t;
263
263
  typedef signed char flex_int8_t;
264
264
  typedef short int flex_int16_t;
265
265
  typedef int flex_int32_t;
266
- typedef unsigned char flex_uint8_t;
266
+ typedef unsigned char flex_uint8_t;
267
267
  typedef unsigned short int flex_uint16_t;
268
268
  typedef unsigned int flex_uint32_t;
269
269
 
@@ -435,6 +435,7 @@ void yyfree ( void * , yyscan_t yyscanner );
435
435
  #define python_dcomment 5
436
436
  #define python_scomment 6
437
437
  #define roff_comment 7
438
+ #define lean_comment 8
438
439
 
439
440
  #endif
440
441
 
@@ -694,9 +695,9 @@ extern int yylex (yyscan_t yyscanner);
694
695
  #undef yyTABLES_NAME
695
696
  #endif
696
697
 
697
- #line 173 "tokenizer.l"
698
+ #line 176 "tokenizer.l"
698
699
 
699
700
 
700
- #line 701 "lex.linguist_yy.h"
701
+ #line 702 "lex.linguist_yy.h"
701
702
  #undef linguist_yyIN_HEADER
702
703
  #endif /* linguist_yyHEADER_H */
@@ -51,7 +51,7 @@
51
51
  %}
52
52
 
53
53
  %option never-interactive yywrap reentrant nounput warn nodefault header-file="lex.linguist_yy.h" extra-type="VALUE*" prefix="linguist_yy"
54
- %x c_comment xml_comment haskell_comment ocaml_comment python_dcomment python_scomment roff_comment
54
+ %x c_comment xml_comment haskell_comment ocaml_comment python_dcomment python_scomment roff_comment lean_comment
55
55
 
56
56
  %%
57
57
 
@@ -102,8 +102,10 @@
102
102
  "\"\"\"" { FEED_STATIC("COMMENT\"\"\""); BEGIN(python_dcomment); return 1; }
103
103
  "'''" { FEED_STATIC("COMMENT'''"); BEGIN(python_scomment); return 1; }
104
104
  ^".ig"\n { FEED_STATIC("COMMENT.ig"); BEGIN(roff_comment); return 1; }
105
+ "/--" { FEED_STATIC("COMMENT/-"); BEGIN(lean_comment); return 1; }
106
+ "/-" { FEED_STATIC("COMMENT/-"); BEGIN(lean_comment); return 1; }
105
107
 
106
- <c_comment,xml_comment,haskell_comment,ocaml_comment,python_dcomment,python_scomment,roff_comment>.|\n { /* nothing */ }
108
+ <c_comment,xml_comment,haskell_comment,ocaml_comment,python_dcomment,python_scomment,roff_comment,lean_comment>.|\n { /* nothing */ }
107
109
  <c_comment>"*/" { BEGIN(INITIAL); }
108
110
  <xml_comment>"-->" { BEGIN(INITIAL); }
109
111
  <haskell_comment>"-}" { BEGIN(INITIAL); }
@@ -111,6 +113,7 @@
111
113
  <python_dcomment>"\"\"\"" { BEGIN(INITIAL); }
112
114
  <python_scomment>"'''" { BEGIN(INITIAL); }
113
115
  <roff_comment>".."\n { BEGIN(INITIAL); }
116
+ <lean_comment>"-/" { BEGIN(INITIAL); }
114
117
 
115
118
  \"\"|'' { /* nothing */ }
116
119
  \" { eat_until_unescaped('"'); }
@@ -0,0 +1 @@
1
+ {"scopeName":"inline.edgeql","patterns":[{"name":"commentTaggedTemplate","contentName":"meta.embedded.block.edgeql","begin":"(`)(#\\s*edgeql)","end":"`","patterns":[{"include":"source.edgeql"}],"beginCaptures":{"1":{"name":"punctuation.definition.string.template.begin.js"},"2":{"name":"comment.line.number-sign.edgeql"}},"endCaptures":{"0":{"name":"punctuation.definition.string.template.end.js"}}},{"name":"tagged-template.edgeql","contentName":"meta.embedded.block.edgeql","begin":"\\b(edgeql)(`)","end":"\\2","patterns":[{"include":"source.edgeql"}],"beginCaptures":{"1":{"name":"entity.name.function.tagged-template.js"},"2":{"name":"punctuation.definition.string.begin.js"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.js"}}},{"name":"multilinecomment.edgeql","contentName":"meta.embedded.block.edgeql","begin":"(/\\**\\s*edgeql\\s*\\**/)\\s*(`|'|\")","end":"\\2","patterns":[{"include":"source.edgeql"}],"beginCaptures":{"1":{"name":"punctuation.definition.comment.js"},"2":{"name":"punctuation.definition.string.template.start.js"}},"endCaptures":{"0":{"name":"punctuation.definition.string.template.end.js"}}}]}
@@ -0,0 +1 @@
1
+ {"scopeName":"inline.hbs","patterns":[{"name":"string.js.taggedTemplate","contentName":"meta.embedded.block.html","begin":"(?x)(\\b(?:\\w+\\.)*(?:hbs|html)\\s*)(`)","end":"(`)","patterns":[{"include":"source.ts#template-substitution-element"},{"include":"text.html.ember-handlebars"}],"beginCaptures":{"1":{"name":"entity.name.function.tagged-template.js"},"2":{"name":"punctuation.definition.string.template.begin.js"}},"endCaptures":{"0":{"name":"string.js"},"1":{"name":"punctuation.definition.string.template.end.js"}}},{"contentName":"meta.embedded.block.html","begin":"((createTemplate|hbs|html))(\\()","end":"(\\))","patterns":[{"begin":"((`))","end":"((`))","patterns":[{"include":"text.html.ember-handlebars"}],"beginCaptures":{"1":{"name":"string.template.ts"},"2":{"name":"punctuation.definition.string.template.begin.ts"}},"endCaptures":{"1":{"name":"string.template.ts"},"2":{"name":"punctuation.definition.string.template.end.ts"}}}],"beginCaptures":{"1":{"name":"entity.name.function.ts"},"2":{"name":"meta.function-call.ts"},"3":{"name":"meta.brace.round.ts"}},"endCaptures":{"1":{"name":"meta.brace.round.ts"}}},{"begin":"((precompileTemplate)\\s*)(\\()","end":"(\\))","patterns":[{"contentName":"meta.embedded.block.html","begin":"((`|'|\"))","end":"((`|'|\"))","patterns":[{"include":"text.html.ember-handlebars"}],"beginCaptures":{"1":{"name":"string.template.ts"},"2":{"name":"punctuation.definition.string.template.begin.ts"}},"endCaptures":{"1":{"name":"string.template.ts"},"2":{"name":"punctuation.definition.string.template.end.ts"}}},{"include":"source.ts#object-literal"},{"include":"source.ts"}],"beginCaptures":{"1":{"name":"entity.name.function.ts"},"2":{"name":"meta.function-call.ts"},"3":{"name":"meta.brace.round.ts"}},"endCaptures":{"1":{"name":"meta.brace.round.ts"}}}],"injections":{"L:source":{"patterns":[{"name":"invalid.illegal.bad-angle-bracket.html","match":"\u003c"}]}}}
@@ -0,0 +1 @@
1
+ {"scopeName":"inline.template","patterns":[{"name":"meta.js.embeddedTemplateWithoutArgs","begin":"\\s*(\u003c)(template)\\s*(\u003e)","end":"(\u003c/)(template)(\u003e)","patterns":[{"include":"text.html.ember-handlebars"}],"beginCaptures":{"1":{"name":"punctuation.definition.tag.html"},"2":{"name":"entity.name.tag.other.html"},"3":{"name":"punctuation.definition.tag.html"}},"endCaptures":{"1":{"name":"punctuation.definition.tag.html"},"2":{"name":"entity.name.tag.other.html"},"3":{"name":"punctuation.definition.tag.html"}}},{"name":"meta.js.embeddedTemplateWithArgs","begin":"(\u003c)(template)","end":"(\u003c/)(template)(\u003e)","patterns":[{"begin":"(?\u003c=\\\u003ctemplate)","end":"(?=\\\u003e)","patterns":[{"include":"text.html.ember-handlebars#tag-like-content"}]},{"contentName":"meta.html.embedded.block","begin":"(\u003e)","end":"(?=\u003c/template\u003e)","patterns":[{"include":"text.html.ember-handlebars"}],"beginCaptures":{"1":{"name":"punctuation.definition.tag.end.js"}}}],"beginCaptures":{"1":{"name":"punctuation.definition.tag.html"},"2":{"name":"entity.name.tag.other.html"}},"endCaptures":{"1":{"name":"punctuation.definition.tag.html"},"2":{"name":"entity.name.tag.other.html"},"3":{"name":"punctuation.definition.tag.html"}}}]}
@@ -0,0 +1 @@
1
+ {"scopeName":"markdown.d2.codeblock","patterns":[{"include":"#d2-code-block"}],"repository":{"d2-code-block":{"name":"markup.fenced_code.block.markdown","begin":"(^|\\G)(\\s*)(\\`{3,}|~{3,})\\s*(?i:(d2)(\\s+[^`~]*)?$)","end":"(^|\\G)(\\2|\\s{0,3})(\\3)\\s*$","patterns":[{"contentName":"meta.embedded.block.d2","begin":"(^|\\G)(\\s*)(.*)","while":"(^|\\G)(?!\\s*([`~]{3,})\\s*$)","patterns":[{"include":"source.d2"}]}],"beginCaptures":{"3":{"name":"punctuation.definition.markdown"},"4":{"name":"fenced_code.block.language.markdown"},"5":{"name":"fenced_code.block.language.attributes.markdown"}},"endCaptures":{"3":{"name":"punctuation.definition.markdown"}}}}}
@@ -0,0 +1 @@
1
+ {"scopeName":"markdown.lean4.codeblock","patterns":[{"include":"#lean-code-block"}],"repository":{"lean-code-block":{"name":"markup.fenced_code.block.markdown","begin":"(^|\\G)(\\s*)(\\`{3,}|~{3,})\\s*(?i:(lean)(\\s+[^`~]*)?$)","end":"(^|\\G)(\\2|\\s{0,3})(\\3)\\s*$","patterns":[{"contentName":"meta.embedded.block.lean4","begin":"(^|\\G)(\\s*)(.*)","while":"(^|\\G)(?!\\s*([`~]{3,})\\s*$)","patterns":[{"include":"source.lean4"}]}],"beginCaptures":{"3":{"name":"punctuation.definition.markdown"},"5":{"name":"fenced_code.block.language"},"6":{"name":"fenced_code.block.language.attributes"}},"endCaptures":{"3":{"name":"punctuation.definition.markdown"}}}}}
@@ -0,0 +1 @@
1
+ {"scopeName":"markdown.move.codeblock","patterns":[{"include":"#move-code-block"}],"repository":{"move-code-block":{"name":"markup.fenced_code.block.markdown","begin":"(^|\\G)(\\s*)(\\`{3,}|~{3,})\\s*(?i:(move)(\\s+[^`~]*)?$)","end":"(^|\\G)(\\2|\\s{0,3})(\\3)\\s*$","patterns":[{"contentName":"meta.embedded.block.move","begin":"(^|\\G)(\\s*)(.*)","while":"(^|\\G)(?!\\s*([`~]{3,})\\s*$)","patterns":[{"include":"source.move"}]}],"beginCaptures":{"3":{"name":"punctuation.definition.markdown"},"4":{"name":"fenced_code.block.language.markdown"},"5":{"name":"fenced_code.block.language.attributes.markdown"}},"endCaptures":{"3":{"name":"punctuation.definition.markdown"}}}}}
@@ -0,0 +1 @@
1
+ {"scopeName":"mdx.LANGUAGE.codeblock","patterns":[{"include":"#LANGUAGE-code-block"}],"repository":{"LANGUAGE-code-block":{"name":"markup.code.other.mdx","end":"(^|\\G)(\\2|\\s{0,3})(\\3)\\s*$","patterns":[{"contentName":"meta.embedded.block.LANGUAGE","begin":"(^|\\G)(\\s*)(.*)","while":"(^|\\G)(?!\\s*([`~]{3,})\\s*$)","patterns":[{}]}],"beginCaptures":{"3":{"name":"string.other.begin.code.fenced.mdx"},"4":{"name":"entity.name.function.mdx"}},"endCaptures":{"3":{"name":"string.other.end.code.fenced.mdx"}}}}}
@@ -1 +1 @@
1
- {"name":"ABAP","scopeName":"source.abap","patterns":[{"name":"comment.line.full.abap","match":"^\\*.*\\n?","captures":{"1":{"name":"punctuation.definition.comment.abap"}}},{"name":"comment.line.partial.abap","match":"\".*\\n?","captures":{"1":{"name":"punctuation.definition.comment.abap"}}},{"name":"comment.line.pragma.abap","match":"(?\u003c![^\\s])##.*?(?=([\\.:,\\s]))"},{"name":"variable.other.abap","match":"(?i)(?\u003c=(?:\\s|~|-))(?\u003c=(?:-\u003e|=\u003e))([a-z_\\/][a-z_0-9\\/]*)(?=\\s+(?:=|\\+=|-=|\\*=|\\/=|\u0026\u0026=|\u0026=)\\s+)"},{"name":"constant.numeric.abap","match":"\\b[0-9]+(\\b|\\.|,)"},{"name":"storage.modifier.class.abap","match":"(?ix)(^|\\s+)((PUBLIC|PRIVATE|PROTECTED)\\sSECTION)(?=\\s+|:|\\.)"},{"name":"string.interpolated.abap","begin":"(?\u003c!\\\\)(\\|)(.*?)","end":"(?\u003c!\\\\)(\\||(\\\\\\\\\\|))","patterns":[{"name":"constant.character.escape","match":"({ )|( })"},{"name":"variable.other.abap","match":"(?\u003c={ ).*?(?= })"},{"name":"constant.character.escape.abap","match":"\\\\\\|"}],"beginCaptures":{"1":{"name":"constant.character.escape.abap"}},"endCaptures":{"1":{"name":"constant.character.escape.abap"}}},{"name":"string.quoted.single.abap","begin":"'","end":"'","patterns":[{"name":"constant.character.escape.abap","match":"''"}]},{"name":"string.quoted.single.abap","begin":"`","end":"`","patterns":[{"name":"constant.character.escape.abap","match":"``"}]},{"name":"meta.block.begin.implementation.abap","begin":"(?i)^\\s*(class)\\s([a-z_\\/][a-z_0-9\\/]*)","end":"\\s*\\.\\s*\\n?","patterns":[{"name":"storage.modifier.class.abap","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+|\\.)"},{"contentName":"entity.name.type.block.abap","begin":"(?=[A-Za-z_][A-Za-z0-9_]*)","end":"(?![A-Za-z0-9_])","patterns":[{"include":"#generic_names"}]}],"beginCaptures":{"1":{"name":"storage.type.block.abap"},"2":{"name":"entity.name.type.block.abap"}}},{"begin":"(?ix)^\\s*(method)\\s(?:([a-z_\\/][a-z_0-9\\/]*)~)?([a-z_\\/][a-z_0-9\\/]*)","end":"\\s*\\.\\s*\\n?","patterns":[{"name":"storage.modifier.method.abap","match":"(?ix)(?\u003c=^|\\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)(?\u003c=^|\\s)(FOR\\s+(HDB|LLANG))(?=\\s+|\\.)"},{"name":"storage.modifier.method.abap","match":"(?ix)(?\u003c=\\s)(OPTIONS\\s+(READ-ONLY|DETERMINISTIC|SUPPRESS\\s+SYNTAX\\s+ERRORS))(?=\\s+|\\.)"},{"name":"storage.modifier.method.abap","match":"(?ix)(?\u003c=^|\\s)(LANGUAGE\\s+(SQLSCRIPT|SQL|GRAPH))(?=\\s+|\\.)"},{"match":"(?ix)(?\u003c=\\s)(USING)\\s+([a-z_\\/][a-z_0-9\\/=\\\u003e]*)+(?=\\s+|\\.)","captures":{"1":{"name":"storage.modifier.method.abap"}}},{"begin":"(?=[A-Za-z_][A-Za-z0-9_]*)","end":"(?![A-Za-z0-9_])","patterns":[{"include":"#generic_names"}]}],"beginCaptures":{"1":{"name":"storage.type.block.abap"},"2":{"name":"entity.name.type.abap"},"3":{"name":"entity.name.function.abap"}}},{"begin":"(?ix)^\\s*(INTERFACE)\\s([a-z_\\/][a-z_0-9\\/]*)","end":"\\s*\\.\\s*\\n?","patterns":[{"name":"storage.modifier.method.abap","match":"(?ix)(?\u003c=^|\\s)(DEFERRED|PUBLIC)(?=\\s+|\\.)"}],"beginCaptures":{"1":{"name":"storage.type.block.abap"},"2":{"name":"entity.name.type.abap"}}},{"begin":"(?ix)^\\s*(FORM)\\s([a-z_\\/][a-z_0-9\\/\\-\\?]*)","end":"\\s*\\.\\s*\\n?","patterns":[{"name":"storage.modifier.form.abap","match":"(?ix)(?\u003c=^|\\s)(USING|TABLES|CHANGING|RAISING|IMPLEMENTATION|DEFINITION)(?=\\s+|\\.)"},{"include":"#abaptypes"},{"include":"#keywords_followed_by_braces"}],"beginCaptures":{"1":{"name":"storage.type.block.abap"},"2":{"name":"entity.name.type.abap"}}},{"name":"storage.type.block.end.abap","match":"(?i)(endclass|endmethod|endform|endinterface)"},{"name":"variable.other.field.symbol.abap","match":"(?i)(\u003c[A-Za-z_][A-Za-z0-9_]*\u003e)"},{"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":{"name":"constant.language.abap","match":"(?ix)(?\u003c=\\s)(initial|null|space|abap_true|abap_false|abap_undefined|table_line|\n\t\t\t\t%_final|%_hints|%_predefined|col_background|col_group|col_heading|col_key|col_negative|col_normal|col_positive|col_total|\n\t\t\t\tadabas|as400|db2|db6|hdb|oracle|sybase|mssqlnt|pos_low|pos_high)(?=\\s|\\.|,)"},"abaptypes":{"patterns":[{"name":"support.type.abap","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":"keyword.control.simple.abap","match":"(?ix)\\s(TYPE|REF|TO|LIKE|LINE|OF|STRUCTURE|STANDARD|SORTED|HASHED|INDEX|TABLE|WITH|UNIQUE|NON-UNIQUE|SECONDARY|DEFAULT|KEY)(?=\\s|\\.|,)"}]},"arithmetic_operator":{"name":"keyword.control.simple.abap","match":"(?i)(?\u003c=\\s)(\\+|\\-|\\*|\\*\\*|\\/|%|DIV|MOD|BIT-AND|BIT-OR|BIT-XOR|BIT-NOT)(?=\\s)"},"builtin_functions":{"name":"entity.name.function.builtin.abap","match":"(?ix)(?\u003c=\\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)(?=\\()"},"comparison_operator":{"name":"keyword.control.simple.abap","match":"(?i)(?\u003c=\\s)(\u003c|\u003e|\u003c\\=|\u003e\\=|\\=|\u003c\u003e|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)"},"control_keywords":{"name":"keyword.control.flow.abap","match":"(?ix)(^|\\s)(\n\t at|case|catch|continue|do|elseif|else|endat|endcase|endcatch|enddo|endif|\n\t endloop|endon|endtry|endwhile|if|loop|on|raise|try|while)(?=\\s|\\.|:)"},"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":{"match":"(?ix)\\b(data|value|field-symbol|final|reference|resumable)\\((\u003c?[a-z_\\/][a-z_0-9\\/]*\u003e?)\\)","captures":{"1":{"name":"keyword.control.simple.abap"},"2":{"name":"variable.other.abap"}}},"logical_operator":{"name":"keyword.control.simple.abap","match":"(?i)(?\u003c=\\s)(not|or|and)(?=\\s)"},"main_keywords":{"name":"keyword.control.simple.abap","match":"(?ix)(?\u003c=^|\\s)(\nabap-source|\nabstract|\naccept|\naccepting|\naccess|\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|\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|\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|\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|\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\t\t \t)(?=\\s|\\.|:|,)"},"operators":{"patterns":[{"include":"#other_operator"},{"include":"#arithmetic_operator"},{"include":"#comparison_operator"},{"include":"#logical_operator"}]},"other_operator":{"name":"keyword.control.simple.abap","match":"(?\u003c=\\s)(\u0026\u0026|\u0026|\\?=|\\+=|-=|\\/=|\\*=|\u0026\u0026=|\u0026=)(?=\\s)"},"reserved_names":{"name":"constant.language.abap","match":"(?ix)(?\u003c=\\s)(me|super)(?=\\s|\\.|,|-\u003e)"},"sql_functions":{"name":"entity.name.function.sql.abap","match":"(?ix)(?\u003c=\\s)(abs|ceil|div|division|floor|mod|round|concat|concat_with_space|instr|left|length|like_regexpr|lower|lpad|ltrim|occurrences_regexpr|replace|replace_regexpr|rigth|rpad|rtrim|substring|upper|coalesce|uuid|bintohex|hextobin|to_clob|to_blob|currency_conversion|datn_days_between|datn_add_days|datn_add_months|dats_is_valid|dats_days_between|dats_add_days|dats_add_months|tims_is_valid|utcl_current|utcl_add_seconds|utcl_seconds_between|tstmp_is_valid|tstmp_current_utctimestamp|tstmp_seconds_between|tstmp_add_seconds|abap_system_timezone|abap_user_timezone|tstmp_to_dats|tstmp_to_tims|tstmp_to_dst|dats_tims_to_tstmp|tstmpl_to_utcl|tstmpl_from_utcl|dats_to_datn|dats_from_datn|tims_to_timn|tims_from_timn|avg|median|max|min|sum|product|stddev|var|corr|corr_spearman|string_agg|count|grouping|allow_precision_loss|over|cast)(?=\\()"},"sql_types":{"name":"entity.name.type.sql.abap","match":"(?ix)(?\u003c=\\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|\\(|\\))"},"system_fields":{"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)","captures":{"1":{"name":"variable.language.abap"},"2":{"name":"variable.language.abap"}}},"text_symbols":{"match":"(?ix)(?\u003c=^|\\s)(text)-([A-Z0-9]{1,3})(?=\\s|\\.|:|,)","captures":{"1":{"name":"keyword.control.simple.abap"},"2":{"name":"constant.numeric.abap"}}}}}
1
+ {"name":"ABAP","scopeName":"source.abap","patterns":[{"name":"comment.line.full.abap","match":"^\\*.*\\n?","captures":{"1":{"name":"punctuation.definition.comment.abap"}}},{"name":"comment.line.partial.abap","match":"\".*\\n?","captures":{"1":{"name":"punctuation.definition.comment.abap"}}},{"name":"comment.line.pragma.abap","match":"(?\u003c![^\\s])##.*?(?=([\\.:,\\s]))"},{"name":"variable.other.abap","match":"(?i)(?\u003c=(?:\\s|~|-))(?\u003c=(?:-\u003e|=\u003e))([a-z_\\/][a-z_0-9\\/]*)(?=\\s+(?:=|\\+=|-=|\\*=|\\/=|\u0026\u0026=|\u0026=)\\s+)"},{"name":"constant.numeric.abap","match":"\\b[0-9]+(\\b|\\.|,)"},{"name":"storage.modifier.class.abap","match":"(?ix)(^|\\s+)((PUBLIC|PRIVATE|PROTECTED)\\sSECTION)(?=\\s+|:|\\.)"},{"name":"string.interpolated.abap","begin":"(?\u003c!\\\\)(\\|)(.*?)","end":"(?\u003c!\\\\)(\\||(\\\\\\\\\\|))","patterns":[{"name":"constant.character.escape","match":"({ )|( })"},{"name":"variable.other.abap","match":"(?\u003c={ ).*?(?= })"},{"name":"constant.character.escape.abap","match":"\\\\\\|"}],"beginCaptures":{"1":{"name":"constant.character.escape.abap"}},"endCaptures":{"1":{"name":"constant.character.escape.abap"}}},{"name":"string.quoted.single.abap","begin":"'","end":"'","patterns":[{"name":"constant.character.escape.abap","match":"''"}]},{"name":"string.quoted.single.abap","begin":"`","end":"`","patterns":[{"name":"constant.character.escape.abap","match":"``"}]},{"name":"meta.block.begin.implementation.abap","begin":"(?i)^\\s*(class)\\s([a-z_\\/][a-z_0-9\\/]*)","end":"\\s*\\.\\s*\\n?","patterns":[{"name":"storage.modifier.class.abap","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+|\\.)"},{"contentName":"entity.name.type.block.abap","begin":"(?=[A-Za-z_][A-Za-z0-9_]*)","end":"(?![A-Za-z0-9_])","patterns":[{"include":"#generic_names"}]}],"beginCaptures":{"1":{"name":"storage.type.block.abap"},"2":{"name":"entity.name.type.block.abap"}}},{"begin":"(?ix)^\\s*(method)\\s(?:([a-z_\\/][a-z_0-9\\/]*)~)?([a-z_\\/][a-z_0-9\\/]*)","end":"\\s*\\.\\s*\\n?","patterns":[{"name":"storage.modifier.method.abap","match":"(?ix)(?\u003c=^|\\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)(?\u003c=^|\\s)(FOR\\s+(HDB|LLANG))(?=\\s+|\\.)"},{"name":"storage.modifier.method.abap","match":"(?ix)(?\u003c=\\s)(OPTIONS\\s+(READ-ONLY|DETERMINISTIC|SUPPRESS\\s+SYNTAX\\s+ERRORS))(?=\\s+|\\.)"},{"name":"storage.modifier.method.abap","match":"(?ix)(?\u003c=^|\\s)(LANGUAGE\\s+(SQLSCRIPT|SQL|GRAPH))(?=\\s+|\\.)"},{"match":"(?ix)(?\u003c=\\s)(USING)\\s+([a-z_\\/][a-z_0-9\\/=\\\u003e]*)+(?=\\s+|\\.)","captures":{"1":{"name":"storage.modifier.method.abap"}}},{"begin":"(?=[A-Za-z_][A-Za-z0-9_]*)","end":"(?![A-Za-z0-9_])","patterns":[{"include":"#generic_names"}]}],"beginCaptures":{"1":{"name":"storage.type.block.abap"},"2":{"name":"entity.name.type.abap"},"3":{"name":"entity.name.function.abap"}}},{"begin":"(?ix)^\\s*(INTERFACE)\\s([a-z_\\/][a-z_0-9\\/]*)","end":"\\s*\\.\\s*\\n?","patterns":[{"name":"storage.modifier.method.abap","match":"(?ix)(?\u003c=^|\\s)(DEFERRED|PUBLIC)(?=\\s+|\\.)"}],"beginCaptures":{"1":{"name":"storage.type.block.abap"},"2":{"name":"entity.name.type.abap"}}},{"begin":"(?ix)^\\s*(FORM)\\s([a-z_\\/][a-z_0-9\\/\\-\\?]*)","end":"\\s*\\.\\s*\\n?","patterns":[{"name":"storage.modifier.form.abap","match":"(?ix)(?\u003c=^|\\s)(USING|TABLES|CHANGING|RAISING|IMPLEMENTATION|DEFINITION)(?=\\s+|\\.)"},{"include":"#abaptypes"},{"include":"#keywords_followed_by_braces"}],"beginCaptures":{"1":{"name":"storage.type.block.abap"},"2":{"name":"entity.name.type.abap"}}},{"name":"storage.type.block.end.abap","match":"(?i)(endclass|endmethod|endform|endinterface)"},{"name":"variable.other.field.symbol.abap","match":"(?i)(\u003c[A-Za-z_][A-Za-z0-9_]*\u003e)"},{"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":{"name":"constant.language.abap","match":"(?ix)(?\u003c=\\s)(initial|null|space|abap_true|abap_false|abap_undefined|table_line|\n\t\t\t\t%_final|%_hints|%_predefined|col_background|col_group|col_heading|col_key|col_negative|col_normal|col_positive|col_total|\n\t\t\t\tadabas|as400|db2|db6|hdb|oracle|sybase|mssqlnt|pos_low|pos_high)(?=\\s|\\.|,)"},"abaptypes":{"patterns":[{"name":"support.type.abap","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":"keyword.control.simple.abap","match":"(?ix)\\s(TYPE|REF|TO|LIKE|LINE|OF|STRUCTURE|STANDARD|SORTED|HASHED|INDEX|TABLE|WITH|UNIQUE|NON-UNIQUE|SECONDARY|DEFAULT|KEY)(?=\\s|\\.|,)"}]},"arithmetic_operator":{"name":"keyword.control.simple.abap","match":"(?i)(?\u003c=\\s)(\\+|\\-|\\*|\\*\\*|\\/|%|DIV|MOD|BIT-AND|BIT-OR|BIT-XOR|BIT-NOT)(?=\\s)"},"builtin_functions":{"name":"entity.name.function.builtin.abap","match":"(?ix)(?\u003c=\\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)(?=\\()"},"comparison_operator":{"name":"keyword.control.simple.abap","match":"(?i)(?\u003c=\\s)(\u003c|\u003e|\u003c\\=|\u003e\\=|\\=|\u003c\u003e|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)"},"control_keywords":{"name":"keyword.control.flow.abap","match":"(?ix)(^|\\s)(\n\t at|case|catch|continue|do|elseif|else|endat|endcase|endcatch|enddo|endif|\n\t endloop|endon|endtry|endwhile|if|loop|on|raise|try|while)(?=\\s|\\.|:)"},"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":{"match":"(?ix)\\b(data|value|field-symbol|final|reference|resumable)\\((\u003c?[a-z_\\/][a-z_0-9\\/]*\u003e?)\\)","captures":{"1":{"name":"keyword.control.simple.abap"},"2":{"name":"variable.other.abap"}}},"logical_operator":{"name":"keyword.control.simple.abap","match":"(?i)(?\u003c=\\s)(not|or|and)(?=\\s)"},"main_keywords":{"name":"keyword.control.simple.abap","match":"(?ix)(?\u003c=^|\\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\t\t \t)(?=\\s|\\.|:|,)"},"operators":{"patterns":[{"include":"#other_operator"},{"include":"#arithmetic_operator"},{"include":"#comparison_operator"},{"include":"#logical_operator"}]},"other_operator":{"name":"keyword.control.simple.abap","match":"(?\u003c=\\s)(\u0026\u0026|\u0026|\\?=|\\+=|-=|\\/=|\\*=|\u0026\u0026=|\u0026=)(?=\\s)"},"reserved_names":{"name":"constant.language.abap","match":"(?ix)(?\u003c=\\s)(me|super)(?=\\s|\\.|,|-\u003e)"},"sql_functions":{"name":"entity.name.function.sql.abap","match":"(?ix)(?\u003c=\\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 )(?=\\()"},"sql_types":{"name":"entity.name.type.sql.abap","match":"(?ix)(?\u003c=\\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|\\(|\\))"},"system_fields":{"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)","captures":{"1":{"name":"variable.language.abap"},"2":{"name":"variable.language.abap"}}},"text_symbols":{"match":"(?ix)(?\u003c=^|\\s)(text)-([A-Z0-9]{1,3})(?=\\s|\\.|:|,)","captures":{"1":{"name":"keyword.control.simple.abap"},"2":{"name":"constant.numeric.abap"}}}}}
@@ -1 +1 @@
1
- {"name":"AIDL","scopeName":"source.aidl","patterns":[{"include":"#main"}],"repository":{"annotation":{"patterns":[{"name":"storage.type.annotation.aidl","contentName":"meta.annotation.parameters.aidl","begin":"(@)([_a-zA-Z][_a-zA-Z0-9]*)\\s*(\\()","end":"(\\))","patterns":[{"include":"#comments"},{"name":"punctuation.separator.parameter.method.aidl","match":","},{"name":"keyword.operator.assignment.aidl","match":"="},{"include":"#const_expr"},{"name":"variable.parameter.aidl","match":"[_a-zA-Z][_a-zA-Z0-9]*"}],"beginCaptures":{"1":{"name":"punctuation.definition.annotation.aidl"},"2":{"name":"meta.annotation.identifier.aidl"},"3":{"name":"punctuation.definition.parameters.begin.aidl"}},"endCaptures":{"1":{"name":"punctuation.definition.parameters.end.aidl"}}},{"name":"storage.type.annotation.aidl","match":"(@)([_a-zA-Z][_a-zA-Z0-9]*)","captures":{"1":{"name":"punctuation.definition.annotation.aidl"},"2":{"name":"meta.annotation.identifier.aidl"}}}]},"comments":{"patterns":[{"include":"#multi_line_comment"},{"name":"comment.line.double-slash.aidl","match":"(//).*","captures":{"1":{"name":"punctuation.definition.comment.aidl"}}}]},"const_expr":{"patterns":[{"include":"#numeric"},{"name":"constant.character.aidl","match":"('.')"},{"name":"meta.string.aidl","match":"(\")([^\\\"]*)(\")","captures":{"1":{"name":"punctuation.definition.string.begin.aidl"},"2":{"name":"string.quoted.double.aidl"},"3":{"name":"punctuation.definition.string.end.aidl"}}},{"name":"constant.language.aidl","match":"(true|false)"},{"name":"keyword.operator.logical.aidl","match":"([!\u003c\u003e]|\u0026\u0026|\\|\\||\u003c=|\u003e=|==|!=)"},{"name":"keyword.operator.bitwise.aidl","match":"([\u0026|~\\^]|\u003c\u003c|\u003e\u003e)"},{"name":"keyword.operator.arithmetic.aidl","match":"([+*/%\\-])"},{"name":"meta.braces.aidl","begin":"(\\{})","end":"(\\})","patterns":[{"name":"punctuation.separator.aidl","match":","},{"include":"#const_expr"}],"beginCaptures":{"1":{"name":"punctuation.section.braces.begin.aidl"}},"endCaptures":{"1":{"name":"punctuation.section.braces.end.aidl"}}}]},"constant_decl":{"patterns":[{"name":"meta.constant.aidl","begin":"(const)","end":"(;)","patterns":[{"name":"keyword.operator.assignment.aidl","match":"="},{"include":"#comments"},{"include":"#type"},{"include":"#const_expr"},{"name":"entity.name.constant.aidl","match":"[_a-zA-Z][_a-zA-Z0-9]*"}],"beginCaptures":{"1":{"name":"storage.type.constant.aidl"}},"endCaptures":{"1":{"name":"punctuation.terminator.aidl"}}}]},"decls":{"patterns":[{"include":"#annotation"},{"name":"punctuation.section.braces.end.aidl","match":"(\\})"},{"name":"meta.interface.aidl","match":"(?:(oneway)\\s+)?(interface)\\s+([_a-zA-Z][_a-zA-Z0-9]*)\\s*(\\{)","captures":{"1":{"name":"storage.modifier.aidl"},"2":{"name":"storage.type.interface.aidl"},"3":{"name":"entity.name.type.interface.aidl"},"4":{"name":"punctuation.section.braces.begin.aidl"}}},{"name":"meta.parcelable.aidl","match":"(parcelable)\\s+((?:[_a-zA-Z][_a-zA-Z0-9]*)(?:\\.([_a-zA-Z][_a-zA-Z0-9]*))*)\\s*(?:(\u003c)((:?[_a-zA-Z][_a-zA-Z0-9]*)(:?,\\s+[_a-zA-Z][_a-zA-Z0-9]*)*)(\u003e)\\s*)?(\\{)","captures":{"1":{"name":"storage.type.parcelable.aidl"},"2":{"name":"entity.name.type.parcelable.aidl"},"3":{"name":"punctuation.definition.generic.begin.aidl"},"4":{"name":"entity.name.other.aidl"},"5":{"name":"punctuation.definition.generic.end.aidl"},"6":{"name":"punctuation.section.braces.begin.aidl"}}},{"name":"meta.parcelable.aidl","match":"(parcelable)\\s+((?:[_a-zA-Z][_a-zA-Z0-9]*)(?:\\.([_a-zA-Z][_a-zA-Z0-9]*))*)\\s*(?:(\u003c)((:?[_a-zA-Z][_a-zA-Z0-9]*)(:?,\\s+[_a-zA-Z][_a-zA-Z0-9]*)*)(\u003e)\\s*)?(;)","captures":{"1":{"name":"storage.type.parcelable.aidl"},"2":{"name":"entity.name.type.parcelable.aidl"},"3":{"name":"punctuation.definition.generic.begin.aidl"},"4":{"name":"entity.name.other.aidl"},"5":{"name":"punctuation.definition.generic.end.aidl"},"6":{"name":"punctuation.terminator.aidl"}}},{"name":"meta.parcelable.aidl","match":"(parcelable)\\s+((?:[_a-zA-Z][_a-zA-Z0-9]*)(?:\\.([_a-zA-Z][_a-zA-Z0-9]*))*)\\s*(cpp_header)\\s*(\")([^\\\"]*)(\")(;)","captures":{"1":{"name":"storage.type.parcelable.aidl"},"2":{"name":"entity.name.type.parcelable.aidl"},"3":{"name":"keyword.aidl"},"4":{"name":"punctuation.definition.string.begin.aidl"},"5":{"name":"string.quoted.double.aidl"},"6":{"name":"punctuation.definition.string.end.aidl"},"7":{"name":"punctuation.terminator.aidl"}}},{"name":"meta.enum.aidl","begin":"(enum)\\s+([_a-zA-Z][_a-zA-Z0-9]*)\\s*(\\{)","end":"(\\})","patterns":[{"include":"#enum_decl_body"}],"beginCaptures":{"1":{"name":"storage.type.enum.aidl"},"2":{"name":"entity.name.type.enum.aidl"},"3":{"name":"punctuation.section.braces.begin.aidl"}},"endCaptures":{"1":{"name":"punctuation.section.braces.end.aidl"}}},{"name":"meta.union.aidl","match":"(union)\\s+((?:[_a-zA-Z][_a-zA-Z0-9]*)(?:\\.([_a-zA-Z][_a-zA-Z0-9]*))*)\\s*(?:(\u003c)((:?[_a-zA-Z][_a-zA-Z0-9]*)(:?,\\s+[_a-zA-Z][_a-zA-Z0-9]*)*)(\u003e)\\s*)?(\\{)","captures":{"1":{"name":"storage.type.union.aidl"},"2":{"name":"entity.name.type.union.aidl"},"3":{"name":"punctuation.definition.generic.begin.aidl"},"4":{"name":"entity.name.other.aidl"},"5":{"name":"punctuation.definition.generic.end.aidl"},"6":{"name":"punctuation.section.braces.begin.aidl"}}},{"include":"#comments"},{"include":"#constant_decl"},{"include":"#method_decl"},{"include":"#variable_decl"}]},"enum_decl_body":{"patterns":[{"include":"#comments"},{"name":"keyword.operator.assignment.aidl","match":"="},{"include":"#const_expr"},{"name":"variable.other.aidl","match":"[_a-zA-Z][_a-zA-Z0-9]*"}]},"import":{"patterns":[{"begin":"(import)","end":"(;)","patterns":[{"name":"entity.name.type.aidl","match":"(([_a-zA-Z][_a-zA-Z0-9]*)(?:\\.([_a-zA-Z][_a-zA-Z0-9]*))*)"}],"beginCaptures":{"1":{"name":"keyword.aidl"}},"endCaptures":{"1":{"name":"punctuation.terminator.aidl"}}}]},"main":{"patterns":[{"include":"#comments"},{"include":"#package"},{"include":"#import"},{"include":"#decls"},{"name":"invalid.illegal.aidl","match":"([^\\s])"}]},"method_decl":{"patterns":[{"include":"#annotation"},{"include":"#type"},{"name":"storage.modifier.aidl","match":"oneway"},{"name":"keyword.operator.assignment.aidl","match":"="},{"name":"punctuation.terminator.aidl","match":";"},{"contentName":"meta.function.parameters.aidl","begin":"([_a-zA-Z][_a-zA-Z0-9]*)\\s*(\\()","end":"(\\))","patterns":[{"name":"punctuation.separator.parameter.method.aidl","match":","},{"name":"storage.modifier.aidl","match":"\\b(in|out|inout)\\b"},{"include":"#type"},{"name":"variable.parameter.aidl","match":"[_a-zA-Z][_a-zA-Z0-9]*"}],"beginCaptures":{"1":{"name":"entity.name.function.aidl"},"2":{"name":"punctuation.definition.parameters.begin.aidl"}},"endCaptures":{"1":{"name":"punctuation.definition.parameters.end.aidl"}}}]},"multi_line_comment":{"patterns":[{"name":"comment.block.documentation.aidl","begin":"(/\\*\\*)","end":"(\\*/)","beginCaptures":{"1":{"name":"punctuation.definition.comment.aidl"}},"endCaptures":{"1":{"name":"punctuation.definition.comment.aidl"}}},{"name":"comment.block.aidl","begin":"(/\\*)","end":"(\\*/)","beginCaptures":{"1":{"name":"punctuation.definition.comment.aidl"}},"endCaptures":{"1":{"name":"punctuation.definition.comment.aidl"}}}]},"multi_line_comment__1":{},"multi_line_comment__2":{},"numeric":{"patterns":[{"name":"constant.numeric.hex.aidl","match":"(0[x\\x{007c}X][0-9a-fA-F]+[lL]?)"},{"name":"constant.numeric.float.aidl","match":"([0-9]*\\.[0-9]+([eE][-\\x{002b}]?[0-9]+)?f?|[0-9]*\\.?[0-9]+([eE][-\\x{002b}]?[0-9]+)?f)"},{"name":"constant.numeric.decimal.aidl","match":"([0-9]+[lL]?)"}]},"package":{"patterns":[{"begin":"(package)","end":"(;)","patterns":[{"name":"entity.name.namespace.aidl","match":"(([_a-zA-Z][_a-zA-Z0-9]*)(?:\\.([_a-zA-Z][_a-zA-Z0-9]*))+)"}],"beginCaptures":{"1":{"name":"keyword.aidl"}},"endCaptures":{"1":{"name":"punctuation.terminator.aidl"}}}]},"type":{"patterns":[{"include":"#annotation"},{"name":"storage.type.aidl","match":"\\b(void|boolean|byte|char|int|long|float|double)\\b"},{"name":"support.class.aidl","match":"\\b(CharSequence|FileDescriptor|IBinder|List|Map|ParcelableHolder|ParcelFileDescriptor|String)\\b"},{"name":"punctuation.aidl","match":"\\[\\]"},{"name":"meta.generic.aidl","begin":"(\\\u003c)","end":"(\\\u003e)","patterns":[{"include":"#type"}],"beginCaptures":{"1":{"name":"punctuation.definition.generic.begin.aidl"}},"endCaptures":{"1":{"name":"punctuation.definition.generic.end.aidl"}}}]},"variable_decl":{"patterns":[{"name":"keyword.operator.assignment.aidl","match":"="},{"include":"#type"},{"include":"#const_expr"},{"name":"variable.other.aidl","match":"[_a-zA-Z][_a-zA-Z0-9]*"},{"name":"punctuation.terminator.aidl","match":";"}]}}}
1
+ {"name":"AIDL","scopeName":"source.aidl","patterns":[{"include":"#main"}],"repository":{"annotation":{"patterns":[{"name":"storage.type.annotation.aidl","contentName":"meta.annotation.parameters.aidl","begin":"(@)([_a-zA-Z][_a-zA-Z0-9]*)\\s*(\\()","end":"(\\))","patterns":[{"include":"#comments"},{"name":"punctuation.separator.parameter.method.aidl","match":","},{"name":"keyword.operator.assignment.aidl","match":"="},{"include":"#const_expr"},{"name":"variable.parameter.aidl","match":"[_a-zA-Z][_a-zA-Z0-9]*"}],"beginCaptures":{"1":{"name":"punctuation.definition.annotation.aidl"},"2":{"name":"meta.annotation.identifier.aidl"},"3":{"name":"punctuation.definition.parameters.begin.aidl"}},"endCaptures":{"1":{"name":"punctuation.definition.parameters.end.aidl"}}},{"name":"storage.type.annotation.aidl","match":"(@)([_a-zA-Z][_a-zA-Z0-9]*)","captures":{"1":{"name":"punctuation.definition.annotation.aidl"},"2":{"name":"meta.annotation.identifier.aidl"}}}]},"comments":{"patterns":[{"include":"#multi_line_comment"},{"name":"comment.line.double-slash.aidl","match":"(//).*","captures":{"1":{"name":"punctuation.definition.comment.aidl"}}}]},"const_expr":{"patterns":[{"include":"#numeric"},{"name":"constant.character.aidl","match":"('.')"},{"name":"meta.string.aidl","match":"(\")([^\\\"]*)(\")","captures":{"1":{"name":"punctuation.definition.string.begin.aidl"},"2":{"name":"string.quoted.double.aidl"},"3":{"name":"punctuation.definition.string.end.aidl"}}},{"name":"constant.language.aidl","match":"(true|false)"},{"name":"keyword.operator.logical.aidl","match":"([!\u003c\u003e]|\u0026\u0026|\\|\\||\u003c=|\u003e=|==|!=)"},{"name":"keyword.operator.bitwise.aidl","match":"([\u0026|~\\^]|\u003c\u003c|\u003e\u003e)"},{"name":"keyword.operator.arithmetic.aidl","match":"([+*/%\\-])"},{"name":"meta.braces.aidl","begin":"(\\{})","end":"(\\})","patterns":[{"name":"punctuation.separator.aidl","match":","},{"include":"#const_expr"}],"beginCaptures":{"1":{"name":"punctuation.section.braces.begin.aidl"}},"endCaptures":{"1":{"name":"punctuation.section.braces.end.aidl"}}}]},"constant_decl":{"patterns":[{"name":"meta.constant.aidl","begin":"(const)","end":"(;)","patterns":[{"name":"keyword.operator.assignment.aidl","match":"="},{"include":"#comments"},{"include":"#type"},{"include":"#const_expr"},{"name":"entity.name.constant.aidl","match":"[_a-zA-Z][_a-zA-Z0-9]*"}],"beginCaptures":{"1":{"name":"storage.type.constant.aidl"}},"endCaptures":{"1":{"name":"punctuation.terminator.aidl"}}}]},"decls":{"patterns":[{"include":"#annotation"},{"name":"punctuation.section.braces.end.aidl","match":"(\\})"},{"name":"meta.interface.aidl","match":"(?:(oneway)\\s+)?(interface)\\s+([_a-zA-Z][_a-zA-Z0-9]*)\\s*(\\{)","captures":{"1":{"name":"storage.modifier.aidl"},"2":{"name":"storage.type.interface.aidl"},"3":{"name":"entity.name.type.interface.aidl"},"4":{"name":"punctuation.section.braces.begin.aidl"}}},{"name":"meta.parcelable.aidl","match":"(parcelable)\\s+((?:[_a-zA-Z][_a-zA-Z0-9]*)(?:\\.([_a-zA-Z][_a-zA-Z0-9]*))*)\\s*(?:(\u003c)((:?[_a-zA-Z][_a-zA-Z0-9]*)(:?,\\s+[_a-zA-Z][_a-zA-Z0-9]*)*)(\u003e)\\s*)?(\\{)","captures":{"1":{"name":"storage.type.parcelable.aidl"},"2":{"name":"entity.name.type.parcelable.aidl"},"3":{"name":"punctuation.definition.generic.begin.aidl"},"4":{"name":"entity.name.other.aidl"},"5":{"name":"punctuation.definition.generic.end.aidl"},"6":{"name":"punctuation.section.braces.begin.aidl"}}},{"name":"meta.parcelable.aidl","match":"(parcelable)\\s+((?:[_a-zA-Z][_a-zA-Z0-9]*)(?:\\.([_a-zA-Z][_a-zA-Z0-9]*))*)\\s*(?:(\u003c)((:?[_a-zA-Z][_a-zA-Z0-9]*)(:?,\\s+[_a-zA-Z][_a-zA-Z0-9]*)*)(\u003e)\\s*)?(;)","captures":{"1":{"name":"storage.type.parcelable.aidl"},"2":{"name":"entity.name.type.parcelable.aidl"},"3":{"name":"punctuation.definition.generic.begin.aidl"},"4":{"name":"entity.name.other.aidl"},"5":{"name":"punctuation.definition.generic.end.aidl"},"6":{"name":"punctuation.terminator.aidl"}}},{"name":"meta.parcelable.aidl","match":"(parcelable)\\s+((?:[_a-zA-Z][_a-zA-Z0-9]*)(?:\\.([_a-zA-Z][_a-zA-Z0-9]*))*)\\s*(;)?","captures":{"1":{"name":"storage.type.parcelable.aidl"},"2":{"name":"entity.name.type.parcelable.aidl"},"3":{"name":"punctuation.terminator.aidl"}}},{"name":"meta.parcelable.aidl","match":"(cpp_header|ndk_header|rust_type)\\s*(\")([^\\\"]*)(\")","captures":{"1":{"name":"keyword.aidl"},"2":{"name":"punctuation.definition.string.begin.aidl"},"3":{"name":"string.quoted.double.aidl"},"4":{"name":"punctuation.definition.string.end.aidl"}}},{"name":"punctuation.terminator.aidl","match":";"},{"name":"meta.enum.aidl","begin":"(enum)\\s+([_a-zA-Z][_a-zA-Z0-9]*)\\s*(\\{)","end":"(\\})","patterns":[{"include":"#enum_decl_body"}],"beginCaptures":{"1":{"name":"storage.type.enum.aidl"},"2":{"name":"entity.name.type.enum.aidl"},"3":{"name":"punctuation.section.braces.begin.aidl"}},"endCaptures":{"1":{"name":"punctuation.section.braces.end.aidl"}}},{"name":"meta.union.aidl","match":"(union)\\s+((?:[_a-zA-Z][_a-zA-Z0-9]*)(?:\\.([_a-zA-Z][_a-zA-Z0-9]*))*)\\s*(?:(\u003c)((:?[_a-zA-Z][_a-zA-Z0-9]*)(:?,\\s+[_a-zA-Z][_a-zA-Z0-9]*)*)(\u003e)\\s*)?(\\{)","captures":{"1":{"name":"storage.type.union.aidl"},"2":{"name":"entity.name.type.union.aidl"},"3":{"name":"punctuation.definition.generic.begin.aidl"},"4":{"name":"entity.name.other.aidl"},"5":{"name":"punctuation.definition.generic.end.aidl"},"6":{"name":"punctuation.section.braces.begin.aidl"}}},{"include":"#comments"},{"include":"#constant_decl"},{"include":"#method_decl"},{"include":"#variable_decl"}]},"enum_decl_body":{"patterns":[{"include":"#comments"},{"name":"keyword.operator.assignment.aidl","match":"="},{"include":"#const_expr"},{"name":"variable.other.aidl","match":"[_a-zA-Z][_a-zA-Z0-9]*"}]},"import":{"patterns":[{"begin":"(import)","end":"(;)","patterns":[{"name":"entity.name.type.aidl","match":"(([_a-zA-Z][_a-zA-Z0-9]*)(?:\\.([_a-zA-Z][_a-zA-Z0-9]*))*)"}],"beginCaptures":{"1":{"name":"keyword.aidl"}},"endCaptures":{"1":{"name":"punctuation.terminator.aidl"}}}]},"main":{"patterns":[{"include":"#comments"},{"include":"#package"},{"include":"#import"},{"include":"#decls"},{"name":"invalid.illegal.aidl","match":"([^\\s])"}]},"method_decl":{"patterns":[{"include":"#annotation"},{"include":"#type"},{"name":"storage.modifier.aidl","match":"oneway"},{"name":"keyword.operator.assignment.aidl","match":"="},{"name":"punctuation.terminator.aidl","match":";"},{"contentName":"meta.function.parameters.aidl","begin":"([_a-zA-Z][_a-zA-Z0-9]*)\\s*(\\()","end":"(\\))","patterns":[{"name":"punctuation.separator.parameter.method.aidl","match":","},{"name":"storage.modifier.aidl","match":"\\b(in|out|inout)\\b"},{"include":"#type"},{"name":"variable.parameter.aidl","match":"[_a-zA-Z][_a-zA-Z0-9]*"}],"beginCaptures":{"1":{"name":"entity.name.function.aidl"},"2":{"name":"punctuation.definition.parameters.begin.aidl"}},"endCaptures":{"1":{"name":"punctuation.definition.parameters.end.aidl"}}}]},"multi_line_comment":{"patterns":[{"name":"comment.block.documentation.aidl","begin":"(/\\*\\*)","end":"(\\*/)","beginCaptures":{"1":{"name":"punctuation.definition.comment.aidl"}},"endCaptures":{"1":{"name":"punctuation.definition.comment.aidl"}}},{"name":"comment.block.aidl","begin":"(/\\*)","end":"(\\*/)","beginCaptures":{"1":{"name":"punctuation.definition.comment.aidl"}},"endCaptures":{"1":{"name":"punctuation.definition.comment.aidl"}}}]},"multi_line_comment__1":{},"multi_line_comment__2":{},"numeric":{"patterns":[{"name":"constant.numeric.hex.aidl","match":"(0[x\\x{007c}X][0-9a-fA-F]+[lL]?)"},{"name":"constant.numeric.float.aidl","match":"([0-9]*\\.[0-9]+([eE][-\\x{002b}]?[0-9]+)?f?|[0-9]*\\.?[0-9]+([eE][-\\x{002b}]?[0-9]+)?f)"},{"name":"constant.numeric.decimal.aidl","match":"([0-9]+[lL]?)"}]},"package":{"patterns":[{"begin":"(package)","end":"(;)","patterns":[{"name":"entity.name.namespace.aidl","match":"(([_a-zA-Z][_a-zA-Z0-9]*)(?:\\.([_a-zA-Z][_a-zA-Z0-9]*))+)"}],"beginCaptures":{"1":{"name":"keyword.aidl"}},"endCaptures":{"1":{"name":"punctuation.terminator.aidl"}}}]},"type":{"patterns":[{"include":"#annotation"},{"name":"storage.type.aidl","match":"\\b(void|boolean|byte|char|int|long|float|double)\\b"},{"name":"support.class.aidl","match":"\\b(CharSequence|FileDescriptor|IBinder|List|Map|ParcelableHolder|ParcelFileDescriptor|String)\\b"},{"name":"punctuation.aidl","match":"\\[\\]"},{"name":"meta.generic.aidl","begin":"(\\\u003c)","end":"(\\\u003e)","patterns":[{"include":"#type"}],"beginCaptures":{"1":{"name":"punctuation.definition.generic.begin.aidl"}},"endCaptures":{"1":{"name":"punctuation.definition.generic.end.aidl"}}}]},"variable_decl":{"patterns":[{"name":"keyword.operator.assignment.aidl","match":"="},{"include":"#type"},{"include":"#const_expr"},{"name":"variable.other.aidl","match":"[_a-zA-Z][_a-zA-Z0-9]*"},{"name":"punctuation.terminator.aidl","match":";"}]}}}
@@ -1 +1 @@
1
- {"name":"al","scopeName":"source.al","patterns":[{"name":"keyword.control.al","match":"\\b(?i:(ARRAY|ASSERTERROR|BEGIN|BREAK|CASE|DO|DOWNTO|ELSE|END|EVENT|EXIT|FOR|FOREACH|FUNCTION|IF|IMPLEMENTS|IN|INDATASET|INTERFACE|INTERNAL|LOCAL|OF|PROCEDURE|PROGRAM|PROTECTED|REPEAT|RUNONCLIENT|SECURITYFILTERING|SUPPRESSDISPOSE|TEMPORARY|THEN|TO|TRIGGER|UNTIL|VAR|WHILE|WITH|WITHEVENTS))\\b"},{"name":"keyword.operators.al","match":"\\b(?i:(AND|DIV|MOD|NOT|OR|XOR))\\b"},{"name":"keyword.other.property.al","match":"\\b(?i:(AVERAGE|CONST|COUNT|EXIST|FIELD|FILTER|LOOKUP|MAX|MIN|ORDER|SORTING|SUM|TABLEDATA|UPPERLIMIT|WHERE|ASCENDING|DESCENDING))\\b"},{"name":"keyword.other.applicationobject.al","match":"\\b(?i:(CODEUNIT|PAGE|PAGEEXTENSION|PAGECUSTOMIZATION|DOTNET|ENUM|ENUMEXTENSION|VALUE|QUERY|REPORT|TABLE|TABLEEXTENSION|XMLPORT|PROFILE|CONTROLADDIN|REPORTEXTENSION|INTERFACE|PERMISSIONSET|PERMISSIONSETEXTENSION|ENTITLEMENT))\\b"},{"name":"keyword.other.builtintypes.al","match":"\\b(?i:(Action|Array|Automation|BigInteger|BigText|Blob|Boolean|Byte|Char|ClientType|Code|Codeunit|CompletionTriggerErrorLevel|ConnectionType|Database|DataClassification|DataScope|Date|DateFormula|DateTime|Decimal|DefaultLayout|Dialog|Dictionary|DotNet|DotNetAssembly|DotNetTypeDeclaration|Duration|Enum|ErrorInfo|ErrorType|ExecutionContext|ExecutionMode|FieldClass|FieldRef|FieldType|File|FilterPageBuilder|Guid|InStream|Integer|Joker|KeyRef|List|ModuleDependencyInfo|ModuleInfo|None|Notification|NotificationScope|ObjectType|Option|OutStream|Page|PageResult|Query|Record|RecordId|RecordRef|Report|ReportFormat|SecurityFilter|SecurityFiltering|Table|TableConnectionType|TableFilter|TestAction|TestField|TestFilterField|TestPage|TestPermissions|TestRequestPage|Text|TextBuilder|TextConst|TextEncoding|Time|TransactionModel|TransactionType|Variant|Verbosity|Version|XmlPort|HttpContent|HttpHeaders|HttpClient|HttpRequestMessage|HttpResponseMessage|JsonToken|JsonValue|JsonArray|JsonObject|View|Views|XmlAttribute|XmlAttributeCollection|XmlComment|XmlCData|XmlDeclaration|XmlDocument|XmlDocumentType|XmlElement|XmlNamespaceManager|XmlNameTable|XmlNode|XmlNodeList|XmlProcessingInstruction|XmlReadOptions|XmlText|XmlWriteOptions|WebServiceActionContext|WebServiceActionResultCode|SessionSettings))\\b"},{"name":"keyword.operators.comparison.al","match":"\\b([\u003c\u003e]=|\u003c\u003e|\u003c|\u003e)\\b"},{"name":"keyword.operators.math.al","match":"\\b(\\-|\\+|\\/|\\*)\\b"},{"name":"keyword.operators.assigment.al","match":"\\s*(\\:=|\\+=|-=|\\/=|\\*=)\\s*"},{"name":"keyword.other.metadata.al","match":"\\b(?i:(ADD|ADDFIRST|ADDLAST|ADDAFTER|ADDBEFORE|ACTION|ACTIONS|AREA|ASSEMBLY|CHARTPART|CUEGROUP|CUSTOMIZES|COLUMN|DATAITEM|DATASET|ELEMENTS|EXTENDS|FIELD|FIELDGROUP|FIELDATTRIBUTE|FIELDELEMENT|FIELDGROUPS|FIELDS|FILTER|FIXED|GRID|GROUP|MOVEAFTER|MOVEBEFORE|KEY|KEYS|LABEL|LABELS|LAYOUT|MODIFY|MOVEFIRST|MOVELAST|MOVEBEFORE|MOVEAFTER|PART|REPEATER|USERCONTROL|REQUESTPAGE|SCHEMA|SEPARATOR|SYSTEMPART|TABLEELEMENT|TEXTATTRIBUTE|TEXTELEMENT|TYPE))\\b"},{"name":"keyword.operators.property.al","match":"\\s*[(\\.\\.)\u0026\\|]\\s*"},{"name":"meta.applicationobject.al","match":"\\b(?i:(CODEUNIT|PAGE|QUERY|REPORT|TABLE|XMLPORT))\\b","captures":{"1":{"name":"entity.name.applicationobject.al"}}},{"name":"meta.function.al","match":"\\b(?i:(trigger|procedure))\\b\\s+(\\w+(\\.\\w+)?)(\\(.*?\\))?;\\s*","captures":{"1":{"name":"entity.name.function.al"}}},{"name":"constant.numeric.al","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|ll|LL|ull|ULL)?\\b"},{"begin":"(^[ \\t]+)?(?=//)","end":"(?!\\G)","patterns":[{"name":"comment.line.double-slash.al.two","begin":"//","end":"\\n","beginCaptures":{"0":{"name":"punctuation.definition.comment.al"}}}],"beginCaptures":{"1":{"name":"punctuation.whitespace.comment.leading.al"}}},{"begin":"(^[ \\t]+)?(?=#)","end":"(?!\\G)","patterns":[{"name":"comment.line.number-sign.al.two","begin":"#","end":"\\n","beginCaptures":{"0":{"name":"punctuation.definition.directive.al"}}}],"beginCaptures":{"1":{"name":"punctuation.whitespace.directive.leading.al"}}},{"name":"comment.block.al.one","begin":"/\\*","end":"\\*/\\n?","captures":{"0":{"name":"punctuation.definition.comment.al"}}},{"name":"string.quoted.single.al","begin":"'","end":"'","patterns":[{"name":"constant.character.escape.apostrophe.al","match":"''"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.al"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.al"}},"applyEndPatternLast":true},{"name":"punctuation.al","match":"[;:,]"},{"begin":"\"","end":"\"","applyEndPatternLast":true}]}
1
+ {"name":"al","scopeName":"source.al","patterns":[{"name":"keyword.control.al","match":"\\b(?i:(ARRAY|ASSERTERROR|BEGIN|BREAK|CASE|DO|DOWNTO|ELSE|END|EVENT|EXIT|FOR|FOREACH|FUNCTION|IF|IMPLEMENTS|IN|INDATASET|INTERFACE|INTERNAL|LOCAL|OF|PROCEDURE|PROGRAM|PROTECTED|REPEAT|RUNONCLIENT|SECURITYFILTERING|SUPPRESSDISPOSE|TEMPORARY|THEN|TO|TRIGGER|UNTIL|VAR|WHILE|WITH|WITHEVENTS))\\b"},{"name":"keyword.operators.al","match":"\\b(?i:(AND|DIV|MOD|NOT|OR|XOR))\\b"},{"name":"keyword.other.property.al","match":"\\b(?i:(AVERAGE|CONST|COUNT|EXIST|FIELD|FILTER|LOOKUP|MAX|MIN|ORDER|SORTING|SUM|TABLEDATA|UPPERLIMIT|WHERE|ASCENDING|DESCENDING))\\b"},{"name":"keyword.other.applicationobject.al","match":"\\b(?i:(CODEUNIT|PAGE|PAGEEXTENSION|PAGECUSTOMIZATION|DOTNET|ENUM|ENUMEXTENSION|VALUE|QUERY|REPORT|TABLE|TABLEEXTENSION|XMLPORT|PROFILE|CONTROLADDIN|REPORTEXTENSION|INTERFACE|PERMISSIONSET|PERMISSIONSETEXTENSION|ENTITLEMENT))\\b"},{"name":"keyword.other.builtintypes.al","match":"\\b(?i:(Action|ActionRef|Array|Automation|BigInteger|BigText|SecretText|Blob|Boolean|Byte|Char|ClientType|Code|Codeunit|CompletionTriggerErrorLevel|ConnectionType|CustomAction|Database|DataClassification|DataScope|DataTransfer|Date|DateFormula|DateTime|Decimal|DefaultLayout|Dialog|Dictionary|DotNet|DotNetAssembly|DotNetTypeDeclaration|Duration|Enum|ErrorInfo|ErrorType|ExecutionContext|ExecutionMode|FieldClass|FieldRef|FieldType|File|FilterPageBuilder|Guid|InStream|Integer|IsolationLevel|Joker|KeyRef|List|Media|MediaSet|ModuleDependencyInfo|ModuleInfo|None|Notification|NotificationScope|ObjectType|Option|OutStream|Page|PageResult|Query|Record|RecordId|RecordRef|Report|ReportFormat|SecurityFilter|SecurityFiltering|SystemAction|Table|TableConnectionType|TableFilter|TestAction|TestField|TestFilterField|TestPage|TestPermissions|TestRequestPage|Text|TextBuilder|TextConst|TextEncoding|Time|TransactionModel|TransactionType|Variant|Verbosity|Version|XmlPort|HttpContent|HttpHeaders|HttpClient|HttpRequestMessage|HttpResponseMessage|JsonToken|JsonValue|JsonArray|JsonObject|View|Views|XmlAttribute|XmlAttributeCollection|XmlComment|XmlCData|XmlDeclaration|XmlDocument|XmlDocumentType|XmlElement|XmlNamespaceManager|XmlNameTable|XmlNode|XmlNodeList|XmlProcessingInstruction|XmlReadOptions|XmlText|XmlWriteOptions|WebServiceActionContext|WebServiceActionResultCode|SessionSettings|PageBackgroundTaskErrorLevel))\\b"},{"name":"keyword.operators.comparison.al","match":"\\b([\u003c\u003e]=|\u003c\u003e|\u003c|\u003e)\\b"},{"name":"keyword.operators.math.al","match":"\\b(\\-|\\+|\\/|\\*)\\b"},{"name":"keyword.operators.assigment.al","match":"\\s*(\\:=|\\+=|-=|\\/=|\\*=)\\s*"},{"name":"keyword.other.metadata.al","match":"\\b(?i:(ADD|ADDFIRST|ADDLAST|ADDAFTER|ADDBEFORE|ACTION|ACTIONS|AREA|ASSEMBLY|CHARTPART|CUEGROUP|CUSTOMIZES|COLUMN|DATAITEM|DATASET|ELEMENTS|EXTENDS|FIELD|FIELDGROUP|FIELDATTRIBUTE|FIELDELEMENT|FIELDGROUPS|FIELDS|FILTER|FIXED|GRID|GROUP|MOVEAFTER|MOVEBEFORE|KEY|KEYS|LABEL|LABELS|LAYOUT|MODIFY|MOVEFIRST|MOVELAST|MOVEBEFORE|MOVEAFTER|NAMESPACE|PART|RENDERING|REPEATER|USERCONTROL|REQUESTPAGE|SCHEMA|SEPARATOR|SYSTEMPART|TABLEELEMENT|TEXTATTRIBUTE|TEXTELEMENT|TYPE|USING))\\b"},{"name":"keyword.operators.property.al","match":"\\s*[(\\.\\.)\u0026\\|]\\s*"},{"name":"meta.applicationobject.al","match":"\\b(?i:(CODEUNIT|PAGE|QUERY|REPORT|TABLE|XMLPORT))\\b","captures":{"1":{"name":"entity.name.applicationobject.al"}}},{"name":"meta.function.al","match":"\\b(?i:(trigger|procedure))\\b\\s+(\\w+(\\.\\w+)?)(\\(.*?\\))?;\\s*","captures":{"1":{"name":"entity.name.function.al"}}},{"name":"constant.numeric.al","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|ll|LL|ull|ULL)?\\b"},{"begin":"(^[ \\t]+)?(?=//)","end":"(?!\\G)","patterns":[{"name":"comment.line.double-slash.al.two","begin":"//","end":"\\n","beginCaptures":{"0":{"name":"punctuation.definition.comment.al"}}}],"beginCaptures":{"1":{"name":"punctuation.whitespace.comment.leading.al"}}},{"begin":"(^[ \\t]+)?(?=#)","end":"(?!\\G)","patterns":[{"name":"comment.line.number-sign.al.two","begin":"#","end":"\\n","beginCaptures":{"0":{"name":"punctuation.definition.directive.al"}}}],"beginCaptures":{"1":{"name":"punctuation.whitespace.directive.leading.al"}}},{"name":"comment.block.al.one","begin":"/\\*","end":"\\*/\\n?","captures":{"0":{"name":"punctuation.definition.comment.al"}}},{"name":"string.quoted.single.al","begin":"'","end":"'","patterns":[{"name":"constant.character.escape.apostrophe.al","match":"''"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.al"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.al"}},"applyEndPatternLast":true},{"name":"punctuation.al","match":"[;:,]"},{"begin":"\"","end":"\"","applyEndPatternLast":true}]}