@shikijs/langs-precompiled 3.3.0 → 3.4.1
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.
- package/dist/abap.mjs +1 -1
- package/dist/actionscript-3.mjs +1 -1
- package/dist/ada.mjs +1 -1
- package/dist/angular-expression.mjs +1 -1
- package/dist/angular-ts.mjs +1 -1
- package/dist/applescript.mjs +1 -1
- package/dist/ara.mjs +1 -1
- package/dist/asciidoc.mjs +1 -1
- package/dist/asm.mjs +1 -1
- package/dist/astro.mjs +1 -1
- package/dist/awk.mjs +1 -1
- package/dist/ballerina.mjs +1 -1
- package/dist/bat.mjs +1 -1
- package/dist/blade.mjs +1 -1
- package/dist/c.mjs +1 -1
- package/dist/cadence.mjs +1 -1
- package/dist/clarity.mjs +1 -1
- package/dist/cmake.mjs +1 -1
- package/dist/cobol.mjs +1 -1
- package/dist/codeql.mjs +1 -1
- package/dist/coffee.mjs +1 -1
- package/dist/common-lisp.mjs +1 -1
- package/dist/coq.mjs +1 -1
- package/dist/cpp-macro.mjs +1 -1
- package/dist/cpp.mjs +1 -1
- package/dist/crystal.mjs +1 -1
- package/dist/css.mjs +1 -1
- package/dist/cypher.mjs +1 -1
- package/dist/d.mjs +1 -1
- package/dist/dax.mjs +1 -1
- package/dist/dream-maker.mjs +1 -1
- package/dist/elixir.mjs +1 -1
- package/dist/elm.mjs +1 -1
- package/dist/emacs-lisp.mjs +1 -1
- package/dist/erlang.mjs +1 -1
- package/dist/fennel.mjs +1 -1
- package/dist/fortran-free-form.mjs +1 -1
- package/dist/fsharp.mjs +1 -1
- package/dist/gdresource.mjs +1 -1
- package/dist/gdscript.mjs +1 -1
- package/dist/gherkin.mjs +1 -1
- package/dist/gleam.mjs +1 -1
- package/dist/glimmer-js.mjs +1 -1
- package/dist/glimmer-ts.mjs +1 -1
- package/dist/glsl.mjs +1 -1
- package/dist/gnuplot.mjs +1 -1
- package/dist/go.mjs +1 -1
- package/dist/groovy.mjs +1 -1
- package/dist/hack.mjs +1 -1
- package/dist/handlebars.mjs +1 -1
- package/dist/haxe.mjs +1 -1
- package/dist/hlsl.mjs +1 -1
- package/dist/html.mjs +1 -1
- package/dist/imba.mjs +1 -1
- package/dist/java.mjs +1 -1
- package/dist/javascript.mjs +1 -1
- package/dist/jinja.mjs +1 -1
- package/dist/jsonnet.mjs +1 -1
- package/dist/jsx.mjs +1 -1
- package/dist/julia.mjs +1 -1
- package/dist/kusto.mjs +1 -1
- package/dist/latex.mjs +1 -1
- package/dist/lean.mjs +1 -1
- package/dist/less.mjs +1 -1
- package/dist/liquid.mjs +1 -1
- package/dist/llvm.mjs +1 -1
- package/dist/log.mjs +1 -1
- package/dist/logo.mjs +1 -1
- package/dist/luau.mjs +1 -1
- package/dist/make.mjs +1 -1
- package/dist/markdown.mjs +1 -1
- package/dist/marko.mjs +1 -1
- package/dist/matlab.mjs +1 -1
- package/dist/mdc.mjs +1 -1
- package/dist/mdx.mjs +1 -1
- package/dist/mermaid.mjs +1 -1
- package/dist/mipsasm.mjs +1 -1
- package/dist/mojo.mjs +1 -1
- package/dist/nginx.mjs +1 -1
- package/dist/nim.mjs +1 -1
- package/dist/nix.mjs +1 -1
- package/dist/nushell.mjs +1 -1
- package/dist/objective-c.mjs +1 -1
- package/dist/objective-cpp.mjs +1 -1
- package/dist/ocaml.mjs +1 -1
- package/dist/pascal.mjs +1 -1
- package/dist/perl.mjs +1 -1
- package/dist/php.mjs +1 -1
- package/dist/plsql.mjs +1 -1
- package/dist/powershell.mjs +1 -1
- package/dist/prolog.mjs +1 -1
- package/dist/python.mjs +1 -1
- package/dist/qss.mjs +1 -1
- package/dist/r.mjs +1 -1
- package/dist/racket.mjs +1 -1
- package/dist/raku.mjs +1 -1
- package/dist/riscv.mjs +1 -1
- package/dist/ruby.mjs +1 -1
- package/dist/sas.mjs +1 -1
- package/dist/scheme.mjs +1 -1
- package/dist/shaderlab.mjs +1 -1
- package/dist/shellscript.mjs +1 -1
- package/dist/smalltalk.mjs +1 -3
- package/dist/splunk.mjs +1 -1
- package/dist/sql.mjs +1 -1
- package/dist/stata.mjs +1 -1
- package/dist/stylus.mjs +1 -1
- package/dist/svelte.mjs +1 -1
- package/dist/system-verilog.mjs +1 -1
- package/dist/systemd.mjs +1 -1
- package/dist/talonscript.mjs +1 -1
- package/dist/templ.mjs +1 -1
- package/dist/terraform.mjs +1 -1
- package/dist/tex.mjs +1 -1
- package/dist/toml.mjs +1 -1
- package/dist/tsx.mjs +1 -1
- package/dist/typescript.mjs +1 -1
- package/dist/typst.mjs +1 -1
- package/dist/v.mjs +1 -1
- package/dist/vala.mjs +1 -1
- package/dist/vb.mjs +1 -1
- package/dist/vhdl.mjs +1 -1
- package/dist/viml.mjs +1 -1
- package/dist/vyper.mjs +1 -1
- package/dist/wasm.mjs +1 -1
- package/dist/wikitext.mjs +1 -1
- package/dist/wolfram.mjs +1 -1
- package/dist/zenscript.mjs +1 -1
- package/package.json +4 -4
package/dist/abap.mjs
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { EmulatedRegExp } from 'oniguruma-to-es'
|
|
2
2
|
|
|
3
|
-
const lang = Object.freeze({displayName:"ABAP",fileTypes:["abap","ABAP"],foldingStartMarker:/\/\*\*|\{\p{space}*(?=\n?$)/dgv,foldingStopMarker:/\*\*\/|^\p{space}*\}/dgv,name:"abap",patterns:[{captures:{"1":{name:"punctuation.definition.comment.abap"}},match:/^\*[^\n]*\n?/dgv,name:"comment.line.full.abap"},{captures:{"1":{name:"punctuation.definition.comment.abap"}},match:/"[^\n]*\n?/dgv,name:"comment.line.partial.abap"},{match:/(?<!\P{space})##[^\n]*?(?=([\,\.\:\p{space}]))/dgv,name:"comment.line.pragma.abap"},{match:/(?<=[\-\~\p{space}])(?<=[\-\=]>)([\/_a-z][\/-9_a-z]*)(?=\p{space}+(?:|[\-\*\+\/]|&&|&)=\p{space}+)/dgiv,name:"variable.other.abap"},{match:/\b[0-9]+(\b|[\,\.])/dgv,name:"constant.numeric.abap"},{match:/(^|\p{space}+)((P(?:UBLIC|RIVATE|ROTECTED))\p{space}SECTION)(?=\p{space}+|[\.\:])/dgiv,name:"storage.modifier.class.abap"},{begin:/(?<!\\)(\|)([^\n]*?)/dgv,beginCaptures:{"1":{name:"constant.character.escape.abap"}},end:/(?<!\\)(\||(\\\\\|))/dgv,endCaptures:{"1":{name:"constant.character.escape.abap"}},name:"string.interpolated.abap",patterns:[{match:/(\{ )|( \})/dgv,name:"constant.character.escape"},{match:/\\\|/dgv,name:"constant.character.escape.abap"},{match:/(?<=\p{space})(align|alpha|case|country|currency|date|decimals|exponent|number|pad|sign|style|time|timestamp|timezone|width|xsd|zero)(?=\p{space}=)/dgiv,name:"entity.name.property.stringtemplate.abap"},{match:/(?<==\p{space})(center|engineering|environment|in|iso|left|leftplus|leftspace|lower|no|out|raw|right|rightplus|rightspace|scale_preserving|scale_preserving_scientific|scientific|scientific_with_leading_zero|sign_as_postfix|simple|space|upper|user|yes)(?=\p{space})/dgiv,name:"entity.value.property.stringtemplate.abap"}]},{begin:/'/dgv,end:/'/dgv,name:"string.quoted.single.abap",patterns:[{match:/''/dgv,name:"constant.character.escape.abap"}]},{begin:/`/dgv,end:/`/dgv,name:"string.quoted.single.abap",patterns:[{match:/``/dgv,name:"constant.character.escape.abap"}]},{begin:/^\p{space}*(class)\p{space}([\/_a-z][\/-9_a-z]*)/dgiv,beginCaptures:{"1":{name:"storage.type.block.abap"},"2":{name:"entity.name.type.block.abap"}},end:/\p{space}*\.\p{space}*\n?/dgv,name:"meta.block.begin.implementation.abap",patterns:[{match:/(^|\p{space}+)(definition|implementation|public|inheriting\p{space}+from|final|deferred|abstract|shared\p{space}+memory\p{space}+enabled|(global|local)*\p{space}*friends|(create\p{space}+(p(?:ublic|rotected|rivate)))|for\p{space}+behavior\p{space}+of|for\p{space}+testing|risk\p{space}+level\p{space}+(critical|dangerous|harmless))|duration\p{space}(short|medium|long)(?=\p{space}+|\.)/dgiv,name:"storage.modifier.class.abap"},{begin:/(?=[A-Z_a-z][0-9A-Z_a-z]*)/dgv,contentName:"entity.name.type.block.abap",end:/(?![0-9A-Z_a-z])/dgv,patterns:[{include:"#generic_names"}]}]},{begin:/^\p{space}*(method)\p{space}(?:([\/_a-z][\/-9_a-z]*)~)?([\/_a-z][\/-9_a-z]*)/dgiv,beginCaptures:{"1":{name:"storage.type.block.abap"},"2":{name:"entity.name.type.abap"},"3":{name:"entity.name.function.abap"}},end:/\p{space}*\.\p{space}*\n?/dgv,patterns:[{match:/(?<=^|\p{space})(BY(?:\p{space}+DATABASE(\p{space}+PROCEDURE|\p{space}+FUNCTION|\p{space}+GRAPH\p{space}+WORKSPACE)|\p{space}+KERNEL\p{space}+MODULE))(?=\p{space}+|\.)/dgiv,name:"storage.modifier.method.abap"},{match:/(?<=^|\p{space})(FOR\p{space}+(HDB|LLANG))(?=\p{space}+|\.)/dgiv,name:"storage.modifier.method.abap"},{match:/(?<=\p{space})(OPTIONS\p{space}+(READ-ONLY|DETERMINISTIC|SUPPRESS\p{space}+SYNTAX\p{space}+ERRORS))(?=\p{space}+|\.)/dgiv,name:"storage.modifier.method.abap"},{match:/(?<=^|\p{space})(LANGUAGE\p{space}+(SQLSCRIPT|SQL|GRAPH))(?=\p{space}+|\.)/dgiv,name:"storage.modifier.method.abap"},{captures:{"1":{name:"storage.modifier.method.abap"}},match:/(?<=\p{space})(USING)\p{space}+([\/_a-z][\/-9\=\>_a-z]*)+(?=\p{space}+|\.)/dgiv},{begin:/(?=[A-Z_a-z][0-9A-Z_a-z]*)/dgv,end:/(?![0-9A-Z_a-z])/dgv,patterns:[{include:"#generic_names"}]}]},{begin:/^\p{space}*(INTERFACE)\p{space}([\/_a-z][\/-9_a-z]*)/dgiv,beginCaptures:{"1":{name:"storage.type.block.abap"},"2":{name:"entity.name.type.abap"}},end:/\p{space}*\.\p{space}*\n?/dgv,patterns:[{match:/(?<=^|\p{space})(DEFERRED|PUBLIC)(?=\p{space}+|\.)/dgiv,name:"storage.modifier.method.abap"}]},{begin:/^\p{space}*(FORM)\p{space}([\/_a-z][\-\/-9\?_a-z]*)/dgiv,beginCaptures:{"1":{name:"storage.type.block.abap"},"2":{name:"entity.name.type.abap"}},end:/\p{space}*\.\p{space}*\n?/dgv,patterns:[{match:/(?<=^|\p{space})(USING|TABLES|CHANGING|RAISING|IMPLEMENTATION|DEFINITION)(?=\p{space}+|\.)/dgiv,name:"storage.modifier.form.abap"},{include:"#abaptypes"},{include:"#keywords_followed_by_braces"}]},{match:/(end(?:class|method|form|interface))/dgiv,name:"storage.type.block.end.abap"},{match:/(<[A-Z_a-z][0-9A-Z_a-z]*>)/dgiv,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:/(?<=\p{space})(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)(?=[\,\.\p{space}])/dgiv,name:"constant.language.abap"},abaptypes:{patterns:[{match:/\p{space}(abap_bool|string|xstring|any|clike|csequence|numeric|xsequence|decfloat|decfloat16|decfloat34|utclong|simple|int8|[cdfinptx])(?=[\,\.\p{space}])/dgiv,name:"support.type.abap"},{match:/\p{space}(TYPE|REF|TO|LIKE|LINE|OF|STRUCTURE|STANDARD|SORTED|HASHED|INDEX|TABLE|WITH|UNIQUE|NON-UNIQUE|SECONDARY|DEFAULT|KEY)(?=[\,\.\p{space}])/dgiv,name:"keyword.control.simple.abap"}]},arithmetic_operator:{match:/(?<=\p{space})([\-\*\+]|\*\*|[\%\/]|DIV|MOD|BIT-AND|BIT-OR|BIT-XOR|BIT-NOT)(?=\p{space})/dgiv,name:"keyword.control.simple.abap"},builtin_functions:{match:/(?<=\p{space})(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)(?=\()/dgiv,name:"entity.name.function.builtin.abap"},comparison_operator:{match:/(?<=\p{space})([\<\>]|<=|>=|=|<>|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|[moz])(?=\p{space})/dgiv,name:"keyword.control.simple.abap"},control_keywords:{match:/(^|\p{space})(at|case|catch|continue|do|elseif|else|endat|endcase|endcatch|enddo|endif|endloop|endon|endtry|endwhile|if|loop|on|raise|try|while)(?=[\.\:\p{space}])/dgiv,name:"keyword.control.flow.abap"},generic_names:{match:/[A-Z_a-z][0-9A-Z_a-z]*/dgv},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:/\b(data|value|field-symbol|final|reference|resumable)\((<?[\/_a-z][\/-9_a-z]*>?)\)/dgiv},logical_operator:{match:/(?<=\p{space})(not|or|and)(?=\p{space})/dgiv,name:"keyword.control.simple.abap"},main_keywords:{match:/*@__PURE__*/ new EmulatedRegExp("(?<=^|\\p{space})(abap-source|abstract|accept|accepting|access|according|action|activation|actual|add|add-corresponding|adjacent|after|alias|aliases|all|allocate|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|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|enhancement|enhancement-point|enhancement-section|enhancements|entities|entity|entries|entry|enum|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|including|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|job|join|keep|keeping|kernel|key|keys|keywords|kind|language|last|late|layout|leading|leave|left|left-justified|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-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|padding|page|parameter|parameter-table|parameters|part|partially|pcre|perform|performing|permissions|pf-status|places|pool|position|pragmas|preceding|precompiled|preferred|preserving|primary|print|print-control|private|privileged|procedure|process|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|rollback|rows|rp-provide-from-last|run|sap|sap-spool|save|saving|scan|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|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|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|window|windows|with|with-heading|with-title|without|word|work|workspace|write|xml|zone)(?=[\\,\\.\\:\\p{space}])","dgiv",{"lazyCompile":true}),name:"keyword.control.simple.abap"},operators:{patterns:[{include:"#other_operator"},{include:"#arithmetic_operator"},{include:"#comparison_operator"},{include:"#logical_operator"}]},other_operator:{match:/(?<=\p{space})(&&|&|\?=|\+=|-=|\/=|\*=|&&=|&=)(?=\p{space})/dgv,name:"keyword.control.simple.abap"},reserved_names:{match:/(?<=\p{space})(me|super)(?=[\,\.\p{space}]|->)/dgiv,name:"constant.language.abap"},sql_functions:{match:/(?<=\p{space})(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)(?=\()/dgiv,name:"entity.name.function.sql.abap"},sql_types:{match:/(?<=\p{space})(char|clnt|cuky|curr|datn|dats|dec|decfloat16|decfloat34|fltp|int1|int2|int4|int8|lang|numc|quan|raw|sstring|timn|tims|unit|utclong)(?=[\(\)\p{space}])/dgiv,name:"entity.name.type.sql.abap"},system_fields:{captures:{"1":{name:"variable.language.abap"},"2":{name:"variable.language.abap"}},match:/\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)(?=[\.\p{space}])/dgiv},text_symbols:{captures:{"1":{name:"keyword.control.simple.abap"},"2":{name:"constant.numeric.abap"}},match:/(?<=^|\p{space})(text)-([0-9A-Z]{1,3})(?=[\,\.\:\p{space}])/dgiv}},scopeName:"source.abap",embeddedLangs:undefined,aliases:undefined})
|
|
3
|
+
const lang = Object.freeze({displayName:"ABAP",fileTypes:["abap","ABAP"],foldingStartMarker:/\/\*\*|\{\p{space}*(?=\n?$)/dgv,foldingStopMarker:/\*\*\/|^\p{space}*\}/dgv,name:"abap",patterns:[{captures:{"1":{name:"punctuation.definition.comment.abap"}},match:/^\*[^\n]*\n?/dgv,name:"comment.line.full.abap"},{captures:{"1":{name:"punctuation.definition.comment.abap"}},match:/"[^\n]*\n?/dgv,name:"comment.line.partial.abap"},{match:/(?<!\P{space})##[^\n]*?(?=([\,\.\:\p{space}]))/dgv,name:"comment.line.pragma.abap"},{match:/(?<=[\-\~\p{space}])(?<=[\-\=]>)([\/_a-z][\/-9_a-z]*)(?=\p{space}+(?:|[\-\*\+\/]|&&?)=\p{space}+)/dgiv,name:"variable.other.abap"},{match:/\b[0-9]+(\b|[\,\.])/dgv,name:"constant.numeric.abap"},{match:/(^|\p{space}+)((P(?:UBLIC|RIVATE|ROTECTED))\p{space}SECTION)(?=\p{space}+|[\.\:])/dgiv,name:"storage.modifier.class.abap"},{begin:/(?<!\\)(\|)([^\n]*?)/dgv,beginCaptures:{"1":{name:"constant.character.escape.abap"}},end:/(?<!\\)(\||(\\\\\|))/dgv,endCaptures:{"1":{name:"constant.character.escape.abap"}},name:"string.interpolated.abap",patterns:[{match:/(\{ )|( \})/dgv,name:"constant.character.escape"},{match:/\\\|/dgv,name:"constant.character.escape.abap"},{match:/(?<=\p{space})(align|alpha|case|country|currency|date|decimals|exponent|number|pad|sign|style|time|timestamp|timezone|width|xsd|zero)(?=\p{space}=)/dgiv,name:"entity.name.property.stringtemplate.abap"},{match:/(?<==\p{space})(center|engineering|environment|in|iso|left|leftplus|leftspace|lower|no|out|raw|right|rightplus|rightspace|scale_preserving|scale_preserving_scientific|scientific|scientific_with_leading_zero|sign_as_postfix|simple|space|upper|user|yes)(?=\p{space})/dgiv,name:"entity.value.property.stringtemplate.abap"}]},{begin:/'/dgv,end:/'/dgv,name:"string.quoted.single.abap",patterns:[{match:/''/dgv,name:"constant.character.escape.abap"}]},{begin:/`/dgv,end:/`/dgv,name:"string.quoted.single.abap",patterns:[{match:/``/dgv,name:"constant.character.escape.abap"}]},{begin:/^\p{space}*(class)\p{space}([\/_a-z][\/-9_a-z]*)/dgiv,beginCaptures:{"1":{name:"storage.type.block.abap"},"2":{name:"entity.name.type.block.abap"}},end:/\p{space}*\.\p{space}*\n?/dgv,name:"meta.block.begin.implementation.abap",patterns:[{match:/(^|\p{space}+)(definition|implementation|public|inheriting\p{space}+from|final|deferred|abstract|shared\p{space}+memory\p{space}+enabled|(global|local)*\p{space}*friends|(create\p{space}+(p(?:ublic|rotected|rivate)))|for\p{space}+behavior\p{space}+of|for\p{space}+testing|risk\p{space}+level\p{space}+(critical|dangerous|harmless))|duration\p{space}(short|medium|long)(?=\p{space}+|\.)/dgiv,name:"storage.modifier.class.abap"},{begin:/(?=[A-Z_a-z][0-9A-Z_a-z]*)/dgv,contentName:"entity.name.type.block.abap",end:/(?![0-9A-Z_a-z])/dgv,patterns:[{include:"#generic_names"}]}]},{begin:/^\p{space}*(method)\p{space}(?:([\/_a-z][\/-9_a-z]*)~)?([\/_a-z][\/-9_a-z]*)/dgiv,beginCaptures:{"1":{name:"storage.type.block.abap"},"2":{name:"entity.name.type.abap"},"3":{name:"entity.name.function.abap"}},end:/\p{space}*\.\p{space}*\n?/dgv,patterns:[{match:/(?<=^|\p{space})(BY(?:\p{space}+DATABASE(\p{space}+PROCEDURE|\p{space}+FUNCTION|\p{space}+GRAPH\p{space}+WORKSPACE)|\p{space}+KERNEL\p{space}+MODULE))(?=\p{space}+|\.)/dgiv,name:"storage.modifier.method.abap"},{match:/(?<=^|\p{space})(FOR\p{space}+(HDB|LLANG))(?=\p{space}+|\.)/dgiv,name:"storage.modifier.method.abap"},{match:/(?<=\p{space})(OPTIONS\p{space}+(READ-ONLY|DETERMINISTIC|SUPPRESS\p{space}+SYNTAX\p{space}+ERRORS))(?=\p{space}+|\.)/dgiv,name:"storage.modifier.method.abap"},{match:/(?<=^|\p{space})(LANGUAGE\p{space}+(SQLSCRIPT|SQL|GRAPH))(?=\p{space}+|\.)/dgiv,name:"storage.modifier.method.abap"},{captures:{"1":{name:"storage.modifier.method.abap"}},match:/(?<=\p{space})(USING)\p{space}+([\/_a-z][\/-9\=\>_a-z]*)+(?=\p{space}+|\.)/dgiv},{begin:/(?=[A-Z_a-z][0-9A-Z_a-z]*)/dgv,end:/(?![0-9A-Z_a-z])/dgv,patterns:[{include:"#generic_names"}]}]},{begin:/^\p{space}*(INTERFACE)\p{space}([\/_a-z][\/-9_a-z]*)/dgiv,beginCaptures:{"1":{name:"storage.type.block.abap"},"2":{name:"entity.name.type.abap"}},end:/\p{space}*\.\p{space}*\n?/dgv,patterns:[{match:/(?<=^|\p{space})(DEFERRED|PUBLIC)(?=\p{space}+|\.)/dgiv,name:"storage.modifier.method.abap"}]},{begin:/^\p{space}*(FORM)\p{space}([\/_a-z][\-\/-9\?_a-z]*)/dgiv,beginCaptures:{"1":{name:"storage.type.block.abap"},"2":{name:"entity.name.type.abap"}},end:/\p{space}*\.\p{space}*\n?/dgv,patterns:[{match:/(?<=^|\p{space})(USING|TABLES|CHANGING|RAISING|IMPLEMENTATION|DEFINITION)(?=\p{space}+|\.)/dgiv,name:"storage.modifier.form.abap"},{include:"#abaptypes"},{include:"#keywords_followed_by_braces"}]},{match:/(end(?:class|method|form|interface))/dgiv,name:"storage.type.block.end.abap"},{match:/(<[A-Z_a-z][0-9A-Z_a-z]*>)/dgiv,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:/(?<=\p{space})(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)(?=[\,\.\p{space}])/dgiv,name:"constant.language.abap"},abaptypes:{patterns:[{match:/\p{space}(abap_bool|string|xstring|any|clike|csequence|numeric|xsequence|decfloat|decfloat16|decfloat34|utclong|simple|int8|[cdfinptx])(?=[\,\.\p{space}])/dgiv,name:"support.type.abap"},{match:/\p{space}(TYPE|REF|TO|LIKE|LINE|OF|STRUCTURE|STANDARD|SORTED|HASHED|INDEX|TABLE|WITH|UNIQUE|NON-UNIQUE|SECONDARY|DEFAULT|KEY)(?=[\,\.\p{space}])/dgiv,name:"keyword.control.simple.abap"}]},arithmetic_operator:{match:/(?<=\p{space})([\-\*\+]|\*\*|[\%\/]|DIV|MOD|BIT-AND|BIT-OR|BIT-XOR|BIT-NOT)(?=\p{space})/dgiv,name:"keyword.control.simple.abap"},builtin_functions:{match:/(?<=\p{space})(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)(?=\()/dgiv,name:"entity.name.function.builtin.abap"},comparison_operator:{match:/(?<=\p{space})([\<\>]|<=|>=|=|<>|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|[moz])(?=\p{space})/dgiv,name:"keyword.control.simple.abap"},control_keywords:{match:/(^|\p{space})(at|case|catch|continue|do|elseif|else|endat|endcase|endcatch|enddo|endif|endloop|endon|endtry|endwhile|if|loop|on|raise|try|while)(?=[\.\:\p{space}])/dgiv,name:"keyword.control.flow.abap"},generic_names:{match:/[A-Z_a-z][0-9A-Z_a-z]*/dgv},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:/\b(data|value|field-symbol|final|reference|resumable)\((<?[\/_a-z][\/-9_a-z]*>?)\)/dgiv},logical_operator:{match:/(?<=\p{space})(not|or|and)(?=\p{space})/dgiv,name:"keyword.control.simple.abap"},main_keywords:{match:/*@__PURE__*/ new EmulatedRegExp("(?<=^|\\p{space})(abap-source|abstract|accept|accepting|access|according|action|activation|actual|add|add-corresponding|adjacent|after|alias|aliases|all|allocate|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|blanks??|blocks??|bound|boundaries|bounds|boxed|break|break-point|buffer|by|bypassing|byte|byte-order|call|calling|cast|casting|cds|centered|change|changing|channels|char-to-hex|character|check|checkbox|cid|circular|class|class-data|class-events|class-methods??|class-pool|cleanup|clear|clients??|clock|clone|close|cnt|code|collect|color|column|comments??|commit|common|communication|comparing|components??|compression|compute|concatenate|cond|condense|condition|connection|constants??|contexts??|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|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|enhancement|enhancement-point|enhancement-section|enhancements|entities|entity|entries|entry|enum|equiv|errors|escape|escaping|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|filters??|final|find|first|first-line|fixed-point|flush|following|for|format|forward|found|frames??|free|from|full|function|function-pool|generate|get|giving|graph|groups??|handler??|hashed|having|headers??|heading|help-id|help-request|hide|hint|hold|hotspot|icon|id|identification|identifier|ignore|ignoring|immediately|implemented|implicit|import|importing|in|inactive|incl|includes??|including|increment|index|index-line|indicators|infotypes|inheriting|init|initial|initialization|inner|input|insert|instances??|intensified|interface|interface-pool|interfaces|internal|intervals|into|inverse|inverted-date|is|job|join|keep|keeping|kernel|keys??|keywords|kind|language|last|late|layout|leading|leave|left|left-justified|legacy|length|let|levels??|like|line|line-count|line-selection|line-size|linefeed|lines|link|list|list-processing|listbox|load|load-of-program|locale??|locks??|log-point|logical|lower|mapped|mapping|margin|mark|mask|match|matchcode|maximum|members|memory|mesh|message|message-id|messages|messaging|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-display|no-extension|no-gaps??|no-grouping|no-heading|no-scrolling|no-sign|no-title|no-zero|nodes|non-unicode|non-unique|number|objects??|objmgr|obligatory|occurences??|occurrences??|occurs|of|offset|on|only|open|optional|options??|order|others|out|outer|output|output-length|overflow|overlay|pack|package|padding|page|parameter|parameter-table|parameters|part|partially|pcre|perform|performing|permissions|pf-status|places|pool|position|pragmas|preceding|precompiled|preferred|preserving|primary|print|print-control|private|privileged|procedure|process|program|property|protected|provide|push|pushbutton|put|query|queue-only|queueonly|quickinfo|radiobutton|raising|ranges??|read|read-only|received??|receiving|redefinition|reduce|ref|reference|refresh|regex|reject|renaming|replace|replacement|replacing|report|reported|request|requested|required|reserve|reset|resolution|respecting|response|restore|results??|resumable|resume|retry|return|returning|right|right-justified|rollback|rows|rp-provide-from-last|run|sap|sap-spool|save|saving|scan|screen|scroll|scroll-boundary|scrolling|search|seconds|section|select|select-options|selection|selection-screen|selection-sets??|selection-table|selections|send|separated??|session|set|shared|shift|shortdump|shortdump-id|sign|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|statements??|statics??|statusinfo|step|step-loop|stop|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|tables??|tableview|tabstrip|target|tasks??|test|test-injection|test-seam|testing|text|textpool|then|throw|times??|title|titlebar|to|tokens|top-lines|top-of-page|trace-file|trace-table|trailing|transaction|transfer|transformation|translate|transporting|trmac|truncate|truncation|type|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|windows??|with|with-heading|with-title|without|word|work|workspace|write|xml|zone)(?=[\\,\\.\\:\\p{space}])","dgiv",{"lazyCompile":true}),name:"keyword.control.simple.abap"},operators:{patterns:[{include:"#other_operator"},{include:"#arithmetic_operator"},{include:"#comparison_operator"},{include:"#logical_operator"}]},other_operator:{match:/(?<=\p{space})(&&?|\?=|\+=|-=|\/=|\*=|&&=|&=)(?=\p{space})/dgv,name:"keyword.control.simple.abap"},reserved_names:{match:/(?<=\p{space})(me|super)(?=[\,\.\p{space}]|->)/dgiv,name:"constant.language.abap"},sql_functions:{match:/(?<=\p{space})(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)(?=\()/dgiv,name:"entity.name.function.sql.abap"},sql_types:{match:/(?<=\p{space})(char|clnt|cuky|curr|datn|dats|dec|decfloat16|decfloat34|fltp|int1|int2|int4|int8|lang|numc|quan|raw|sstring|timn|tims|unit|utclong)(?=[\(\)\p{space}])/dgiv,name:"entity.name.type.sql.abap"},system_fields:{captures:{"1":{name:"variable.language.abap"},"2":{name:"variable.language.abap"}},match:/\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)(?=[\.\p{space}])/dgiv},text_symbols:{captures:{"1":{name:"keyword.control.simple.abap"},"2":{name:"constant.numeric.abap"}},match:/(?<=^|\p{space})(text)-([0-9A-Z]{1,3})(?=[\,\.\:\p{space}])/dgiv}},scopeName:"source.abap",embeddedLangs:undefined,aliases:undefined})
|
|
4
4
|
|
|
5
5
|
export default [
|
|
6
6
|
lang
|
package/dist/actionscript-3.mjs
CHANGED
|
@@ -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:/([\-\%\+\/]|(?<!:)\*)/dgv,name:"keyword.operator.actionscript.3"},array_access_operators:{match:/([\]\[])/dgv,name:"keyword.operator.actionscript.3"},class:{begin:/(^|\p{space}+|;)(\b(dynamic|final|abstract)\b\p{space}+)?(\b(internal|public)\b\p{space}+)?(\b(dynamic|final|abstract)\b\p{space}+)?(?=\bclass\b)/dgv,beginCaptures:{"3":{name:"storage.modifier.actionscript.3"},"5":{name:"storage.modifier.actionscript.3"},"7":{name:"storage.modifier.actionscript.3"}},end:/\}/dgv,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\p{space}+([\$\.0-9A-Z_a-z]+|\*)/dgv,beginCaptures:{"1":{name:"storage.type.class.actionscript.3"},"2":{name:"entity.name.class.actionscript.3"}},end:/\{/dgv,name:"meta.class_declaration.actionscript.3",patterns:[{include:"#extends"},{include:"#implements"},{include:"#comments"}]},code_block:{begin:/\{/dgv,end:/\}/dgv,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:/\/\*\*(?!\/)/dgv,end:/\*\//dgv,name:"comment.block.documentation.actionscript.3",patterns:[{match:/@(copy|default|eventType|example|exampleText|includeExample|inheritDoc|internal|param|private|return|see|since|throws)\b/dgv,name:"keyword.other.documentation.actionscript.3.asdoc"}]},{begin:/\/\*/dgv,end:/\*\//dgv,name:"comment.block.actionscript.3"},{match:/\/\/[^\n]*/dgv,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/dgv,name:"keyword.control.actionscript.3"},dynamic_type:{captures:{"1":{name:"support.type.actionscript.3"}},match:/(?<=:)\p{space}*(\*)/dgv},escapes:{match:/\\(x\p{AHex}{2}|[012][0-7]{0,2}|3[0-6][0-7]|37[0-7]?|[4-7][0-7]?|[^\n])/dgv,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\p{space}+([\$\.0-9A-Z_a-z]+)\p{space}*(?:,\p{space}*([\$\.0-9A-Z_a-z]+))*\p{space}*/dgv,name:"meta.extends.actionscript.3"},function_arguments:{begin:/\(/dgv,end:/\)/dgv,name:"meta.function_arguments.actionscript.3",patterns:[{include:"#parameters"},{include:"#comments"}]},functions:{begin:/\b(function)\b(?:\p{space}+\b([gs]et)\b\p{space}+)?\p{space}*([\$0-9A-Z_a-z]+\b)?/dgv,beginCaptures:{"1":{name:"storage.type.function.actionscript.3"},"2":{name:"storage.modifier.actionscript.3"},"3":{name:"entity.name.function.actionscript.3"}},end:/((?=\n?$)|;|(?=\{))/dgv,name:"meta.function.actionscript.3",patterns:[{include:"#function_arguments"},{include:"#return_type"},{include:"#comments"}]},guess_constant:{captures:{"1":{name:"constant.other.actionscript.3"}},match:/\b([\$A-Z][0-9A-Z_]+)\b/dgv},guess_type:{captures:{"1":{name:"support.type.actionscript.3"}},match:/\b((?:[\$0-9A-Z_a-z]+\.)*[A-Z][0-9A-Z]*[a-z]+[\$0-9A-Z_a-z]*)\b/dgv},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\p{space}+([\$\.0-9A-Z_a-z]+)\p{space}*(?:,\p{space}*([\$\.0-9A-Z_a-z]+))*\p{space}*/dgv,name:"meta.implements.actionscript.3"},import:{captures:{"2":{name:"keyword.control.import.actionscript.3"},"3":{name:"support.type.actionscript.3"}},match:/(^|\p{space}+|;)\b(import)\b\p{space}+([\$\.0-9A-Z_a-z]+(?:\.\*)?)\p{space}*(?=;|(?=\n?$))/dgv,name:"meta.import.actionscript.3"},interface:{begin:/(^|\p{space}+|;)(\b(internal|public)\b\p{space}+)?(?=\binterface\b)/dgv,beginCaptures:{"3":{name:"storage.modifier.actionscript.3"}},end:/\}/dgv,name:"meta.interface.actionscript.3",patterns:[{include:"#interface_declaration"},{include:"#metadata"},{include:"#functions"},{include:"#comments"}]},interface_declaration:{begin:/\b(interface)\b\p{space}+([\$\.0-9A-Z_a-z]+)/dgv,beginCaptures:{"1":{name:"storage.type.interface.actionscript.3"},"2":{name:"entity.name.class.actionscript.3"}},end:/\{/dgv,name:"meta.class_declaration.actionscript.3",patterns:[{include:"#extends"},{include:"#comments"}]},language_constants:{match:/\b(true|false|null|Infinity|-Infinity|NaN|undefined)\b/dgv,name:"constant.language.actionscript.3"},language_variables:{match:/\b(super|this|arguments)\b/dgv,name:"variable.language.actionscript.3"},logical_operators:{match:/([\!\&\<\>\?\^\|\~])/dgv,name:"keyword.operator.actionscript.3"},metadata:{begin:/\[\p{space}*\b([\p{L}\p{M}\p{N}\p{Pc}]+)\b/dgv,beginCaptures:{"1":{name:"keyword.other.actionscript.3"}},end:/\]/dgv,name:"meta.metadata_info.actionscript.3",patterns:[{include:"#metadata_info"}]},metadata_info:{begin:/\(/dgv,end:/\)/dgv,patterns:[{include:"#strings"},{captures:{"1":{name:"variable.parameter.actionscript.3"},"2":{name:"keyword.operator.actionscript.3"}},match:/([\p{L}\p{M}\p{N}\p{Pc}]+)\p{space}*(=)/dgv}]},method:{begin:/(^|\p{space}+)(([\p{L}\p{M}\p{N}\p{Pc}]+)\p{space}+)?(([\p{L}\p{M}\p{N}\p{Pc}]+)\p{space}+)?(([\p{L}\p{M}\p{N}\p{Pc}]+)\p{space}+)?(([\p{L}\p{M}\p{N}\p{Pc}]+)\p{space}+)?(?=\bfunction\b)/dgv,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:/(?<=([\;\}]))/dgv,name:"meta.method.actionscript.3",patterns:[{include:"#functions"},{include:"#code_block"}]},mxml:{begin:/<!\[CDATA\[/dgv,end:/\]\]>/dgv,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:/(([\p{L}\p{M}\p{N}\p{Pc}]+)\p{space}+)?(namespace)\p{space}+[\$0-9A-Z_a-z]+/dgv,name:"meta.namespace_declaration.actionscript.3"},numbers:{match:/\b((0([Xx])\p{AHex}*)|(([0-9]+\.?[0-9]*)|(\.[0-9]+))(([Ee])([\-\+])?[0-9]+)?)([Ll]|UL|ul|[FUfu])?\b/dgv,name:"constant.numeric.actionscript.3"},object_literal:{begin:/\{/dgv,end:/\}/dgv,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/dgv,name:"keyword.other.actionscript.3"},other_operators:{match:/([\.\=])/dgv,name:"keyword.operator.actionscript.3"},package:{begin:/(^|\p{space}+)(package)\b/dgv,beginCaptures:{"2":{name:"keyword.other.actionscript.3"}},end:/\}/dgv,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)\p{space}+([\._\p{L}\p{M}\p{N}\p{Pc}]*)\b/dgv,end:/\{/dgv,name:"meta.package_name.actionscript.3"},parameters:{begin:/(\.\.\.)?\p{space}*([\$A-Z_a-z][\$0-9A-Z_a-z]*)(?:\p{space}*(:)\p{space}*(?:([\$A-Za-z][\$0-9A-Z_a-z]+(?:\.[\$A-Za-z][\$0-9A-Z_a-z]+)*)(?:\.<([\$A-Za-z][\$0-9A-Z_a-z]+(?:\.[\$A-Za-z][\$0-9A-Z_a-z]+)*)>)?|(\*)))?(?:\p{space}*(=))?/dgv,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:/,|(?=\))/dgv,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/dgv},primitive_functions:{captures:{"1":{name:"support.function.actionscript.3"}},match:/\b(decodeURI|decodeURIComponent|encodeURI|encodeURIComponent|escape|isFinite|isNaN|isXMLName|parseFloat|parseInt|trace|unescape)(?=\p{space}*\()/dgv},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/dgv},regexp:{begin:/(?<=[\(\,\:\=\[]|^|return|&&|\|\||!)\p{space}*(\/)(?![\*\+\/\?\{\}])/dgv,end:/(?=\n?$)|(\/)[gim]*/dgv,name:"string.regex.actionscript.3",patterns:[{match:/\\[^\n]/dgv,name:"constant.character.escape.actionscript.3"},{match:/\[(\\\]|[^\]])*\]/dgv,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:/(:)\p{space}*([\$A-Za-z][\$0-9A-Z_a-z]+(?:\.[\$A-Za-z][\$0-9A-Z_a-z]+)*)(?:\.<([\$A-Za-z][\$0-9A-Z_a-z]+(?:\.[\$A-Za-z][\$0-9A-Z_a-z]+)*)>)?|(\*)/dgv},strings:{patterns:[{begin:/@"/dgv,end:/"/dgv,name:"string.quoted.verbatim.actionscript.3"},{begin:/"/dgv,end:/"/dgv,name:"string.quoted.double.actionscript.3",patterns:[{include:"#escapes"}]},{begin:/'/dgv,end:/'/dgv,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:/(^|\p{space}+|;)(use\p{space}+)?(namespace)\p{space}+([\p{L}\p{M}\p{N}\p{Pc}]+)\p{space}*(;|(?=\n?$))/dgv},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)\p{space}+)?(([\p{L}\p{M}\p{N}\p{Pc}]+)\p{space}+)?((static)\p{space}+)?(const|var)\p{space}+[\$0-9A-Z_a-z]+(?:\p{space}*(:))?/dgv,name:"meta.variable_declaration.actionscript.3"},vector_creation_operators:{match:/([\<\>])/dgv,name:"keyword.operator.actionscript.3"}},scopeName:"source.actionscript.3",embeddedLangs:undefined,aliases:undefined})
|
|
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:/([\-\%\+\/]|(?<!:)\*)/dgv,name:"keyword.operator.actionscript.3"},array_access_operators:{match:/([\]\[])/dgv,name:"keyword.operator.actionscript.3"},class:{begin:/(^|\p{space}+|;)(\b(dynamic|final|abstract)\b\p{space}+)?(\b(internal|public)\b\p{space}+)?(\b(dynamic|final|abstract)\b\p{space}+)?(?=\bclass\b)/dgv,beginCaptures:{"3":{name:"storage.modifier.actionscript.3"},"5":{name:"storage.modifier.actionscript.3"},"7":{name:"storage.modifier.actionscript.3"}},end:/\}/dgv,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\p{space}+([\$\.0-9A-Z_a-z]+|\*)/dgv,beginCaptures:{"1":{name:"storage.type.class.actionscript.3"},"2":{name:"entity.name.class.actionscript.3"}},end:/\{/dgv,name:"meta.class_declaration.actionscript.3",patterns:[{include:"#extends"},{include:"#implements"},{include:"#comments"}]},code_block:{begin:/\{/dgv,end:/\}/dgv,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:/\/\*\*(?!\/)/dgv,end:/\*\//dgv,name:"comment.block.documentation.actionscript.3",patterns:[{match:/@(copy|default|eventType|example|exampleText|includeExample|inheritDoc|internal|param|private|return|see|since|throws)\b/dgv,name:"keyword.other.documentation.actionscript.3.asdoc"}]},{begin:/\/\*/dgv,end:/\*\//dgv,name:"comment.block.actionscript.3"},{match:/\/\/[^\n]*/dgv,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/dgv,name:"keyword.control.actionscript.3"},dynamic_type:{captures:{"1":{name:"support.type.actionscript.3"}},match:/(?<=:)\p{space}*(\*)/dgv},escapes:{match:/\\(x\p{AHex}{2}|[012][0-7]{0,2}|3[0-6][0-7]|37[0-7]?|[4-7][0-7]?|[^\n])/dgv,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\p{space}+([\$\.0-9A-Z_a-z]+)\p{space}*(?:,\p{space}*([\$\.0-9A-Z_a-z]+))*\p{space}*/dgv,name:"meta.extends.actionscript.3"},function_arguments:{begin:/\(/dgv,end:/\)/dgv,name:"meta.function_arguments.actionscript.3",patterns:[{include:"#parameters"},{include:"#comments"}]},functions:{begin:/\b(function)\b(?:\p{space}+\b([gs]et)\b\p{space}+)?\p{space}*([\$0-9A-Z_a-z]+\b)?/dgv,beginCaptures:{"1":{name:"storage.type.function.actionscript.3"},"2":{name:"storage.modifier.actionscript.3"},"3":{name:"entity.name.function.actionscript.3"}},end:/((?=\n?$)|;|(?=\{))/dgv,name:"meta.function.actionscript.3",patterns:[{include:"#function_arguments"},{include:"#return_type"},{include:"#comments"}]},guess_constant:{captures:{"1":{name:"constant.other.actionscript.3"}},match:/\b([\$A-Z][0-9A-Z_]+)\b/dgv},guess_type:{captures:{"1":{name:"support.type.actionscript.3"}},match:/\b((?:[\$0-9A-Z_a-z]+\.)*[A-Z][0-9A-Z]*[a-z]+[\$0-9A-Z_a-z]*)\b/dgv},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\p{space}+([\$\.0-9A-Z_a-z]+)\p{space}*(?:,\p{space}*([\$\.0-9A-Z_a-z]+))*\p{space}*/dgv,name:"meta.implements.actionscript.3"},import:{captures:{"2":{name:"keyword.control.import.actionscript.3"},"3":{name:"support.type.actionscript.3"}},match:/(^|\p{space}+|;)\b(import)\b\p{space}+([\$\.0-9A-Z_a-z]+(?:\.\*)?)\p{space}*(?=;|(?=\n?$))/dgv,name:"meta.import.actionscript.3"},interface:{begin:/(^|\p{space}+|;)(\b(internal|public)\b\p{space}+)?(?=\binterface\b)/dgv,beginCaptures:{"3":{name:"storage.modifier.actionscript.3"}},end:/\}/dgv,name:"meta.interface.actionscript.3",patterns:[{include:"#interface_declaration"},{include:"#metadata"},{include:"#functions"},{include:"#comments"}]},interface_declaration:{begin:/\b(interface)\b\p{space}+([\$\.0-9A-Z_a-z]+)/dgv,beginCaptures:{"1":{name:"storage.type.interface.actionscript.3"},"2":{name:"entity.name.class.actionscript.3"}},end:/\{/dgv,name:"meta.class_declaration.actionscript.3",patterns:[{include:"#extends"},{include:"#comments"}]},language_constants:{match:/\b(true|false|null|Infinity|-Infinity|NaN|undefined)\b/dgv,name:"constant.language.actionscript.3"},language_variables:{match:/\b(super|this|arguments)\b/dgv,name:"variable.language.actionscript.3"},logical_operators:{match:/([\!\&\<\>\?\^\|\~])/dgv,name:"keyword.operator.actionscript.3"},metadata:{begin:/(?<=(?:^|[\;\{\}]|\*\/)\p{space}*)\[\p{space}*\b([\$A-Z_a-z][\$0-9A-Z_a-z]+)\b/dgv,beginCaptures:{"1":{name:"keyword.other.actionscript.3"}},end:/\]/dgv,name:"meta.metadata_info.actionscript.3",patterns:[{include:"#metadata_info"}]},metadata_info:{begin:/\(/dgv,end:/\)/dgv,patterns:[{include:"#strings"},{captures:{"1":{name:"variable.parameter.actionscript.3"},"2":{name:"keyword.operator.actionscript.3"}},match:/([\p{L}\p{M}\p{N}\p{Pc}]+)\p{space}*(=)/dgv}]},method:{begin:/(^|\p{space}+)(([\p{L}\p{M}\p{N}\p{Pc}]+)\p{space}+)?(([\p{L}\p{M}\p{N}\p{Pc}]+)\p{space}+)?(([\p{L}\p{M}\p{N}\p{Pc}]+)\p{space}+)?(([\p{L}\p{M}\p{N}\p{Pc}]+)\p{space}+)?(?=\bfunction\b)/dgv,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:/(?<=([\;\}]))/dgv,name:"meta.method.actionscript.3",patterns:[{include:"#functions"},{include:"#code_block"}]},mxml:{begin:/<!\[CDATA\[/dgv,end:/\]\]>/dgv,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:/(([\p{L}\p{M}\p{N}\p{Pc}]+)\p{space}+)?(namespace)\p{space}+[\$0-9A-Z_a-z]+/dgv,name:"meta.namespace_declaration.actionscript.3"},numbers:{match:/\b((0([Xx])\p{AHex}*)|(([0-9]+\.?[0-9]*)|(\.[0-9]+))(([Ee])([\-\+])?[0-9]+)?)([Ll]|UL|ul|[FUfu])?\b/dgv,name:"constant.numeric.actionscript.3"},object_literal:{begin:/\{/dgv,end:/\}/dgv,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/dgv,name:"keyword.other.actionscript.3"},other_operators:{match:/([\.\=])/dgv,name:"keyword.operator.actionscript.3"},package:{begin:/(^|\p{space}+)(package)\b/dgv,beginCaptures:{"2":{name:"keyword.other.actionscript.3"}},end:/\}/dgv,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)\p{space}+([\._\p{L}\p{M}\p{N}\p{Pc}]*)\b/dgv,end:/\{/dgv,name:"meta.package_name.actionscript.3"},parameters:{begin:/(\.\.\.)?\p{space}*([\$A-Z_a-z][\$0-9A-Z_a-z]*)(?:\p{space}*(:)\p{space}*(?:([\$A-Za-z][\$0-9A-Z_a-z]+(?:\.[\$A-Za-z][\$0-9A-Z_a-z]+)*)(?:\.<([\$A-Za-z][\$0-9A-Z_a-z]+(?:\.[\$A-Za-z][\$0-9A-Z_a-z]+)*)>)?|(\*)))?(?:\p{space}*(=))?/dgv,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:/,|(?=\))/dgv,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/dgv},primitive_functions:{captures:{"1":{name:"support.function.actionscript.3"}},match:/\b(decodeURI|decodeURIComponent|encodeURI|encodeURIComponent|escape|isFinite|isNaN|isXMLName|parseFloat|parseInt|trace|unescape)(?=\p{space}*\()/dgv},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/dgv},regexp:{begin:/(?<=[\(\,\:\=\[]|^|return|&&|\|\||!)\p{space}*(\/)(?![\*\+\/\?\{\}])/dgv,end:/(?=\n?$)|(\/)[gim]*/dgv,name:"string.regex.actionscript.3",patterns:[{match:/\\[^\n]/dgv,name:"constant.character.escape.actionscript.3"},{match:/\[(\\\]|[^\]])*\]/dgv,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:/(:)\p{space}*([\$A-Za-z][\$0-9A-Z_a-z]+(?:\.[\$A-Za-z][\$0-9A-Z_a-z]+)*)(?:\.<([\$A-Za-z][\$0-9A-Z_a-z]+(?:\.[\$A-Za-z][\$0-9A-Z_a-z]+)*)>)?|(\*)/dgv},strings:{patterns:[{begin:/@"/dgv,end:/"/dgv,name:"string.quoted.verbatim.actionscript.3"},{begin:/"/dgv,end:/"/dgv,name:"string.quoted.double.actionscript.3",patterns:[{include:"#escapes"}]},{begin:/'/dgv,end:/'/dgv,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:/(^|\p{space}+|;)(use\p{space}+)?(namespace)\p{space}+([\p{L}\p{M}\p{N}\p{Pc}]+)\p{space}*(;|(?=\n?$))/dgv},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)\p{space}+)?(([\p{L}\p{M}\p{N}\p{Pc}]+)\p{space}+)?((static)\p{space}+)?(const|var)\p{space}+[\$0-9A-Z_a-z]+(?:\p{space}*(:))?/dgv,name:"meta.variable_declaration.actionscript.3"},vector_creation_operators:{match:/([\<\>])/dgv,name:"keyword.operator.actionscript.3"}},scopeName:"source.actionscript.3",embeddedLangs:undefined,aliases:undefined})
|
|
2
2
|
|
|
3
3
|
export default [
|
|
4
4
|
lang
|
package/dist/ada.mjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
const lang = Object.freeze({displayName:"Ada",name:"ada",patterns:[{include:"#library_unit"},{include:"#comment"},{include:"#use_clause"},{include:"#with_clause"},{include:"#pragma"},{include:"#keyword"}],repository:{abort_statement:{begin:/\babort\b/dgiv,beginCaptures:{"0":{name:"keyword.control.ada"}},end:/;/dgv,endCaptures:{"0":{name:"punctuation.ada"}},name:"meta.statement.abort.ada",patterns:[{match:/,/dgv,name:"punctuation.ada"},{match:/\b([\._\p{L}\p{M}\p{N}\p{Pc}\p{Nd}])+\b/dgv,name:"entity.name.task.ada"}]},accept_statement:{begin:/\b(accept)\p{space}+([\._\p{L}\p{M}\p{N}\p{Pc}\p{Nd}]+)\b/dgiv,beginCaptures:{"1":{name:"keyword.control.ada"},"2":{name:"entity.name.accept.ada"}},end:/(?:\b(end)\p{space}*(\p{space}(?!))?\p{space}*)?(;)/dgiv,endCaptures:{"1":{name:"keyword.control.ada"},"2":{name:"entity.name.accept.ada"},"3":{name:"punctuation.ada"}},name:"meta.statement.accept.ada",patterns:[{begin:/\bdo\b/dgiv,beginCaptures:{"0":{name:"keyword.control.ada"}},end:/\b(?=end)\b/dgiv,patterns:[{include:"#statement"}]},{include:"#parameter_profile"}]},access_definition:{captures:{"1":{name:"storage.visibility.ada"},"2":{name:"storage.visibility.ada"},"3":{name:"storage.modifier.ada"},"4":{name:"entity.name.type.ada"}},match:/(not\p{space}+null\p{space}+)?(access)\p{space}+(constant\p{space}+)?([\._\p{L}\p{M}\p{N}\p{Pc}\p{Nd}]+)\b/dgiv,name:"meta.declaration.access.definition.ada"},access_type_definition:{begin:/\b(not\p{space}+null\p{space}+)?(access)\b/dgiv,beginCaptures:{"1":{name:"storage.visibility.ada"},"2":{name:"storage.visibility.ada"}},end:/(?=(with|;))/dgiv,name:"meta.declaration.type.definition.access.ada",patterns:[{match:/\ball\b/dgiv,name:"storage.visibility.ada"},{match:/\bconstant\b/dgiv,name:"storage.modifier.ada"},{include:"#subtype_mark"}]},actual_parameter_part:{begin:/\(/dgv,captures:{"0":{name:"punctuation.ada"}},end:/\)/dgv,patterns:[{match:/,/dgv,name:"punctuation.ada"},{include:"#parameter_association"}]},adding_operator:{match:/([\-\&\+])/dgv,name:"keyword.operator.adding.ada"},array_aggregate:{begin:/\(/dgv,captures:{"0":{name:"punctuation.ada"}},end:/\)/dgv,name:"meta.definition.array.aggregate.ada",patterns:[{match:/,/dgv,name:"punctuation.ada"},{include:"#positional_array_aggregate"},{include:"#array_component_association"}]},array_component_association:{captures:{"1":{name:"variable.name.ada"},"2":{name:"keyword.other.ada"},"3":{patterns:[{match:/<>/dgv,name:"keyword.modifier.unknown.ada"},{include:"#expression"}]}},match:/\b([^\(\)\=\>]*)\p{space}*(=>)\p{space}*([^\)\,]+)/dgv,name:"meta.definition.array.aggregate.component.ada"},array_dimensions:{begin:/\(/dgv,captures:{"0":{name:"punctuation.ada"}},end:/\)/dgv,name:"meta.declaration.type.definition.array.dimensions.ada",patterns:[{match:/,/dgv,name:"punctuation.ada"},{match:/\brange\b/dgiv,name:"storage.modifier.ada"},{match:/<>/dgv,name:"keyword.modifier.unknown.ada"},{match:/\.\./dgv,name:"keyword.ada"},{include:"#expression"},{patterns:[{include:"#subtype_mark"}]}]},array_type_definition:{begin:/\barray\b/dgiv,beginCaptures:{"0":{name:"storage.modifier.ada"}},end:/(?=(with|;))/dgiv,name:"meta.declaration.type.definition.array.ada",patterns:[{include:"#array_dimensions"},{match:/\bof\b/dgiv,name:"storage.modifier.ada"},{match:/\baliased\b/dgiv,name:"storage.visibility.ada"},{include:"#access_definition"},{include:"#subtype_mark"}]},aspect_clause:{begin:/\b(for)\b/dgiv,beginCaptures:{"1":{name:"keyword.ada"},"2":{patterns:[{include:"#subtype_mark"}]},"3":{name:"punctuation.ada"},"5":{name:"keyword.ada"}},end:/;/dgv,endCaptures:{"0":{name:"punctuation.ada"}},name:"meta.aspect.clause.ada",patterns:[{begin:/\buse\b/dgiv,beginCaptures:{"0":{name:"keyword.ada"}},end:/(?=;)/dgv,endCaptures:{"0":{name:"punctuation.ada"}},patterns:[{include:"#record_representation_clause"},{include:"#array_aggregate"},{include:"#expression"}]},{begin:/(?<=for)/dgiv,captures:{"0":{name:"keyword.ada"}},end:/(?=use)/dgiv,patterns:[{captures:{"1":{patterns:[{include:"#subtype_mark"}]},"2":{patterns:[{include:"#attribute"}]}},match:/([_\p{L}\p{M}\p{N}\p{Pc}\p{Nd}]+)('([_\p{L}\p{M}\p{N}\p{Pc}\p{Nd}]+))?/dgv}]}]},aspect_definition:{begin:/=>/dgv,beginCaptures:{"0":{name:"keyword.other.ada"}},end:/(?=([\,\;]|\bis\b))/dgiv,name:"meta.aspect.definition.ada",patterns:[{include:"#expression"}]},aspect_mark:{captures:{"1":{name:"keyword.control.directive.ada"},"2":{name:"punctuation.ada"},"3":{name:"entity.other.attribute-name.ada"}},match:/\b([\._\p{L}\p{M}\p{N}\p{Pc}\p{Nd}]+)(?:(')(class))?\b/dgiv,name:"meta.aspect.mark.ada"},aspect_specification:{begin:/\bwith\b/dgiv,beginCaptures:{"0":{name:"keyword.ada"}},end:/(?=(;|\bis\b))/dgiv,name:"meta.aspect.specification.ada",patterns:[{match:/,/dgv,name:"punctuation.ada"},{captures:{"1":{name:"storage.modifier.ada"},"2":{name:"storage.modifier.ada"}},match:/\b(null)\p{space}+(record)\b/dgiv},{begin:/\brecord\b/dgiv,beginCaptures:{"0":{name:"storage.modifier.ada"}},end:/\b(end)\p{space}+(record)\b/dgiv,endCaptures:{"1":{name:"keyword.ada"},"2":{name:"storage.modifier.ada"}},patterns:[{include:"#component_item"}]},{captures:{"0":{name:"storage.visibility.ada"}},match:/\bprivate\b/dgiv},{include:"#aspect_definition"},{include:"#aspect_mark"},{include:"#comment"}]},assignment_statement:{begin:/\b(["'\(\)\._\p{L}\p{M}\p{N}\p{Pc}\p{Nd}\p{space}]+)\p{space}*(:=)/dgv,beginCaptures:{"1":{patterns:[{match:/([\._\p{L}\p{M}\p{N}\p{Pc}\p{Nd}]+)/dgv,name:"variable.name.ada"},{begin:/\(/dgv,captures:{"0":{name:"punctuation.ada"}},end:/\)/dgv,patterns:[{include:"#expression"}]}]},"2":{name:"keyword.operator.new.ada"}},end:/;/dgv,endCaptures:{"0":{name:"punctuation.ada"}},name:"meta.statement.assignment.ada",patterns:[{include:"#expression"},{include:"#comment"}]},attribute:{captures:{"1":{name:"punctuation.ada"},"2":{name:"entity.other.attribute-name.ada"}},match:/(')([_\p{L}\p{M}\p{N}\p{Pc}\p{Nd}]+)\b/dgv,name:"meta.attribute.ada"},based_literal:{captures:{"1":{name:"constant.numeric.base.ada"},"2":{name:"punctuation.ada"},"3":{name:"punctuation.ada"},"4":{name:"punctuation.radix-point.ada"},"5":{name:"punctuation.ada"},"6":{name:"constant.numeric.base.ada"},"7":{patterns:[{include:"#exponent_part"}]}},match:/(\p{Nd}(?:(_)?\p{Nd})*#)[0-9a-f](?:(_)?[0-9a-f])*(?:(\.)[0-9a-f](?:(_)?[0-9a-f])*)?(#)([Ee][\-\+]?\p{Nd}(?:_?\p{Nd})*)?/dgiv,name:"constant.numeric.ada"},basic_declaration:{patterns:[{include:"#type_declaration"},{include:"#subtype_declaration"},{include:"#exception_declaration"},{include:"#object_declaration"},{include:"#single_protected_declaration"},{include:"#single_task_declaration"},{include:"#subprogram_specification"},{include:"#package_declaration"},{include:"#pragma"},{include:"#comment"}]},basic_declarative_item:{patterns:[{include:"#basic_declaration"},{include:"#aspect_clause"},{include:"#use_clause"},{include:"#keyword"}]},block_statement:{begin:/\bdeclare\b/dgiv,beginCaptures:{"0":{name:"keyword.ada"}},end:/\b(end)(\p{space}+[_\p{L}\p{M}\p{N}\p{Pc}\p{Nd}]+)?\p{space}*(;)/dgiv,endCaptures:{"1":{name:"keyword.ada"},"2":{name:"entity.name.label.ada"},"3":{name:"punctuation.ada"}},name:"meta.statement.block.ada",patterns:[{begin:/(?<=declare)/dgiv,end:/\bbegin\b/dgiv,endCaptures:{"0":{name:"keyword.ada"}},patterns:[{include:"#body"},{include:"#basic_declarative_item"}]},{begin:/(?<=begin)/dgiv,end:/(?=end)/dgiv,patterns:[{include:"#statement"}]}]},body:{patterns:[{include:"#subprogram_body"},{include:"#package_body"},{include:"#task_body"},{include:"#protected_body"}]},case_statement:{begin:/\bcase\b/dgiv,beginCaptures:{"0":{name:"keyword.control.ada"}},end:/\b(end)\p{space}+(case)\p{space}*(;)/dgiv,endCaptures:{"1":{name:"keyword.control.ada"},"2":{name:"keyword.control.ada"},"3":{name:"punctuation.ada"}},name:"meta.statement.case.ada",patterns:[{begin:/(?<=case)\b/dgiv,end:/\bis\b/dgiv,endCaptures:{"0":{name:"keyword.control.ada"}},patterns:[{include:"#expression"}]},{begin:/\bwhen\b/dgiv,beginCaptures:{"0":{name:"keyword.control.ada"}},end:/=>/dgv,endCaptures:{"0":{name:"punctuation.ada"}},name:"meta.statement.case.alternative.ada",patterns:[{match:/\bothers\b/dgiv,name:"keyword.modifier.unknown.ada"},{match:/\|/dgv,name:"punctuation.ada"},{include:"#expression"}]},{include:"#statement"}]},character_literal:{captures:{"0":{patterns:[{match:/'/dgv,name:"punctuation.definition.string.ada"}]}},match:/'[^\n]'/dgv,name:"string.quoted.single.ada"},comment:{patterns:[{include:"#preprocessor"},{include:"#comment-section"},{include:"#comment-doc"},{include:"#comment-line"}]},"comment-doc":{captures:{"1":{name:"comment.line.double-dash.ada"},"2":{name:"punctuation.definition.tag.ada"},"3":{name:"entity.name.tag.ada"},"4":{name:"comment.line.double-dash.ada"}},match:/(--)\p{space}*(@)([\p{L}\p{M}\p{N}\p{Pc}]+)\p{space}+([^\n]*)(?=\n?$)/dgv,name:"comment.block.documentation.ada"},"comment-line":{match:/--[^\n]*(?=\n?$)/dgv,name:"comment.line.double-dash.ada"},"comment-section":{captures:{"1":{name:"entity.name.section.ada"}},match:/--\p{space}*([^\-][^\n]*?[^\-])\p{space}*--\p{space}*(?=\n?$)/dgv,name:"comment.line.double-dash.ada"},component_clause:{begin:/\b([_\p{L}\p{M}\p{N}\p{Pc}\p{Nd}]+)\b/dgv,beginCaptures:{"0":{name:"variable.name.ada"}},end:/;/dgv,endCaptures:{"0":{name:"punctuation.ada"}},name:"meta.aspect.clause.record.representation.component.ada",patterns:[{begin:/\bat\b/dgiv,beginCaptures:{"0":{name:"storage.modifier.ada"}},end:/\b(?=range)\b/dgiv,patterns:[{include:"#expression"}]},{include:"#range_constraint"}]},component_declaration:{begin:/\b([_\p{L}\p{M}\p{N}\p{Pc}\p{Nd}]+(?:\p{space}*,\p{space}*[_\p{L}\p{M}\p{N}\p{Pc}\p{Nd}]+)?)\p{space}*(:)/dgv,beginCaptures:{"1":{patterns:[{match:/,/dgv,name:"punctuation.ada"},{match:/\b([_\p{L}\p{M}\p{N}\p{Pc}\p{Nd}])+\b/dgv,name:"variable.name.ada"}]},"2":{name:"punctuation.ada"}},end:/;/dgv,endCaptures:{"0":{name:"punctuation.ada"}},name:"meta.declaration.type.definition.record.component.ada",patterns:[{patterns:[{match:/:=/dgv,name:"keyword.operator.new.ada"},{include:"#expression"}]},{include:"#component_definition"}]},component_definition:{patterns:[{match:/\baliased\b/dgiv,name:"storage.visibility.ada"},{match:/\brange\b/dgiv,name:"storage.modifier.ada"},{match:/\.\./dgv,name:"keyword.ada"},{include:"#access_definition"},{include:"#subtype_mark"}]},component_item:{patterns:[{include:"#component_declaration"},{include:"#variant_part"},{include:"#comment"},{include:"#aspect_clause"},{captures:{"1":{name:"keyword.ada"},"2":{name:"punctuation.ada"}},match:/\b(null)\p{space}*(;)/dgiv}]},composite_constraint:{begin:/\(/dgv,captures:{"0":{name:"punctuation.ada"}},end:/\)/dgv,name:"meta.declaration.constraint.composite.ada",patterns:[{match:/,/dgv,name:"punctuation.ada"},{match:/\.\./dgv,name:"keyword.ada"},{captures:{"1":{name:"variable.name.ada"},"2":{name:"keyword.other.ada"},"3":{patterns:[{include:"#expression"}]}},match:/\b([_\p{L}\p{M}\p{N}\p{Pc}\p{Nd}]+)\p{space}*(=>)\p{space}*([^\)\,])+\b/dgv},{include:"#expression"}]},decimal_literal:{captures:{"1":{name:"punctuation.ada"},"2":{name:"punctuation.radix-point.ada"},"3":{name:"punctuation.ada"},"4":{patterns:[{include:"#exponent_part"}]}},match:/\p{Nd}(?:(_)?\p{Nd})*(?:(\.)\p{Nd}(?:(_)?\p{Nd})*)?([Ee][\-\+]?\p{Nd}(?:_?\p{Nd})*)?/dgv,name:"constant.numeric.ada"},declarative_item:{patterns:[{include:"#body"},{include:"#basic_declarative_item"}]},delay_relative_statement:{begin:/\b(delay)\b/dgiv,beginCaptures:{"1":{name:"keyword.control.ada"}},end:/;/dgv,endCaptures:{"0":{name:"punctuation.ada"}},patterns:[{include:"#expression"}]},delay_statement:{patterns:[{include:"#delay_until_statement"},{include:"#delay_relative_statement"}]},delay_until_statement:{begin:/\b(delay)\p{space}+(until)\b/dgiv,beginCaptures:{"1":{name:"keyword.control.ada"},"2":{name:"keyword.control.ada"}},end:/;/dgv,endCaptures:{"0":{name:"punctuation.ada"}},name:"meta.statement.delay.until.ada",patterns:[{include:"#expression"}]},derived_type_definition:{name:"meta.declaration.type.definition.derived.ada",patterns:[{begin:/\bnew\b/dgiv,beginCaptures:{"0":{name:"storage.modifier.ada"}},end:/(?=(\bwith\b|;))/dgiv,patterns:[{match:/\band\b/dgiv,name:"storage.modifier.ada"},{include:"#subtype_mark"}]},{match:/\b(abstract|and|limited|tagged)\b/dgiv,name:"storage.modifier.ada"},{match:/\bprivate\b/dgiv,name:"storage.visibility.ada"},{include:"#subtype_mark"}]},discriminant_specification:{begin:/\b([_\p{L}\p{M}\p{N}\p{Pc}\p{Nd}]+(?:\p{space}*,\p{space}*[_\p{L}\p{M}\p{N}\p{Pc}\p{Nd}]+)?)\p{space}*(:)/dgv,beginCaptures:{"1":{patterns:[{match:/,/dgv,name:"punctuation.ada"},{match:/\b([_\p{L}\p{M}\p{N}\p{Pc}\p{Nd}])+\b/dgv,name:"variable.name.ada"}]},"2":{name:"punctuation.ada"}},end:/(?=([\)\;]))/dgv,patterns:[{begin:/:=/dgv,beginCaptures:{"0":{name:"keyword.operator.new.ada"}},end:/(?=([\)\;]))/dgv,patterns:[{include:"#expression"}]},{captures:{"1":{name:"storage.visibility.ada"},"2":{patterns:[{include:"#subtype_mark"}]}},match:/(not\p{space}+null\p{space}+)?([\._\p{L}\p{M}\p{N}\p{Pc}\p{Nd}]+)\b/dgiv},{include:"#access_definition"}]},entry_body:{begin:/\b(entry)\p{space}+([_\p{L}\p{M}\p{N}\p{Pc}\p{Nd}]+)\b/dgiv,beginCaptures:{"1":{name:"keyword.ada"},"2":{name:"entity.name.entry.ada"}},end:/\b(end)\p{space}*(\p{space}(?!))\p{space}*(;)/dgiv,endCaptures:{"1":{name:"keyword.ada"},"2":{name:"entity.name.entry.ada"},"3":{name:"punctuation.ada"}},patterns:[{begin:/\bis\b/dgiv,beginCaptures:{"0":{name:"keyword.ada"}},end:/\b(?=begin)\b/dgiv,patterns:[{include:"#declarative_item"}]},{begin:/\bbegin\b/dgiv,beginCaptures:{"0":{name:"keyword.ada"}},end:/\b(?=end)\b/dgiv,patterns:[{include:"#statement"}]},{begin:/\bwhen\b/dgiv,beginCaptures:{"0":{name:"keyword.ada"}},end:/\b(?=is)\b/dgiv,patterns:[{include:"#expression"}]},{include:"#parameter_profile"}]},entry_declaration:{begin:/\b(?:(not)?\p{space}+(overriding)\p{space}+)?(entry)\p{space}+([_\p{L}\p{M}\p{N}\p{Pc}\p{Nd}]+)\b/dgiv,beginCaptures:{"1":{name:"storage.modifier.ada"},"2":{name:"storage.modifier.ada"},"3":{name:"keyword.ada"},"4":{name:"entity.name.entry.ada"}},end:/;/dgv,endCaptures:{"0":{name:"punctuation.ada"}},patterns:[{include:"#parameter_profile"}]},enumeration_type_definition:{begin:/\(/dgv,beginCaptures:{"0":{name:"punctuation.ada"}},end:/\)/dgv,endCaptures:{"0":{name:"punctuation.ada"}},name:"meta.declaration.type.definition.enumeration.ada",patterns:[{match:/,/dgv,name:"punctuation.ada"},{match:/\b([_\p{L}\p{M}\p{N}\p{Pc}\p{Nd}])+\b/dgv,name:"variable.name.ada"},{include:"#comment"}]},exception_declaration:{begin:/\b([_\p{L}\p{M}\p{N}\p{Pc}\p{Nd}]+(?:\p{space}*,\p{space}*[_\p{L}\p{M}\p{N}\p{Pc}\p{Nd}]+)?)\p{space}*(:)\p{space}*(exception)/dgiv,beginCaptures:{"1":{patterns:[{match:/,/dgv,name:"punctuation.ada"},{match:/\b([_\p{L}\p{M}\p{N}\p{Pc}\p{Nd}])+\b/dgv,name:"entity.name.exception.ada"}]},"2":{name:"punctuation.ada"},"3":{name:"storage.type.ada"}},end:/;/dgv,endCaptures:{"0":{name:"punctuation.ada"}},name:"meta.declaration.exception.ada",patterns:[{match:/\b(renames)\p{space}+(([\._\p{L}\p{M}\p{N}\p{Pc}\p{Nd}])+)/dgiv,name:"entity.name.exception.ada"}]},exit_statement:{begin:/\bexit\b/dgiv,beginCaptures:{"0":{name:"keyword.control.ada"}},end:/;/dgv,endCaptures:{"0":{name:"punctuation.ada"}},name:"meta.statement.exit.ada",patterns:[{begin:/\bwhen\b/dgiv,beginCaptures:{"0":{name:"keyword.control.ada"}},end:/(?=;)/dgv,patterns:[{include:"#expression"}]},{match:/[_\p{L}\p{M}\p{N}\p{Pc}\p{Nd}]+/dgv,name:"entity.name.label.ada"}]},exponent_part:{captures:{"1":{name:"punctuation.exponent-mark.ada"},"2":{name:"keyword.operator.unary.ada"},"3":{name:"punctuation.ada"}},match:/([Ee])([\-\+])?\p{Nd}(?:(_)?\p{Nd})*/dgv},expression:{name:"meta.expression.ada",patterns:[{match:/\bnull\b/dgiv,name:"constant.language.ada"},{match:/=>(\+)?/dgv,name:"keyword.other.ada"},{begin:/\(/dgv,captures:{"0":{name:"punctuation.ada"}},end:/\)/dgv,patterns:[{include:"#expression"}]},{match:/,/dgv,name:"punctuation.ada"},{match:/\.\./dgv,name:"keyword.ada"},{include:"#value"},{include:"#attribute"},{include:"#comment"},{include:"#operator"},{match:/\b(and|or|xor)\b/dgiv,name:"keyword.ada"},{match:/\b(if|then|else|elsif|in|for|(?<!\.)all|some|\.\.|delta|with)\b/dgiv,name:"keyword.ada"}]},for_loop_statement:{begin:/\bfor\b/dgiv,beginCaptures:{"0":{name:"keyword.control.ada"}},end:/\b(end)\p{space}+(loop)(\p{space}+[_\p{L}\p{M}\p{N}\p{Pc}\p{Nd}]+)?\p{space}*(;)/dgiv,endCaptures:{"1":{name:"keyword.control.ada"},"2":{name:"keyword.control.ada"},"3":{name:"entity.name.label.ada"},"4":{name:"punctuation.ada"}},name:"meta.statement.loop.for.ada",patterns:[{begin:/(?<=for)/dgiv,end:/\bloop\b/dgiv,endCaptures:{"0":{name:"keyword.control.ada"}},patterns:[{captures:{"1":{name:"variable.name.ada"},"2":{name:"keyword.control.ada"},"3":{name:"keyword.control.ada"}},match:/\b([_\p{L}\p{M}\p{N}\p{Pc}\p{Nd}]+)\p{space}+(in)(\p{space}+reverse)?\b/dgiv},{captures:{"1":{name:"variable.name.ada"},"2":{name:"punctuation.ada"},"3":{patterns:[{include:"#subtype_mark"}]},"4":{name:"keyword.control.ada"},"5":{name:"keyword.control.ada"}},match:/\b([_\p{L}\p{M}\p{N}\p{Pc}\p{Nd}]+)(?:\p{space}*(:)\p{space}*([\._\p{L}\p{M}\p{N}\p{Pc}\p{Nd}]+))?\p{space}+(of)(\p{space}+reverse)?\b/dgiv},{include:"#expression"}]},{include:"#statement"}]},full_type_declaration:{patterns:[{include:"#task_type_declaration"},{include:"#regular_type_declaration"}]},function_body:{begin:/\b(overriding\p{space}+)?(function)\p{space}+(?:([\._\p{L}\p{M}\p{N}\p{Pc}\p{Nd}]+)\b|("[^\n]+"))/dgiv,beginCaptures:{"1":{name:"storage.visibility.ada"},"2":{name:"keyword.ada"},"3":{name:"entity.name.function.ada"},"4":{patterns:[{include:"#string_literal"}]}},end:/(?:\b(end)\p{space}+(\3|\4)\p{space}*)?(;)()/dgiv,endCaptures:{"1":{name:"keyword.ada"},"2":{name:"entity.name.function.ada"},"3":{name:"punctuation.ada"}},name:"meta.declaration.function.body.ada",patterns:[{begin:/\bbegin\b/dgiv,beginCaptures:{"0":{name:"keyword.ada"}},end:/(?=end)/dgiv,patterns:[{include:"#handled_sequence_of_statements"}]},{include:"#aspect_specification"},{include:"#result_profile"},{include:"#subprogram_renaming_declaration"},{include:"#parameter_profile"},{begin:/\bis\b/dgiv,beginCaptures:{"0":{name:"keyword.ada"}},end:/(?=(with|begin|;))/dgiv,name:"meta.function.body.spec_part.ada",patterns:[{begin:/\bnew\b/dgiv,beginCaptures:{"0":{name:"keyword.operator.new.ada"}},end:/(?=;)/dgv,name:"meta.declaration.package.generic.ada",patterns:[{match:/([\._\p{L}\p{M}\p{N}\p{Pc}\p{Nd}]+)/dgv,name:"entity.name.function.ada"},{include:"#actual_parameter_part"}]},{captures:{"0":{name:"storage.modifier.ada"}},match:/\babstract\b/dgiv,name:"meta.declaration.function.abstract.ada"},{include:"#declarative_item"},{include:"#subprogram_renaming_declaration"},{include:"#expression"}]}]},function_specification:{patterns:[{include:"#function_body"}]},goto_statement:{begin:/\bgoto\b/dgiv,beginCaptures:{"0":{name:"keyword.control.goto.ada"}},end:/;/dgv,endCaptures:{"0":{name:"punctuation.ada"}},name:"meta.statement.goto.ada",patterns:[{}]},guard:{begin:/\bwhen\b/dgiv,beginCaptures:{"0":{name:"keyword.control.ada"}},end:/=>/dgv,endCaptures:{"0":{name:"keyword.other.ada"}},patterns:[{include:"#expression"}]},handled_sequence_of_statements:{patterns:[{begin:/\bexception\b/dgiv,beginCaptures:{"0":{name:"keyword.ada"}},end:/\b(?=end)\b/dgiv,name:"meta.handler.exception.ada",patterns:[{begin:/\bwhen\b/dgiv,beginCaptures:{"0":{name:"keyword.ada"}},end:/=>/dgv,endCaptures:{"0":{name:"keyword.other.ada"}},patterns:[{captures:{"1":{name:"variable.name.ada"},"2":{name:"punctuation.ada"}},match:/\b([\._\p{L}\p{M}\p{N}\p{Pc}\p{Nd}]+)\p{space}*(:)/dgv},{match:/\|/dgv,name:"punctuation.ada"},{match:/\bothers\b/dgiv,name:"keyword.ada"},{match:/[\._\p{L}\p{M}\p{N}\p{Pc}\p{Nd}]+/dgv,name:"entity.name.exception.ada"}]},{include:"#statement"}]},{include:"#statement"}]},highest_precedence_operator:{match:/(\*\*|\babs\b|\bnot\b)/dgiv,name:"keyword.operator.highest-precedence.ada"},if_statement:{begin:/\bif\b/dgiv,beginCaptures:{"0":{name:"keyword.control.ada"}},end:/\b(end)\p{space}+(if)\p{space}*(;)/dgiv,endCaptures:{"1":{name:"keyword.control.ada"},"2":{name:"keyword.control.ada"},"3":{name:"punctuation.ada"}},name:"meta.statement.if.ada",patterns:[{begin:/\belsif\b/dgiv,beginCaptures:{"0":{name:"keyword.control.ada"}},end:/(?<!\p{space}and)\p{space}+(?=then)/dgiv,patterns:[{include:"#expression"}]},{begin:/\belse\b/dgiv,beginCaptures:{"0":{name:"keyword.control.ada"}},end:/(?=end)/dgiv,patterns:[{include:"#statement"}]},{begin:/(?<=if)\b/dgiv,end:/(?<!\p{space}and)\p{space}+(?=then)/dgiv,endCaptures:{"0":{name:"keyword.control.ada"}},patterns:[{include:"#expression"}]},{begin:/\bthen\b/dgiv,beginCaptures:{"0":{name:"keyword.control.ada"}},end:/(?=(e(?:lsif|lse|nd)))/dgiv,patterns:[{include:"#statement"}]}]},integer_type_definition:{name:"meta.declaration.type.definition.integer.ada",patterns:[{include:"#signed_integer_type_definition"},{include:"#modular_type_definition"}]},interface_type_definition:{begin:/\b(?:(limited|task|protected|synchronized)\p{space}+)?(interface)/dgiv,beginCaptures:{"1":{name:"storage.modifier.ada"},"2":{name:"storage.modifier.ada"}},end:/(?=(with|;))/dgiv,name:"meta.declaration.type.definition.interface.ada",patterns:[{match:/\band\b/dgiv,name:"storage.modifier.ada"},{include:"#subtype_mark"}]},keyword:{patterns:[{match:/\b(abort|abs|accept|all|and|at|begin|body|declare|delay|end|entry|exception|function|generic|in|is|mod|new|not|null|of|or|others|out|package|pragma|procedure|range|record|rem|renames|requeue|reverse|select|separate|some|subtype|then|type|use|when|with|xor)\b/dgiv,name:"keyword.ada"},{match:/\b(case|do|else|elsif|exit|for|goto|if|loop|raise|return|terminate|until|while)\b/dgiv,name:"keyword.control.ada"},{match:/\b(abstract|access|aliased|array|constant|delta|digits|interface|limited|protected|synchronized|tagged|task)\b/dgiv,name:"storage.modifier.ada"},{match:/\b(private|overriding)\b/dgiv,name:"storage.visibility.ada"},{match:/<>/dgv,name:"keyword.modifier.unknown.ada"},{match:/([\-\*\+\/])/dgv,name:"keyword.operator.arithmetic.ada"},{match:/:=/dgv,name:"keyword.operator.assignment.ada"},{match:/(=|\/=|[\<\>]|<=|>=)/dgv,name:"keyword.operator.logic.ada"},{match:/&/dgv,name:"keyword.operator.concatenation.ada"}]},known_discriminant_part:{begin:/\(/dgv,captures:{"0":{name:"punctuation.ada"}},end:/\)/dgv,name:"meta.declaration.type.discriminant.ada",patterns:[{match:/;/dgv,name:"punctuation.ada"},{include:"#discriminant_specification"}]},label:{captures:{"1":{name:"punctuation.label.ada"},"2":{name:"entity.name.label.ada"},"3":{name:"punctuation.label.ada"}},match:/(<<)?([_\p{L}\p{M}\p{N}\p{Pc}\p{Nd}]+)\p{space}*(:[^\=]|>>)/dgv,name:"meta.label.ada"},library_unit:{name:"meta.library.unit.ada",patterns:[{include:"#package_body"},{include:"#package_specification"},{include:"#subprogram_body"}]},loop_statement:{patterns:[{include:"#simple_loop_statement"},{include:"#while_loop_statement"},{include:"#for_loop_statement"}]},modular_type_definition:{begin:/\b(mod)\b/dgiv,beginCaptures:{"1":{name:"storage.modifier.ada"}},end:/(?=(with|;))/dgiv,patterns:[{match:/<>/dgv,name:"keyword.modifier.unknown.ada"},{include:"#expression"}]},multiplying_operator:{match:/([\*\/]|\bmod\b|\brem\b)/dgiv,name:"keyword.operator.multiplying.ada"},null_statement:{captures:{"1":{name:"keyword.ada"},"2":{name:"punctuation.ada"}},match:/\b(null)\p{space}*(;)/dgiv,name:"meta.statement.null.ada"},object_declaration:{begin:/\b([_\p{L}\p{M}\p{N}\p{Pc}\p{Nd}]+(?:\p{space}*,\p{space}*[_\p{L}\p{M}\p{N}\p{Pc}\p{Nd}]+)*)\p{space}*(:)/dgv,beginCaptures:{"1":{patterns:[{match:/,/dgv,name:"punctuation.ada"},{match:/\b([_\p{L}\p{M}\p{N}\p{Pc}\p{Nd}])+\b/dgv,name:"variable.name.ada"}]},"2":{name:"punctuation.ada"}},end:/(;)/dgv,endCaptures:{"0":{name:"punctuation.ada"}},name:"meta.declaration.object.ada",patterns:[{begin:/(?<=:)/dgv,end:/(?=;)|(:=)|\b(renames)\b/dgv,endCaptures:{"1":{name:"keyword.operator.new.ada"},"2":{name:"keyword.ada"}},patterns:[{match:/\bconstant\b/dgiv,name:"storage.modifier.ada"},{match:/\baliased\b/dgiv,name:"storage.visibility.ada"},{include:"#aspect_specification"},{include:"#subtype_mark"}]},{begin:/(?<=:=)/dgv,end:/(?=;)/dgv,patterns:[{include:"#aspect_specification"},{include:"#expression"}]},{begin:/(?<=renames)/dgv,end:/(?=;)/dgv,patterns:[{include:"#aspect_specification"}]}]},operator:{patterns:[{include:"#highest_precedence_operator"},{include:"#multiplying_operator"},{include:"#adding_operator"},{include:"#relational_operator"},{include:"#logical_operator"}]},package_body:{begin:/\b(package)\p{space}+(body)\p{space}+([\._\p{L}\p{M}\p{N}\p{Pc}\p{Nd}]+)\b/dgiv,beginCaptures:{"1":{name:"keyword.ada"},"2":{name:"keyword.ada"},"3":{patterns:[{include:"#package_mark"}]}},end:/\b(end)\p{space}+(\3)\p{space}*(;)/dgiv,endCaptures:{"1":{name:"keyword.ada"},"2":{patterns:[{include:"#package_mark"}]},"3":{name:"punctuation.ada"}},name:"meta.declaration.package.body.ada",patterns:[{begin:/\bbegin\b/dgiv,beginCaptures:{"0":{name:"keyword.ada"}},end:/\b(?=end)\b/dgiv,patterns:[{include:"#handled_sequence_of_statements"}]},{begin:/\bis\b/dgiv,beginCaptures:{"0":{name:"keyword.ada"}},end:/(?=\b(begin|end)\b)/dgiv,patterns:[{match:/\bprivate\b/dgiv,name:"keyword.ada"},{include:"#declarative_item"},{include:"#comment"}]},{include:"#aspect_specification"}]},package_declaration:{patterns:[{include:"#package_specification"}]},package_mark:{match:/\b([\._\p{L}\p{M}\p{N}\p{Pc}\p{Nd}])+\b/dgv,name:"entity.name.package.ada"},package_specification:{begin:/\b(package)\p{space}+([\._\p{L}\p{M}\p{N}\p{Pc}\p{Nd}]+)\b/dgiv,beginCaptures:{"1":{name:"keyword.ada"},"2":{patterns:[{include:"#package_mark"}]}},end:/(?:\b(end)\p{space}+((?!))\p{space}*)?(;)/dgiv,endCaptures:{"1":{name:"keyword.ada"},"2":{patterns:[{include:"#package_mark"}]},"3":{name:"punctuation.ada"}},name:"meta.declaration.package.specification.ada",patterns:[{begin:/\bis\b/dgiv,beginCaptures:{"0":{name:"keyword.ada"}},end:/(?=(end|;))/dgv,patterns:[{begin:/\bnew\b/dgiv,beginCaptures:{"0":{name:"keyword.operator.new.ada"}},end:/(?=;)/dgv,name:"meta.declaration.package.generic.ada",patterns:[{include:"#package_mark"},{include:"#actual_parameter_part"}]},{match:/\bprivate\b/dgiv,name:"keyword.ada"},{include:"#basic_declarative_item"},{include:"#comment"}]},{include:"#aspect_specification"}]},parameter_association:{patterns:[{captures:{"1":{name:"variable.parameter.ada"},"2":{name:"keyword.other.ada"}},match:/([_\p{L}\p{M}\p{N}\p{Pc}\p{Nd}]+)\p{space}*(=>)/dgv},{include:"#expression"}]},parameter_profile:{begin:/\(/dgv,captures:{"0":{name:"punctuation.ada"}},end:/\)/dgv,patterns:[{match:/;/dgv,name:"punctuation.ada"},{include:"#parameter_specification"}]},parameter_specification:{patterns:[{begin:/:(?!=)/dgv,beginCaptures:{"0":{name:"punctuation.ada"}},end:/(?=[\)\:\;])/dgv,name:"meta.type.annotation.ada",patterns:[{match:/\b(in|out)\b/dgiv,name:"keyword.ada"},{include:"#subtype_mark"}]},{begin:/:=/dgv,beginCaptures:{"0":{name:"keyword.operator.new.ada"}},end:/(?=[\)\:\;])/dgv,patterns:[{include:"#expression"}]},{match:/,/dgv,name:"punctuation.ada"},{match:/\b[\._\p{L}\p{M}\p{N}\p{Pc}\p{Nd}]+\b/dgv,name:"variable.parameter.ada"},{include:"#comment"}]},positional_array_aggregate:{name:"meta.definition.array.aggregate.positional.ada",patterns:[{captures:{"1":{name:"keyword.ada"},"2":{name:"keyword.other.ada"},"3":{patterns:[{match:/<>/dgv,name:"keyword.modifier.unknown.ada"},{include:"#expression"}]}},match:/\b(others)\p{space}*(=>)\p{space}*([^\)\,]+)/dgiv},{include:"#expression"}]},pragma:{begin:/\b(pragma)\p{space}+([_\p{L}\p{M}\p{N}\p{Pc}\p{Nd}]+)\b/dgiv,beginCaptures:{"1":{name:"keyword.ada"},"2":{name:"keyword.control.directive.ada"}},end:/(;)/dgv,endCaptures:{"1":{name:"punctuation.ada"}},name:"meta.pragma.ada",patterns:[{include:"#expression"}]},preprocessor:{name:"meta.preprocessor.ada",patterns:[{captures:{"1":{name:"punctuation.definition.directive.ada"},"2":{name:"keyword.control.directive.conditional.ada"},"3":{patterns:[{include:"#expression"}]}},match:/^\p{space}*(#)(if|elsif)\p{space}+([^\n]*)(?=\n?$)/dgv},{captures:{"1":{name:"punctuation.definition.directive.ada"},"2":{name:"keyword.control.directive.conditional"},"3":{name:"punctuation.ada"}},match:/^\p{space}*(#)(end if)(;)/dgv},{captures:{"1":{name:"punctuation.definition.directive.ada"},"2":{name:"keyword.control.directive.conditional"}},match:/^\p{space}*(#)(else)/dgv}]},procedure_body:{begin:/\b(overriding\p{space}+)?(procedure)\p{space}+([\._\p{L}\p{M}\p{N}\p{Pc}\p{Nd}]+)\b/dgiv,beginCaptures:{"1":{name:"storage.visibility.ada"},"2":{name:"keyword.ada"},"3":{name:"entity.name.function.ada"}},end:/(?:\b(end)\p{space}+(\3)\p{space}*)?(;)/dgiv,endCaptures:{"1":{name:"keyword.ada"},"2":{name:"entity.name.function.ada"},"3":{name:"punctuation.ada"}},name:"meta.declaration.procedure.body.ada",patterns:[{begin:/\bis\b/dgiv,beginCaptures:{"0":{name:"keyword.ada"}},end:/(?=(with|begin|;))/dgiv,patterns:[{begin:/\bnew\b/dgiv,beginCaptures:{"0":{name:"keyword.operator.new.ada"}},end:/(?=;)/dgv,name:"meta.declaration.package.generic.ada",patterns:[{match:/([\._\p{L}\p{M}\p{N}\p{Pc}\p{Nd}]+)/dgv,name:"entity.name.function.ada"},{include:"#actual_parameter_part"}]},{match:/\b(null|abstract)\b/dgiv,name:"storage.modifier.ada"},{include:"#declarative_item"}]},{begin:/\bbegin\b/dgiv,beginCaptures:{"0":{name:"keyword.ada"}},end:/(?=\bend\b)/dgiv,patterns:[{include:"#handled_sequence_of_statements"}]},{include:"#subprogram_renaming_declaration"},{include:"#aspect_specification"},{include:"#parameter_profile"},{include:"#comment"}]},procedure_call_statement:{begin:/\b([\._\p{L}\p{M}\p{N}\p{Pc}\p{Nd}]+)\b/dgv,beginCaptures:{"1":{name:"entity.name.function.ada"}},end:/;/dgv,endCaptures:{"0":{name:"punctuation.ada"}},name:"meta.statement.call.ada",patterns:[{include:"#attribute"},{include:"#actual_parameter_part"},{include:"#comment"}]},procedure_specification:{patterns:[{include:"#procedure_body"}]},protected_body:{begin:/\b(protected)\p{space}+(body)\p{space}+([\._\p{L}\p{M}\p{N}\p{Pc}\p{Nd}]+)\b/dgiv,beginCaptures:{"1":{name:"storage.modifier.ada"},"2":{name:"keyword.ada"},"3":{name:"entity.name.body.ada"}},end:/\b(end)\p{space}*(\p{space}\3)\p{space}*(;)/dgiv,endCaptures:{"1":{name:"keyword.ada"},"2":{name:"entity.name.body.ada"},"3":{name:"punctuation.ada"}},name:"meta.declaration.procedure.body.ada",patterns:[{begin:/\bis\b/dgiv,beginCaptures:{"0":{name:"keyword.ada"}},end:/\b(?=end)\b/dgiv,patterns:[{include:"#protected_operation_item"}]}]},protected_element_declaration:{patterns:[{include:"#subprogram_specification"},{include:"#aspect_clause"},{include:"#entry_declaration"},{include:"#component_declaration"},{include:"#pragma"}]},protected_operation_item:{patterns:[{include:"#subprogram_specification"},{include:"#subprogram_body"},{include:"#aspect_clause"},{include:"#entry_body"}]},raise_expression:{begin:/\braise\b/dgiv,beginCaptures:{"0":{name:"keyword.control.ada"}},end:/(?=;)/dgv,name:"meta.expression.raise.ada",patterns:[{begin:/\bwith\b/dgiv,beginCaptures:{"0":{name:"keyword.ada"}},end:/(?=([\)\;]))/dgv,patterns:[{include:"#expression"}]},{match:/\b([_\p{L}\p{M}\p{N}\p{Pc}\p{Nd}])+\b/dgv,name:"entity.name.exception.ada"}]},raise_statement:{begin:/\braise\b/dgiv,beginCaptures:{"0":{name:"keyword.control.ada"}},end:/;/dgv,endCaptures:{"0":{name:"punctuation.ada"}},name:"meta.statement.raise.ada",patterns:[{begin:/\bwith\b/dgiv,beginCaptures:{"0":{name:"keyword.control.ada"}},end:/(?=;)/dgv,patterns:[{include:"#expression"}]},{match:/\b([\._\p{L}\p{M}\p{N}\p{Pc}\p{Nd}])+\b/dgv,name:"entity.name.exception.ada"}]},range_constraint:{begin:/\brange\b/dgiv,beginCaptures:{"0":{name:"storage.modifier.ada"}},end:/(?=(\bwith\b|;))/dgv,patterns:[{match:/\.\./dgv,name:"keyword.ada"},{match:/<>/dgv,name:"keyword.modifier.unknown.ada"},{include:"#expression"}]},real_type_definition:{name:"meta.declaration.type.definition.real-type.ada",patterns:[{include:"#scalar_constraint"}]},record_representation_clause:{begin:/\b(record)\b/dgiv,beginCaptures:{"1":{name:"storage.modifier.ada"}},end:/\b(end)\p{space}+(record)\b/dgiv,endCaptures:{"1":{name:"keyword.ada"},"2":{name:"storage.modifier.ada"}},name:"meta.aspect.clause.record.representation.ada",patterns:[{include:"#component_clause"},{include:"#comment"}]},record_type_definition:{patterns:[{captures:{"1":{name:"storage.modifier.ada"},"2":{name:"storage.modifier.ada"},"3":{name:"storage.modifier.ada"},"4":{name:"storage.modifier.ada"},"5":{name:"storage.modifier.ada"}},match:/\b(?:(abstract)\p{space}+)?(?:(tagged)\p{space}+)?(?:(limited)\p{space}+)?(null)\p{space}+(record)\b/dgiv,name:"meta.declaration.type.definition.record.null.ada",patterns:[{include:"#component_item"}]},{begin:/\b(?:(abstract)\p{space}+)?(?:(tagged)\p{space}+)?(?:(limited)\p{space}+)?(record)\b/dgiv,beginCaptures:{"1":{name:"storage.modifier.ada"},"2":{name:"storage.modifier.ada"},"3":{name:"storage.modifier.ada"},"4":{name:"storage.modifier.ada"}},end:/\b(end)\p{space}+(record)\b/dgiv,endCaptures:{"1":{name:"keyword.ada"},"2":{name:"storage.modifier.ada"}},name:"meta.declaration.type.definition.record.ada",patterns:[{include:"#component_item"}]}]},regular_type_declaration:{begin:/\b(type)\b/dgiv,beginCaptures:{"1":{name:"keyword.ada"}},end:/;/dgv,endCaptures:{"0":{name:"punctuation.ada"}},name:"meta.declaration.type.definition.regular.ada",patterns:[{begin:/\bis\b/dgiv,beginCaptures:{"0":{name:"keyword.ada"}},end:/(?=(with(?!\p{space}+(private))|;))/dgiv,patterns:[{include:"#type_definition"}]},{begin:/\b(?<=type)\b/dgiv,end:/(?=(is|;))/dgiv,patterns:[{include:"#known_discriminant_part"},{include:"#subtype_mark"}]},{include:"#aspect_specification"}]},relational_operator:{match:/(=|\/=|<|<=|>|>=)/dgv,name:"keyword.operator.relational.ada"},requeue_statement:{begin:/\brequeue\b/dgiv,beginCaptures:{"0":{name:"keyword.control.ada"}},end:/;/dgv,endCaptures:{"0":{name:"punctuation.ada"}},name:"meta.statement.requeue.ada",patterns:[{match:/\b(with|abort)\b/dgiv,name:"keyword.control.ada"},{match:/\b([\._\p{L}\p{M}\p{N}\p{Pc}\p{Nd}])+\b/dgv,name:"entity.name.function.ada"}]},result_profile:{begin:/\breturn\b/dgiv,beginCaptures:{"0":{name:"keyword.ada"}},end:/(?=(is|with|renames|;))/dgv,patterns:[{include:"#subtype_mark"}]},return_statement:{begin:/\breturn\b/dgiv,beginCaptures:{"0":{name:"keyword.control.ada"}},end:/;/dgv,endCaptures:{"0":{name:"punctuation.ada"}},name:"meta.statement.return.ada",patterns:[{begin:/\bdo\b/dgiv,beginCaptures:{"0":{name:"keyword.control.ada"}},end:/\b(end)\p{space}+(return)\p{space}*(?=;)/dgiv,endCaptures:{"1":{name:"keyword.control.ada"},"2":{name:"keyword.control.ada"}},patterns:[{include:"#label"},{include:"#statement"}]},{captures:{"1":{name:"variable.name.ada"},"2":{name:"punctuation.ada"},"3":{name:"entity.name.type.ada"}},match:/\b([_\p{L}\p{M}\p{N}\p{Pc}\p{Nd}]+)\p{space}*(:)\p{space}*([\._\p{L}\p{M}\p{N}\p{Pc}\p{Nd}]+)\b/dgv},{match:/:=/dgv,name:"keyword.operator.new.ada"},{include:"#expression"}]},scalar_constraint:{name:"meta.declaration.constraint.scalar.ada",patterns:[{begin:/\b(d(?:igits|elta))\b/dgiv,beginCaptures:{"1":{name:"storage.modifier.ada"}},end:/(?=\brange\b|\bdigits\b|\bwith\b|;)/dgiv,patterns:[{include:"#expression"}]},{include:"#range_constraint"},{include:"#expression"}]},select_alternative:{patterns:[{begin:/\bterminate\b/dgiv,beginCaptures:{"0":{name:"keyword.control.ada"}},end:/;/dgv,endCaptures:{"0":{name:"punctuation.ada"}}},{include:"#statement"}]},select_statement:{begin:/\bselect\b/dgiv,beginCaptures:{"0":{name:"keyword.control.ada"}},end:/\b(end)\p{space}+(select)\b/dgiv,endCaptures:{"1":{name:"keyword.control.ada"},"2":{name:"keyword.control.ada"}},name:"meta.statement.select.ada",patterns:[{begin:/\b(?:(or)|(?<=select))\b/dgiv,beginCaptures:{"1":{name:"keyword.control.ada"}},end:/\b(?=(or|else|end))\b/dgiv,patterns:[{include:"#guard"},{include:"#select_alternative"}]},{begin:/\belse\b/dgiv,beginCaptures:{"0":{name:"keyword.control.ada"}},end:/\b(?=end)\b/dgiv,patterns:[{include:"#statement"}]}]},signed_integer_type_definition:{patterns:[{include:"#range_constraint"}]},simple_loop_statement:{begin:/\bloop\b/dgiv,beginCaptures:{"0":{name:"keyword.control.ada"}},end:/\b(end)\p{space}+(loop)(\p{space}+[_\p{L}\p{M}\p{N}\p{Pc}\p{Nd}]+)?\p{space}*(;)/dgiv,endCaptures:{"1":{name:"keyword.control.ada"},"2":{name:"keyword.control.ada"},"3":{name:"entity.name.label.ada"},"4":{name:"punctuation.ada"}},name:"meta.statement.loop.ada",patterns:[{include:"#statement"}]},single_protected_declaration:{begin:/\b(protected)\p{space}+([_\p{L}\p{M}\p{N}\p{Pc}\p{Nd}]+)\b/dgiv,beginCaptures:{"1":{name:"keyword.ada"},"2":{name:"entity.name.protected.ada"}},end:/(?:\b(end)\p{space}*(\p{space}(?!))?\p{space}*)?(;)/dgiv,endCaptures:{"1":{name:"keyword.ada"},"2":{name:"entity.name.protected.ada"},"3":{name:"punctuation.ada"}},name:"meta.declaration.protected.ada",patterns:[{begin:/\bis\b/dgiv,beginCaptures:{"0":{name:"keyword.ada"}},end:/(?=(\bend\b|;))/dgiv,patterns:[{begin:/\bnew\b/dgiv,captures:{"0":{name:"keyword.ada"}},end:/\bwith\b/dgiv,patterns:[{match:/\band\b/dgiv,name:"keyword.ada"},{include:"#subtype_mark"},{include:"#comment"}]},{match:/\bprivate\b/dgiv,name:"keyword.ada"},{include:"#protected_element_declaration"},{include:"#comment"}]},{include:"#comment"}]},single_task_declaration:{begin:/\b(task)\p{space}+([_\p{L}\p{M}\p{N}\p{Pc}\p{Nd}]+)\b/dgiv,beginCaptures:{"1":{name:"keyword.ada"},"2":{name:"entity.name.task.ada"}},end:/(?:\b(end)\p{space}*(\p{space}(?!))?\p{space}*)?(;)/dgiv,endCaptures:{"1":{name:"keyword.ada"},"2":{name:"entity.name.task.ada"},"3":{name:"punctuation.ada"}},patterns:[{begin:/\bis\b/dgiv,beginCaptures:{"0":{name:"keyword.ada"}},end:/\b(?=end)\b/dgiv,patterns:[{begin:/\bnew\b/dgiv,captures:{"0":{name:"keyword.ada"}},end:/\bwith\b/dgiv,patterns:[{match:/\band\b/dgiv,name:"keyword.ada"},{include:"#subtype_mark"},{include:"#comment"}]},{match:/\bprivate\b/dgiv,name:"keyword.ada"},{include:"#task_item"},{include:"#comment"}]},{include:"#comment"}]},statement:{patterns:[{begin:/\bbegin\b/dgiv,beginCaptures:{"0":{name:"keyword.ada"}},end:/\b(end)\p{space}*(;)/dgiv,endCaptures:{"1":{name:"keyword.ada"},"2":{name:"punctuation.ada"}},patterns:[{include:"#handled_sequence_of_statements"}]},{include:"#label"},{include:"#null_statement"},{include:"#return_statement"},{include:"#assignment_statement"},{include:"#exit_statement"},{include:"#goto_statement"},{include:"#requeue_statement"},{include:"#delay_statement"},{include:"#abort_statement"},{include:"#raise_statement"},{include:"#if_statement"},{include:"#case_statement"},{include:"#loop_statement"},{include:"#block_statement"},{include:"#select_statement"},{include:"#accept_statement"},{include:"#pragma"},{include:"#procedure_call_statement"},{include:"#comment"}]},string_literal:{captures:{"1":{name:"punctuation.definition.string.ada"},"2":{name:"punctuation.definition.string.ada"}},match:/(")[^\n]*?(")/dgv,name:"string.quoted.double.ada"},subprogram_body:{name:"meta.declaration.subprogram.body.ada",patterns:[{include:"#procedure_body"},{include:"#function_body"}]},subprogram_renaming_declaration:{begin:/\brenames\b/dgiv,beginCaptures:{"0":{name:"keyword.ada"}},end:/(?=(with|;))/dgv,patterns:[{match:/[\._\p{L}\p{M}\p{N}\p{Pc}\p{Nd}]+/dgv,name:"entity.name.function.ada"}]},subprogram_specification:{name:"meta.declaration.subprogram.specification.ada",patterns:[{include:"#procedure_specification"},{include:"#function_specification"}]},subtype_declaration:{begin:/\bsubtype\b/dgiv,beginCaptures:{"0":{name:"keyword.ada"}},end:/;/dgv,endCaptures:{"0":{name:"punctuation.ada"}},name:"meta.declaration.subtype.ada",patterns:[{begin:/\bis\b/dgiv,beginCaptures:{"0":{name:"keyword.ada"}},end:/(?=;)/dgv,patterns:[{match:/\b(not\p{space}+null)\b/dgiv,name:"storage.modifier.ada"},{include:"#composite_constraint"},{include:"#aspect_specification"},{include:"#subtype_indication"}]},{begin:/(?<=subtype)/dgiv,end:/\b(?=is)\b/dgiv,patterns:[{include:"#subtype_mark"}]}]},subtype_indication:{name:"meta.declaration.indication.subtype.ada",patterns:[{include:"#scalar_constraint"},{include:"#subtype_mark"}]},subtype_mark:{patterns:[{match:/\b(access|aliased|not\p{space}+null|constant)\b/dgiv,name:"storage.visibility.ada"},{include:"#attribute"},{include:"#actual_parameter_part"},{begin:/\b(procedure|function)\b/dgiv,beginCaptures:{"0":{name:"keyword.ada"}},end:/(?=([\)\;]))/dgv,patterns:[{include:"#parameter_profile"},{begin:/\breturn\b/dgiv,beginCaptures:{"0":{name:"keyword.ada"}},end:/(?=([\)\;]))/dgv,patterns:[{include:"#subtype_mark"}]}]},{captures:{"0":{patterns:[{match:/[\._]/dgv,name:"punctuation.ada"}]}},match:/\b[\._\p{L}\p{M}\p{N}\p{Pc}\p{Nd}]+\b/dgv,name:"entity.name.type.ada"},{include:"#comment"}]},task_body:{begin:/\b(task)\p{space}+(body)\p{space}+(([\._\p{L}\p{M}\p{N}\p{Pc}\p{Nd}])+)\b/dgiv,beginCaptures:{"1":{name:"keyword.ada"},"2":{name:"keyword.ada"},"3":{name:"entity.name.task.ada"}},end:/(?:\b(end)\p{space}*(?:\p{space}(\3))?\p{space}*)?(;)/dgiv,endCaptures:{"1":{name:"keyword.ada"},"2":{name:"entity.name.task.ada"},"3":{name:"punctuation.ada"}},name:"meta.declaration.task.body.ada",patterns:[{begin:/\bbegin\b/dgiv,beginCaptures:{"0":{name:"keyword.ada"}},end:/(?=end)/dgiv,patterns:[{include:"#handled_sequence_of_statements"}]},{include:"#aspect_specification"},{begin:/\bis\b/dgiv,beginCaptures:{"0":{name:"keyword.ada"}},end:/(?=(with|begin))/dgiv,patterns:[{include:"#declarative_item"}]}]},task_item:{patterns:[{include:"#aspect_clause"},{include:"#entry_declaration"}]},task_type_declaration:{begin:/\b(task)\p{space}+(type)\p{space}+(([\._\p{L}\p{M}\p{N}\p{Pc}\p{Nd}])+)\b/dgiv,beginCaptures:{"1":{name:"storage.modifier.ada"},"2":{name:"keyword.ada"},"3":{name:"entity.name.task.ada"}},end:/(?:\b(end)\p{space}*(?:\p{space}(\3))?\p{space}*)?(;)/dgiv,endCaptures:{"1":{name:"keyword.ada"},"2":{name:"entity.name.task.ada"},"3":{name:"punctuation.ada"}},name:"meta.declaration.type.task.ada",patterns:[{include:"#known_discriminant_part"},{begin:/\bis\b/dgiv,beginCaptures:{"0":{name:"keyword.ada"}},end:/\b(?=end)\b/dgiv,patterns:[{begin:/\bnew\b/dgiv,captures:{"0":{name:"keyword.ada"}},end:/\bwith\b/dgiv,patterns:[{match:/\band\b/dgiv,name:"keyword.ada"},{include:"#subtype_mark"},{include:"#comment"}]},{match:/\bprivate\b/dgiv,name:"keyword.ada"},{include:"#task_item"},{include:"#comment"}]},{include:"#comment"}]},type_declaration:{name:"meta.declaration.type.ada",patterns:[{include:"#full_type_declaration"}]},type_definition:{name:"meta.declaration.type.definition.ada",patterns:[{include:"#enumeration_type_definition"},{include:"#integer_type_definition"},{include:"#real_type_definition"},{include:"#array_type_definition"},{include:"#record_type_definition"},{include:"#access_type_definition"},{include:"#interface_type_definition"},{include:"#derived_type_definition"}]},use_clause:{name:"meta.context.use.ada",patterns:[{include:"#use_type_clause"},{include:"#use_package_clause"}]},use_package_clause:{begin:/\buse\b/dgiv,beginCaptures:{"0":{name:"keyword.other.using.ada"}},end:/;/dgv,endCaptures:{"0":{name:"punctuation.ada"}},name:"meta.context.use.package.ada",patterns:[{match:/,/dgv,name:"punctuation.ada"},{include:"#package_mark"}]},use_type_clause:{begin:/\b(use)\p{space}+(?:(all)\p{space}+)?(type)\b/dgiv,beginCaptures:{"1":{name:"keyword.other.using.ada"},"2":{name:"keyword.modifier.ada"},"3":{name:"keyword.modifier.ada"}},end:/;/dgv,endCaptures:{"0":{name:"punctuation.ada"}},name:"meta.context.use.type.ada",patterns:[{match:/,/dgv,name:"punctuation.ada"},{include:"#subtype_mark"}]},value:{patterns:[{include:"#based_literal"},{include:"#decimal_literal"},{include:"#character_literal"},{include:"#string_literal"}]},variant_part:{begin:/\bcase\b/dgiv,beginCaptures:{"0":{name:"keyword.ada"}},end:/\b(end)\p{space}+(case);/dgiv,endCaptures:{"1":{name:"keyword.ada"},"2":{name:"keyword.ada"},"3":{name:"punctuation.ada"}},name:"meta.declaration.variant.ada",patterns:[{begin:/\b(?<=case)\b/dgiv,end:/\bis\b/dgiv,endCaptures:{"0":{name:"keyword.ada"}},patterns:[{match:/[_\p{L}\p{M}\p{N}\p{Pc}\p{Nd}]+/dgv,name:"variable.name.ada"},{include:"#comment"}]},{begin:/\b(?<=is)\b/dgiv,end:/\b(?=end)\b/dgiv,patterns:[{begin:/\bwhen\b/dgiv,beginCaptures:{"0":{name:"keyword.ada"}},end:/=>/dgv,endCaptures:{"0":{name:"keyword.other.ada"}},patterns:[{match:/\|/dgv,name:"punctuation.ada"},{match:/\bothers\b/dgiv,name:"keyword.ada"},{include:"#expression"}]},{include:"#component_item"}]}]},while_loop_statement:{begin:/\bwhile\b/dgiv,beginCaptures:{"0":{name:"keyword.control.ada"}},end:/\b(end)\p{space}+(loop)(\p{space}+[_\p{L}\p{M}\p{N}\p{Pc}\p{Nd}]+)?\p{space}*(;)/dgiv,endCaptures:{"1":{name:"keyword.control.ada"},"2":{name:"keyword.control.ada"},"3":{name:"entity.name.label.ada"},"4":{name:"punctuation.ada"}},name:"meta.statement.loop.while.ada",patterns:[{begin:/(?<=while)\b/dgiv,end:/\bloop\b/dgiv,endCaptures:{"0":{name:"keyword.control.ada"}},patterns:[{include:"#expression"}]},{include:"#statement"}]},with_clause:{begin:/\b(?:(limited)\p{space}+)?(?:(private)\p{space}+)?(with)\b/dgiv,beginCaptures:{"1":{name:"keyword.modifier.ada"},"2":{name:"storage.visibility.ada"},"3":{name:"keyword.other.using.ada"}},end:/;/dgv,endCaptures:{"0":{name:"punctuation.ada"}},name:"meta.context.with.ada",patterns:[{match:/,/dgv,name:"punctuation.ada"},{include:"#package_mark"}]}},scopeName:"source.ada",embeddedLangs:undefined,aliases:undefined})
|
|
1
|
+
const lang = Object.freeze({displayName:"Ada",name:"ada",patterns:[{include:"#library_unit"},{include:"#comment"},{include:"#use_clause"},{include:"#with_clause"},{include:"#pragma"},{include:"#keyword"}],repository:{abort_statement:{begin:/\babort\b/dgiv,beginCaptures:{"0":{name:"keyword.control.ada"}},end:/;/dgv,endCaptures:{"0":{name:"punctuation.ada"}},name:"meta.statement.abort.ada",patterns:[{match:/,/dgv,name:"punctuation.ada"},{match:/\b([\._\p{L}\p{M}\p{N}\p{Pc}\p{Nd}])+\b/dgv,name:"entity.name.task.ada"}]},accept_statement:{begin:/\b(accept)\p{space}+([\._\p{L}\p{M}\p{N}\p{Pc}\p{Nd}]+)\b/dgiv,beginCaptures:{"1":{name:"keyword.control.ada"},"2":{name:"entity.name.accept.ada"}},end:/(?:\b(end)\p{space}*(\p{space}(?!))?\p{space}*)?(;)/dgiv,endCaptures:{"1":{name:"keyword.control.ada"},"2":{name:"entity.name.accept.ada"},"3":{name:"punctuation.ada"}},name:"meta.statement.accept.ada",patterns:[{begin:/\bdo\b/dgiv,beginCaptures:{"0":{name:"keyword.control.ada"}},end:/\b(?=end)\b/dgiv,patterns:[{include:"#statement"}]},{include:"#parameter_profile"}]},access_definition:{captures:{"1":{name:"storage.visibility.ada"},"2":{name:"storage.visibility.ada"},"3":{name:"storage.modifier.ada"},"4":{name:"entity.name.type.ada"}},match:/(not\p{space}+null\p{space}+)?(access)\p{space}+(constant\p{space}+)?([\._\p{L}\p{M}\p{N}\p{Pc}\p{Nd}]+)\b/dgiv,name:"meta.declaration.access.definition.ada"},access_type_definition:{begin:/\b(not\p{space}+null\p{space}+)?(access)\b/dgiv,beginCaptures:{"1":{name:"storage.visibility.ada"},"2":{name:"storage.visibility.ada"}},end:/(?=(with|;))/dgiv,name:"meta.declaration.type.definition.access.ada",patterns:[{match:/\ball\b/dgiv,name:"storage.visibility.ada"},{match:/\bconstant\b/dgiv,name:"storage.modifier.ada"},{include:"#subtype_mark"}]},actual_parameter_part:{begin:/\(/dgv,captures:{"0":{name:"punctuation.ada"}},end:/\)/dgv,patterns:[{match:/,/dgv,name:"punctuation.ada"},{include:"#parameter_association"}]},adding_operator:{match:/([\-\&\+])/dgv,name:"keyword.operator.adding.ada"},array_aggregate:{begin:/\(/dgv,captures:{"0":{name:"punctuation.ada"}},end:/\)/dgv,name:"meta.definition.array.aggregate.ada",patterns:[{match:/,/dgv,name:"punctuation.ada"},{include:"#positional_array_aggregate"},{include:"#array_component_association"}]},array_component_association:{captures:{"1":{name:"variable.name.ada"},"2":{name:"keyword.other.ada"},"3":{patterns:[{match:/<>/dgv,name:"keyword.modifier.unknown.ada"},{include:"#expression"}]}},match:/\b([^\(\)\=\>]*)\p{space}*(=>)\p{space}*([^\)\,]+)/dgv,name:"meta.definition.array.aggregate.component.ada"},array_dimensions:{begin:/\(/dgv,captures:{"0":{name:"punctuation.ada"}},end:/\)/dgv,name:"meta.declaration.type.definition.array.dimensions.ada",patterns:[{match:/,/dgv,name:"punctuation.ada"},{match:/\brange\b/dgiv,name:"storage.modifier.ada"},{match:/<>/dgv,name:"keyword.modifier.unknown.ada"},{match:/\.\./dgv,name:"keyword.ada"},{include:"#expression"},{patterns:[{include:"#subtype_mark"}]}]},array_type_definition:{begin:/\barray\b/dgiv,beginCaptures:{"0":{name:"storage.modifier.ada"}},end:/(?=(with|;))/dgiv,name:"meta.declaration.type.definition.array.ada",patterns:[{include:"#array_dimensions"},{match:/\bof\b/dgiv,name:"storage.modifier.ada"},{match:/\baliased\b/dgiv,name:"storage.visibility.ada"},{include:"#access_definition"},{include:"#subtype_mark"}]},aspect_clause:{begin:/\b(for)\b/dgiv,beginCaptures:{"1":{name:"keyword.ada"},"2":{patterns:[{include:"#subtype_mark"}]},"3":{name:"punctuation.ada"},"5":{name:"keyword.ada"}},end:/;/dgv,endCaptures:{"0":{name:"punctuation.ada"}},name:"meta.aspect.clause.ada",patterns:[{begin:/\buse\b/dgiv,beginCaptures:{"0":{name:"keyword.ada"}},end:/(?=;)/dgv,endCaptures:{"0":{name:"punctuation.ada"}},patterns:[{include:"#record_representation_clause"},{include:"#array_aggregate"},{include:"#expression"}]},{begin:/(?<=for)/dgiv,captures:{"0":{name:"keyword.ada"}},end:/(?=use)/dgiv,patterns:[{captures:{"1":{patterns:[{include:"#subtype_mark"}]},"2":{patterns:[{include:"#attribute"}]}},match:/([_\p{L}\p{M}\p{N}\p{Pc}\p{Nd}]+)('([_\p{L}\p{M}\p{N}\p{Pc}\p{Nd}]+))?/dgv}]}]},aspect_definition:{begin:/=>/dgv,beginCaptures:{"0":{name:"keyword.other.ada"}},end:/(?=([\,\;]|\bis\b))/dgiv,name:"meta.aspect.definition.ada",patterns:[{include:"#expression"}]},aspect_mark:{captures:{"1":{name:"keyword.control.directive.ada"},"2":{name:"punctuation.ada"},"3":{name:"entity.other.attribute-name.ada"}},match:/\b([\._\p{L}\p{M}\p{N}\p{Pc}\p{Nd}]+)(?:(')(class))?\b/dgiv,name:"meta.aspect.mark.ada"},aspect_specification:{begin:/\bwith\b/dgiv,beginCaptures:{"0":{name:"keyword.ada"}},end:/(?=(;|\bis\b))/dgiv,name:"meta.aspect.specification.ada",patterns:[{match:/,/dgv,name:"punctuation.ada"},{captures:{"1":{name:"storage.modifier.ada"},"2":{name:"storage.modifier.ada"}},match:/\b(null)\p{space}+(record)\b/dgiv},{begin:/\brecord\b/dgiv,beginCaptures:{"0":{name:"storage.modifier.ada"}},end:/\b(end)\p{space}+(record)\b/dgiv,endCaptures:{"1":{name:"keyword.ada"},"2":{name:"storage.modifier.ada"}},patterns:[{include:"#component_item"}]},{captures:{"0":{name:"storage.visibility.ada"}},match:/\bprivate\b/dgiv},{include:"#aspect_definition"},{include:"#aspect_mark"},{include:"#comment"}]},assignment_statement:{begin:/\b(["'\(\)\._\p{L}\p{M}\p{N}\p{Pc}\p{Nd}\p{space}]+)\p{space}*(:=)/dgv,beginCaptures:{"1":{patterns:[{match:/([\._\p{L}\p{M}\p{N}\p{Pc}\p{Nd}]+)/dgv,name:"variable.name.ada"},{begin:/\(/dgv,captures:{"0":{name:"punctuation.ada"}},end:/\)/dgv,patterns:[{include:"#expression"}]}]},"2":{name:"keyword.operator.new.ada"}},end:/;/dgv,endCaptures:{"0":{name:"punctuation.ada"}},name:"meta.statement.assignment.ada",patterns:[{include:"#expression"},{include:"#comment"}]},attribute:{captures:{"1":{name:"punctuation.ada"},"2":{name:"entity.other.attribute-name.ada"}},match:/(')([_\p{L}\p{M}\p{N}\p{Pc}\p{Nd}]+)\b/dgv,name:"meta.attribute.ada"},based_literal:{captures:{"1":{name:"constant.numeric.base.ada"},"2":{name:"punctuation.ada"},"3":{name:"punctuation.ada"},"4":{name:"punctuation.radix-point.ada"},"5":{name:"punctuation.ada"},"6":{name:"constant.numeric.base.ada"},"7":{patterns:[{include:"#exponent_part"}]}},match:/(\p{Nd}(?:(_)?\p{Nd})*#)[0-9a-f](?:(_)?[0-9a-f])*(?:(\.)[0-9a-f](?:(_)?[0-9a-f])*)?(#)([Ee][\-\+]?\p{Nd}(?:_?\p{Nd})*)?/dgiv,name:"constant.numeric.ada"},basic_declaration:{patterns:[{include:"#type_declaration"},{include:"#subtype_declaration"},{include:"#exception_declaration"},{include:"#object_declaration"},{include:"#single_protected_declaration"},{include:"#single_task_declaration"},{include:"#subprogram_specification"},{include:"#package_declaration"},{include:"#pragma"},{include:"#comment"}]},basic_declarative_item:{patterns:[{include:"#basic_declaration"},{include:"#aspect_clause"},{include:"#use_clause"},{include:"#keyword"}]},block_statement:{begin:/\bdeclare\b/dgiv,beginCaptures:{"0":{name:"keyword.ada"}},end:/\b(end)(\p{space}+[_\p{L}\p{M}\p{N}\p{Pc}\p{Nd}]+)?\p{space}*(;)/dgiv,endCaptures:{"1":{name:"keyword.ada"},"2":{name:"entity.name.label.ada"},"3":{name:"punctuation.ada"}},name:"meta.statement.block.ada",patterns:[{begin:/(?<=declare)/dgiv,end:/\bbegin\b/dgiv,endCaptures:{"0":{name:"keyword.ada"}},patterns:[{include:"#body"},{include:"#basic_declarative_item"}]},{begin:/(?<=begin)/dgiv,end:/(?=end)/dgiv,patterns:[{include:"#statement"}]}]},body:{patterns:[{include:"#subprogram_body"},{include:"#package_body"},{include:"#task_body"},{include:"#protected_body"}]},case_statement:{begin:/\bcase\b/dgiv,beginCaptures:{"0":{name:"keyword.control.ada"}},end:/\b(end)\p{space}+(case)\p{space}*(;)/dgiv,endCaptures:{"1":{name:"keyword.control.ada"},"2":{name:"keyword.control.ada"},"3":{name:"punctuation.ada"}},name:"meta.statement.case.ada",patterns:[{begin:/(?<=case)\b/dgiv,end:/\bis\b/dgiv,endCaptures:{"0":{name:"keyword.control.ada"}},patterns:[{include:"#expression"}]},{begin:/\bwhen\b/dgiv,beginCaptures:{"0":{name:"keyword.control.ada"}},end:/=>/dgv,endCaptures:{"0":{name:"punctuation.ada"}},name:"meta.statement.case.alternative.ada",patterns:[{match:/\bothers\b/dgiv,name:"keyword.modifier.unknown.ada"},{match:/\|/dgv,name:"punctuation.ada"},{include:"#expression"}]},{include:"#statement"}]},character_literal:{captures:{"0":{patterns:[{match:/'/dgv,name:"punctuation.definition.string.ada"}]}},match:/'[^\n]'/dgv,name:"string.quoted.single.ada"},comment:{patterns:[{include:"#preprocessor"},{include:"#comment-section"},{include:"#comment-doc"},{include:"#comment-line"}]},"comment-doc":{captures:{"1":{name:"comment.line.double-dash.ada"},"2":{name:"punctuation.definition.tag.ada"},"3":{name:"entity.name.tag.ada"},"4":{name:"comment.line.double-dash.ada"}},match:/(--)\p{space}*(@)([\p{L}\p{M}\p{N}\p{Pc}]+)\p{space}+([^\n]*)(?=\n?$)/dgv,name:"comment.block.documentation.ada"},"comment-line":{match:/--[^\n]*(?=\n?$)/dgv,name:"comment.line.double-dash.ada"},"comment-section":{captures:{"1":{name:"entity.name.section.ada"}},match:/--\p{space}*([^\-][^\n]*?[^\-])\p{space}*--\p{space}*(?=\n?$)/dgv,name:"comment.line.double-dash.ada"},component_clause:{begin:/\b([_\p{L}\p{M}\p{N}\p{Pc}\p{Nd}]+)\b/dgv,beginCaptures:{"0":{name:"variable.name.ada"}},end:/;/dgv,endCaptures:{"0":{name:"punctuation.ada"}},name:"meta.aspect.clause.record.representation.component.ada",patterns:[{begin:/\bat\b/dgiv,beginCaptures:{"0":{name:"storage.modifier.ada"}},end:/\b(?=range)\b/dgiv,patterns:[{include:"#expression"}]},{include:"#range_constraint"}]},component_declaration:{begin:/\b([_\p{L}\p{M}\p{N}\p{Pc}\p{Nd}]+(?:\p{space}*,\p{space}*[_\p{L}\p{M}\p{N}\p{Pc}\p{Nd}]+)?)\p{space}*(:)/dgv,beginCaptures:{"1":{patterns:[{match:/,/dgv,name:"punctuation.ada"},{match:/\b([_\p{L}\p{M}\p{N}\p{Pc}\p{Nd}])+\b/dgv,name:"variable.name.ada"}]},"2":{name:"punctuation.ada"}},end:/;/dgv,endCaptures:{"0":{name:"punctuation.ada"}},name:"meta.declaration.type.definition.record.component.ada",patterns:[{patterns:[{match:/:=/dgv,name:"keyword.operator.new.ada"},{include:"#expression"}]},{include:"#component_definition"}]},component_definition:{patterns:[{match:/\baliased\b/dgiv,name:"storage.visibility.ada"},{match:/\brange\b/dgiv,name:"storage.modifier.ada"},{match:/\.\./dgv,name:"keyword.ada"},{include:"#access_definition"},{include:"#subtype_mark"}]},component_item:{patterns:[{include:"#component_declaration"},{include:"#variant_part"},{include:"#comment"},{include:"#aspect_clause"},{captures:{"1":{name:"keyword.ada"},"2":{name:"punctuation.ada"}},match:/\b(null)\p{space}*(;)/dgiv}]},composite_constraint:{begin:/\(/dgv,captures:{"0":{name:"punctuation.ada"}},end:/\)/dgv,name:"meta.declaration.constraint.composite.ada",patterns:[{match:/,/dgv,name:"punctuation.ada"},{match:/\.\./dgv,name:"keyword.ada"},{captures:{"1":{name:"variable.name.ada"},"2":{name:"keyword.other.ada"},"3":{patterns:[{include:"#expression"}]}},match:/\b([_\p{L}\p{M}\p{N}\p{Pc}\p{Nd}]+)\p{space}*(=>)\p{space}*([^\)\,])+\b/dgv},{include:"#expression"}]},decimal_literal:{captures:{"1":{name:"punctuation.ada"},"2":{name:"punctuation.radix-point.ada"},"3":{name:"punctuation.ada"},"4":{patterns:[{include:"#exponent_part"}]}},match:/\p{Nd}(?:(_)?\p{Nd})*(?:(\.)\p{Nd}(?:(_)?\p{Nd})*)?([Ee][\-\+]?\p{Nd}(?:_?\p{Nd})*)?/dgv,name:"constant.numeric.ada"},declarative_item:{patterns:[{include:"#body"},{include:"#basic_declarative_item"}]},delay_relative_statement:{begin:/\b(delay)\b/dgiv,beginCaptures:{"1":{name:"keyword.control.ada"}},end:/;/dgv,endCaptures:{"0":{name:"punctuation.ada"}},patterns:[{include:"#expression"}]},delay_statement:{patterns:[{include:"#delay_until_statement"},{include:"#delay_relative_statement"}]},delay_until_statement:{begin:/\b(delay)\p{space}+(until)\b/dgiv,beginCaptures:{"1":{name:"keyword.control.ada"},"2":{name:"keyword.control.ada"}},end:/;/dgv,endCaptures:{"0":{name:"punctuation.ada"}},name:"meta.statement.delay.until.ada",patterns:[{include:"#expression"}]},derived_type_definition:{name:"meta.declaration.type.definition.derived.ada",patterns:[{begin:/\bnew\b/dgiv,beginCaptures:{"0":{name:"storage.modifier.ada"}},end:/(?=(\bwith\b|;))/dgiv,patterns:[{match:/\band\b/dgiv,name:"storage.modifier.ada"},{include:"#subtype_mark"}]},{match:/\b(abstract|and|limited|tagged)\b/dgiv,name:"storage.modifier.ada"},{match:/\bprivate\b/dgiv,name:"storage.visibility.ada"},{include:"#subtype_mark"}]},discriminant_specification:{begin:/\b([_\p{L}\p{M}\p{N}\p{Pc}\p{Nd}]+(?:\p{space}*,\p{space}*[_\p{L}\p{M}\p{N}\p{Pc}\p{Nd}]+)?)\p{space}*(:)/dgv,beginCaptures:{"1":{patterns:[{match:/,/dgv,name:"punctuation.ada"},{match:/\b([_\p{L}\p{M}\p{N}\p{Pc}\p{Nd}])+\b/dgv,name:"variable.name.ada"}]},"2":{name:"punctuation.ada"}},end:/(?=([\)\;]))/dgv,patterns:[{begin:/:=/dgv,beginCaptures:{"0":{name:"keyword.operator.new.ada"}},end:/(?=([\)\;]))/dgv,patterns:[{include:"#expression"}]},{captures:{"1":{name:"storage.visibility.ada"},"2":{patterns:[{include:"#subtype_mark"}]}},match:/(not\p{space}+null\p{space}+)?([\._\p{L}\p{M}\p{N}\p{Pc}\p{Nd}]+)\b/dgiv},{include:"#access_definition"}]},entry_body:{begin:/\b(entry)\p{space}+([_\p{L}\p{M}\p{N}\p{Pc}\p{Nd}]+)\b/dgiv,beginCaptures:{"1":{name:"keyword.ada"},"2":{name:"entity.name.entry.ada"}},end:/\b(end)\p{space}*(\p{space}(?!))\p{space}*(;)/dgiv,endCaptures:{"1":{name:"keyword.ada"},"2":{name:"entity.name.entry.ada"},"3":{name:"punctuation.ada"}},patterns:[{begin:/\bis\b/dgiv,beginCaptures:{"0":{name:"keyword.ada"}},end:/\b(?=begin)\b/dgiv,patterns:[{include:"#declarative_item"}]},{begin:/\bbegin\b/dgiv,beginCaptures:{"0":{name:"keyword.ada"}},end:/\b(?=end)\b/dgiv,patterns:[{include:"#statement"}]},{begin:/\bwhen\b/dgiv,beginCaptures:{"0":{name:"keyword.ada"}},end:/\b(?=is)\b/dgiv,patterns:[{include:"#expression"}]},{include:"#parameter_profile"}]},entry_declaration:{begin:/\b(?:(not)?\p{space}+(overriding)\p{space}+)?(entry)\p{space}+([_\p{L}\p{M}\p{N}\p{Pc}\p{Nd}]+)\b/dgiv,beginCaptures:{"1":{name:"storage.modifier.ada"},"2":{name:"storage.modifier.ada"},"3":{name:"keyword.ada"},"4":{name:"entity.name.entry.ada"}},end:/;/dgv,endCaptures:{"0":{name:"punctuation.ada"}},patterns:[{include:"#parameter_profile"}]},enumeration_type_definition:{begin:/\(/dgv,beginCaptures:{"0":{name:"punctuation.ada"}},end:/\)/dgv,endCaptures:{"0":{name:"punctuation.ada"}},name:"meta.declaration.type.definition.enumeration.ada",patterns:[{match:/,/dgv,name:"punctuation.ada"},{match:/\b([_\p{L}\p{M}\p{N}\p{Pc}\p{Nd}])+\b/dgv,name:"variable.name.ada"},{include:"#comment"}]},exception_declaration:{begin:/\b([_\p{L}\p{M}\p{N}\p{Pc}\p{Nd}]+(?:\p{space}*,\p{space}*[_\p{L}\p{M}\p{N}\p{Pc}\p{Nd}]+)?)\p{space}*(:)\p{space}*(exception)/dgiv,beginCaptures:{"1":{patterns:[{match:/,/dgv,name:"punctuation.ada"},{match:/\b([_\p{L}\p{M}\p{N}\p{Pc}\p{Nd}])+\b/dgv,name:"entity.name.exception.ada"}]},"2":{name:"punctuation.ada"},"3":{name:"storage.type.ada"}},end:/;/dgv,endCaptures:{"0":{name:"punctuation.ada"}},name:"meta.declaration.exception.ada",patterns:[{match:/\b(renames)\p{space}+(([\._\p{L}\p{M}\p{N}\p{Pc}\p{Nd}])+)/dgiv,name:"entity.name.exception.ada"}]},exit_statement:{begin:/\bexit\b/dgiv,beginCaptures:{"0":{name:"keyword.control.ada"}},end:/;/dgv,endCaptures:{"0":{name:"punctuation.ada"}},name:"meta.statement.exit.ada",patterns:[{begin:/\bwhen\b/dgiv,beginCaptures:{"0":{name:"keyword.control.ada"}},end:/(?=;)/dgv,patterns:[{include:"#expression"}]},{match:/[_\p{L}\p{M}\p{N}\p{Pc}\p{Nd}]+/dgv,name:"entity.name.label.ada"}]},exponent_part:{captures:{"1":{name:"punctuation.exponent-mark.ada"},"2":{name:"keyword.operator.unary.ada"},"3":{name:"punctuation.ada"}},match:/([Ee])([\-\+])?\p{Nd}(?:(_)?\p{Nd})*/dgv},expression:{name:"meta.expression.ada",patterns:[{match:/\bnull\b/dgiv,name:"constant.language.ada"},{match:/=>(\+)?/dgv,name:"keyword.other.ada"},{begin:/\(/dgv,captures:{"0":{name:"punctuation.ada"}},end:/\)/dgv,patterns:[{include:"#expression"}]},{match:/,/dgv,name:"punctuation.ada"},{match:/\.\./dgv,name:"keyword.ada"},{include:"#value"},{include:"#attribute"},{include:"#comment"},{include:"#operator"},{match:/\b(and|or|xor)\b/dgiv,name:"keyword.ada"},{match:/\b(if|then|else|elsif|in|for|(?<!\.)all|some|\.\.|delta|with)\b/dgiv,name:"keyword.ada"}]},for_loop_statement:{begin:/\bfor\b/dgiv,beginCaptures:{"0":{name:"keyword.control.ada"}},end:/\b(end)\p{space}+(loop)(\p{space}+[_\p{L}\p{M}\p{N}\p{Pc}\p{Nd}]+)?\p{space}*(;)/dgiv,endCaptures:{"1":{name:"keyword.control.ada"},"2":{name:"keyword.control.ada"},"3":{name:"entity.name.label.ada"},"4":{name:"punctuation.ada"}},name:"meta.statement.loop.for.ada",patterns:[{begin:/(?<=for)/dgiv,end:/\bloop\b/dgiv,endCaptures:{"0":{name:"keyword.control.ada"}},patterns:[{captures:{"1":{name:"variable.name.ada"},"2":{name:"keyword.control.ada"},"3":{name:"keyword.control.ada"}},match:/\b([_\p{L}\p{M}\p{N}\p{Pc}\p{Nd}]+)\p{space}+(in)(\p{space}+reverse)?\b/dgiv},{captures:{"1":{name:"variable.name.ada"},"2":{name:"punctuation.ada"},"3":{patterns:[{include:"#subtype_mark"}]},"4":{name:"keyword.control.ada"},"5":{name:"keyword.control.ada"}},match:/\b([_\p{L}\p{M}\p{N}\p{Pc}\p{Nd}]+)(?:\p{space}*(:)\p{space}*([\._\p{L}\p{M}\p{N}\p{Pc}\p{Nd}]+))?\p{space}+(of)(\p{space}+reverse)?\b/dgiv},{include:"#expression"}]},{include:"#statement"}]},full_type_declaration:{patterns:[{include:"#task_type_declaration"},{include:"#regular_type_declaration"}]},function_body:{begin:/\b(overriding\p{space}+)?(function)\p{space}+(?:([\._\p{L}\p{M}\p{N}\p{Pc}\p{Nd}]+)\b|("[^\n]+"))/dgiv,beginCaptures:{"1":{name:"storage.visibility.ada"},"2":{name:"keyword.ada"},"3":{name:"entity.name.function.ada"},"4":{patterns:[{include:"#string_literal"}]}},end:/(?:\b(end)\p{space}+(\3|\4)\p{space}*)?(;)()/dgiv,endCaptures:{"1":{name:"keyword.ada"},"2":{name:"entity.name.function.ada"},"3":{name:"punctuation.ada"}},name:"meta.declaration.function.body.ada",patterns:[{begin:/\bbegin\b/dgiv,beginCaptures:{"0":{name:"keyword.ada"}},end:/(?=end)/dgiv,patterns:[{include:"#handled_sequence_of_statements"}]},{include:"#aspect_specification"},{include:"#result_profile"},{include:"#subprogram_renaming_declaration"},{include:"#parameter_profile"},{begin:/\bis\b/dgiv,beginCaptures:{"0":{name:"keyword.ada"}},end:/(?=(with|begin|;))/dgiv,name:"meta.function.body.spec_part.ada",patterns:[{begin:/\bnew\b/dgiv,beginCaptures:{"0":{name:"keyword.operator.new.ada"}},end:/(?=;)/dgv,name:"meta.declaration.package.generic.ada",patterns:[{match:/([\._\p{L}\p{M}\p{N}\p{Pc}\p{Nd}]+)/dgv,name:"entity.name.function.ada"},{include:"#actual_parameter_part"}]},{captures:{"0":{name:"storage.modifier.ada"}},match:/\babstract\b/dgiv,name:"meta.declaration.function.abstract.ada"},{include:"#declarative_item"},{include:"#subprogram_renaming_declaration"},{include:"#expression"}]}]},function_specification:{patterns:[{include:"#function_body"}]},goto_statement:{begin:/\bgoto\b/dgiv,beginCaptures:{"0":{name:"keyword.control.goto.ada"}},end:/;/dgv,endCaptures:{"0":{name:"punctuation.ada"}},name:"meta.statement.goto.ada",patterns:[{}]},guard:{begin:/\bwhen\b/dgiv,beginCaptures:{"0":{name:"keyword.control.ada"}},end:/=>/dgv,endCaptures:{"0":{name:"keyword.other.ada"}},patterns:[{include:"#expression"}]},handled_sequence_of_statements:{patterns:[{begin:/\bexception\b/dgiv,beginCaptures:{"0":{name:"keyword.ada"}},end:/\b(?=end)\b/dgiv,name:"meta.handler.exception.ada",patterns:[{begin:/\bwhen\b/dgiv,beginCaptures:{"0":{name:"keyword.ada"}},end:/=>/dgv,endCaptures:{"0":{name:"keyword.other.ada"}},patterns:[{captures:{"1":{name:"variable.name.ada"},"2":{name:"punctuation.ada"}},match:/\b([\._\p{L}\p{M}\p{N}\p{Pc}\p{Nd}]+)\p{space}*(:)/dgv},{match:/\|/dgv,name:"punctuation.ada"},{match:/\bothers\b/dgiv,name:"keyword.ada"},{match:/[\._\p{L}\p{M}\p{N}\p{Pc}\p{Nd}]+/dgv,name:"entity.name.exception.ada"}]},{include:"#statement"}]},{include:"#statement"}]},highest_precedence_operator:{match:/(\*\*|\babs\b|\bnot\b)/dgiv,name:"keyword.operator.highest-precedence.ada"},if_statement:{begin:/\bif\b/dgiv,beginCaptures:{"0":{name:"keyword.control.ada"}},end:/\b(end)\p{space}+(if)\p{space}*(;)/dgiv,endCaptures:{"1":{name:"keyword.control.ada"},"2":{name:"keyword.control.ada"},"3":{name:"punctuation.ada"}},name:"meta.statement.if.ada",patterns:[{begin:/\belsif\b/dgiv,beginCaptures:{"0":{name:"keyword.control.ada"}},end:/(?<!\p{space}and)\p{space}+(?=then)/dgiv,patterns:[{include:"#expression"}]},{begin:/\belse\b/dgiv,beginCaptures:{"0":{name:"keyword.control.ada"}},end:/(?=end)/dgiv,patterns:[{include:"#statement"}]},{begin:/(?<=if)\b/dgiv,end:/(?<!\p{space}and)\p{space}+(?=then)/dgiv,endCaptures:{"0":{name:"keyword.control.ada"}},patterns:[{include:"#expression"}]},{begin:/\bthen\b/dgiv,beginCaptures:{"0":{name:"keyword.control.ada"}},end:/(?=(e(?:lsif|lse|nd)))/dgiv,patterns:[{include:"#statement"}]}]},integer_type_definition:{name:"meta.declaration.type.definition.integer.ada",patterns:[{include:"#signed_integer_type_definition"},{include:"#modular_type_definition"}]},interface_type_definition:{begin:/\b(?:(limited|task|protected|synchronized)\p{space}+)?(interface)/dgiv,beginCaptures:{"1":{name:"storage.modifier.ada"},"2":{name:"storage.modifier.ada"}},end:/(?=(with|;))/dgiv,name:"meta.declaration.type.definition.interface.ada",patterns:[{match:/\band\b/dgiv,name:"storage.modifier.ada"},{include:"#subtype_mark"}]},keyword:{patterns:[{match:/\b(abort|abs|accept|all|and|at|begin|body|declare|delay|end|entry|exception|function|generic|in|is|mod|new|not|null|of|or|others|out|package|pragma|procedure|range|record|rem|renames|requeue|reverse|select|separate|some|subtype|then|type|use|when|with|xor)\b/dgiv,name:"keyword.ada"},{match:/\b(case|do|else|elsif|exit|for|goto|if|loop|raise|return|terminate|until|while)\b/dgiv,name:"keyword.control.ada"},{match:/\b(abstract|access|aliased|array|constant|delta|digits|interface|limited|protected|synchronized|tagged|task)\b/dgiv,name:"storage.modifier.ada"},{match:/\b(private|overriding)\b/dgiv,name:"storage.visibility.ada"},{match:/<>/dgv,name:"keyword.modifier.unknown.ada"},{match:/([\-\*\+\/])/dgv,name:"keyword.operator.arithmetic.ada"},{match:/:=/dgv,name:"keyword.operator.assignment.ada"},{match:/(=|\/=|[\<\>]|<=|>=)/dgv,name:"keyword.operator.logic.ada"},{match:/&/dgv,name:"keyword.operator.concatenation.ada"}]},known_discriminant_part:{begin:/\(/dgv,captures:{"0":{name:"punctuation.ada"}},end:/\)/dgv,name:"meta.declaration.type.discriminant.ada",patterns:[{match:/;/dgv,name:"punctuation.ada"},{include:"#discriminant_specification"}]},label:{captures:{"1":{name:"punctuation.label.ada"},"2":{name:"entity.name.label.ada"},"3":{name:"punctuation.label.ada"}},match:/(<<)?([_\p{L}\p{M}\p{N}\p{Pc}\p{Nd}]+)\p{space}*(:[^\=]|>>)/dgv,name:"meta.label.ada"},library_unit:{name:"meta.library.unit.ada",patterns:[{include:"#package_body"},{include:"#package_specification"},{include:"#subprogram_body"}]},loop_statement:{patterns:[{include:"#simple_loop_statement"},{include:"#while_loop_statement"},{include:"#for_loop_statement"}]},modular_type_definition:{begin:/\b(mod)\b/dgiv,beginCaptures:{"1":{name:"storage.modifier.ada"}},end:/(?=(with|;))/dgiv,patterns:[{match:/<>/dgv,name:"keyword.modifier.unknown.ada"},{include:"#expression"}]},multiplying_operator:{match:/([\*\/]|\bmod\b|\brem\b)/dgiv,name:"keyword.operator.multiplying.ada"},null_statement:{captures:{"1":{name:"keyword.ada"},"2":{name:"punctuation.ada"}},match:/\b(null)\p{space}*(;)/dgiv,name:"meta.statement.null.ada"},object_declaration:{begin:/\b([_\p{L}\p{M}\p{N}\p{Pc}\p{Nd}]+(?:\p{space}*,\p{space}*[_\p{L}\p{M}\p{N}\p{Pc}\p{Nd}]+)*)\p{space}*(:)/dgv,beginCaptures:{"1":{patterns:[{match:/,/dgv,name:"punctuation.ada"},{match:/\b([_\p{L}\p{M}\p{N}\p{Pc}\p{Nd}])+\b/dgv,name:"variable.name.ada"}]},"2":{name:"punctuation.ada"}},end:/(;)/dgv,endCaptures:{"0":{name:"punctuation.ada"}},name:"meta.declaration.object.ada",patterns:[{begin:/(?<=:)/dgv,end:/(?=;)|(:=)|\b(renames)\b/dgv,endCaptures:{"1":{name:"keyword.operator.new.ada"},"2":{name:"keyword.ada"}},patterns:[{match:/\bconstant\b/dgiv,name:"storage.modifier.ada"},{match:/\baliased\b/dgiv,name:"storage.visibility.ada"},{include:"#aspect_specification"},{include:"#subtype_mark"}]},{begin:/(?<=:=)/dgv,end:/(?=;)/dgv,patterns:[{include:"#aspect_specification"},{include:"#expression"}]},{begin:/(?<=renames)/dgv,end:/(?=;)/dgv,patterns:[{include:"#aspect_specification"}]}]},operator:{patterns:[{include:"#highest_precedence_operator"},{include:"#multiplying_operator"},{include:"#adding_operator"},{include:"#relational_operator"},{include:"#logical_operator"}]},package_body:{begin:/\b(package)\p{space}+(body)\p{space}+([\._\p{L}\p{M}\p{N}\p{Pc}\p{Nd}]+)\b/dgiv,beginCaptures:{"1":{name:"keyword.ada"},"2":{name:"keyword.ada"},"3":{patterns:[{include:"#package_mark"}]}},end:/\b(end)\p{space}+(\3)\p{space}*(;)/dgiv,endCaptures:{"1":{name:"keyword.ada"},"2":{patterns:[{include:"#package_mark"}]},"3":{name:"punctuation.ada"}},name:"meta.declaration.package.body.ada",patterns:[{begin:/\bbegin\b/dgiv,beginCaptures:{"0":{name:"keyword.ada"}},end:/\b(?=end)\b/dgiv,patterns:[{include:"#handled_sequence_of_statements"}]},{begin:/\bis\b/dgiv,beginCaptures:{"0":{name:"keyword.ada"}},end:/(?=\b(begin|end)\b)/dgiv,patterns:[{match:/\bprivate\b/dgiv,name:"keyword.ada"},{include:"#declarative_item"},{include:"#comment"}]},{include:"#aspect_specification"}]},package_declaration:{patterns:[{include:"#package_specification"}]},package_mark:{match:/\b([\._\p{L}\p{M}\p{N}\p{Pc}\p{Nd}])+\b/dgv,name:"entity.name.package.ada"},package_specification:{begin:/\b(package)\p{space}+([\._\p{L}\p{M}\p{N}\p{Pc}\p{Nd}]+)\b/dgiv,beginCaptures:{"1":{name:"keyword.ada"},"2":{patterns:[{include:"#package_mark"}]}},end:/(?:\b(end)\p{space}+((?!))\p{space}*)?(;)/dgiv,endCaptures:{"1":{name:"keyword.ada"},"2":{patterns:[{include:"#package_mark"}]},"3":{name:"punctuation.ada"}},name:"meta.declaration.package.specification.ada",patterns:[{begin:/\bis\b/dgiv,beginCaptures:{"0":{name:"keyword.ada"}},end:/(?=(end|;))/dgv,patterns:[{begin:/\bnew\b/dgiv,beginCaptures:{"0":{name:"keyword.operator.new.ada"}},end:/(?=;)/dgv,name:"meta.declaration.package.generic.ada",patterns:[{include:"#package_mark"},{include:"#actual_parameter_part"}]},{match:/\bprivate\b/dgiv,name:"keyword.ada"},{include:"#basic_declarative_item"},{include:"#comment"}]},{include:"#aspect_specification"}]},parameter_association:{patterns:[{captures:{"1":{name:"variable.parameter.ada"},"2":{name:"keyword.other.ada"}},match:/([_\p{L}\p{M}\p{N}\p{Pc}\p{Nd}]+)\p{space}*(=>)/dgv},{include:"#expression"}]},parameter_profile:{begin:/\(/dgv,captures:{"0":{name:"punctuation.ada"}},end:/\)/dgv,patterns:[{match:/;/dgv,name:"punctuation.ada"},{include:"#parameter_specification"}]},parameter_specification:{patterns:[{begin:/:(?!=)/dgv,beginCaptures:{"0":{name:"punctuation.ada"}},end:/(?=[\)\:\;])/dgv,name:"meta.type.annotation.ada",patterns:[{match:/\b(in|out)\b/dgiv,name:"keyword.ada"},{include:"#subtype_mark"}]},{begin:/:=/dgv,beginCaptures:{"0":{name:"keyword.operator.new.ada"}},end:/(?=[\)\:\;])/dgv,patterns:[{include:"#expression"}]},{match:/,/dgv,name:"punctuation.ada"},{match:/\b[\._\p{L}\p{M}\p{N}\p{Pc}\p{Nd}]+\b/dgv,name:"variable.parameter.ada"},{include:"#comment"}]},positional_array_aggregate:{name:"meta.definition.array.aggregate.positional.ada",patterns:[{captures:{"1":{name:"keyword.ada"},"2":{name:"keyword.other.ada"},"3":{patterns:[{match:/<>/dgv,name:"keyword.modifier.unknown.ada"},{include:"#expression"}]}},match:/\b(others)\p{space}*(=>)\p{space}*([^\)\,]+)/dgiv},{include:"#expression"}]},pragma:{begin:/\b(pragma)\p{space}+([_\p{L}\p{M}\p{N}\p{Pc}\p{Nd}]+)\b/dgiv,beginCaptures:{"1":{name:"keyword.ada"},"2":{name:"keyword.control.directive.ada"}},end:/(;)/dgv,endCaptures:{"1":{name:"punctuation.ada"}},name:"meta.pragma.ada",patterns:[{include:"#expression"}]},preprocessor:{name:"meta.preprocessor.ada",patterns:[{captures:{"1":{name:"punctuation.definition.directive.ada"},"2":{name:"keyword.control.directive.conditional.ada"},"3":{patterns:[{include:"#expression"}]}},match:/^\p{space}*(#)(if|elsif)\p{space}+([^\n]*)(?=\n?$)/dgv},{captures:{"1":{name:"punctuation.definition.directive.ada"},"2":{name:"keyword.control.directive.conditional"},"3":{name:"punctuation.ada"}},match:/^\p{space}*(#)(end if)(;)/dgv},{captures:{"1":{name:"punctuation.definition.directive.ada"},"2":{name:"keyword.control.directive.conditional"}},match:/^\p{space}*(#)(else)/dgv}]},procedure_body:{begin:/\b(overriding\p{space}+)?(procedure)\p{space}+([\._\p{L}\p{M}\p{N}\p{Pc}\p{Nd}]+)\b/dgiv,beginCaptures:{"1":{name:"storage.visibility.ada"},"2":{name:"keyword.ada"},"3":{name:"entity.name.function.ada"}},end:/(?:\b(end)\p{space}+(\3)\p{space}*)?(;)/dgiv,endCaptures:{"1":{name:"keyword.ada"},"2":{name:"entity.name.function.ada"},"3":{name:"punctuation.ada"}},name:"meta.declaration.procedure.body.ada",patterns:[{begin:/\bis\b/dgiv,beginCaptures:{"0":{name:"keyword.ada"}},end:/(?=(with|begin|;))/dgiv,patterns:[{begin:/\bnew\b/dgiv,beginCaptures:{"0":{name:"keyword.operator.new.ada"}},end:/(?=;)/dgv,name:"meta.declaration.package.generic.ada",patterns:[{match:/([\._\p{L}\p{M}\p{N}\p{Pc}\p{Nd}]+)/dgv,name:"entity.name.function.ada"},{include:"#actual_parameter_part"}]},{match:/\b(null|abstract)\b/dgiv,name:"storage.modifier.ada"},{include:"#declarative_item"}]},{begin:/\bbegin\b/dgiv,beginCaptures:{"0":{name:"keyword.ada"}},end:/(?=\bend\b)/dgiv,patterns:[{include:"#handled_sequence_of_statements"}]},{include:"#subprogram_renaming_declaration"},{include:"#aspect_specification"},{include:"#parameter_profile"},{include:"#comment"}]},procedure_call_statement:{begin:/\b([\._\p{L}\p{M}\p{N}\p{Pc}\p{Nd}]+)\b/dgv,beginCaptures:{"1":{name:"entity.name.function.ada"}},end:/;/dgv,endCaptures:{"0":{name:"punctuation.ada"}},name:"meta.statement.call.ada",patterns:[{include:"#attribute"},{include:"#actual_parameter_part"},{include:"#comment"}]},procedure_specification:{patterns:[{include:"#procedure_body"}]},protected_body:{begin:/\b(protected)\p{space}+(body)\p{space}+([\._\p{L}\p{M}\p{N}\p{Pc}\p{Nd}]+)\b/dgiv,beginCaptures:{"1":{name:"storage.modifier.ada"},"2":{name:"keyword.ada"},"3":{name:"entity.name.body.ada"}},end:/\b(end)\p{space}*(\p{space}\3)\p{space}*(;)/dgiv,endCaptures:{"1":{name:"keyword.ada"},"2":{name:"entity.name.body.ada"},"3":{name:"punctuation.ada"}},name:"meta.declaration.procedure.body.ada",patterns:[{begin:/\bis\b/dgiv,beginCaptures:{"0":{name:"keyword.ada"}},end:/\b(?=end)\b/dgiv,patterns:[{include:"#protected_operation_item"}]}]},protected_element_declaration:{patterns:[{include:"#subprogram_specification"},{include:"#aspect_clause"},{include:"#entry_declaration"},{include:"#component_declaration"},{include:"#pragma"}]},protected_operation_item:{patterns:[{include:"#subprogram_specification"},{include:"#subprogram_body"},{include:"#aspect_clause"},{include:"#entry_body"}]},raise_expression:{begin:/\braise\b/dgiv,beginCaptures:{"0":{name:"keyword.control.ada"}},end:/(?=;)/dgv,name:"meta.expression.raise.ada",patterns:[{begin:/\bwith\b/dgiv,beginCaptures:{"0":{name:"keyword.ada"}},end:/(?=([\)\;]))/dgv,patterns:[{include:"#expression"}]},{match:/\b([_\p{L}\p{M}\p{N}\p{Pc}\p{Nd}])+\b/dgv,name:"entity.name.exception.ada"}]},raise_statement:{begin:/\braise\b/dgiv,beginCaptures:{"0":{name:"keyword.control.ada"}},end:/;/dgv,endCaptures:{"0":{name:"punctuation.ada"}},name:"meta.statement.raise.ada",patterns:[{begin:/\bwith\b/dgiv,beginCaptures:{"0":{name:"keyword.control.ada"}},end:/(?=;)/dgv,patterns:[{include:"#expression"}]},{match:/\b([\._\p{L}\p{M}\p{N}\p{Pc}\p{Nd}])+\b/dgv,name:"entity.name.exception.ada"}]},range_constraint:{begin:/\brange\b/dgiv,beginCaptures:{"0":{name:"storage.modifier.ada"}},end:/(?=(\bwith\b|;))/dgv,patterns:[{match:/\.\./dgv,name:"keyword.ada"},{match:/<>/dgv,name:"keyword.modifier.unknown.ada"},{include:"#expression"}]},real_type_definition:{name:"meta.declaration.type.definition.real-type.ada",patterns:[{include:"#scalar_constraint"}]},record_representation_clause:{begin:/\b(record)\b/dgiv,beginCaptures:{"1":{name:"storage.modifier.ada"}},end:/\b(end)\p{space}+(record)\b/dgiv,endCaptures:{"1":{name:"keyword.ada"},"2":{name:"storage.modifier.ada"}},name:"meta.aspect.clause.record.representation.ada",patterns:[{include:"#component_clause"},{include:"#comment"}]},record_type_definition:{patterns:[{captures:{"1":{name:"storage.modifier.ada"},"2":{name:"storage.modifier.ada"},"3":{name:"storage.modifier.ada"},"4":{name:"storage.modifier.ada"},"5":{name:"storage.modifier.ada"}},match:/\b(?:(abstract)\p{space}+)?(?:(tagged)\p{space}+)?(?:(limited)\p{space}+)?(null)\p{space}+(record)\b/dgiv,name:"meta.declaration.type.definition.record.null.ada",patterns:[{include:"#component_item"}]},{begin:/\b(?:(abstract)\p{space}+)?(?:(tagged)\p{space}+)?(?:(limited)\p{space}+)?(record)\b/dgiv,beginCaptures:{"1":{name:"storage.modifier.ada"},"2":{name:"storage.modifier.ada"},"3":{name:"storage.modifier.ada"},"4":{name:"storage.modifier.ada"}},end:/\b(end)\p{space}+(record)\b/dgiv,endCaptures:{"1":{name:"keyword.ada"},"2":{name:"storage.modifier.ada"}},name:"meta.declaration.type.definition.record.ada",patterns:[{include:"#component_item"}]}]},regular_type_declaration:{begin:/\b(type)\b/dgiv,beginCaptures:{"1":{name:"keyword.ada"}},end:/;/dgv,endCaptures:{"0":{name:"punctuation.ada"}},name:"meta.declaration.type.definition.regular.ada",patterns:[{begin:/\bis\b/dgiv,beginCaptures:{"0":{name:"keyword.ada"}},end:/(?=(with(?!\p{space}+(private))|;))/dgiv,patterns:[{include:"#type_definition"}]},{begin:/\b(?<=type)\b/dgiv,end:/(?=(is|;))/dgiv,patterns:[{include:"#known_discriminant_part"},{include:"#subtype_mark"}]},{include:"#aspect_specification"}]},relational_operator:{match:/(=|\/=|<=??|>=??)/dgv,name:"keyword.operator.relational.ada"},requeue_statement:{begin:/\brequeue\b/dgiv,beginCaptures:{"0":{name:"keyword.control.ada"}},end:/;/dgv,endCaptures:{"0":{name:"punctuation.ada"}},name:"meta.statement.requeue.ada",patterns:[{match:/\b(with|abort)\b/dgiv,name:"keyword.control.ada"},{match:/\b([\._\p{L}\p{M}\p{N}\p{Pc}\p{Nd}])+\b/dgv,name:"entity.name.function.ada"}]},result_profile:{begin:/\breturn\b/dgiv,beginCaptures:{"0":{name:"keyword.ada"}},end:/(?=(is|with|renames|;))/dgv,patterns:[{include:"#subtype_mark"}]},return_statement:{begin:/\breturn\b/dgiv,beginCaptures:{"0":{name:"keyword.control.ada"}},end:/;/dgv,endCaptures:{"0":{name:"punctuation.ada"}},name:"meta.statement.return.ada",patterns:[{begin:/\bdo\b/dgiv,beginCaptures:{"0":{name:"keyword.control.ada"}},end:/\b(end)\p{space}+(return)\p{space}*(?=;)/dgiv,endCaptures:{"1":{name:"keyword.control.ada"},"2":{name:"keyword.control.ada"}},patterns:[{include:"#label"},{include:"#statement"}]},{captures:{"1":{name:"variable.name.ada"},"2":{name:"punctuation.ada"},"3":{name:"entity.name.type.ada"}},match:/\b([_\p{L}\p{M}\p{N}\p{Pc}\p{Nd}]+)\p{space}*(:)\p{space}*([\._\p{L}\p{M}\p{N}\p{Pc}\p{Nd}]+)\b/dgv},{match:/:=/dgv,name:"keyword.operator.new.ada"},{include:"#expression"}]},scalar_constraint:{name:"meta.declaration.constraint.scalar.ada",patterns:[{begin:/\b(d(?:igits|elta))\b/dgiv,beginCaptures:{"1":{name:"storage.modifier.ada"}},end:/(?=\brange\b|\bdigits\b|\bwith\b|;)/dgiv,patterns:[{include:"#expression"}]},{include:"#range_constraint"},{include:"#expression"}]},select_alternative:{patterns:[{begin:/\bterminate\b/dgiv,beginCaptures:{"0":{name:"keyword.control.ada"}},end:/;/dgv,endCaptures:{"0":{name:"punctuation.ada"}}},{include:"#statement"}]},select_statement:{begin:/\bselect\b/dgiv,beginCaptures:{"0":{name:"keyword.control.ada"}},end:/\b(end)\p{space}+(select)\b/dgiv,endCaptures:{"1":{name:"keyword.control.ada"},"2":{name:"keyword.control.ada"}},name:"meta.statement.select.ada",patterns:[{begin:/\b(?:(or)|(?<=select))\b/dgiv,beginCaptures:{"1":{name:"keyword.control.ada"}},end:/\b(?=(or|else|end))\b/dgiv,patterns:[{include:"#guard"},{include:"#select_alternative"}]},{begin:/\belse\b/dgiv,beginCaptures:{"0":{name:"keyword.control.ada"}},end:/\b(?=end)\b/dgiv,patterns:[{include:"#statement"}]}]},signed_integer_type_definition:{patterns:[{include:"#range_constraint"}]},simple_loop_statement:{begin:/\bloop\b/dgiv,beginCaptures:{"0":{name:"keyword.control.ada"}},end:/\b(end)\p{space}+(loop)(\p{space}+[_\p{L}\p{M}\p{N}\p{Pc}\p{Nd}]+)?\p{space}*(;)/dgiv,endCaptures:{"1":{name:"keyword.control.ada"},"2":{name:"keyword.control.ada"},"3":{name:"entity.name.label.ada"},"4":{name:"punctuation.ada"}},name:"meta.statement.loop.ada",patterns:[{include:"#statement"}]},single_protected_declaration:{begin:/\b(protected)\p{space}+([_\p{L}\p{M}\p{N}\p{Pc}\p{Nd}]+)\b/dgiv,beginCaptures:{"1":{name:"keyword.ada"},"2":{name:"entity.name.protected.ada"}},end:/(?:\b(end)\p{space}*(\p{space}(?!))?\p{space}*)?(;)/dgiv,endCaptures:{"1":{name:"keyword.ada"},"2":{name:"entity.name.protected.ada"},"3":{name:"punctuation.ada"}},name:"meta.declaration.protected.ada",patterns:[{begin:/\bis\b/dgiv,beginCaptures:{"0":{name:"keyword.ada"}},end:/(?=(\bend\b|;))/dgiv,patterns:[{begin:/\bnew\b/dgiv,captures:{"0":{name:"keyword.ada"}},end:/\bwith\b/dgiv,patterns:[{match:/\band\b/dgiv,name:"keyword.ada"},{include:"#subtype_mark"},{include:"#comment"}]},{match:/\bprivate\b/dgiv,name:"keyword.ada"},{include:"#protected_element_declaration"},{include:"#comment"}]},{include:"#comment"}]},single_task_declaration:{begin:/\b(task)\p{space}+([_\p{L}\p{M}\p{N}\p{Pc}\p{Nd}]+)\b/dgiv,beginCaptures:{"1":{name:"keyword.ada"},"2":{name:"entity.name.task.ada"}},end:/(?:\b(end)\p{space}*(\p{space}(?!))?\p{space}*)?(;)/dgiv,endCaptures:{"1":{name:"keyword.ada"},"2":{name:"entity.name.task.ada"},"3":{name:"punctuation.ada"}},patterns:[{begin:/\bis\b/dgiv,beginCaptures:{"0":{name:"keyword.ada"}},end:/\b(?=end)\b/dgiv,patterns:[{begin:/\bnew\b/dgiv,captures:{"0":{name:"keyword.ada"}},end:/\bwith\b/dgiv,patterns:[{match:/\band\b/dgiv,name:"keyword.ada"},{include:"#subtype_mark"},{include:"#comment"}]},{match:/\bprivate\b/dgiv,name:"keyword.ada"},{include:"#task_item"},{include:"#comment"}]},{include:"#comment"}]},statement:{patterns:[{begin:/\bbegin\b/dgiv,beginCaptures:{"0":{name:"keyword.ada"}},end:/\b(end)\p{space}*(;)/dgiv,endCaptures:{"1":{name:"keyword.ada"},"2":{name:"punctuation.ada"}},patterns:[{include:"#handled_sequence_of_statements"}]},{include:"#label"},{include:"#null_statement"},{include:"#return_statement"},{include:"#assignment_statement"},{include:"#exit_statement"},{include:"#goto_statement"},{include:"#requeue_statement"},{include:"#delay_statement"},{include:"#abort_statement"},{include:"#raise_statement"},{include:"#if_statement"},{include:"#case_statement"},{include:"#loop_statement"},{include:"#block_statement"},{include:"#select_statement"},{include:"#accept_statement"},{include:"#pragma"},{include:"#procedure_call_statement"},{include:"#comment"}]},string_literal:{captures:{"1":{name:"punctuation.definition.string.ada"},"2":{name:"punctuation.definition.string.ada"}},match:/(")[^\n]*?(")/dgv,name:"string.quoted.double.ada"},subprogram_body:{name:"meta.declaration.subprogram.body.ada",patterns:[{include:"#procedure_body"},{include:"#function_body"}]},subprogram_renaming_declaration:{begin:/\brenames\b/dgiv,beginCaptures:{"0":{name:"keyword.ada"}},end:/(?=(with|;))/dgv,patterns:[{match:/[\._\p{L}\p{M}\p{N}\p{Pc}\p{Nd}]+/dgv,name:"entity.name.function.ada"}]},subprogram_specification:{name:"meta.declaration.subprogram.specification.ada",patterns:[{include:"#procedure_specification"},{include:"#function_specification"}]},subtype_declaration:{begin:/\bsubtype\b/dgiv,beginCaptures:{"0":{name:"keyword.ada"}},end:/;/dgv,endCaptures:{"0":{name:"punctuation.ada"}},name:"meta.declaration.subtype.ada",patterns:[{begin:/\bis\b/dgiv,beginCaptures:{"0":{name:"keyword.ada"}},end:/(?=;)/dgv,patterns:[{match:/\b(not\p{space}+null)\b/dgiv,name:"storage.modifier.ada"},{include:"#composite_constraint"},{include:"#aspect_specification"},{include:"#subtype_indication"}]},{begin:/(?<=subtype)/dgiv,end:/\b(?=is)\b/dgiv,patterns:[{include:"#subtype_mark"}]}]},subtype_indication:{name:"meta.declaration.indication.subtype.ada",patterns:[{include:"#scalar_constraint"},{include:"#subtype_mark"}]},subtype_mark:{patterns:[{match:/\b(access|aliased|not\p{space}+null|constant)\b/dgiv,name:"storage.visibility.ada"},{include:"#attribute"},{include:"#actual_parameter_part"},{begin:/\b(procedure|function)\b/dgiv,beginCaptures:{"0":{name:"keyword.ada"}},end:/(?=([\)\;]))/dgv,patterns:[{include:"#parameter_profile"},{begin:/\breturn\b/dgiv,beginCaptures:{"0":{name:"keyword.ada"}},end:/(?=([\)\;]))/dgv,patterns:[{include:"#subtype_mark"}]}]},{captures:{"0":{patterns:[{match:/[\._]/dgv,name:"punctuation.ada"}]}},match:/\b[\._\p{L}\p{M}\p{N}\p{Pc}\p{Nd}]+\b/dgv,name:"entity.name.type.ada"},{include:"#comment"}]},task_body:{begin:/\b(task)\p{space}+(body)\p{space}+(([\._\p{L}\p{M}\p{N}\p{Pc}\p{Nd}])+)\b/dgiv,beginCaptures:{"1":{name:"keyword.ada"},"2":{name:"keyword.ada"},"3":{name:"entity.name.task.ada"}},end:/(?:\b(end)\p{space}*(?:\p{space}(\3))?\p{space}*)?(;)/dgiv,endCaptures:{"1":{name:"keyword.ada"},"2":{name:"entity.name.task.ada"},"3":{name:"punctuation.ada"}},name:"meta.declaration.task.body.ada",patterns:[{begin:/\bbegin\b/dgiv,beginCaptures:{"0":{name:"keyword.ada"}},end:/(?=end)/dgiv,patterns:[{include:"#handled_sequence_of_statements"}]},{include:"#aspect_specification"},{begin:/\bis\b/dgiv,beginCaptures:{"0":{name:"keyword.ada"}},end:/(?=(with|begin))/dgiv,patterns:[{include:"#declarative_item"}]}]},task_item:{patterns:[{include:"#aspect_clause"},{include:"#entry_declaration"}]},task_type_declaration:{begin:/\b(task)\p{space}+(type)\p{space}+(([\._\p{L}\p{M}\p{N}\p{Pc}\p{Nd}])+)\b/dgiv,beginCaptures:{"1":{name:"storage.modifier.ada"},"2":{name:"keyword.ada"},"3":{name:"entity.name.task.ada"}},end:/(?:\b(end)\p{space}*(?:\p{space}(\3))?\p{space}*)?(;)/dgiv,endCaptures:{"1":{name:"keyword.ada"},"2":{name:"entity.name.task.ada"},"3":{name:"punctuation.ada"}},name:"meta.declaration.type.task.ada",patterns:[{include:"#known_discriminant_part"},{begin:/\bis\b/dgiv,beginCaptures:{"0":{name:"keyword.ada"}},end:/\b(?=end)\b/dgiv,patterns:[{begin:/\bnew\b/dgiv,captures:{"0":{name:"keyword.ada"}},end:/\bwith\b/dgiv,patterns:[{match:/\band\b/dgiv,name:"keyword.ada"},{include:"#subtype_mark"},{include:"#comment"}]},{match:/\bprivate\b/dgiv,name:"keyword.ada"},{include:"#task_item"},{include:"#comment"}]},{include:"#comment"}]},type_declaration:{name:"meta.declaration.type.ada",patterns:[{include:"#full_type_declaration"}]},type_definition:{name:"meta.declaration.type.definition.ada",patterns:[{include:"#enumeration_type_definition"},{include:"#integer_type_definition"},{include:"#real_type_definition"},{include:"#array_type_definition"},{include:"#record_type_definition"},{include:"#access_type_definition"},{include:"#interface_type_definition"},{include:"#derived_type_definition"}]},use_clause:{name:"meta.context.use.ada",patterns:[{include:"#use_type_clause"},{include:"#use_package_clause"}]},use_package_clause:{begin:/\buse\b/dgiv,beginCaptures:{"0":{name:"keyword.other.using.ada"}},end:/;/dgv,endCaptures:{"0":{name:"punctuation.ada"}},name:"meta.context.use.package.ada",patterns:[{match:/,/dgv,name:"punctuation.ada"},{include:"#package_mark"}]},use_type_clause:{begin:/\b(use)\p{space}+(?:(all)\p{space}+)?(type)\b/dgiv,beginCaptures:{"1":{name:"keyword.other.using.ada"},"2":{name:"keyword.modifier.ada"},"3":{name:"keyword.modifier.ada"}},end:/;/dgv,endCaptures:{"0":{name:"punctuation.ada"}},name:"meta.context.use.type.ada",patterns:[{match:/,/dgv,name:"punctuation.ada"},{include:"#subtype_mark"}]},value:{patterns:[{include:"#based_literal"},{include:"#decimal_literal"},{include:"#character_literal"},{include:"#string_literal"}]},variant_part:{begin:/\bcase\b/dgiv,beginCaptures:{"0":{name:"keyword.ada"}},end:/\b(end)\p{space}+(case);/dgiv,endCaptures:{"1":{name:"keyword.ada"},"2":{name:"keyword.ada"},"3":{name:"punctuation.ada"}},name:"meta.declaration.variant.ada",patterns:[{begin:/\b(?<=case)\b/dgiv,end:/\bis\b/dgiv,endCaptures:{"0":{name:"keyword.ada"}},patterns:[{match:/[_\p{L}\p{M}\p{N}\p{Pc}\p{Nd}]+/dgv,name:"variable.name.ada"},{include:"#comment"}]},{begin:/\b(?<=is)\b/dgiv,end:/\b(?=end)\b/dgiv,patterns:[{begin:/\bwhen\b/dgiv,beginCaptures:{"0":{name:"keyword.ada"}},end:/=>/dgv,endCaptures:{"0":{name:"keyword.other.ada"}},patterns:[{match:/\|/dgv,name:"punctuation.ada"},{match:/\bothers\b/dgiv,name:"keyword.ada"},{include:"#expression"}]},{include:"#component_item"}]}]},while_loop_statement:{begin:/\bwhile\b/dgiv,beginCaptures:{"0":{name:"keyword.control.ada"}},end:/\b(end)\p{space}+(loop)(\p{space}+[_\p{L}\p{M}\p{N}\p{Pc}\p{Nd}]+)?\p{space}*(;)/dgiv,endCaptures:{"1":{name:"keyword.control.ada"},"2":{name:"keyword.control.ada"},"3":{name:"entity.name.label.ada"},"4":{name:"punctuation.ada"}},name:"meta.statement.loop.while.ada",patterns:[{begin:/(?<=while)\b/dgiv,end:/\bloop\b/dgiv,endCaptures:{"0":{name:"keyword.control.ada"}},patterns:[{include:"#expression"}]},{include:"#statement"}]},with_clause:{begin:/\b(?:(limited)\p{space}+)?(?:(private)\p{space}+)?(with)\b/dgiv,beginCaptures:{"1":{name:"keyword.modifier.ada"},"2":{name:"storage.visibility.ada"},"3":{name:"keyword.other.using.ada"}},end:/;/dgv,endCaptures:{"0":{name:"punctuation.ada"}},name:"meta.context.with.ada",patterns:[{match:/,/dgv,name:"punctuation.ada"},{include:"#package_mark"}]}},scopeName:"source.ada",embeddedLangs:undefined,aliases:undefined})
|
|
2
2
|
|
|
3
3
|
export default [
|
|
4
4
|
lang
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
const lang = Object.freeze({injectionSelector:"L:text.html -comment",name:"angular-expression",patterns:[{include:"#ngExpression"}],repository:{arrayLiteral:{begin:/\[/dgv,beginCaptures:{"0":{name:"meta.brace.square.ts"}},end:/\]/dgv,endCaptures:{"0":{name:"meta.brace.square.ts"}},name:"meta.array.literal.ts",patterns:[{include:"#ngExpression"},{include:"#punctuationComma"}]},booleanLiteral:{patterns:[{match:/(?<![\$\.])\btrue\b(?!\$)/dgv,name:"constant.language.boolean.true.ts"},{match:/(?<![\$\.])\bfalse\b(?!\$)/dgv,name:"constant.language.boolean.false.ts"}]},expressionOperator:{patterns:[{captures:{"1":{name:"keyword.operator.logical.ts"},"2":{name:"entity.name.function.pipe.ng"}},match:/((?<!\|)\|(?!\|))\p{space}?([\-\$0-9A-Z_a-z]*)/dgv},{match:/(?<![\$\.])\b(let)\b(?!\$)/dgv,name:"storage.type.ts"},{match:/(?<![\$\.])\b(await)\b(?!\$)/dgv,name:"keyword.control.flow.ts"},{match:/(?<![\$\.])\bdelete\b(?!\$)/dgv,name:"keyword.operator.expression.delete.ts"},{match:/(?<![\$\.])\bin\b(?!\$)/dgv,name:"keyword.operator.expression.in.ts"},{match:/(?<![\$\.])\bof\b(?!\$)/dgv,name:"keyword.operator.expression.of.ts"},{match:/(?<![\$\.])\bif\b(?!\$)/dgv,name:"keyword.control.if.ts"},{match:/(?<![\$\.])\belse\b(?!\$)/dgv,name:"keyword.control.else.ts"},{match:/(?<![\$\.])\bthen\b(?!\$)/dgv,name:"keyword.control.then.ts"},{match:/(?<![\$\.])\binstanceof\b(?!\$)/dgv,name:"keyword.operator.expression.instanceof.ts"},{match:/(?<![\$\.])\bnew\b(?!\$)/dgv,name:"keyword.operator.new.ts"},{match:/(?<![\$\.])\bvoid\b(?!\$)/dgv,name:"keyword.operator.expression.void.ts"},{begin:/(?<![\$\.])\bas\b(?!\$)/dgv,beginCaptures:{"0":{name:"storage.type.as.ts"}},end:/(?=(?=\n?$)|[\]"'\)\,\:\;\}])/dgv,patterns:[{include:"#type"}]},{match:/(?:\*|(?<!\()\/|[\-\%\+])=/dgv,name:"keyword.operator.assignment.compound.ts"},{match:/(?:[\&\^]|<<|>>|>>>|\|)=/dgv,name:"keyword.operator.assignment.compound.bitwise.ts"},{match:/<<|>>>|>>/dgv,name:"keyword.operator.bitwise.shift.ts"},{match:/[\!\=]=(?:=|)/dgv,name:"keyword.operator.comparison.ts"},{match:/<=|>=|<>|[\<\>]/dgv,name:"keyword.operator.relational.ts"},{match:/!|&&|\?\?|\|\|/dgv,name:"keyword.operator.logical.ts"},{match:/[\&\^\|\~]/dgv,name:"keyword.operator.bitwise.ts"},{match:/=/dgv,name:"keyword.operator.assignment.ts"},{match:/--/dgv,name:"keyword.operator.decrement.ts"},{match:/\+\+/dgv,name:"keyword.operator.increment.ts"},{match:/[\-\%\*\+\/]/dgv,name:"keyword.operator.arithmetic.ts"},{captures:{"1":{name:"keyword.operator.arithmetic.ts"}},match:/(?<=[\$_\p{Alpha}\p{Nd}])\p{space}*(\/)(?![\*\/])/dgv},{include:"#typeofOperator"}]},functionCall:{begin:/(?=(\??\.\p{space}*)?([\$_\p{Alpha}][\$_\p{Alpha}\p{Nd}]*)\p{space}*(<([^\<\>]|<[^\<\>]+>)+>\p{space}*)?\()/dgv,end:/(?<=\))(?!(\??\.\p{space}*)?([\$_\p{Alpha}][\$_\p{Alpha}\p{Nd}]*)\p{space}*(<([^\<\>]|<[^\<\>]+>)+>\p{space}*)?\()/dgv,patterns:[{match:/\?/dgv,name:"punctuation.accessor.ts"},{match:/\./dgv,name:"punctuation.accessor.ts"},{match:/([\$_\p{Alpha}][\$_\p{Alpha}\p{Nd}]*)/dgv,name:"entity.name.function.ts"},{begin:/</dgv,beginCaptures:{"0":{name:"punctuation.definition.typeparameters.begin.ts"}},end:/>/dgv,endCaptures:{"0":{name:"punctuation.definition.typeparameters.end.ts"}},name:"meta.type.parameters.ts",patterns:[{include:"#type"},{include:"#punctuationComma"}]},{include:"#parenExpression"}]},functionParameters:{begin:/\(/dgv,beginCaptures:{"0":{name:"punctuation.definition.parameters.begin.ts"}},end:/\)/dgv,endCaptures:{"0":{name:"punctuation.definition.parameters.end.ts"}},name:"meta.parameters.ts",patterns:[{include:"#decorator"},{include:"#parameterName"},{include:"#variableInitializer"},{match:/,/dgv,name:"punctuation.separator.parameter.ts"}]},identifiers:{patterns:[{match:/([\$_\p{Alpha}][\$_\p{Alpha}\p{Nd}]*)(?=\p{space}*\.\p{space}*prototype\b(?!\$))/dgv,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:/([\!\?]?\.)\p{space}*(?:(\p{Upper}[\$_\p{Nd}\p{Upper}]*)|([\$_\p{Alpha}][\$_\p{Alpha}\p{Nd}]*))(?=\p{space}*\.\p{space}*[\$_\p{Alpha}][\$_\p{Alpha}\p{Nd}]*)/dgv},{captures:{"1":{name:"punctuation.accessor.ts"},"2":{name:"entity.name.function.ts"}},match:/(?:([\!\?]?\.)\p{space}*)?([\$_\p{Alpha}][\$_\p{Alpha}\p{Nd}]*)(?=\p{space}*=\p{space}*((async\p{space}+)|(function\p{space}*[\(\<])|(function\p{space}+)|([\$_\p{Alpha}][\$_\p{Alpha}\p{Nd}]*\p{space}*=>)|((<([^\<\>]|<[^\<\>]+>)+>\p{space}*)?\(([^\(\)]|\([^\(\)]*\))*\)(\p{space}*:\p{space}*([^\n])*)?\p{space}*=>)))/dgv},{captures:{"1":{name:"punctuation.accessor.ts"},"2":{name:"constant.other.property.ts"}},match:/([\!\?]?\.)\p{space}*(\p{Upper}[\$_\p{Nd}\p{Upper}]*)(?![\$_\p{Alpha}\p{Nd}])/dgv},{captures:{"1":{name:"punctuation.accessor.ts"},"2":{name:"variable.other.property.ts"}},match:/([\!\?]?\.)\p{space}*([\$_\p{Alpha}][\$_\p{Alpha}\p{Nd}]*)/dgv},{captures:{"1":{name:"constant.other.object.ts"},"2":{name:"variable.other.object.ts"}},match:/(?:(\p{Upper}[\$_\p{Nd}\p{Upper}]*)|([\$_\p{Alpha}][\$_\p{Alpha}\p{Nd}]*))(?=\p{space}*\.\p{space}*[\$_\p{Alpha}][\$_\p{Alpha}\p{Nd}]*)/dgv},{match:/(\p{Upper}[\$_\p{Nd}\p{Upper}]*)(?![\$_\p{Alpha}\p{Nd}])/dgv,name:"constant.character.other"},{match:/[\$_\p{Alpha}][\$_\p{Alpha}\p{Nd}]*/dgv,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:"#punctuationSemicolon"},{include:"#punctuationAccessor"}]},nullLiteral:{match:/(?<![\$\.])\bnull\b(?!\$)/dgv,name:"constant.language.null.ts"},numericConstantLiteral:{patterns:[{match:/(?<![\$\.])\bNaN\b(?!\$)/dgv,name:"constant.language.nan.ts"},{match:/(?<![\$\.])\bInfinity\b(?!\$)/dgv,name:"constant.language.infinity.ts"}]},numericLiteral:{patterns:[{match:/\b(?<!\$)0([Xx])\p{AHex}+\b(?!\$)/dgv,name:"constant.numeric.hex.ts"},{match:/\b(?<!\$)0([Bb])[01]+\b(?!\$)/dgv,name:"constant.numeric.binary.ts"},{match:/\\b(?<!\$)0([Oo])?[0-7]+\b(?!\$)/dgv,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[0-9]+(\.)[0-9]+[Ee][\-\+]?[0-9]+\b|\b[0-9]+(\.)[Ee][\-\+]?[0-9]+\b|\B(\.)[0-9]+[Ee][\-\+]?[0-9]+\b|\b[0-9]+[Ee][\-\+]?[0-9]+\b|\b[0-9]+(\.)\B|\B(\.)[0-9]+\b|\b[0-9]+\b(?!\.))(?!\$)/dgv}]},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:/(?:\p{space}*\b(readonly)\p{space}+)?(?:\p{space}*\b(p(?:ublic|rivate|rotected))\p{space}+)?(\.\.\.)?\p{space}*(?<![\:\=])([\$_\p{Alpha}][\$_\p{Alpha}\p{Nd}]*)\p{space}*(\??)(?=\p{space}*(=\p{space}*((async\p{space}+)|(function\p{space}*[\(\<])|(function\p{space}+)|([\$_\p{Alpha}][\$_\p{Alpha}\p{Nd}]*\p{space}*=>)|((<([^\<\>]|<[^\<\>]+>)+>\p{space}*)?\(([^\(\)]|\([^\(\)]*\))*\)(\p{space}*:\p{space}*([^\n])*)?\p{space}*=>)))|(:\p{space}*((<)|(\(\p{space}*((\))|(\.\.\.)|([\$_\p{Alpha}\p{Nd}]+\p{space}*(([\,\:\=\?])|(\)\p{space}*=>))))))))/dgv},{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:/(?:\p{space}*\b(readonly)\p{space}+)?(?:\p{space}*\b(p(?:ublic|rivate|rotected))\p{space}+)?(\.\.\.)?\p{space}*(?<![\:\=])([\$_\p{Alpha}][\$_\p{Alpha}\p{Nd}]*)\p{space}*(\??)/dgv}]},parenExpression:{begin:/\(/dgv,beginCaptures:{"0":{name:"meta.brace.round.ts"}},end:/\)/dgv,endCaptures:{"0":{name:"meta.brace.round.ts"}},patterns:[{include:"#ngExpression"},{include:"#punctuationComma"}]},punctuationAccessor:{match:/(?:[\!\?]|)\./dgv,name:"punctuation.accessor.ts"},punctuationComma:{match:/,/dgv,name:"punctuation.separator.comma.ts"},punctuationSemicolon:{match:/;/dgv,name:"punctuation.terminator.statement.ts"},qstringDouble:{begin:/"/dgv,beginCaptures:{"0":{name:"punctuation.definition.string.begin.ts"}},end:/(")|([^\n\\])(?=\n?$)/dgv,endCaptures:{"1":{name:"punctuation.definition.string.end.ts"},"2":{name:"invalid.illegal.newline.ts"}},name:"string.quoted.double.ts",patterns:[{include:"#stringCharacterEscape"}]},qstringSingle:{begin:/'/dgv,beginCaptures:{"0":{name:"punctuation.definition.string.begin.ts"}},end:/(')|([^\n\\])(?=\n?$)/dgv,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"},{include:"#templateLiteral"}]},stringCharacterEscape:{match:/\\(x\p{AHex}{2}|[012][0-7]{0,2}|3[0-6][0-7]?|37[0-7]?|[4-7][0-7]?|[^\n]|(?=\n?$))/dgv,name:"constant.character.escape.ts"},templateLiteral:{patterns:[{include:"#templateLiteralCall"},{begin:/([\$_\p{Alpha}][\$_\p{Alpha}\p{Nd}]*)?(`)/dgv,beginCaptures:{"1":{name:"entity.name.function.tagged-template.ts"},"2":{name:"string.template.ts punctuation.definition.string.template.begin.ts"}},contentName:"string.template.ts",end:/`/dgv,endCaptures:{"0":{name:"string.template.ts punctuation.definition.string.template.end.ts"}},patterns:[{include:"#templateLiteralSubstitutionElement"},{include:"#stringCharacterEscape"}]}]},templateLiteralCall:{patterns:[{begin:/(?=(([\$_\p{Alpha}][\$_\p{Alpha}\p{Nd}]*\p{space}*\??\.\p{space}*)*|(\??\.\p{space}*)?)([\$_\p{Alpha}][\$_\p{Alpha}\p{Nd}]*)(<\p{space}*(((keyof|infer|typeof|readonly)\p{space}+)|(([\$_\p{Alpha}][\$_\p{Alpha}\p{Nd}]*|(\{([^\{\}]|(\{([^\{\}]|\{[^\{\}]*\})*\}))*\})|(\(([^\(\)]|(\(([^\(\)]|\([^\(\)]*\))*\)))*\))|(\[([^\]\[]|(\[([^\]\[]|\[[^\]\[]*\])*\]))*\])|('([^'\\]|\\[^\n])*')|("([^"\\]|\\[^\n])*")|(`([^\\\`]|\\[^\n])*`))(?=\p{space}*([\,\.\<\>\[]|=>|&(?!&)|\|(?!\|)))))([^\(\<\>]|(\(([^\(\)]|(\(([^\(\)]|\([^\(\)]*\))*\)))*\))|(?<==)>|<\p{space}*(((keyof|infer|typeof|readonly)\p{space}+)|(([\$_\p{Alpha}][\$_\p{Alpha}\p{Nd}]*|(\{([^\{\}]|(\{([^\{\}]|\{[^\{\}]*\})*\}))*\})|(\(([^\(\)]|(\(([^\(\)]|\([^\(\)]*\))*\)))*\))|(\[([^\]\[]|(\[([^\]\[]|\[[^\]\[]*\])*\]))*\])|('([^'\\]|\\[^\n])*')|("([^"\\]|\\[^\n])*")|(`([^\\\`]|\\[^\n])*`))(?=\p{space}*([\,\.\<\>\[]|=>|&(?!&)|\|(?!\|)))))(([^\(\<\>]|(\(([^\(\)]|(\(([^\(\)]|\([^\(\)]*\))*\)))*\))|(?<==)>|<\p{space}*(((keyof|infer|typeof|readonly)\p{space}+)|(([\$_\p{Alpha}][\$_\p{Alpha}\p{Nd}]*|(\{([^\{\}]|(\{([^\{\}]|\{[^\{\}]*\})*\}))*\})|(\(([^\(\)]|(\(([^\(\)]|\([^\(\)]*\))*\)))*\))|(\[([^\]\[]|(\[([^\]\[]|\[[^\]\[]*\])*\]))*\])|('([^'\\]|\\[^\n])*')|("([^"\\]|\\[^\n])*")|(`([^\\\`]|\\[^\n])*`))(?=\p{space}*([\,\.\<\>\[]|=>|&(?!&)|\|(?!\|)))))([^\(\<\>]|(\(([^\(\)]|(\(([^\(\)]|\([^\(\)]*\))*\)))*\))|(?<==)>)*(?<!=)>))*(?<!=)>)*(?<!=)>\p{space}*)?`)/dgv,end:/(?=`)/dgv,patterns:[{begin:/(?=(([\$_\p{Alpha}][\$_\p{Alpha}\p{Nd}]*\p{space}*\??\.\p{space}*)*|(\??\.\p{space}*)?)([\$_\p{Alpha}][\$_\p{Alpha}\p{Nd}]*))/dgv,end:/(?=(<\p{space}*(((keyof|infer|typeof|readonly)\p{space}+)|(([\$_\p{Alpha}][\$_\p{Alpha}\p{Nd}]*|(\{([^\{\}]|(\{([^\{\}]|\{[^\{\}]*\})*\}))*\})|(\(([^\(\)]|(\(([^\(\)]|\([^\(\)]*\))*\)))*\))|(\[([^\]\[]|(\[([^\]\[]|\[[^\]\[]*\])*\]))*\])|('([^'\\]|\\[^\n])*')|("([^"\\]|\\[^\n])*")|(`([^\\\`]|\\[^\n])*`))(?=\p{space}*([\,\.\<\>\[]|=>|&(?!&)|\|(?!\|)))))([^\(\<\>]|(\(([^\(\)]|(\(([^\(\)]|\([^\(\)]*\))*\)))*\))|(?<==)>|<\p{space}*(((keyof|infer|typeof|readonly)\p{space}+)|(([\$_\p{Alpha}][\$_\p{Alpha}\p{Nd}]*|(\{([^\{\}]|(\{([^\{\}]|\{[^\{\}]*\})*\}))*\})|(\(([^\(\)]|(\(([^\(\)]|\([^\(\)]*\))*\)))*\))|(\[([^\]\[]|(\[([^\]\[]|\[[^\]\[]*\])*\]))*\])|('([^'\\]|\\[^\n])*')|("([^"\\]|\\[^\n])*")|(`([^\\\`]|\\[^\n])*`))(?=\p{space}*([\,\.\<\>\[]|=>|&(?!&)|\|(?!\|)))))(([^\(\<\>]|(\(([^\(\)]|(\(([^\(\)]|\([^\(\)]*\))*\)))*\))|(?<==)>|<\p{space}*(((keyof|infer|typeof|readonly)\p{space}+)|(([\$_\p{Alpha}][\$_\p{Alpha}\p{Nd}]*|(\{([^\{\}]|(\{([^\{\}]|\{[^\{\}]*\})*\}))*\})|(\(([^\(\)]|(\(([^\(\)]|\([^\(\)]*\))*\)))*\))|(\[([^\]\[]|(\[([^\]\[]|\[[^\]\[]*\])*\]))*\])|('([^'\\]|\\[^\n])*')|("([^"\\]|\\[^\n])*")|(`([^\\\`]|\\[^\n])*`))(?=\p{space}*([\,\.\<\>\[]|=>|&(?!&)|\|(?!\|)))))([^\(\<\>]|(\(([^\(\)]|(\(([^\(\)]|\([^\(\)]*\))*\)))*\))|(?<==)>)*(?<!=)>))*(?<!=)>)*(?<!=)>\p{space}*)?`)/dgv,patterns:[{include:"#support-function-call-identifiers"},{match:/([\$_\p{Alpha}][\$_\p{Alpha}\p{Nd}]*)/dgv,name:"entity.name.function.tagged-template.ts"}]},{include:"#typeArguments"}]},{begin:/([\$_\p{Alpha}][\$_\p{Alpha}\p{Nd}]*)?\p{space}*(?=(<\p{space}*(((keyof|infer|typeof|readonly)\p{space}+)|(([\$_\p{Alpha}][\$_\p{Alpha}\p{Nd}]*|(\{([^\{\}]|(\{([^\{\}]|\{[^\{\}]*\})*\}))*\})|(\(([^\(\)]|(\(([^\(\)]|\([^\(\)]*\))*\)))*\))|(\[([^\]\[]|(\[([^\]\[]|\[[^\]\[]*\])*\]))*\])|('([^'\\]|\\[^\n])*')|("([^"\\]|\\[^\n])*")|(`([^\\\`]|\\[^\n])*`))(?=\p{space}*([\,\.\<\>\[]|=>|&(?!&)|\|(?!\|)))))([^\(\<\>]|(\(([^\(\)]|(\(([^\(\)]|\([^\(\)]*\))*\)))*\))|(?<==)>|<\p{space}*(((keyof|infer|typeof|readonly)\p{space}+)|(([\$_\p{Alpha}][\$_\p{Alpha}\p{Nd}]*|(\{([^\{\}]|(\{([^\{\}]|\{[^\{\}]*\})*\}))*\})|(\(([^\(\)]|(\(([^\(\)]|\([^\(\)]*\))*\)))*\))|(\[([^\]\[]|(\[([^\]\[]|\[[^\]\[]*\])*\]))*\])|('([^'\\]|\\[^\n])*')|("([^"\\]|\\[^\n])*")|(`([^\\\`]|\\[^\n])*`))(?=\p{space}*([\,\.\<\>\[]|=>|&(?!&)|\|(?!\|)))))(([^\(\<\>]|(\(([^\(\)]|(\(([^\(\)]|\([^\(\)]*\))*\)))*\))|(?<==)>|<\p{space}*(((keyof|infer|typeof|readonly)\p{space}+)|(([\$_\p{Alpha}][\$_\p{Alpha}\p{Nd}]*|(\{([^\{\}]|(\{([^\{\}]|\{[^\{\}]*\})*\}))*\})|(\(([^\(\)]|(\(([^\(\)]|\([^\(\)]*\))*\)))*\))|(\[([^\]\[]|(\[([^\]\[]|\[[^\]\[]*\])*\]))*\])|('([^'\\]|\\[^\n])*')|("([^"\\]|\\[^\n])*")|(`([^\\\`]|\\[^\n])*`))(?=\p{space}*([\,\.\<\>\[]|=>|&(?!&)|\|(?!\|)))))([^\(\<\>]|(\(([^\(\)]|(\(([^\(\)]|\([^\(\)]*\))*\)))*\))|(?<==)>)*(?<!=)>))*(?<!=)>)*(?<!=)>\p{space}*)`)/dgv,beginCaptures:{"1":{name:"entity.name.function.tagged-template.ts"}},end:/(?=`)/dgv,patterns:[{include:"#typeArguments"}]}]},templateLiteralSubstitutionElement:{begin:/\$\{/dgv,beginCaptures:{"0":{name:"punctuation.definition.template-expression.begin.ts"}},contentName:"meta.embedded.line.ts",end:/\}/dgv,endCaptures:{"0":{name:"punctuation.definition.template-expression.end.ts"}},name:"meta.template.expression.ts",patterns:[{include:"#ngExpression"}]},ternaryExpression:{begin:/(?!\?\.\p{space}*\P{Nd})(\?)(?!\?)/dgv,beginCaptures:{"1":{name:"keyword.operator.ternary.ts"}},end:/\p{space}*(:)/dgv,endCaptures:{"1":{name:"keyword.operator.ternary.ts"}},patterns:[{include:"#ngExpression"}]},thisLiteral:{match:/(?<![\$\.])\bthis\b(?!\$)/dgv,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:/:/dgv,beginCaptures:{"0":{name:"keyword.operator.type.annotation.ts"}},end:/(?=(?=\n?$)|[\]\)\,\;\}]|\/\/|")|(?==[^\>])|(?<=[\]\$\)\>_\}\p{Alpha}])\p{space}*(?=\{)/dgv,name:"meta.type.annotation.ts",patterns:[{include:"#type"}]},typeArguments:{begin:/</dgv,beginCaptures:{"0":{name:"punctuation.definition.typeparameters.begin.ts"}},end:/>/dgv,endCaptures:{"0":{name:"punctuation.definition.typeparameters.end.ts"}},name:"meta.type.parameters.ts",patterns:[{include:"#typeArgumentsBody"}]},typeArgumentsBody:{patterns:[{captures:{"0":{name:"keyword.operator.type.ts"}},match:/(?<![\$_\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))(_)(?![\$_\p{Alpha}\p{Nd}])(?:(?=\.\.\.)|(?!\.))/dgv},{include:"#type"},{include:"#punctuationComma"}]},typeBuiltinLiterals:{match:/(?<![\$\.])\b(this|true|false|undefined|null)\b(?!\$)/dgv,name:"support.type.builtin.ts"},typeFnTypeParameters:{patterns:[{captures:{"1":{name:"keyword.control.new.ts"}},match:/(?<![\$\.])\b(new)\b(?=\p{space}*<)/dgv,name:"meta.type.constructor.ts"},{begin:/(?<![\$\.])\b(new)\b\p{space}*(?=\()/dgv,beginCaptures:{"1":{name:"keyword.control.new.ts"}},end:/(?<=\))/dgv,name:"meta.type.constructor.ts",patterns:[{include:"#functionParameters"}]},{begin:/(?<=>)\p{space}*(?=\()/dgv,end:/(?<=\))/dgv,include:"#typeofOperator",name:"meta.type.function.ts",patterns:[{include:"#functionParameters"}]},{begin:/((?=\(\p{space}*((\))|(\.\.\.)|([\$_\p{Alpha}\p{Nd}]+\p{space}*(([\,\:\=\?])|(\)\p{space}*=>))))))/dgv,end:/(?<=\))/dgv,name:"meta.type.function.ts",patterns:[{include:"#functionParameters"}]}]},typeName:{patterns:[{captures:{"1":{name:"entity.name.type.module.ts"},"2":{name:"punctuation.accessor.ts"}},match:/([\$_\p{Alpha}][\$_\p{Alpha}\p{Nd}]*)\p{space}*([\!\?]?\.)/dgv},{match:/[\$_\p{Alpha}][\$_\p{Alpha}\p{Nd}]*/dgv,name:"entity.name.type.ts"}]},typeObject:{begin:/\{/dgv,beginCaptures:{"0":{name:"punctuation.definition.block.ts"}},end:/\}/dgv,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:/[\&\|]/dgv,name:"keyword.operator.type.ts"},{match:/(?<![\$\.])\bkeyof\b(?!\$)/dgv,name:"keyword.operator.expression.keyof.ts"}]},typeParenOrFunctionParameters:{begin:/\(/dgv,beginCaptures:{"0":{name:"meta.brace.round.ts"}},end:/\)/dgv,endCaptures:{"0":{name:"meta.brace.round.ts"}},name:"meta.type.paren.cover.ts",patterns:[{include:"#type"},{include:"#functionParameters"}]},typeTuple:{begin:/\[/dgv,beginCaptures:{"0":{name:"meta.brace.square.ts"}},end:/\]/dgv,endCaptures:{"0":{name:"meta.brace.square.ts"}},name:"meta.type.tuple.ts",patterns:[{include:"#type"},{include:"#punctuationComma"}]},typeofOperator:{match:/(?<![\$\.])\btypeof\b(?!\$)/dgv,name:"keyword.operator.expression.typeof.ts"},undefinedLiteral:{match:/(?<![\$\.])\bundefined\b(?!\$)/dgv,name:"constant.language.undefined.ts"},variableInitializer:{begin:/(?<![\!\=])(=)(?!=)/dgv,beginCaptures:{"1":{name:"keyword.operator.assignment.ts"}},end:/(?=(?=\n?$)|[\]\)\,\;\}])/dgv,patterns:[{include:"#ngExpression"}]}},scopeName:"expression.ng",displayName:undefined,embeddedLangs:undefined,aliases:undefined})
|
|
1
|
+
const lang = Object.freeze({injectionSelector:"L:text.html -comment",name:"angular-expression",patterns:[{include:"#ngExpression"}],repository:{arrayLiteral:{begin:/\[/dgv,beginCaptures:{"0":{name:"meta.brace.square.ts"}},end:/\]/dgv,endCaptures:{"0":{name:"meta.brace.square.ts"}},name:"meta.array.literal.ts",patterns:[{include:"#ngExpression"},{include:"#punctuationComma"}]},booleanLiteral:{patterns:[{match:/(?<![\$\.])\btrue\b(?!\$)/dgv,name:"constant.language.boolean.true.ts"},{match:/(?<![\$\.])\bfalse\b(?!\$)/dgv,name:"constant.language.boolean.false.ts"}]},expressionOperator:{patterns:[{captures:{"1":{name:"keyword.operator.logical.ts"},"2":{name:"entity.name.function.pipe.ng"}},match:/((?<!\|)\|(?!\|))\p{space}?([\-\$0-9A-Z_a-z]*)/dgv},{match:/(?<![\$\.])\b(let)\b(?!\$)/dgv,name:"storage.type.ts"},{match:/(?<![\$\.])\b(await)\b(?!\$)/dgv,name:"keyword.control.flow.ts"},{match:/(?<![\$\.])\bdelete\b(?!\$)/dgv,name:"keyword.operator.expression.delete.ts"},{match:/(?<![\$\.])\bin\b(?!\$)/dgv,name:"keyword.operator.expression.in.ts"},{match:/(?<![\$\.])\bof\b(?!\$)/dgv,name:"keyword.operator.expression.of.ts"},{match:/(?<![\$\.])\bif\b(?!\$)/dgv,name:"keyword.control.if.ts"},{match:/(?<![\$\.])\belse\b(?!\$)/dgv,name:"keyword.control.else.ts"},{match:/(?<![\$\.])\bthen\b(?!\$)/dgv,name:"keyword.control.then.ts"},{match:/(?<![\$\.])\binstanceof\b(?!\$)/dgv,name:"keyword.operator.expression.instanceof.ts"},{match:/(?<![\$\.])\bnew\b(?!\$)/dgv,name:"keyword.operator.new.ts"},{match:/(?<![\$\.])\bvoid\b(?!\$)/dgv,name:"keyword.operator.expression.void.ts"},{begin:/(?<![\$\.])\bas\b(?!\$)/dgv,beginCaptures:{"0":{name:"storage.type.as.ts"}},end:/(?=(?=\n?$)|[\]"'\)\,\:\;\}])/dgv,patterns:[{include:"#type"}]},{match:/(?:\*|(?<!\()\/|[\-\%\+])=/dgv,name:"keyword.operator.assignment.compound.ts"},{match:/(?:[\&\^]|<<|>>>??|\|)=/dgv,name:"keyword.operator.assignment.compound.bitwise.ts"},{match:/<<|>>>?/dgv,name:"keyword.operator.bitwise.shift.ts"},{match:/[\!\=]==?/dgv,name:"keyword.operator.comparison.ts"},{match:/<=|>=|<>|[\<\>]/dgv,name:"keyword.operator.relational.ts"},{match:/!|&&|\?\?|\|\|/dgv,name:"keyword.operator.logical.ts"},{match:/[\&\^\|\~]/dgv,name:"keyword.operator.bitwise.ts"},{match:/=/dgv,name:"keyword.operator.assignment.ts"},{match:/--/dgv,name:"keyword.operator.decrement.ts"},{match:/\+\+/dgv,name:"keyword.operator.increment.ts"},{match:/[\-\%\*\+\/]/dgv,name:"keyword.operator.arithmetic.ts"},{captures:{"1":{name:"keyword.operator.arithmetic.ts"}},match:/(?<=[\$_\p{Alpha}\p{Nd}])\p{space}*(\/)(?![\*\/])/dgv},{include:"#typeofOperator"}]},functionCall:{begin:/(?=(\??\.\p{space}*)?([\$_\p{Alpha}][\$_\p{Alpha}\p{Nd}]*)\p{space}*(<([^\<\>]|<[^\<\>]+>)+>\p{space}*)?\()/dgv,end:/(?<=\))(?!(\??\.\p{space}*)?([\$_\p{Alpha}][\$_\p{Alpha}\p{Nd}]*)\p{space}*(<([^\<\>]|<[^\<\>]+>)+>\p{space}*)?\()/dgv,patterns:[{match:/\?/dgv,name:"punctuation.accessor.ts"},{match:/\./dgv,name:"punctuation.accessor.ts"},{match:/([\$_\p{Alpha}][\$_\p{Alpha}\p{Nd}]*)/dgv,name:"entity.name.function.ts"},{begin:/</dgv,beginCaptures:{"0":{name:"punctuation.definition.typeparameters.begin.ts"}},end:/>/dgv,endCaptures:{"0":{name:"punctuation.definition.typeparameters.end.ts"}},name:"meta.type.parameters.ts",patterns:[{include:"#type"},{include:"#punctuationComma"}]},{include:"#parenExpression"}]},functionParameters:{begin:/\(/dgv,beginCaptures:{"0":{name:"punctuation.definition.parameters.begin.ts"}},end:/\)/dgv,endCaptures:{"0":{name:"punctuation.definition.parameters.end.ts"}},name:"meta.parameters.ts",patterns:[{include:"#decorator"},{include:"#parameterName"},{include:"#variableInitializer"},{match:/,/dgv,name:"punctuation.separator.parameter.ts"}]},identifiers:{patterns:[{match:/([\$_\p{Alpha}][\$_\p{Alpha}\p{Nd}]*)(?=\p{space}*\.\p{space}*prototype\b(?!\$))/dgv,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:/([\!\?]?\.)\p{space}*(?:(\p{Upper}[\$_\p{Nd}\p{Upper}]*)|([\$_\p{Alpha}][\$_\p{Alpha}\p{Nd}]*))(?=\p{space}*\.\p{space}*[\$_\p{Alpha}][\$_\p{Alpha}\p{Nd}]*)/dgv},{captures:{"1":{name:"punctuation.accessor.ts"},"2":{name:"entity.name.function.ts"}},match:/(?:([\!\?]?\.)\p{space}*)?([\$_\p{Alpha}][\$_\p{Alpha}\p{Nd}]*)(?=\p{space}*=\p{space}*((async\p{space}+)|(function\p{space}*[\(\<])|(function\p{space}+)|([\$_\p{Alpha}][\$_\p{Alpha}\p{Nd}]*\p{space}*=>)|((<([^\<\>]|<[^\<\>]+>)+>\p{space}*)?\(([^\(\)]|\([^\(\)]*\))*\)(\p{space}*:\p{space}*([^\n])*)?\p{space}*=>)))/dgv},{captures:{"1":{name:"punctuation.accessor.ts"},"2":{name:"constant.other.property.ts"}},match:/([\!\?]?\.)\p{space}*(\p{Upper}[\$_\p{Nd}\p{Upper}]*)(?![\$_\p{Alpha}\p{Nd}])/dgv},{captures:{"1":{name:"punctuation.accessor.ts"},"2":{name:"variable.other.property.ts"}},match:/([\!\?]?\.)\p{space}*([\$_\p{Alpha}][\$_\p{Alpha}\p{Nd}]*)/dgv},{captures:{"1":{name:"constant.other.object.ts"},"2":{name:"variable.other.object.ts"}},match:/(?:(\p{Upper}[\$_\p{Nd}\p{Upper}]*)|([\$_\p{Alpha}][\$_\p{Alpha}\p{Nd}]*))(?=\p{space}*\.\p{space}*[\$_\p{Alpha}][\$_\p{Alpha}\p{Nd}]*)/dgv},{match:/(\p{Upper}[\$_\p{Nd}\p{Upper}]*)(?![\$_\p{Alpha}\p{Nd}])/dgv,name:"constant.character.other"},{match:/[\$_\p{Alpha}][\$_\p{Alpha}\p{Nd}]*/dgv,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:"#punctuationSemicolon"},{include:"#punctuationAccessor"}]},nullLiteral:{match:/(?<![\$\.])\bnull\b(?!\$)/dgv,name:"constant.language.null.ts"},numericConstantLiteral:{patterns:[{match:/(?<![\$\.])\bNaN\b(?!\$)/dgv,name:"constant.language.nan.ts"},{match:/(?<![\$\.])\bInfinity\b(?!\$)/dgv,name:"constant.language.infinity.ts"}]},numericLiteral:{patterns:[{match:/\b(?<!\$)0([Xx])\p{AHex}+\b(?!\$)/dgv,name:"constant.numeric.hex.ts"},{match:/\b(?<!\$)0([Bb])[01]+\b(?!\$)/dgv,name:"constant.numeric.binary.ts"},{match:/\\b(?<!\$)0([Oo])?[0-7]+\b(?!\$)/dgv,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[0-9]+(\.)[0-9]+[Ee][\-\+]?[0-9]+\b|\b[0-9]+(\.)[Ee][\-\+]?[0-9]+\b|\B(\.)[0-9]+[Ee][\-\+]?[0-9]+\b|\b[0-9]+[Ee][\-\+]?[0-9]+\b|\b[0-9]+(\.)\B|\B(\.)[0-9]+\b|\b[0-9]+\b(?!\.))(?!\$)/dgv}]},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:/(?:\p{space}*\b(readonly)\p{space}+)?(?:\p{space}*\b(p(?:ublic|rivate|rotected))\p{space}+)?(\.\.\.)?\p{space}*(?<![\:\=])([\$_\p{Alpha}][\$_\p{Alpha}\p{Nd}]*)\p{space}*(\??)(?=\p{space}*(=\p{space}*((async\p{space}+)|(function\p{space}*[\(\<])|(function\p{space}+)|([\$_\p{Alpha}][\$_\p{Alpha}\p{Nd}]*\p{space}*=>)|((<([^\<\>]|<[^\<\>]+>)+>\p{space}*)?\(([^\(\)]|\([^\(\)]*\))*\)(\p{space}*:\p{space}*([^\n])*)?\p{space}*=>)))|(:\p{space}*((<)|(\(\p{space}*((\))|(\.\.\.)|([\$_\p{Alpha}\p{Nd}]+\p{space}*(([\,\:\=\?])|(\)\p{space}*=>))))))))/dgv},{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:/(?:\p{space}*\b(readonly)\p{space}+)?(?:\p{space}*\b(p(?:ublic|rivate|rotected))\p{space}+)?(\.\.\.)?\p{space}*(?<![\:\=])([\$_\p{Alpha}][\$_\p{Alpha}\p{Nd}]*)\p{space}*(\??)/dgv}]},parenExpression:{begin:/\(/dgv,beginCaptures:{"0":{name:"meta.brace.round.ts"}},end:/\)/dgv,endCaptures:{"0":{name:"meta.brace.round.ts"}},patterns:[{include:"#ngExpression"},{include:"#punctuationComma"}]},punctuationAccessor:{match:/(?:\?|!?)\./dgv,name:"punctuation.accessor.ts"},punctuationComma:{match:/,/dgv,name:"punctuation.separator.comma.ts"},punctuationSemicolon:{match:/;/dgv,name:"punctuation.terminator.statement.ts"},qstringDouble:{begin:/"/dgv,beginCaptures:{"0":{name:"punctuation.definition.string.begin.ts"}},end:/(")|([^\n\\])(?=\n?$)/dgv,endCaptures:{"1":{name:"punctuation.definition.string.end.ts"},"2":{name:"invalid.illegal.newline.ts"}},name:"string.quoted.double.ts",patterns:[{include:"#stringCharacterEscape"}]},qstringSingle:{begin:/'/dgv,beginCaptures:{"0":{name:"punctuation.definition.string.begin.ts"}},end:/(')|([^\n\\])(?=\n?$)/dgv,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"},{include:"#templateLiteral"}]},stringCharacterEscape:{match:/\\(x\p{AHex}{2}|[012][0-7]{0,2}|3[0-6][0-7]?|37[0-7]?|[4-7][0-7]?|[^\n]|(?=\n?$))/dgv,name:"constant.character.escape.ts"},templateLiteral:{patterns:[{include:"#templateLiteralCall"},{begin:/([\$_\p{Alpha}][\$_\p{Alpha}\p{Nd}]*)?(`)/dgv,beginCaptures:{"1":{name:"entity.name.function.tagged-template.ts"},"2":{name:"string.template.ts punctuation.definition.string.template.begin.ts"}},contentName:"string.template.ts",end:/`/dgv,endCaptures:{"0":{name:"string.template.ts punctuation.definition.string.template.end.ts"}},patterns:[{include:"#templateLiteralSubstitutionElement"},{include:"#stringCharacterEscape"}]}]},templateLiteralCall:{patterns:[{begin:/(?=(([\$_\p{Alpha}][\$_\p{Alpha}\p{Nd}]*\p{space}*\??\.\p{space}*)*|(\??\.\p{space}*)?)([\$_\p{Alpha}][\$_\p{Alpha}\p{Nd}]*)(<\p{space}*(((keyof|infer|typeof|readonly)\p{space}+)|(([\$_\p{Alpha}][\$_\p{Alpha}\p{Nd}]*|(\{([^\{\}]|(\{([^\{\}]|\{[^\{\}]*\})*\}))*\})|(\(([^\(\)]|(\(([^\(\)]|\([^\(\)]*\))*\)))*\))|(\[([^\]\[]|(\[([^\]\[]|\[[^\]\[]*\])*\]))*\])|('([^'\\]|\\[^\n])*')|("([^"\\]|\\[^\n])*")|(`([^\\\`]|\\[^\n])*`))(?=\p{space}*([\,\.\<\>\[]|=>|&(?!&)|\|(?!\|)))))([^\(\<\>]|(\(([^\(\)]|(\(([^\(\)]|\([^\(\)]*\))*\)))*\))|(?<==)>|<\p{space}*(((keyof|infer|typeof|readonly)\p{space}+)|(([\$_\p{Alpha}][\$_\p{Alpha}\p{Nd}]*|(\{([^\{\}]|(\{([^\{\}]|\{[^\{\}]*\})*\}))*\})|(\(([^\(\)]|(\(([^\(\)]|\([^\(\)]*\))*\)))*\))|(\[([^\]\[]|(\[([^\]\[]|\[[^\]\[]*\])*\]))*\])|('([^'\\]|\\[^\n])*')|("([^"\\]|\\[^\n])*")|(`([^\\\`]|\\[^\n])*`))(?=\p{space}*([\,\.\<\>\[]|=>|&(?!&)|\|(?!\|)))))(([^\(\<\>]|(\(([^\(\)]|(\(([^\(\)]|\([^\(\)]*\))*\)))*\))|(?<==)>|<\p{space}*(((keyof|infer|typeof|readonly)\p{space}+)|(([\$_\p{Alpha}][\$_\p{Alpha}\p{Nd}]*|(\{([^\{\}]|(\{([^\{\}]|\{[^\{\}]*\})*\}))*\})|(\(([^\(\)]|(\(([^\(\)]|\([^\(\)]*\))*\)))*\))|(\[([^\]\[]|(\[([^\]\[]|\[[^\]\[]*\])*\]))*\])|('([^'\\]|\\[^\n])*')|("([^"\\]|\\[^\n])*")|(`([^\\\`]|\\[^\n])*`))(?=\p{space}*([\,\.\<\>\[]|=>|&(?!&)|\|(?!\|)))))([^\(\<\>]|(\(([^\(\)]|(\(([^\(\)]|\([^\(\)]*\))*\)))*\))|(?<==)>)*(?<!=)>))*(?<!=)>)*(?<!=)>\p{space}*)?`)/dgv,end:/(?=`)/dgv,patterns:[{begin:/(?=(([\$_\p{Alpha}][\$_\p{Alpha}\p{Nd}]*\p{space}*\??\.\p{space}*)*|(\??\.\p{space}*)?)([\$_\p{Alpha}][\$_\p{Alpha}\p{Nd}]*))/dgv,end:/(?=(<\p{space}*(((keyof|infer|typeof|readonly)\p{space}+)|(([\$_\p{Alpha}][\$_\p{Alpha}\p{Nd}]*|(\{([^\{\}]|(\{([^\{\}]|\{[^\{\}]*\})*\}))*\})|(\(([^\(\)]|(\(([^\(\)]|\([^\(\)]*\))*\)))*\))|(\[([^\]\[]|(\[([^\]\[]|\[[^\]\[]*\])*\]))*\])|('([^'\\]|\\[^\n])*')|("([^"\\]|\\[^\n])*")|(`([^\\\`]|\\[^\n])*`))(?=\p{space}*([\,\.\<\>\[]|=>|&(?!&)|\|(?!\|)))))([^\(\<\>]|(\(([^\(\)]|(\(([^\(\)]|\([^\(\)]*\))*\)))*\))|(?<==)>|<\p{space}*(((keyof|infer|typeof|readonly)\p{space}+)|(([\$_\p{Alpha}][\$_\p{Alpha}\p{Nd}]*|(\{([^\{\}]|(\{([^\{\}]|\{[^\{\}]*\})*\}))*\})|(\(([^\(\)]|(\(([^\(\)]|\([^\(\)]*\))*\)))*\))|(\[([^\]\[]|(\[([^\]\[]|\[[^\]\[]*\])*\]))*\])|('([^'\\]|\\[^\n])*')|("([^"\\]|\\[^\n])*")|(`([^\\\`]|\\[^\n])*`))(?=\p{space}*([\,\.\<\>\[]|=>|&(?!&)|\|(?!\|)))))(([^\(\<\>]|(\(([^\(\)]|(\(([^\(\)]|\([^\(\)]*\))*\)))*\))|(?<==)>|<\p{space}*(((keyof|infer|typeof|readonly)\p{space}+)|(([\$_\p{Alpha}][\$_\p{Alpha}\p{Nd}]*|(\{([^\{\}]|(\{([^\{\}]|\{[^\{\}]*\})*\}))*\})|(\(([^\(\)]|(\(([^\(\)]|\([^\(\)]*\))*\)))*\))|(\[([^\]\[]|(\[([^\]\[]|\[[^\]\[]*\])*\]))*\])|('([^'\\]|\\[^\n])*')|("([^"\\]|\\[^\n])*")|(`([^\\\`]|\\[^\n])*`))(?=\p{space}*([\,\.\<\>\[]|=>|&(?!&)|\|(?!\|)))))([^\(\<\>]|(\(([^\(\)]|(\(([^\(\)]|\([^\(\)]*\))*\)))*\))|(?<==)>)*(?<!=)>))*(?<!=)>)*(?<!=)>\p{space}*)?`)/dgv,patterns:[{include:"#support-function-call-identifiers"},{match:/([\$_\p{Alpha}][\$_\p{Alpha}\p{Nd}]*)/dgv,name:"entity.name.function.tagged-template.ts"}]},{include:"#typeArguments"}]},{begin:/([\$_\p{Alpha}][\$_\p{Alpha}\p{Nd}]*)?\p{space}*(?=(<\p{space}*(((keyof|infer|typeof|readonly)\p{space}+)|(([\$_\p{Alpha}][\$_\p{Alpha}\p{Nd}]*|(\{([^\{\}]|(\{([^\{\}]|\{[^\{\}]*\})*\}))*\})|(\(([^\(\)]|(\(([^\(\)]|\([^\(\)]*\))*\)))*\))|(\[([^\]\[]|(\[([^\]\[]|\[[^\]\[]*\])*\]))*\])|('([^'\\]|\\[^\n])*')|("([^"\\]|\\[^\n])*")|(`([^\\\`]|\\[^\n])*`))(?=\p{space}*([\,\.\<\>\[]|=>|&(?!&)|\|(?!\|)))))([^\(\<\>]|(\(([^\(\)]|(\(([^\(\)]|\([^\(\)]*\))*\)))*\))|(?<==)>|<\p{space}*(((keyof|infer|typeof|readonly)\p{space}+)|(([\$_\p{Alpha}][\$_\p{Alpha}\p{Nd}]*|(\{([^\{\}]|(\{([^\{\}]|\{[^\{\}]*\})*\}))*\})|(\(([^\(\)]|(\(([^\(\)]|\([^\(\)]*\))*\)))*\))|(\[([^\]\[]|(\[([^\]\[]|\[[^\]\[]*\])*\]))*\])|('([^'\\]|\\[^\n])*')|("([^"\\]|\\[^\n])*")|(`([^\\\`]|\\[^\n])*`))(?=\p{space}*([\,\.\<\>\[]|=>|&(?!&)|\|(?!\|)))))(([^\(\<\>]|(\(([^\(\)]|(\(([^\(\)]|\([^\(\)]*\))*\)))*\))|(?<==)>|<\p{space}*(((keyof|infer|typeof|readonly)\p{space}+)|(([\$_\p{Alpha}][\$_\p{Alpha}\p{Nd}]*|(\{([^\{\}]|(\{([^\{\}]|\{[^\{\}]*\})*\}))*\})|(\(([^\(\)]|(\(([^\(\)]|\([^\(\)]*\))*\)))*\))|(\[([^\]\[]|(\[([^\]\[]|\[[^\]\[]*\])*\]))*\])|('([^'\\]|\\[^\n])*')|("([^"\\]|\\[^\n])*")|(`([^\\\`]|\\[^\n])*`))(?=\p{space}*([\,\.\<\>\[]|=>|&(?!&)|\|(?!\|)))))([^\(\<\>]|(\(([^\(\)]|(\(([^\(\)]|\([^\(\)]*\))*\)))*\))|(?<==)>)*(?<!=)>))*(?<!=)>)*(?<!=)>\p{space}*)`)/dgv,beginCaptures:{"1":{name:"entity.name.function.tagged-template.ts"}},end:/(?=`)/dgv,patterns:[{include:"#typeArguments"}]}]},templateLiteralSubstitutionElement:{begin:/\$\{/dgv,beginCaptures:{"0":{name:"punctuation.definition.template-expression.begin.ts"}},contentName:"meta.embedded.line.ts",end:/\}/dgv,endCaptures:{"0":{name:"punctuation.definition.template-expression.end.ts"}},name:"meta.template.expression.ts",patterns:[{include:"#ngExpression"}]},ternaryExpression:{begin:/(?!\?\.\p{space}*\P{Nd})(\?)(?!\?)/dgv,beginCaptures:{"1":{name:"keyword.operator.ternary.ts"}},end:/\p{space}*(:)/dgv,endCaptures:{"1":{name:"keyword.operator.ternary.ts"}},patterns:[{include:"#ngExpression"}]},thisLiteral:{match:/(?<![\$\.])\bthis\b(?!\$)/dgv,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:/:/dgv,beginCaptures:{"0":{name:"keyword.operator.type.annotation.ts"}},end:/(?=(?=\n?$)|[\]\)\,\;\}]|\/\/|")|(?==[^\>])|(?<=[\]\$\)\>_\}\p{Alpha}])\p{space}*(?=\{)/dgv,name:"meta.type.annotation.ts",patterns:[{include:"#type"}]},typeArguments:{begin:/</dgv,beginCaptures:{"0":{name:"punctuation.definition.typeparameters.begin.ts"}},end:/>/dgv,endCaptures:{"0":{name:"punctuation.definition.typeparameters.end.ts"}},name:"meta.type.parameters.ts",patterns:[{include:"#typeArgumentsBody"}]},typeArgumentsBody:{patterns:[{captures:{"0":{name:"keyword.operator.type.ts"}},match:/(?<![\$_\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))(_)(?![\$_\p{Alpha}\p{Nd}])(?:(?=\.\.\.)|(?!\.))/dgv},{include:"#type"},{include:"#punctuationComma"}]},typeBuiltinLiterals:{match:/(?<![\$\.])\b(this|true|false|undefined|null)\b(?!\$)/dgv,name:"support.type.builtin.ts"},typeFnTypeParameters:{patterns:[{captures:{"1":{name:"keyword.control.new.ts"}},match:/(?<![\$\.])\b(new)\b(?=\p{space}*<)/dgv,name:"meta.type.constructor.ts"},{begin:/(?<![\$\.])\b(new)\b\p{space}*(?=\()/dgv,beginCaptures:{"1":{name:"keyword.control.new.ts"}},end:/(?<=\))/dgv,name:"meta.type.constructor.ts",patterns:[{include:"#functionParameters"}]},{begin:/(?<=>)\p{space}*(?=\()/dgv,end:/(?<=\))/dgv,include:"#typeofOperator",name:"meta.type.function.ts",patterns:[{include:"#functionParameters"}]},{begin:/((?=\(\p{space}*((\))|(\.\.\.)|([\$_\p{Alpha}\p{Nd}]+\p{space}*(([\,\:\=\?])|(\)\p{space}*=>))))))/dgv,end:/(?<=\))/dgv,name:"meta.type.function.ts",patterns:[{include:"#functionParameters"}]}]},typeName:{patterns:[{captures:{"1":{name:"entity.name.type.module.ts"},"2":{name:"punctuation.accessor.ts"}},match:/([\$_\p{Alpha}][\$_\p{Alpha}\p{Nd}]*)\p{space}*([\!\?]?\.)/dgv},{match:/[\$_\p{Alpha}][\$_\p{Alpha}\p{Nd}]*/dgv,name:"entity.name.type.ts"}]},typeObject:{begin:/\{/dgv,beginCaptures:{"0":{name:"punctuation.definition.block.ts"}},end:/\}/dgv,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:/[\&\|]/dgv,name:"keyword.operator.type.ts"},{match:/(?<![\$\.])\bkeyof\b(?!\$)/dgv,name:"keyword.operator.expression.keyof.ts"}]},typeParenOrFunctionParameters:{begin:/\(/dgv,beginCaptures:{"0":{name:"meta.brace.round.ts"}},end:/\)/dgv,endCaptures:{"0":{name:"meta.brace.round.ts"}},name:"meta.type.paren.cover.ts",patterns:[{include:"#type"},{include:"#functionParameters"}]},typeTuple:{begin:/\[/dgv,beginCaptures:{"0":{name:"meta.brace.square.ts"}},end:/\]/dgv,endCaptures:{"0":{name:"meta.brace.square.ts"}},name:"meta.type.tuple.ts",patterns:[{include:"#type"},{include:"#punctuationComma"}]},typeofOperator:{match:/(?<![\$\.])\btypeof\b(?!\$)/dgv,name:"keyword.operator.expression.typeof.ts"},undefinedLiteral:{match:/(?<![\$\.])\bundefined\b(?!\$)/dgv,name:"constant.language.undefined.ts"},variableInitializer:{begin:/(?<![\!\=])(=)(?!=)/dgv,beginCaptures:{"1":{name:"keyword.operator.assignment.ts"}},end:/(?=(?=\n?$)|[\]\)\,\;\}])/dgv,patterns:[{include:"#ngExpression"}]}},scopeName:"expression.ng",displayName:undefined,embeddedLangs:undefined,aliases:undefined})
|
|
2
2
|
|
|
3
3
|
export default [
|
|
4
4
|
lang
|