github-linguist 7.19.0 → 7.20.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (70) hide show
  1. checksums.yaml +4 -4
  2. data/grammars/liquid.injection.json +1 -1
  3. data/grammars/markdown.cadence.codeblock.json +1 -0
  4. data/grammars/markdown.prisma.codeblock.json +1 -0
  5. data/grammars/source.abap.json +1 -1
  6. data/grammars/source.acucobol.json +1 -1
  7. data/grammars/source.alloy.json +1 -1
  8. data/grammars/source.astro.json +1 -0
  9. data/grammars/source.ats.json +1 -1
  10. data/grammars/source.berry.bytecode.json +1 -0
  11. data/grammars/source.berry.json +1 -0
  12. data/grammars/source.bms.json +1 -0
  13. data/grammars/source.bmsmap.json +1 -0
  14. data/grammars/source.cadence.json +1 -0
  15. data/grammars/source.cairo.json +1 -0
  16. data/grammars/source.cl.json +1 -1
  17. data/grammars/source.cobol.json +1 -1
  18. data/grammars/source.cobol_acu_listfile.json +1 -0
  19. data/grammars/source.cobol_mf_listfile.json +1 -0
  20. data/grammars/source.cobol_mfprep.json +1 -0
  21. data/grammars/source.cobol_pcob_listfile.json +1 -0
  22. data/grammars/source.cobolit.json +1 -0
  23. data/grammars/source.cobsql_dir.json +1 -0
  24. data/grammars/source.dart.json +1 -1
  25. data/grammars/source.denizenscript.json +1 -1
  26. data/grammars/source.dir.json +1 -0
  27. data/grammars/source.fsharp.json +1 -1
  28. data/grammars/source.gdscript.json +1 -1
  29. data/grammars/source.genero-forms.json +1 -0
  30. data/grammars/source.genero.json +1 -0
  31. data/grammars/source.hlasm.json +1 -0
  32. data/grammars/source.jcl.json +1 -1
  33. data/grammars/source.kotlin.json +1 -1
  34. data/grammars/source.ligo.json +1 -0
  35. data/grammars/source.mc.json +1 -0
  36. data/grammars/source.mfu.json +1 -0
  37. data/grammars/source.mfupp_dir.json +1 -0
  38. data/grammars/source.mligo.json +1 -0
  39. data/grammars/source.p4.json +1 -1
  40. data/grammars/source.pli.json +1 -0
  41. data/grammars/source.pony.json +1 -1
  42. data/grammars/source.q.json +1 -1
  43. data/grammars/source.rascal.json +1 -1
  44. data/grammars/source.rego.json +1 -1
  45. data/grammars/source.religo.json +1 -0
  46. data/grammars/source.rescript.json +1 -1
  47. data/grammars/source.rpgle.json +1 -1
  48. data/grammars/source.shell.json +1 -1
  49. data/grammars/source.solidity.json +1 -1
  50. data/grammars/source.stan.json +1 -1
  51. data/grammars/source.swift.json +1 -1
  52. data/grammars/source.talon.json +1 -0
  53. data/grammars/source.utreport.json +1 -0
  54. data/grammars/source.vyper.json +1 -1
  55. data/grammars/source.win32-messages.json +1 -0
  56. data/grammars/source.yara.json +1 -1
  57. data/grammars/text.html.liquid.json +1 -1
  58. data/grammars/text.html.markdown.astro.json +1 -1
  59. data/grammars/text.savane.json +1 -0
  60. data/grammars/version +1 -1
  61. data/lib/linguist/VERSION +1 -1
  62. data/lib/linguist/generic.yml +1 -0
  63. data/lib/linguist/heuristics.yml +12 -0
  64. data/lib/linguist/languages.json +1 -1
  65. data/lib/linguist/languages.yml +109 -2
  66. data/lib/linguist/samples.json +1 -1
  67. metadata +32 -5
  68. data/grammars/source.opencobol.json +0 -1
  69. data/grammars/text.html.astro.json +0 -1
  70. data/lib/linguist/linguist.so +0 -0
@@ -1 +1 @@
1
- {"name":"COBOL","scopeName":"source.cobol","patterns":[{"name":"comment.line.note.python","match":"(^[0-9 a-zA-Z\\*\\-][0-9 a-zA-Z\\\\*\\-][0-9 a-zA-Z\\*\\-][0-9 a-zA-Z\\*\\-][0-9 a-zA-Z\\*\\-][0-9 a-zA-Z\\*\\-][\\*/][\u003e ]\\s*(?i:NOTE|FIXME|TODO|CHANGED).*$)"},{"name":"comment.line.set.cobol","match":"(^[0-9 a-zA-Z\\*\\-][0-9 a-zA-Z\\\\*\\-][0-9 a-zA-Z\\*\\-][0-9 a-zA-Z\\*\\-][0-9 a-zA-Z\\*\\-][0-9 a-zA-Z\\*\\-][\\*/].*$)"},{"name":"keyword.control.import","match":"(?:^|\\s)((?i)\\$\\s*set.*ilusing)(?:$|.*$)"},{"name":"comment.line.set.cobol","match":"(?:^|\\s)((?i)\\$\\s*set)(?:$|\\s.*$)"},{"name":"comment.line.note.python","match":"(\\*\u003e\\s*(?i:NOTE|FIXME|TODO|CHANGED).*$)"},{"name":"comment.line.rem.cobol","match":"(^ \\*.*$|^\\*.*$)"},{"name":"meta.preprocessor","match":"(?:^|\\s)((?i)\\$\\s*(?i:if|else|then|display|xfd|end))(?:$|\\s.*$)"},{"name":"invalid.illegal.cobol","match":"(?:^|\\s)\u003e\u003e(?i:if|else|elif|end-if)(?:$|\\s.*$)"},{"name":"comment.line.rem.cobol","match":"(^[0-9][0-9][0-9][0-9][0-9][0-9])"},{"name":"comment.line.rem.cobol","match":"(\\*\u003e.*$)"},{"name":"constant.numeric.integer.hexadecimal.cobol","match":"([nN][xX]|[hHxX])'[[:xdigit:]]*'"},{"name":"invalid.illegal.hexadecimal.cobol","match":"([nN][xX]|[hHxX])'.*'"},{"name":"constant.numeric.integer.hexadecimal.cobol","match":"([nN][xX]|[hHxX])\"[[:xdigit:]]*\""},{"name":"invalid.illegal.hexadecimal.cobol","match":"([nN][xX]|[hHxX])\".*\""},{"name":"constant.numeric.integer.octal.cobol","match":"[oO]\"[0-7]*\""},{"name":"invalid.illegal.octal.cobol","match":"[oO]\".*\""},{"match":"((\\b(?\u003c!-))(?i:installation|author|source-computer|object-computer|date-written|security|date-compiled)(.*)(\\.|$))","captures":{"1":{"name":"keyword.verb.cobol"},"2":{"name":"keyword.verb.cobol"},"3":{"name":"comment.line.cobol"}}},{"name":"constant.numeric.cobol","match":"(?\u003c=(\\(|\\[))((\\-\\+)*[0-9 ,\\.\\+\\-\\*\\/]+)(?=(\\)|\\]))","captures":{"1":{"name":"keyword.start.bracket.cobol"},"2":{"name":"constant.numeric.cobol"},"3":{"name":"keyword.end.bracket.cobol"}}},{"name":"constant.numeric.cobol","match":"(\\s|^)(\\-|\\+)?((([0-9]+\\.?[0-9]*)|(\\.[0-9]+))((e|E)(\\+|-)?[0-9]+)?)([LlFfUuDd]|UL|ul)?(?=\\s|\\.|,|\\))"},{"name":"constant.language.cobol","match":"\\b(?\u003c!-)(?i:true|false|null|nulls)(?=\\s|\\.|$)"},{"name":"constant.language.figurative.cobol","match":"\\b(?\u003c!-)(?i:zeroes|alphabetic|alphanumeric|zeros|zeros|zero|spaces|space|quotes|quote|low-values|low-value|high-values|high-value)(?=\\s|\\.|,|\\))"},{"name":"string.quoted.cobol","begin":"(?i:exec\\s+sql)","end":"(?i:end-exec|end\\s*exec)","patterns":[{"name":"variable.cobol","match":"\\:([a-zA-Z\\-])*"},{"include":"source.sql"}]},{"name":"string.quoted.cobol","begin":"(?i:exec\\s+cics)","end":"(?i:end\\-exec|end\\s*exec)","patterns":[{"name":"keyword.identifiers.cobol","match":"(?i:ABEND|ACQUIRE|ADDRESS\\s*SET|ADDRESS|ADD\\s*SUBEVENT|ALLOCATE|ASKTIME|ASSIGN|BIF\\s*DEEDIT|BIF\\s*DIGEST|BMS|BUILD\\s*ATTACH|CANCEL|CHANGE\\s*PASSWORD|CHANGE\\s*TASK|CHECK\\s*ACQPROCESS|CHECK\\s*ACTIVITY|CHECK\\s*TIMER|CONNECT\\s*PROCESS|CONVERSE|CONVERTTIME|DEFINE\\s*ACTIVITY|DEFINE\\s*COMPOSITE\\s*EVENT|DEFINE\\s*COUNTER|DEFINE\\s*INPUT\\s*EVENT|DEFINE\\s*PROCESS|DEFINE\\s*TIMER|DELAY|DELETEQ\\s*TD|DELETEQ\\s*TS|DELETE\\s*ACTIVITY|DELETE\\s*CONTAINER|DELETE\\s*COUNTER|DELETE\\s*EVENT|DELETE\\s*TIMER|DELETE|DEQ|DOCUMENT\\s*CREATE|DOCUMENT\\s*DELETE|DOCUMENT\\s*INSERT|DOCUMENT\\s*RETRIEVE|DOCUMENT\\s*SET|DUMP\\s*TRANSACTION|ENDBROWSE\\s*ACTIVITY|ENDBROWSE\\s*CONTAINER|ENDBROWSE\\s*EVENT|ENDBROWSE\\s*PROCESS|ENDBR|ENQ|ENTER\\s*TRACENUM|EXTRACT\\s*ATTACH|EXTRACT\\s*ATTRIBUTES|EXTRACT\\s*CERTIFICATE|EXTRACT\\s*LOGONMSG|EXTRACT\\s*PROCESS|EXTRACT\\s*TCPIP|EXTRACT\\s*TCT|EXTRACT\\s*WEB|FORCE\\s*TIMER|FORMATTIME|FREEMAIN||FREE|GDS\\s*ALLOCATE|GDS\\s*ASSIGN|GDS\\s*CONNECT\\s*PROCESS|GDS\\s*EXTRACT\\s*ATTRIBUTES|GDS\\s*EXTRACT\\s*PROCESS|GDS\\s*FREE|GDS\\s*ISSUE\\s*ABEND|GDS\\s*ISSUE\\s*CONFIRMATION|GDS\\s*ISSUE\\s*ERROR|GDS\\s*ISSUE\\s*PREPARE|GDS\\s*ISSUE\\s*SIGNAL|GDS\\s*RECEIVE|GDS\\s*SEND|GDS\\s*WAIT|GETMAIN|GETNEXT\\s*ACTIVITY|GETNEXT\\s*CONTAINER|GETNEXT\\s*EVENT|GETNEXT\\s*PROCESS|GET\\s*CONTAINER|GET\\s*COUNTER|GET\\s*DCOUNTER|HANDLE\\s*ABEND|HANDLE\\s*AID|HANDLE\\s*CONDITION|IGNORE\\s*CONDITION|INQUIRE\\s*ACTIVITYID|INQUIRE\\s*CONTAINER|INQUIRE\\s*EVENT|INQUIRE\\s*PROCESS|INQUIRE\\s*TIMER|INVOKE\\s*SERVICE|INVOKE\\s*WEBSERVICE|ISSUE\\s*ABEND|ISSUE\\s*ABORT|ISSUE\\s*ADD|ISSUE\\s*CONFIRMATION|ISSUE\\s*COPY|ISSUE\\s*DISCONNECT|ISSUE\\s*ENDFILE|ISSUE\\s*ENDOUTPUT|ISSUE\\s*END|ISSUE\\s*EODS|ISSUE\\s*ERASEAUP|ISSUE\\s*ERASE|ISSUE\\s*ERROR|ISSUE\\s*LOAD|ISSUE\\s*NOTE|ISSUE\\s*PASS|ISSUE\\s*PREPARE|ISSUE\\s*PRINT|ISSUE\\s*QUERY|ISSUE\\s*RECEIVE|ISSUE\\s*REPLACE|ISSUE\\s*RESET|ISSUE\\s*SEND|ISSUE\\s*SIGNAL)"},{"name":"keyword.identifiers.cobol","match":"(?\u003c!-)(?i:FROM|ERASE|LENGTH|RESP|ISSUE\\s*WAIT|LINK\\s*ACQPROCESS|LINK\\s*ACTIVITY|LINK|LOAD|MONITOR|MOVE\\s*CONTAINER|POINT|POP\\s*HANDLE|POST|PURGE\\s*MESSAGE|PUSH\\s*HANDLE|PUT\\s*CONTAINER|QUERY\\s*COUNTER|QUERY\\s*DCOUNTER|QUERY\\s*SECURITY|READNEXT|READPREV|READQ\\s*TD|READQ\\s*TS|READ|RECEIVE\\s*MAP\\s*MAPPINGDEV|RECEIVE\\s*MAP|RECEIVE\\s*PARTN|RECEIVE|RELEASE|REMOVE\\s*SUBEVENT|RESETBR|RESET\\s*ACQPROCESS|RESET\\s*ACTIVITY|RESUME|RETRIEVE\\s*REATTACH\\s*EVENT|RETRIEVE\\s*SUBEVENT|RETRIEVE|RETURN|REWIND\\s*COUNTER|REWIND\\s*DCOUNTER|REWRITE|ROUTE|RUN|SEND\\s*CONTROL|SEND\\s*MAP\\s*MAPPINGDEV|SEND\\s*MAP|SEND\\s*PAGE|SEND\\s*PARTNSET|SEND\\s*TEXTNOEDIT|SEND\\s*TEXT\\s*MAPPED|SEND\\s*TEXT|SEND|SIGNAL\\s*EVENT|SIGNOFF|SIGNON|SOAPFAULT\\s*ADD|SOAPFAULT\\s*CREATE|SOAPFAULT\\s*DELETE|SPOOLCLOSE|SPOOLOPEN\\s*INPUT|SPOOLOPEN\\s*OUTPUT|SPOOLREAD|SPOOLWRITE|STARTBROWSE\\s*ACTIVITY|STARTBROWSE\\s*CONTAINER|STARTBROWSE\\s*EVENT|STARTBROWSE\\s*PROCESS|STARTBR|START\\s*ATTACH|START\\s*BREXIT|START\\s*TRANSID|START|SUSPEND|SYNCPOINT\\s*ROLLBACK|SYNCPOINT|TEST\\s*EVENT|TRANSFORM\\s*DATATOXML|TRANSFORM\\s*XMLTODATA|UNLOCK|UPDATE\\s*COUNTER|UPDATE\\s*DCOUNTER|WAITCICS|WAIT\\s*CONVID|WAIT\\s*EVENT|WAIT\\s*EXTERNAL|WAIT\\s*JOURNALNAME|WAIT\\s*JOURNALNUM|WAIT\\s*SIGNAL|WAIT\\s*TERMINAL|WEB\\s*CLOSE|WEB\\s*CONVERSE|WEB\\s*ENDBROWSE\\s*FORMFIELD|WEB\\s*ENDBROWSE\\s*HTTPHEADER|WEB\\s*EXTRACT|WEB\\s*OPEN|WEB\\s*PARSE\\s*URL|WEB\\s*READNEXT\\s*FORMFIELD|WEB\\s*READNEXT\\s*HTTPHEADER|WEB\\s*READ\\s*FORMFIELD|WEB\\s*READ\\s*HTTPHEADER|WEB\\s*RECEIVE|WEB\\s*RETRIEVE|WEB\\s*SEND|WEB\\s*STARTBROWSE\\s*FORMFIELD|WEB\\s*STARTBROWSE\\s*HTTPHEADER|WEB\\s*WRITE\\s*HTTPHEADER|WRITEQ\\s*TD|WRITEQ\\s*TS|WRITE\\s*JOURNALNAME|WRITE\\s*JOURNALNUM|WRITE\\s*OPERATOR|WRITE|WSACONTEXT\\s*BUILD|WSACONTEXT\\s*DELETE|WSACONTEXT\\s*GET|WSAEPR\\s*CREATE|XCTL)"},{"name":"constant.numeric.cobol","match":"([0-9]*)"},{"name":"variable.cobol","match":"\\(.*\\)"}]},{"name":"string.quoted.cobol","begin":"(?i:exec\\s*ado)","end":"(?i:end\\-exec|end\\s*exec)","patterns":[{"name":"variable.cobol","match":"\\:([a-zA-Z\\-])*"},{"include":"source.sql"}]},{"name":"string.quoted.cobol","begin":"(?i:exec\\s*html)","end":"(?i:end\\-exec|end\\s*exec)","patterns":[{"include":"text.html.basic"},{"include":"text.html.basic"}]},{"name":"string.quoted.double.cobol","begin":"\"","end":"(\"|$)","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.cobol"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.cobol"}}},{"name":"string.quoted.single.cobol","begin":"'","end":"('|$)","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.cobol"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.cobol"}}},{"name":"string.quoted.double.cobol","begin":"[zZ]\"","end":"(\"|$)","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.cobol"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.cobol"}}},{"name":"string.quoted.single.cobol","begin":"[zZ]'","end":"'","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.cobol"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.cobol"}}},{"name":"string.quoted.double.cobol","begin":"[nN]\"","end":"(\"|$)","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.cobol"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.cobol"}}},{"name":"string.quoted.single.cobol","begin":"[nN]'","end":"'","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.cobol"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.cobol"}}},{"name":"keyword.identifiers.cobol","match":"\\b(?\u003c!-)(?i:id\\s*division|identification\\s*division|identification|property-id|getter|setter|entry|function-id|end\\s*attribute|attribute|interface-id|factory|ctl|class-control|options|environment\\s*division|environment-name|environment-value|environment|configuration\\s*section|configuration|decimal-point|call-convention|special-names|cursor\\s*is|update|picture\\s*symbol|currency\\s*sign|currency|repository|input-output\\s*section|input-output|file\\s*section|file-control|select|optional|i-o-control|data\\s*division|working-storage\\s*section|working-storage|section|local-storage|linkage\\s*section|linkage|communication|report|screen\\s*section|fd|rd|cd|sd|printing|procedure\\s*division|procedure|debugging|declaratives|security|based-storage|size|font|national-edited|national)\\b[^-]"},{"name":"keyword.identifiers.cobol","match":"(\\s|^)(?i)(?i:end\\s*enum|end\\s*interface|end\\s*class|end\\s*property|end\\s*method|end\\s*object|exit\\s*method|end\\s*program|end\\s*operator|create|reset|instance|delegate|end-delegate|delegate-id|declare|debug-line|debug-name|debug-contents|sort-return|exception-object|return-code|json-code|as||stop\\srun|stop)(?=\\s|\\.|,|$)"},{"name":"keyword.identifiers.cobol","match":"(\\s|^)(?i)(?i:attach\\s*method|attach\\s*del|attach|detach\\s*del|detach\\s*method|detach|method|del)(?=\\s|\\.|$)"},{"name":"keyword.other.sync.cobol","match":"(\\s|^)(?i)(?i:sync\\s*(?i:on))(?=\\s|\\.)"},{"name":"keyword.control.catch-exception.cobol","match":"(\\s|^)(?i)(?i:try|finally|catch|end-try|throw)(?=\\s|\\.|$)"},{"name":"keyword.otherverbs.cobol","match":"\\b(?\u003c!-)(?i)(?i:else|when|select|use|thru|varying|giving|remainder|tallying|through|until|execute|returning|using|\\+\\+include|copy|replace)(?=\\s)"},{"name":"keyword.identifers.cobol","match":"\\b(?\u003c!-)(?i:assign|external|organization|indexed|column|plus|line\\*s*sequential|sequential|access|dynamic|relative|label|block|contains|standard|records|record\\s*key|record|is|alternate|duplicates|reel|tape|terminal|disk\\sfilename|disk|disc|mode|random)(?=\\s|\\.)"},{"name":"support.function.cobol","match":"(?\u003c!-)(?i:function)\\s(?i:max|min|integer-of-date|integer-of-day|integer-part|integer|date-to-yyyymmdd|year-to-yyyy|day-to-yyyyddd|exp|exception-file|exception-location|exception-statement|exception-status|e|variance|integer-of-date|rem|pi|factorial|sqrt|log10|fraction-part|mean|exp|log|char|day-of-integer|date-of-integer|exp10|atan|integer-part|tan|sin|cos|midrange|addr|acos|asin|annuity|present-value|integer-of-day|ord-max|ord-min|ord|random|integer-of-date|sum|sign|standard-deviation|median|reverse|abs|upper-case|lower-case|char-national|numval|mod|range|length|locale-date|locale-time-from-seconds|locale-time|seconds-past-midnight|stored-char-length|substitute-case|substitute|seconds-from-formatted-time|seconds=past-midnight|trim|length-an|numval-c|current-date|national-of|display-of|when-compiled|integer-of-boolean|combined-datetime|concatenate)"},{"name":"support.function.cobol","match":"\\b(?\u003c!-)(?i:function)(?=\\s|\\.)"},{"name":"keyword.verbs.cobol","match":"\\b(?\u003c!-)(?i:end-accept|end-add|end-sync|end-call|end-compute|end-delete|end-display|end-divide|end-if|end-set|end-evaluate|end-multiply|end-of-page|end-perform|end-read|end-receive|end-return|end-rewrite|end-search|end-start|end-string|end-subtract|end-unstring|end-write|program|class|interface|enum|interface)(?=\\s|\\.)"},{"name":"keyword.other.cobol","match":"\\b(?\u003c!-)(?:by value|by reference|by content|property-value)(?=\\s|\\.)"},{"name":"keyword.identifers.cobol","match":"\\b(?\u003c!-)(?i:attr-string|automatic|auto-skip|footing|next|group|indicate|page-counter|linage-counter|linage|line-counter|source|control|full|required|of|input|output|i-o|extend|file|error|exception|overflow|goto|off|on|proceed|procedures|procedure|through|invalid|data|normal|eop|returning|to|for|giving|into|by|remainder|also|numeric|free|depending|converting|replacing|after|before|all|leading|first|recursive|initialized|global|initial|resident|reference|content|are|renames|like|format\\stime|values|omitted|value|ascending|descending|key|retry|until|varying|when|with|no|advancing|up|down|uccurs|ignore\\s*lock|lock|length|delimited|count|delimiter|redefines|from\\s*console|from\\s*command-line|from\\s*user\\s*name|from\\s*day\\s*yyyyddd|from\\s*day|from\\s*time|from\\s*day-of-week|from\\s*escape|from\\s*day\\s*yyyyddd|from\\s*date\\s*yyyymmdd|from\\s*date|from|raising|crt\\s*status|status|class|upon\\s*crt|upon|lines|auto|line|position|col|reporting|arithmetic|localize|program|class|interface|in|at|page)(?=\\s|\\.)"},{"match":"(\\b(?\u003c!-))(?i:type)\\s+(?:[a-zA-Z][a-zA-Z0-9\\$\\-\\._]*|[a-zA-Z])","captures":{"0":{"name":"storage.type.cobol"},"1":{"name":"keyword.verbs.cobol"},"2":{"name":"entity.name.cobol"}}},{"name":"storage.type.cobol","match":"\\b(?\u003c!-)(?i:type|bit|binary-char|binary-char-unsigned|binary-short|binary-short-unsigned|binary.long|binary-c-long|binary-long-unsigned|binary-long|binary-double|binary-double-unsigned|float-short|float-extended|float-long|bit|condition-value|characters|character\\s*type|character|comma|decimal|object\\sreference|object-reference|object|list|dictionary|unsigned)(?=\\s|\\.|,)"},{"name":"keyword.operator-id.cobol","match":"(operator-id\\s*[+\\-\\*\\/])","captures":{"1":{"name":"keyword.other.verb.cobol"},"2":{"name":"meta.symbol.cobol"}}},{"match":"(?i:self)(::)\\s*([0-9a-zA-Z_\\-\\.]*)","captures":{"0":{"name":"storage.type.cobol"},"1":{"name":"keyword.verbs.cobol"},"2":{"name":"support.type.cobol"}}},{"match":"([0-9a-zA-Z_\\-\\.]*)(::)\\s*([0-9a-zA-Z_\\-\\.]*)","captures":{"0":{"name":"support.type.cobol"},"1":{"name":"keyword.verbs.cobol"},"2":{"name":"support.type.cobol"}}},{"match":"(::)\\s*([0-9a-zA-Z_\\-\\.]*)","captures":{"1":{"name":"keyword.verbs.cobol"},"2":{"name":"support.type.cobol"}}},{"match":"\\b(?\u003c!-)(?i:type\\s+)([0-9a-zA-Z\\.]*)","captures":{"1":{"name":"keyword.verbs.cobol"},"2":{"name":"storage.type.source.cobol"}}},{"name":"keyword.verbs.cobol","match":"\\b(?\u003c!-)(?i:accept|add|address|allocate|call|cancel|chain|close|commit|compute|continue|delete|disable|display|bell|divide|eject|enable|enter|if|evaluate|exhibit|named|exit|free|generate|go\\s*to|go|goback|initialize\\sonly|initialize|initiate|inspect|merge|end-set|set|end-invoke|invoke\\s*run|invoke|move|corresponding|corr|multiply|otherwise|open|sharing|sort-merge|perform|purge|raise|ready|read|receive|release|return|rewrite|rounded|rollback|search|send|sort|start|service|subtract|suppress|terminate|then|unlock|string|unstring|validate|write|next|statement|sentence)(?=\\s|\\.|$)"},{"name":"storage.type.picture.cobol","match":"\\b(?\u003c!-)(?i:picture\\s+is|picture|pic\\s+is|pic)\\s+[-+sS\\*$09aAbBxXpPnNzZ/,.]*\\([0-9]*\\)[vV][-+sS\\*$09aAbBxXpPnNzZ/,\\.]*\\([0-9]*\\)[-|+]"},{"name":"storage.type.picture.cobol","match":"\\b(?\u003c!-)(?i:picture\\s+is|picture|pic\\s+is|pic)\\s+[-+sS\\*$09aAbBxXpPnNzZ/,.]*\\([0-9]*\\)[vV][-+sS\\*$09aAbBxXpPnNzZ/,\\.]*\\([0-9]*\\)"},{"name":"storage.type.picture.cobol","match":"\\b(?\u003c!-)(?i:picture\\s+is|picture|pic\\s+is|pic)\\s+[-+sS\\*$09aAbBxXpPnNzZ/,.]*\\([0-9]*\\)[vV\\.][-+s\\*$09aAbBsSnNxXzZ/,]*[0-9]*"},{"name":"storage.type.picture.cobol","match":"\\b(?\u003c!-)(?i:picture\\s+is|picture|pic\\s+is|pic)\\s+[-+sS\\*$09aAbBsSnpPNxXzZ/,.]*\\([0-9]*\\)[Vv\\.][-+s\\*0$9aAbBsSnNxpPXzZ/,]*"},{"name":"storage.type.picture.cobol","match":"\\b(?\u003c!-)(?i:picture\\s+is|picture|pic\\s+is|pic)\\s+[-+sS\\*$09aAbBsSnpPNxXzZ/,.]*\\([0-9]*\\)[-+s\\*0$9aAbBsSnNxpPXzZ/,]*[Vv\\.][-+s\\*0$9aAbBsSnNxpPXzZ/,]*"},{"name":"storage.type.picture.cobol","match":"\\b(?\u003c!-)(?i:picture\\s+is|picture|pic\\s+is|pic)\\s+[-+sS\\*$09aAbBsSnpPNxXzZ/,.]*\\([0-9]*\\)[-+s\\*0$9aAbBsSnNxpPXzZ/,]*"},{"name":"storage.type.picture.cobol","match":"\\b(?\u003c!-)(?i:picture\\s+is|picture|pic\\s+is|pic)\\s+[-+sS\\*$09aAbBsSnpNNxXzZ/,.]*\\([0-9]*\\)"},{"name":"storage.type.picture.cobol","match":"\\b(?\u003c!-)(?i:picture\\s+is|picture|pic\\s+is|pic)\\s+[sS]?[9aAbBsSnNxXzZ]*[Vv][9aAxbXzZ]*\\([0-9]*\\)"},{"name":"storage.type.picture.cobol","match":"\\b(?\u003c!-)(?i:picture\\s+is|picture|pic\\s+is|pic)\\s+[sS]?[9aAbBsSnNxXzZ]*[Vv][9aAxbXzZ]*"},{"name":"storage.type.picture.cobol","match":"\\b(?\u003c!-)(?i:picture\\s+is|picture|pic\\s+is|pic)\\s+[-+\\*$9aAbBsSnpPNxXzZ/,.vV]*"},{"name":"storage.type.picture.cobol","match":"\\b(?\u003c!-)(?i:computational-1|comp-1|computational-2|comp-2|computational-3|comp-3|computational-4|comp-4|computational-x|comp-x|computational-5|comp-5|computational-6|comp-6|computational-n|comp-n|packed-decimal|index|float|double|signed-short|unsigned-short|signed-int|unsigned-int|signed-long|unsigned-long|comp|computational|usage\\sis\\sdisplay|usage\\sis\\sfont|usage display|binary|mutex-pointer|data-pointer|thread-pointer|sempahore-pointer|event-pointer|program-pointer|procedure-pointer|pointer|handle|window|subwindow|control-type|thread|menu|variant|layout-manager|occurs|typedef|any|times|blank\\s*screen|blank|usage\\sis|is\\spartial|usage|justified|just|right|signed|sign|seperate)(?=\\s|\\.)"},{"name":"keyword.screens.cobol","match":"(\\s|^)(?i)(?:foreground-color|background-color|prompt|underline|reverse-video|no-echo|highlight|blink)\\b"},{"name":"storage.modifier.cobol","match":"\\b(?\u003c!-)(?i:internal|public|protected|final|private|static|new|abstract|override|readonly|property)(?=\\s|\\.)"},{"name":"keyword.operator.comparison.cobol","match":"\\s(?i:=|\u003c|\u003e|\u003c=|\u003e=|\u003c\u003e|\\+|\\-|\\*|\\/|b-and|b-or|b-xor|b-not|b-left|b-right|and|or|not|equals|equal|greater\\s*than|less\\s*than)(?=\\s|\\.)"},{"name":"keyword.verbs.cobol","match":"\\b(?\u003c!-)(?i:enum-id|valuetype-id|operator-id|method-id|class-id|program-id|attribute-id|implements|inherits)(?=\\s|\\.|$/)"},{"name":"keyword.verbs.cobol","match":"\\b(?!-)(?i:installation|author|source-computer|object-computer|date-written|date-compiled)(?=\\s|\\.)"},{"name":"support.type.cobol","match":"\\b(?\u003c!-)(?i:sysout-flush|sysin|stderr|stdout|csp|stdin|sysipt|sysout|syslist|syslst|printer|syserr|console|c01|c02|c03|c04|c05|c06|c07|c08|c09|c10|c11|c12|formfeed|switch-0|switch-10|switch-11|switch-12|switch-13|switch-13|switch-14|switch-15|switch-1|switch-2|switch-3|switch-4|switch-5|switch-6|switch-7|switch-8|switch-9|sw0|sw11|sw12|sw13|sw14|sw15|sw1|sw2|sw3|sw4|sw5|sw6|sw7|sw8|sw9|sw10|lc_all|lc_collate|lc_ctype|lc_messages|lc_monetary|lc_numeric|lc_time|ucs-4|utf-8|utf-16)(?=\\s|\\.|$)"},{"name":"keyword.xml.cobol","match":"\\b(?\u003c!-)(?i:end-xml|processing.*procedure|xml\\sparse|xml|xml-information|xml-text|xml-schema|xml-ntext|xml-namespace|xml-namespace-prefix|xml-event|xml-declaration|xml-code|xml-nnamespace-prefix|xml-nnamespace)(?=\\s|\\.|$)"},{"name":"keyword.json.cobol","match":"\\b(?\u003c!-)(?i:json\\s*generate|json|end-json|name\\sof)(?=\\s|\\.|$)"},{"name":"invalid.illegal.cobol","match":"\\b(?\u003c!-)(?i:alter|remarks)(?=\\s|\\.)"},{"name":"keyword.filler.cobol","match":"(?i:filler)"},{"name":"meta.symbol.cobol","match":"(([a-zA-Z0-9][a-zA-Z\\-0-9]+))"}]}
1
+ {"name":"COBOL","scopeName":"source.cobol","patterns":[{"name":"token.info-token.cobol","match":"(^[ \\*][ \\*][ \\*][ \\*][ \\*][ \\*])([dD]\\s.*$)"},{"match":"(^[ \\*][ \\*][ \\*][ \\*][ \\*][ \\*])(\\/.*$)","captures":{"1":{"name":"constant.numeric.cobol"},"2":{"name":"comment.line.cobol.newpage"}}},{"match":"(^[ \\*][ \\*][ \\*][ \\*][ \\*][ \\*])(\\*.*$)","captures":{"1":{"name":"constant.numeric.cobol"},"2":{"name":"comment.line.cobol.fixed"}}},{"match":"(^[0-9\\s][0-9\\s][0-9\\s][0-9\\s][0-9\\s][0-9\\s])(\\/.*$)","captures":{"1":{"name":"constant.numeric.cobol"},"2":{"name":"comment.line.cobol.newpage"}}},{"name":"constant.numeric.cobol","match":"^[0-9\\s][0-9\\s][0-9\\s][0-9\\s][0-9\\s][0-9\\s]$"},{"match":"(^[0-9\\s][0-9\\s][0-9\\s][0-9\\s][0-9\\s][0-9\\s])(\\*.*$)","captures":{"1":{"name":"constant.numeric.cobol"},"2":{"name":"comment.line.cobol.fixed"}}},{"match":"(^[0-9a-zA-Z\\s\\$#%\\.@\\- ][0-9a-zA-Z\\s\\$#%\\.@\\- ][0-9a-zA-Z\\s\\$#%\\.@\\- ][0-9a-zA-Z\\s\\$#%\\.@\\- ][0-9a-zA-Z\\s\\$#%\\.@\\- ][0-9a-zA-Z\\s\\$#%\\.@\\- ])(\\*.*$)","captures":{"1":{"name":"constant.cobol"},"2":{"name":"comment.line.cobol.fixed"}}},{"match":"^\\s+(78)\\s+([0-9a-zA-Z][a-zA-Z\\-0-9_]+)","captures":{"1":{"name":"constant.numeric.cobol"},"2":{"name":"variable.other.constant"}}},{"match":"^\\s+([0-9]+)\\s+([0-9a-zA-Z][a-zA-Z\\-0-9_]+)\\s+((?i:constant))","captures":{"1":{"name":"constant.numeric.cobol"},"2":{"name":"variable.other.constant"},"3":{"name":"keyword.identifers.cobol"}}},{"match":"(^[0-9a-zA-Z\\s\\$#%\\.@][0-9a-zA-Z\\s\\$#%\\.@][0-9a-zA-Z\\s\\$#%\\.@][0-9a-zA-Z\\s\\$#%\\.@][0-9a-zA-Z\\s\\$#%\\.@][0-9a-zA-Z\\s\\$#%\\.@])(\\/.*$)","captures":{"1":{"name":"constant.cobol"},"2":{"name":"comment.line.cobol.newpage"}}},{"name":"comment.line.cobol.fixed","match":"^\\*.*$"},{"match":"((?:^|\\s+)(?i:\\$set)\\s+)((?i:constant)\\s+)([0-9a-zA-Z][a-zA-Z\\-0-9]+\\s*)([a-zA-Z\\-0-9]*)","captures":{"1":{"name":"keyword.control.directive.conditional.cobol"},"2":{"name":"entity.name.function.preprocessor.cobol"},"3":{"name":"entity.name.function.cobol"},"4":{"name":"keyword.control.directive.conditional.cobol"}}},{"match":"((?i:\\$\\s*set\\s+)(ilusing)(\\()(.*)(\\)))","captures":{"1":{"name":"entity.name.function.preprocessor.cobol"},"2":{"name":"storage.modifier.import.cobol"},"3":{"name":"punctuation.begin.bracket.round.cobol"},"4":{"name":"string.quoted.other.cobol"},"5":{"name":"punctuation.end.bracket.round.cobol"}}},{"match":"((?i:\\$\\s*set\\s+)(ilusing)(\")(.*)(\"))","captures":{"1":{"name":"entity.name.function.preprocessor.cobol"},"2":{"name":"storage.modifier.import.cobol"},"3":{"name":"punctuation.definition.string.begin.cobol"},"4":{"name":"string.quoted.other.cobol"},"5":{"name":"punctuation.definition.string.begin.cobol"}}},{"match":"((?i:\\$set))\\s+(\\w+)\\s*(\")(\\w*)(\")","captures":{"1":{"name":"keyword.control.directive.conditional.cobol"},"2":{"name":"entity.name.function.preprocessor.cobol"},"3":{"name":"punctuation.definition.string.begin.cobol"},"4":{"name":"string.quoted.other.cobol"},"5":{"name":"punctuation.definition.string.begin.cobol"}}},{"match":"((?i:\\$set))\\s+(\\w+)\\s*(\\()(.*)(\\))","captures":{"1":{"name":"keyword.control.directive.conditional.cobol"},"2":{"name":"entity.name.function.preprocessor.cobol"},"3":{"name":"punctuation.begin.bracket.round.cobol"},"4":{"name":"string.quoted.other.cobol"},"5":{"name":"punctuation.end.bracket.round.cobol"}}},{"match":"(?:^|\\s+)(?i:\\$\\s*set\\s)((?i:01SHUFFLE|64KPARA|64KSECT|AUXOPT|CHIP|DATALIT|EANIM|EXPANDDATA|FIXING|FLAG-CHIP|MASM|MODEL|OPTSIZE|OPTSPEED|PARAS|PROTMODE|REGPARM|SEGCROSS|SEGSIZE|SIGNCOMPARE|SMALLDD|TABLESEGCROSS|TRICKLECHECK|\\s)+).*$","captures":{"0":{"name":"keyword.control.directive.conditional.cobol"},"1":{"name":"invalid.illegal.directive"},"2":{"name":"comment.line.set.cobol"}}},{"match":"(\\$region|\\$end-region)(.*$)","captures":{"1":{"name":"keyword.control.directive.cobol"},"2":{"name":"entity.other.attribute-name.preprocessor.cobol"}}},{"name":"invalid.illegal.iscobol","begin":"\\$(?i:doc)(.*$)","end":"\\$(?i:end-doc)(.*$)"},{"name":"invalid.illegal.meta.preprocessor.cobolit","match":"\u003e\u003e\\s*(?i:turn|page|listing|leap-seconds|d)\\s+.*$"},{"match":"((((\u003e\u003e|\\$)[\\s]*)(?i:if|else|elif|end-if|end-evaluate|end|define|evaluate|when|display|call-convention|set))(.*$))","captures":{"1":{"name":"keyword.control.directive.conditional.cobol"},"2":{"name":"entity.name.function.preprocessor.cobol"},"3":{"name":"entity.name.function.preprocessor.cobol"}}},{"match":"(\\*\u003e)\\s+(@[0-9a-zA-Z][a-zA-Z\\-0-9]+)\\s+(.*$)","captures":{"1":{"name":"comment.line.scantoken.cobol"},"2":{"name":"keyword.cobol"},"3":{"name":"string.cobol"}}},{"name":"comment.line.modern","match":"(\\*\u003e.*$)"},{"name":"strong comment.line.set.acucobol","match":"(\u003e\u003e.*)$"},{"name":"constant.numeric.integer.hexadecimal.cobol","match":"([nNuU][xX]|[hHxX])'[[:xdigit:]]*'"},{"name":"invalid.illegal.hexadecimal.cobol","match":"([nNuU][xX]|[hHxX])'.*'"},{"name":"constant.numeric.integer.hexadecimal.cobol","match":"([nNuU][xX]|[hHxX])\"[[:xdigit:]]*\""},{"name":"invalid.illegal.hexadecimal.cobol","match":"([nNuU][xX]|[hHxX])\".*\""},{"name":"constant.numeric.integer.octal.cobol","match":"[oO]\"[0-7]*\""},{"name":"invalid.illegal.octal.cobol","match":"[oO]\".*\""},{"name":"meta.symbol.cobol.forced","match":"(#)([0-9a-zA-Z][a-zA-Z\\-0-9]+)"},{"name":"comment.block.cobol.remark","begin":"((?\u003c![-_a-zA-Z0-9()-])(?i:installation|author|source-computer|object-computer|date-written|security|date-compiled)(\\.|$))","end":"(?=((?\u003c![-_])(?i:remarks|author|date-written|source-computer|object-computer|installation|date-compiled|special-names|security|environment\\s+division|data\\s+division|working-storage\\s+section|input-output\\s+section|linkage\\s+section|procedure\\s+division|local-storage\\s+section)|^[ \\*][ \\*][ \\*][ \\*][ \\*][ \\*]\\*.*$|^\\+$))","patterns":[{"name":"constant.numeric.cobol","match":"(^[0-9 ][0-9 ][0-9 ][0-9 ][0-9 ][0-9 ])"}],"beginCaptures":{"0":{"name":"keyword.identifiers.cobol"}}},{"name":"constant.numeric.cobol","match":"(?\u003c=(\\(|\\[))((\\-\\+)*\\s*[0-9 ,\\.\\+\\-\\*\\/]+)(?=(\\)|\\]))","captures":{"1":{"name":"keyword.start.bracket.cobol"},"2":{"name":"constant.numeric.cobol"},"3":{"name":"keyword.end.bracket.cobol"}}},{"include":"#number-complex-constant"},{"include":"#number-simple-constant"},{"name":"constant.language.cobol","match":"(?\u003c![-_])(?i:true|false|null|nulls)(?![0-9A-Za-z_-])"},{"name":"constant.language.figurative.cobol","match":"(?\u003c![-_])(?i:zeroes|alphabetic-lower|alphabetic-upper|alphanumeric-edited|alphabetic|alphabet|alphanumeric|zeros|zeros|zero|spaces|space|quotes|quote|low-values|low-value|high-values|high-value)(?=\\s+|\\.|,|\\))"},{"name":"keyword.verb.cobol","contentName":"meta.embedded.block.sql","begin":"(?i:exec\\s+sqlims|exec\\s+sql)","end":"(?i:end\\-exec)","patterns":[{"name":"comment.line.sql","match":"(^\\s*\\*.*)$"},{"name":"variable.cobol","match":"(\\:([0-9a-zA-Z\\-_])*)"},{"include":"source.sql"}]},{"name":"keyword.verb.cobol","contentName":"meta.embedded.block.cics","begin":"(?i:exec\\s+cics)","end":"(?i:end\\-exec)","patterns":[{"name":"meta.symbol.cobol","match":"(\\()"},{"include":"#cics-keywords"},{"include":"#string-double-quoted-constant"},{"include":"#string-quoted-constant"},{"include":"#number-complex-constant"},{"include":"#number-simple-constant"},{"name":"variable.cobol","match":"([a-zA-Z-0-9_]*[a-zA-Z0-9]|([#]?[0-9a-zA-Z]+[a-zA-Z-0-9_]*[a-zA-Z0-9]))"}]},{"name":"keyword.verb.cobol","contentName":"meta.embedded.block.sql","begin":"(?i:exec\\s+sqlims)","end":"(?i:end\\-exec)","patterns":[{"name":"variable.cobol","match":"(\\:([a-zA-Z\\-])*)"},{"include":"source.sql"}]},{"name":"keyword.verb.cobol","contentName":"meta.embedded.block.sql","begin":"(?i:exec\\s+ado)","end":"(?i:end\\-exec)","patterns":[{"name":"variable.cobol","match":"(\\:([a-zA-Z\\-])*)"},{"include":"source.sql"}]},{"name":"keyword.verb.cobol","contentName":"meta.embedded.block.html","begin":"(?i:exec\\s+html)","end":"(?i:end\\-exec)","patterns":[{"include":"text.html.basic"}]},{"name":"keyword.verb.cobol","contentName":"meta.embedded.block.java","begin":"(?i:exec\\s+java)","end":"(?i:end\\-exec)","patterns":[{"include":"source.java"}]},{"match":"(\")(CBL_.*)(\")","captures":{"1":{"name":"punctuation.definition.string.begin.cobol"},"2":{"name":"support.function.cobol"},"3":{"name":"punctuation.definition.string.end.cobol"}}},{"match":"(\")(PC_.*)(\")","captures":{"1":{"name":"punctuation.definition.string.begin.cobol"},"2":{"name":"support.function.cobol"},"3":{"name":"punctuation.definition.string.end.cobol"}}},{"name":"string.quoted.double.cobol","begin":"\"","end":"(\"|$)","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.cobol"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.cobol"}}},{"match":"(\\')(CBL_.*)(\\')","captures":{"1":{"name":"punctuation.definition.string.begin.cobol"},"2":{"name":"support.function.cobol"},"3":{"name":"punctuation.definition.string.end.cobol"}}},{"match":"(\\')(PC_.*)(\\')","captures":{"1":{"name":"punctuation.definition.string.begin.cobol"},"2":{"name":"support.function.cobol"},"3":{"name":"punctuation.definition.string.end.cobol"}}},{"name":"string.quoted.single.cobol","begin":"'","end":"('|$)","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.cobol"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.cobol"}}},{"name":"string.quoted.double.cobol","begin":"(?\u003c![\\-\\w])[gGzZ]\"","end":"(\"|$)","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.cobol"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.cobol"}}},{"name":"string.quoted.single.cobol","begin":"(?\u003c![\\-\\w])[gGzZ]'","end":"'","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.cobol"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.cobol"}}},{"name":"string.quoted.double.cobol","begin":"(?\u003c![\\-\\w])[gGnN]\"","end":"(\"|$)","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.cobol"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.cobol"}}},{"name":"string.quoted.single.cobol","begin":"(?\u003c![\\-\\w])[gGnN]'","end":"'","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.cobol"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.cobol"}}},{"name":"string.quoted.utf8.double.cobol","begin":"(?\u003c![\\-\\w])[uU]\"","end":"(\"|$)","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.cobol"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.cobol"}}},{"name":"string.quoted.utf8.single.cobol","begin":"(?\u003c![\\-\\w])[uU]'","end":"'","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.cobol"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.cobol"}}},{"name":"keyword.identifiers.cobol","match":"(?\u003c![-_])(?i:id\\s+division|identification\\s+division|identification|id|property-id|getter|setter|entry|function-id|end\\s+attribute|attribute|interface-id|indexer-id|factory|ctl|class-control|options|environment\\s+division|environment-name|environment-value|environment|configuration\\s+section|configuration|decimal-point\\s+is|decimal-point|console\\s+is|call-convention|special-names|cursor\\s+is|update|picture\\s+symbol|currency\\s+sign|currency|repository|input-output\\s+section|input-output|file\\s+section|file-control|select|optional|i-o-control|data\\s+division|working-storage\\s+section|working-storage|section|local-storage|linkage\\s+section|linkage|communication|report|screen\\s+section|object-storage|object\\s+section|class-object|fd|rd|cd|sd|printing|procedure\\s+division|procedure|division|references|debugging|end\\s+declaratives|declaratives|end\\s+static|end\\s+factory|end\\s+class-object|based-storage|size|font|national-edited|national)(?![0-9A-Za-z_-])"},{"match":"(?\u003c![-_])((?i:valuetype-id|operator-id|method-id|method|property-id|attribute-id|enum-id|iterator-id|class-id|program-id|operator-id|end\\s+program|end\\s+valuetype|extension))[\\.]*[\\s]+([a-zA-Z0-9_-]*)","captures":{"1":{"name":"keyword.verb.cobol"},"2":{"name":"entity.name.function.cobol"}}},{"name":"keyword.verb.cobol","match":"(?\u003c![-_])(?i:implements|inherits|constraints|constrain)(?=\\s|\\.)"},{"name":"keyword.identifiers.cobol","match":"(?\u003c![-_])(?i:end\\s+enum|end\\s+interface|end\\s+class|end\\s+property|end\\s+method|end\\s+object|end\\s+iterator|end\\s+function|end\\s+operator|end\\s+program|end\\s+indexer|create|reset|instance|delegate|end-delegate|delegate-id|declare|exception-object|as|stop\\s+iterator|stop\\s+run|stop)(?=\\s|\\.|,|\\))"},{"name":"keyword.identifiers.cobol","match":"\\s+(?i:attach\\s+method|attach\\s+del|attach|detach\\s+del|detach\\s+method|detach|method|del)(?=\\s|\\.|$)"},{"name":"keyword.other.sync.cobol","match":"\\s+(?i:sync\\s+(?i:on))(?=\\s|\\.)"},{"name":"keyword.control.catch-exception.cobol","match":"\\s+(?i:try|finally|catch|end-try|throw)(?=\\s|\\.|$)"},{"name":"keyword.otherverb.cobol","match":"(?\u003c![-_])(?i:select|use|thru|varying|giving|remainder|tallying|through|until|execute|returning|using|chaining|yielding|\\+\\+include|copy|replace)(?=\\s)"},{"name":"keyword.identifers.cobol","match":"(?\u003c![-_])(?i:assign|external|prototype|organization|organisation|indexed|column|plus|line\\*s*sequential|sequential|access|dynamic|relative|label|block|contains|standard|records|record\\s+key|record|is|alternate|duplicates|reel|tape|terminal|disk\\sfilename|disk|disc|recording\\smode|mode|random)(?=\\s|\\.)"},{"name":"support.function.cobol","match":"(?\u003c![-_])(?i:max|min|integer-of-date|integer-of-day|integer-part|integer|date-to-yyyymmdd|year-to-yyyy|day-to-yyyyddd|exp|exception-file|exception-location|exception-statement|exception-status|e|variance|integer-of-date|rem|pi|factorial|sqrt|log10|fraction-part|mean|exp|log|char|day-of-integer|date-of-integer|exp10|atan|integer-part|tan|sin|cos|midrange|addr|acos|asin|annuity|present-value|integer-of-day|ord-max|ord-min|ord|random|integer-of-date|sum|standard-deviation|median|reverse|abs|upper-case|lower-case|char-national|numval|mod|range|length|locale-date|locale-time-from-seconds|locale-time|seconds-past-midnight|stored-char-length|substitute-case|substitute|seconds-from-formatted-time|seconds-past-midnight|trim|length-an|numval-c|current-date|national-of|display-of|when-compiled|integer-of-boolean|combined-datetime|concatenate)(?=\\s|\\.|\\(|\\))"},{"name":"keyword.verb.cobol","match":"(?\u003c![-_])(?i:function)(?=\\s|\\.)"},{"name":"keyword.verb.cobol","match":"(?\u003c![-_])(?i:end-accept|end-add|end-sync|end-compute|end-delete|end-display|end-divide|end-set|end-multiply|end-of-page|end-read|end-receive|end-return|end-rewrite|end-search|end-start|end-string|end-subtract|end-unstring|end-write|program|class|interface|enum|interface)(?![0-9A-Za-z_-])"},{"name":"keyword.other.cobol","match":"(?\u003c![-_])(?:by value|by reference|by content|property-value)(?![0-9A-Za-z_-])"},{"name":"keyword.identifers.cobol","match":"(?\u003c![-_])(?i:attr-string|automatic|auto-skip|footing|next|group|indicate|source|control|full|required|of|input|output|i-o|extend|file|error|exception|overflow|goto|off|on|proceed|procedures|procedure|through|invalid|data|normal|eop|returning|to|for|giving|into|by|params|remainder|also|numeric|free|depending|converting|replacing|after|before|all|leading|first|recursive|initialized|global|common|initial|resident|reference|content|are\\sstandard|are|renames|like|format\\stime|values|omitted|value|constant|ascending|descending|key|retry|until|varying|with|no|advancing|up|down|uccurs|ignore\\s+lock|lock|length|delimited|count|delimiter|redefines|from\\s+console|from\\s+command-line|from\\s+user\\s+name|from\\s+day\\s+yyyyddd|from\\s+day|from\\s+time|from\\s+day-of-week|from\\s+escape|from\\s+day\\s+yyyyddd|from\\s+date\\s+yyyymmdd|from\\s+date|from|raising|crt\\s+status|status|class|upon\\s+crt|upon|lines|columns|step|linage|auto|line|position|col|reports|code-set|reporting|arithmetic|localize|program|class|interface|in|at\\s+end|page|name)(?![0-9A-Za-z_-])"},{"match":"(?\u003c![-_])(?i:type|new)\\s+([a-zA-Z][a-zA-Z0-9\\$\\-\\._]*|[a-zA-Z])(?=\\.$)","captures":{"0":{"name":"keyword.verb.cobol"},"1":{"name":"storage.type.cobol"}}},{"name":"storage.type.cobol","match":"(?\u003c![-_])(?i:string)(?=\\s+value|\\.)"},{"name":"storage.type.cobol","match":"(?\u003c![-_])(?i:bit|byte|binary-char|binary-char-unsigned|binary-short|binary-short-unsigned|binary.long|binary-c-long|binary-long-unsigned|binary-long|binary-double|binary-double-unsigned|float-short|float-extended|float-long|bit|condition-value|characters|character\\s+type|character|comma|crt|decimal|object\\+sreference|object-reference|object|list|dictionary|unsigned)(?=\\s|\\.|,|\\]|\\[)"},{"name":"keyword.operator-id.cobol","match":"(operator-id\\s+[+\\-\\*\\/])","captures":{"1":{"name":"keyword.other.verb.cobol"},"2":{"name":"meta.symbol.cobol"}}},{"match":"(?i:self)(\\:\\:)([0-9a-zA-Z_\\-\\.]*)(?=\\.$)","captures":{"1":{"name":"punctuation.accessor.cobol.b3"},"2":{"name":"entity.name.function.b3"}}},{"match":"(\\:\\:)([0-9a-zA-Z_\\-\\.]*)","captures":{"1":{"name":"punctuation.accessor.cobol"},"2":{"name":"entity.name.function.cobol"}}},{"match":"(?\u003c![-_])(?i:type)\\s+([0-9a-zA-Z\\.]*)","captures":{"0":{"name":"keyword.verb.cobol.aa"},"1":{"name":"storage.type.cobol.bb"}}},{"name":"keyword.control.cobol","match":"(?\u003c![-_])(?i:if|else|end-if|exit\\s+iterator|exit\\s+program|exit\\s+method|evaluate|end-evaluate|exit\\s+perform|perform|end-perform|when\\s+other|when|continue|call|end-call|chain|end-chain|invoke|end\\s+invoke|go\\s+to|go|sort|merge|use|xml|parse|stop\\s+run|goback\\s+returning|goback|raise|exit\\s+function|await)(?![0-9A-Za-z_-])"},{"match":"(?\u003c![-_])((?i:picture\\s+is|picture|pic\\s+is|pic)\\s+[-+sS\\*$09aAbBxXpPnNzZ/,.]*)\\(([0-9]*)\\)([vV][-+sS\\*$09aAbBxXpPnNzZ/,\\.]*)\\(([0-9]*)\\)[-|+]","captures":{"1":{"name":"storage.type.picture10.cobol"},"2":{"name":"constant.numeric.cobol"},"3":{"name":"storage.type.picture10.cobol"},"4":{"name":"constant.numeric.cobol"}}},{"match":"(?\u003c![-_])((?i:picture\\s+is|picture|pic\\s+is|pic)\\s+[-+sS\\*$09aAbBxXpPnNzZ/,.]*)\\(([0-9]*)\\)([vV][-+sS\\*$09aAbBxXpPnNzZ/,\\.]*)\\(([0-9]*)\\)","captures":{"1":{"name":"storage.type.picture9.cobol"},"2":{"name":"constant.numeric.cobol"},"3":{"name":"storage.type.picture9.cobol"},"4":{"name":"constant.numeric.cobol"}}},{"match":"(?\u003c![-_])((?i:picture\\s+is|picture|pic\\s+is|pic)\\s+[-+sS\\*$09aAbBxXpPnNzZ/,.]*)\\(([0-9]*)\\)([vV\\.][-+s\\*$09aAbBsSnNxXzZ/,]*[0-9\\.()])*","captures":{"1":{"name":"storage.type.picture8.cobol"},"2":{"name":"constant.numeric.cobol"},"3":{"name":"storage.type.picture8.cobol"}}},{"name":"storage.type.picture7.cobol","match":"(?\u003c![-_])(?i:picture\\s+is|picture|pic\\s+is|pic)\\s+[-+sS\\*$09aAbBsSnpPNxXzZ/,.]*\\([0-9]*\\)[Vv\\.][-+s\\*0$9aAbBsSnNxpPXzZ/,]*"},{"name":"storage.type.picture6.cobol","match":"(?\u003c![-_])(?i:picture\\s+is|picture|pic\\s+is|pic)\\s+[-+sS\\*$09aAbBsSnpPNxXzZ/,.]*\\([0-9]*\\)[-+s\\*0$9aAbBsSnNxpPXzZ/,]*[Vv\\.][-+s\\*0$9aAbBsSnNxpPXzZ/,]*"},{"match":"(?\u003c![-_])((?i:picture\\s+is|picture|pic\\s+is|pic)\\s+[-+sS\\*$09aAbBsSnpPNxXzZ/,.]*)\\(([0-9]*)\\)[-+s\\*0$9aAbBsSnNxpPXzZ/,]*","captures":{"1":{"name":"storage.type.picture5.cobol"},"2":{"name":"constant.numeric.cobol"}}},{"name":"storage.type.picture4.cobol","match":"(?\u003c![-_])(?i:picture\\s+is|picture|pic\\s+is|pic)\\s+[-+sS\\*$09aAbBsSnpNNxXzZ/,.]*\\([0-9]*\\)"},{"name":"storage.type.picture3.cobol","match":"(?\u003c![-_])(?i:picture\\s+is|picture|pic\\s+is|pic)\\s+[sS]?[9aAbBsSnNxXzZ]*[Vv][9aAxbXzZ]*\\([0-9]*\\)"},{"name":"storage.type.picture2.cobol","match":"(?\u003c![-_])(?i:picture\\s+is|picture|pic\\s+is|pic)\\s+[sS]?[9aAbBsSnNxXzZ]*[Vv][9aAxbXzZ]*"},{"name":"storage.type.picture1.cobol","match":"(?\u003c![-_])(?i:picture\\s+is|picture|pic\\s+is|pic)\\s+[-+\\*$9aAbBsSnpPNxXzZ/,.vV]*"},{"match":"((?\u003c![-_])(?i:binary|computational-4|comp-4|computational-5|comp-5))\\(([0-9]*)\\)","captures":{"1":{"name":"invalid.illegal.keyword.verb.acu.cobol"},"2":{"name":"invalid.illegal.constant.numeric.integer"}}},{"name":"support.function.cbltypes.cobol","match":"(?i:cblt-x1-compx-const|cblt-x2-compx-const|cblt-x4-compx-const|cblt-alphanum-const|cblt-x9-compx|cblt-x8-compx|cblt-x8-comp5|cblt-x4-compx|cblt-x4-comp5|cblt-x2-compx|cblt-x2-comp5|cblt-x1-compx|cblt-x1-comp5|cblt-x1|cblt-vfile-status|cblt-vfile-handle|cblt-sx8-comp5|cblt-sx4-comp5|cblt-sx2-comp5|cblt-sx1-comp5|cblt-subsys-params|cblt-splitjoin-buf|cblt-screen-position|cblt-rtncode|cblt-request-context|cblt-reqhand-service-info|cblt-reqhand-service-funcs|cblt-reqhand-response|cblt-reqhand-funcs|cblt-prog-info-params|cblt-prog-info-arg-info|cblt-printer-properties|cblt-printer-name|cblt-printer-info|cblt-printer-default|cblt-ppointer|cblt-pointer|cblt-os-ssize|cblt-os-size|cblt-os-offset|cblt-os-info-params|cblt-os-flags|cblt-node-name|cblt-nls-msg-params|cblt-nls-msg-number-pair|cblt-nls-msg-ins-struct|cblt-nls-msg-buffer|cblt-mouse-shape|cblt-mouse-rect|cblt-mouse-pos|cblt-mouse-event|cblt-mem-validate-param|cblt-idp-exit-service-funcs|cblt-idp-exit-info|cblt-HWND|cblt-HINSTANCE|cblt-get-scr-line-draw-buffer|cblt-get-scr-graphics-buffer|cblt-generic-attr-value|cblt-generic-attr-rgb-values|cblt-generic-attr-information|cblt-file-status|cblt-fileexist-buf|cblt-exit-params|cblt-exit-info-params|cblt-cancel-proc-params|cblt-bytestream-handle|cblt-alphanum)"},{"name":"storage.type.picture.cobol","match":"(?\u003c![-_])(?i:computational-1|comp-1|computational-2|comp-2|computational-3|comp-3|computational-4|comp-4|computational-x|comp-x|computational-5|comp-5|computational-6|comp-6|computational-n|comp-n|packed-decimal|index|float|double|signed-short|unsigned-short|signed-int|unsigned-int|signed-long|unsigned-long|comp|computational|usage\\sis\\sdisplay|usage\\sis\\sfont|usage\\s+display|binary|mutex-pointer|data-pointer|thread-pointer|sempahore-pointer|event-pointer|program-pointer|procedure-pointer|pointer|window|subwindow|control-type|thread|menu|variant|layout-manager|occurs|typedef|any|times|display\\s+blank\\s+when|blank\\s+when|blank\\s+screen|blank|usage\\sis|is\\spartial|usage|justified|just|right|signed|trailing\\s+separate|sign|seperate|sql)(?=\\s|\\.|\\))"},{"name":"keyword.verb.cobol","match":"(?\u003c![-_])(?i:accept|add|address|allocate|cancel|close|commit|compute|continue|delete|disable|display|bell|divide|eject|enable|enter|evaluate|exhibit|named|exit|free|generate|go\\s+to|initialize\\sonly|initialize|initiate|inspect|merge|end-set|set|end-invoke|invoke\\s+run|invoke|move|corresponding|corr|multiply|otherwise|open|sharing|sort-merge|purge|ready|read|kept|receive|release|return|rewrite|rounded|rollback|search|send|sort|collating\\s+sequence|collating|start|service|subtract|suppress|terminate|then|unlock|string|unstring|validate|write|next|statement|sentence)(?![0-9A-Za-z_-])"},{"name":"keyword.verb.cobol","match":"(?\u003c![-_])(?i:thread-local)(?![0-9A-Za-z_-])"},{"name":"keyword.screens.cobol","match":"(\\s+|^)(?i:foreground-color|background-color|prompt|underline|reverse-video|no-echo|highlight|blink)(?![0-9A-Za-z_-])"},{"name":"invalid.illegal.screens.acu.cobol","match":"(\\s+|^)(?i:bold|high|lowlight|low|standard|background-high|background-low|background-standard)(?![0-9A-Za-z_-])"},{"name":"storage.modifier.cobol","match":"(?\u003c![-_])(?i:internal|public|protected|final|private|static|new|abstract|override|readonly|property|async-void|async-value|async)(?=\\s|\\.)"},{"name":"keyword.operator.cobol","match":"=|\u003c|\u003e|\u003c=|\u003e=|\u003c\u003e|\\+|\\-|\\*|\\/|(?\u003c![-_])(?i:b-and|b-or|b-xor|b-exor|b-not|b-left|b-right|and|or|equals|equal|greater\\s+than|less\\s+than|greater)(?![0-9A-Za-z_-])"},{"name":"keyword.verb.cobol","match":"(?i:not\\s+at\\s+end)(?![0-9A-Za-z_-])"},{"name":"keyword.operator.cobol","match":"(?\u003c![-_])(?i:not)(?![0-9A-Za-z_-])"},{"name":"support.type.cobol","match":"(?\u003c![-_])(?i:sysout-flush|sysin|stderr|stdout|csp|stdin|sysipt|sysout|sysprint|syslist|syslst|printer|syserr|console|c01|c02|c03|c04|c05|c06|c07|c08|c09|c10|c11|c12|formfeed|switch-0|switch-10|switch-11|switch-12|switch-13|switch-13|switch-14|switch-15|switch-1|switch-2|switch-3|switch-4|switch-5|switch-6|switch-7|switch-8|switch-9|sw0|sw11|sw12|sw13|sw14|sw15|sw1|sw2|sw3|sw4|sw5|sw6|sw7|sw8|sw9|sw10|lc_all|lc_collate|lc_ctype|lc_messages|lc_monetary|lc_numeric|lc_time|ucs-4|utf-8|utf-16)(?![0-9A-Za-z_-])"},{"name":"keyword.xml.cobol","match":"(?\u003c![-_])(?i:end-xml|processing.*procedure|xml\\sparse|xml|xml-information|xml-text|xml-schemal|xml-declaration)(?![0-9A-Za-z_-])"},{"name":"keyword.json.cobol","match":"(?\u003c![-_])(?i:json\\s+generate|json|end-json|name\\sof)(?![0-9A-Za-z_-])"},{"name":"invalid.illegal.acu.cobol","match":"(?\u003c![-_])(?i:modify|inquire|tab|title|event|center|label-offset|cell|help-id|cells|push-button|radio-button|page-layout-screen|entry-field|list-box|label|default-font|id|no-tab|unsorted|color|height|width|bind|thread|erase|modeless|scroll|system|menu|title-bar|wrap|destroy|resizeable|user-gray|large-font|newline|3-d|data-columns|display-columns|alignment|separation|cursor-frame-width|divider-color|drag-color|heading-color|heading-divider-color|num-rows|record-data|tiled-headings|vpadding|centered-headings|column-headings|self-act|cancel-button|vscroll|report-composer|clsid|primary-interface|active-x-control|default-interface|default-source|auto-minimize|auto-resize|resource|engraved|initial-state|frame|acuactivexcontrol|activex-res|grid|box|message|namespace|class-name|module|constructor|version|strong|culture|method|handle|exception-value|read-only|dividers|graphical|indexed|termination-value|permanent|boxed|visible|centered|record-position|convert)(?=\\s|\\.|,|;|$)"},{"name":"invalid.illegal.netcobol.cobol","match":"(?\u003c![-_])(?i:actual|auto|automatic|based-storage|complex|connect|contained|core-index|db-access-control-key|db-data-name|db-exception|db-record-name|db-set-name|db-status|dead-lock|endcobol|end-disable|end-enable|end-send|end-transceive|eos|file-limits|file-limit|formatted|sort-status|usage-mode)(?=\\s|\\.|,|;|$)"},{"name":"support.type.cobol.acu strong","match":"(?\u003c![-_])(?i:System-Info|Terminal-Info)(?![0-9A-Za-z_-])"},{"name":"comment.2.block.cobol.remark","begin":"(?\u003c![-_\\*])(?i:remarks)","end":"(?i:end\\-remark|\\*{Bench}end|environment\\s+division|data\\s+division|working-storage\\s+section|file-control)","beginCaptures":{"0":{"name":"keyword.cobol"}},"endCaptures":{"0":{"name":"keyword.cobol"}}},{"name":"invalid.illegal.cobol","match":"(?\u003c![-_])(?i:alter)(?=\\s|\\.)"},{"name":"keyword.ibmreserved.cobol","match":"(?\u003c![-_])(?i:apply|areas|area|clock-units|code|com-reg|controls|dbcs|destination|detail|display-1|ending|every|insert|kanjikey|last|left|less|limits|limit|memory|metaclass|modules|more-labels|multiple|native_binary|native|negative|number|numeric-edited|other|padding|password|pf|ph|postive|processing|queue|recording|reload|removal|rerun|reserve|reserved|rewind|segment-limit|segment|separate|sequence|skip1|skip2|skip3|standard-1|standard-2|sub-queue-1|sub-queue-2|sub-queue-3|sum|symbolic|synchronized|sync|table|test|text|than|top|trace|trailing|unit|words|write-only|at|basis|beginning|bottom|cbl|cf|ch|de|positive|egcs|egi|emi|end|reversed|rf|rh|run|same|order|heading|esi)(?![0-9A-Za-z_-])"},{"name":"strong keyword.potential.reserved.cobol","match":"(?\u003c![-_])(?i:active-class|aligned|anycase|boolean|cols|col|condition|ec|eo|system-default|function-pointer)(?![0-9A-Za-z_-])"},{"name":"keyword.filler.cobol","match":"(?i:filler)"},{"name":"variable.language","match":"(?\u003c![-_])(?i:address-of|date|day-of-week|day|debug-content|debug-item|debug-line|debug-item|debug-sub-1|debug-sub-2|debug-sub-3|shift-in|shift-out|sort-control|sort-core-size|sort-file-size|sort-message|sort-return|sort-mode-size|sort-return|tally|time|when-compiled|line-counter|page-counter|return-code|linage-counter|debug-line|debug-name|debug-contents|json-code|json-status|xml-code|xml-event|xml-information|xml-namespace-prefix|xml-namespace|xml-nnamespace-repfix|xml-nnamespace|xml-ntext|jnienvptr)(?![0-9A-Za-z_-])"},{"name":"storage.type.sql.picture.cobol","match":"(?\u003c![-_])(?i:shortint1|shortint2|shortint3|shortint4|shortint5|shortint6|shortint7|longint1|longint2|longint3|longint4|longint5|longint6|bigint1|bigint2|blob-locator|clob-locator|dbclob-locator|dbclob-file|blob-file|clob-file|clob|dbclob|blob|varbinary|long-varbinary|time-record|timestamp-record|timestamp-offset-record|timestamp-offset|timestamp|rowid|xml|long-varchar)(?=\\s|\\.|\\)|\\()"},{"name":"keyword.other.self.cobol","match":"(?\u003c![-_])(?i:self)"},{"name":"keyword.other.super.cobol","match":"(?\u003c![-_])(?i:super)"},{"name":"constant.numeric.cobol","match":"(^[0-9][0-9][0-9][0-9][0-9][0-9])"},{"match":"(\\()([0-9]*)(:)([0-9]*)(\\))","captures":{"1":{"name":"meta.symbol.cobol"},"2":{"name":"constant.numeric.integer"},"3":{"name":"meta.symbol.cobol"},"4":{"name":"constant.numeric.integer"},"5":{"name":"meta.symbol.cobol"}}},{"name":"meta.symbol.cobol","match":"([a-zA-Z-0-9_]*[a-zA-Z0-9]|([#]?[0-9a-zA-Z]+[a-zA-Z-0-9_]*[a-zA-Z0-9]))"}],"repository":{"cics-keywords":{"name":"keyword.verb.cics","match":"(?\u003c![\\-\\w])(?i:abcode|abdump|abend|abort|abprogram|abstime|accum|acee|acqactivity|acqprocess|acquactivity|action|activity|activityid|actpartn|add|address|after|aid|alarm|all|allocate|alter|alternate|altscrnht|altscrnwd|and|anykey|aplkybd|apltext|applid|as|asa|asis|asktime|asraintrpt|asrakey|asrapsw|asraregs|asraspc|asrastg|assign|asynchronous|at|attach|attachid|attributes|authenticate|autopage|auxiliary|base64|basicauth|below|bif|binary|bit|bodycharset|bookmark|brdata|brdatalength|brexit|bridge|browsetoken|btrans|buffer|build|burgeability|caddrlength|cancel|card|cbuff|ccsid|certificate|change|changetime|channel|char|characterset|check|chunkend|chunking|chunkno|chunkyes|cicsdatakey|ciphers|class|clear|cliconvert|client|clientaddr|clientaddrnu|clientconv|clientname|clntaddr6nu|clntipfamily|close|closestatus|clrpartn|cmdsec|cnamelength|cnotcompl|codepage|color|commarea|commonname|commonnamlen|comparemax|comparemin|complete|composite|compstatus|condition|confirm|confirmation|connect|consistent|console|container|contexttype|control|convdata|converse|convertst|converttime|convid|copy|counter|country|countrylen|create|critical|ctlchar|current|cursor|cwa|cwaleng|data|data1|data2|datalength|datalenth|dataonly|datapointer|dataset|datastr|datatoxml|datatype|datcontainer|date|dateform|datesep|datestring|day|daycount|dayofmonth|dayofweek|dayofyear|days|daysleft|day-of-week|dcounter|ddmmyy|ddmmyyyy|debkey|debrec|debug-contents|debug-item|debug-line|debug-name|debug-sub-1|debug-sub-2|debug-sub-3|deedit|default|define|defresp|defscrnht|defscrnwd|delay|delete|deleteq|delimiter|deq|destcount|destid|destidleng|detail|detaillength|dfhresp|dfhvalue|digest|digesttype|disconnect|docdelete|docsize|docstatus|doctoken|document|ds3270|dsscs|dump|dumpcode|dumpid|duprec|ecaddr|ecblist|eib|elemname|elemnamelen|elemns|elemnslen|end|endactivity|endbr|endbrowse|endfile|endoutput|enq|enter|entry|entryname|eoc|eods|eprfield|eprfrom|eprinto|eprlength|eprset|eprtype|equal|erase|eraseaup|error|errterm|esmreason|esmresp|event|eventtype|eventual|ewasupp|exception|expect|expirytime|extds|external|extract|facility|facilitytokn|false|faultactlen|faultactor|faultcode|faultcodelen|faultcodestr|faultstring|faultstrlen|fci|fct|field|file|firestatus|flength|fmh|fmhparm|for|force|formattime|formfeed|formfield|free|freekb|freemain|from|fromactivity|fromccsid|fromchannel|fromcodepage|fromdoc|fromflength|fromlength|fromprocess|frset|fulldate|function|gchars|gcodes|gds|generic|get|getmain|getnext|gmmi|groupid|gtec|gteq|handle|head|header|hex|high-value|high-values|hilight|hold|honeom|host|hostcodepage|hostlength|hosttype|hours|httpheader|httpmethod|httprnum|httpversion|httpvnum|ignore|immediate|in|increment|initimg|initparm|initparmlen|inpartn|input|inputevent|inputmsg|inputmsglen|inquire|insert|integer|interval|into|intoccsid|intocodepage|invalidcount|invite|invmpsz|invoke|invokingprog|invpartn|invreq|issue|issuer|item|iutype|journalname|jtypeid|jusfirst|juslast|justify|katakana|keep|keylength|keynumber|l40|l64|l80|label|langinuse|languagecode|last|lastusetime|ldc|ldcmnem|ldcnum|leavekb|length|lengthlist|level|lightpen|linage-counter|line|lineaddr|line-counter|link|list|listlength|llid|load|locality|localitylen|logmessage|logmode|logonlogmode|logonmsg|low-value|low-values|luname|main|map|mapcolumn|mapfail|mapheight|mapline|maponly|mapped|mappingdev|mapset|mapwidth|massinsert|maxdatalen|maxflength|maximum|maxlength|maxlifetime|maxproclen|mcc|mediatype|message|messageid|metadata|metadatalen|method|methodlength|milliseconds|minimum|minutes|mmddyy|mmddyyyy|mode|modename|monitor|month|monthofyear|move|msr|msrcontrol|name|namelength|natlang|natlanginuse|netname|newpassword|newphrase|newphraselen|next|nexttransid|nleom|noautopage|nocc|nocheck|nocliconvert|noclose|nodata|node|nodocdelete|nodump|noedit|noflush|nohandle|noinconvert|none|nooutconert|noqueue|noquiesce|nosrvconvert|nosuspend|note|notpurgeable|notruncate|nowait|nscontainer|null|nulls|numciphers|numevents|numitems|numrec|numroutes|numsegments|numtab|of|oidcard|on|opclass|open|operation|operator|operid|operkeys|operpurge|opid|opsecurity|options|or|orgabcode|organization|organizatlen|orgunit|orgunitlen|outdescr|outline|outpartn|output|owner|pa1|pa2|pa3|page|pagenum|page-counter|paging|parse|partn|partner|partnfail|partnpage|partns|partnset|pass|passbk|password|passwordlen|path|pathlength|pct|pf1|pf10|pf11|pf12|pf13|pf14|pf15|pf16|pf17|pf18|pf19|pf2|pf20|pf21|pf22|pf23|pf24|pf3|pf4|pf5|pf6|pf7|pf8|pf9|pfxleng|phrase|phraselen|piplength|piplist|point|pool|pop|portnumber|portnumnu|post|ppt|predicate|prefix|prepare|princonvid|prinsysid|print|priority|privacy|process|processtype|proclength|procname|profile|program|protect|ps|punch|purge|purgeable|push|put|qname|query|queryparm|querystring|querystrlen|queue|quote|quotes|random|rba|rbn|rdatt|read|readnext|readprev|readq|reattach|receive|receiver|recfm|record|recordlen|recordlength|reduce|refparms|refparmslen|relatesindex|relatestype|relatesuri|release|remove|repeatable|repetable|replace|reply|replylength|reqid|requesttype|resclass|reset|resetbr|resid|residlength|resource|resp|resp2|ressec|restart|restype|result|resume|retain|retcode|retcord|retriece|retrieve|return|returnprog|return-code|rewind|rewrite|ridfld|role|rolelength|rollback|route|routecodes|rprocess|rresource|rrn|rtermid|rtransid|run|saddrlength|scheme|schemename|scope|scopelen|scrnht|scrnwd|seconds|security|segmentlist|send|sender|serialnum|serialnumlen|server|serveraddr|serveraddrnu|serverconv|servername|service|session|sesstoken|set|shared|shift-in|shift-out|sigdata|signal|signoff|signon|sit|snamelength|soapfault|sort-control|sort-core-size|sort-file-size|sort-message|sort-mode-size|sort-return|sosi|space|spaces|spoolclose|spoolopen|spoolread|spoolwrite|srvconvert|srvraddr6nu|srvripfamily|ssltype|start|startbr|startbrowse|startcode|state|statelen|stationid|status|statuscode|statuslen|statustext|storage|strfield|stringformat|subaddr|subcodelen|subcodestr|subevent|subevent1|subevent2|subevent3|subevent4|subevent5|subevent6|subevent7|subevent8|sum|suspend|suspstatus|symbol|symbollist|synchronous|synclevel|synconreturn|syncpoint|sysid|tables|tally|task|taskpriority|tcpip|tcpipservice|tct|tctua|tctualeng|td|tellerid|template|termcode|termid|terminal|termpriority|test|text|textkybd|textlength|textprint|time|timeout|timer|timesep|title|to|toactivity|tochannel|tocontainer|toflength|token|tolength|toprocess|trace|tracenum|trailer|tranpriority|transaction|transform|transid|trigger|trt|true|ts|twa|twaleng|type|typename|typenamelen|typens|typenslen|unattend|uncommitted|unescaped|unexpin|unlock|until|uow|update|uri|urimap|url|urllength|userdatakey|userid|username|usernamelen|userpriority|using|validation|value|valuelength|verify|versionlen|volume|volumeleng|wait|waitcics|web|when-compiled|wpmedia1|wpmedia2|wpmedia3|wpmedia4|wrap|write|writeq|wsacontext|wsaepr|xctl|xmlcontainer|xmltodata|xmltransform|xrba|year|yyddd|yyddmm|yymmdd|yyyyddd|yyyyddmm|yyyymmdd|zero|zeroes|zeros)(?![\\-\\w])"},"number-complex-constant":{"name":"constant.numeric.cobol","match":"(\\-|\\+)?((([0-9]+(\\.[0-9]+))|(\\.[0-9]+))((e|E)(\\+|-)?[0-9]+)?)([LlFfUuDd]|UL|ul)?(?=\\s|\\.$|,|\\))"},"number-simple-constant":{"name":"constant.numeric.cobol","match":"(\\-|\\+)?([0-9]+)(?=\\s|\\.$|,|\\))"},"string-double-quoted-constant":{"begin":"\"","end":"(\"|$)","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.cobol"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.cobol"}}},"string-quoted-constant":{"name":"string.quoted.single.cobol","begin":"'","end":"('|$)","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.cobol"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.cobol"}}}}}
@@ -0,0 +1 @@
1
+ {"name":"COBOL_ACU_LISTFILE","scopeName":"source.cobol_acu_listfile","patterns":[{"name":"strong comment.line.form_feed.cobol_acu_listfile","match":"(\\f)"},{"name":"comment.line.modern","match":".*(ACUCOBOL-GT).*$"},{"name":"comment.line.modern","match":"(^ccbl.*)"},{"match":"^\\s*([0-9]*)\\s*(\\*.*)","captures":{"1":{"name":"constant.numeric.cobol"},"2":{"name":"comment.line.cobol.modern"}}},{"name":"comment.line.modern","match":"(^\\*.*$)"},{"begin":"^CROSS-REFERENCE","end":"^STATISTICS","patterns":[{"name":"comment.line.modern","match":".*(ACUCOBOL-GT).*$"}]},{"name":"constant.numeric.cobol_acu_listfile","begin":"^\\s*([0-9]*)\\s\\s","end":"($)","patterns":[{"include":"source.acucobol"}]},{"match":"(.*$)"}]}
@@ -0,0 +1 @@
1
+ {"name":"COBOL_MF_LISTFILE","scopeName":"source.cobol_mf_listfile","patterns":[{"name":"strong comment.line.form_feed.cobol_mf_listfile","match":"(\\f)"},{"match":"(\\*)\\s+(\\d+..)(\\*+)","captures":{"1":{"name":"comment.line.modern"},"2":{"name":"invalid.illegal.cobol_mf_listfile"},"3":{"name":"markup.bold.cobol_mf_listfile"}}},{"match":"(^\\*\\*)\\s+(.*)$","captures":{"1":{"name":"comment.line.modern"},"2":{"name":"markup.bold.cobol_mf_listfile"}}},{"match":"(\\*.*:\\s+)(\\d+)(.*:\\s+)(\\d+)$","captures":{"1":{"name":"comment.line.modern"},"2":{"name":"constant.numeric.cobol_mf_listfile"},"3":{"name":"comment.line.modern"},"4":{"name":"constant.numeric.cobol_mf_listfile"}}},{"match":"(\\*.*:\\s+)(\\d+)$","captures":{"1":{"name":"comment.line.modern"},"2":{"name":"constant.numeric.cobol_mf_listfile"}}},{"name":"comment.line.modern","match":"(^\\*.*$)"},{"name":"constant.numeric.cobol_mf_listfile","begin":"(^[0-9 ][0-9 ][0-9 ][0-9 ][0-9 ][0-9])","end":"($)","patterns":[{"include":"source.cobol"}]},{"match":"(.*$)"}]}
@@ -0,0 +1 @@
1
+ {"name":"COBOL_MF_PREP","scopeName":"source.cobol_mfprep","patterns":[{"match":"^\\s\\s(013 [0-9][0-9][0-9])(.*)$","captures":{"1":{"name":"constant.numeric.cobol_mfprep"},"2":{"name":"token.info-token.source_mfprep"}}},{"match":"^\\s\\s(017 001)(.*)$","captures":{"1":{"name":"constant.numeric.cobol_mfprep"},"2":{"name":"invalid.illegal.source_mfprep"}}},{"name":"constant.numeric.cobol_mfprep","begin":"^\\s\\s(032 000)","end":"($)","patterns":[{"include":"source.cobol"}]},{"match":"(.*$)"}]}
@@ -0,0 +1 @@
1
+ {"name":"COBOL_PCOB_LISTFILE","scopeName":"source.cobol_pcob_listfile","patterns":[{"name":"strong comment.line.form_feed.cobol_pcob_listfile","match":"(\\f)"},{"match":"(Pro\\*COBOL:)\\s+(.*)-\\s+(.*on)\\s+(.*)$","captures":{"1":{"name":"entity.name.cobol_pcob_listfile"},"2":{"name":"markup.bold.cobol_pcob_listfile"},"3":{"name":"entity.name.cobol_pcob_listfile"},"4":{"name":"entity.name.cobol_pcob_listfile"}}},{"match":"(^Version|Open file:)\\s+(.*$)","captures":{"1":{"name":"entity.name.cobol_pcob_listfile"},"2":{"name":"markup.bold.cobol_pcob_listfile"}}},{"name":"comment.line.modern","match":"^Copyright.*"},{"name":"comment.line.modern","match":"^(-*)$"},{"match":"(\\*)\\s+(\\d+..)(\\*+)","captures":{"1":{"name":"comment.line.modern"},"2":{"name":"invalid.illegal.cobol_pcob_listfile"},"3":{"name":"markup.bold.cobol_pcob_listfile"}}},{"match":"(^\\*\\*)\\s+(.*)$","captures":{"1":{"name":"comment.line.modern"},"2":{"name":"markup.bold.cobol_pcob_listfile"}}},{"match":"(\\*.*:\\s+)(\\d+)(.*:\\s+)(\\d+)$","captures":{"1":{"name":"comment.line.modern"},"2":{"name":"constant.numeric.cobol_pcob_listfile"},"3":{"name":"comment.line.modern"},"4":{"name":"constant.numeric.cobol_pcob_listfile"}}},{"match":"(\\*.*:\\s+)(\\d+)$","captures":{"1":{"name":"comment.line.modern"},"2":{"name":"constant.numeric.cobol_pcob_listfile"}}},{"name":"comment.line.modern","match":"(^\\*.*$)"},{"name":"constant.numeric.cobol_pcob_listfile","begin":"(^[0-9 ][0-9 ][0-9 ][0-9 ][0-9 ][0-9])","end":"($)","patterns":[{"include":"source.cobol"}]},{"match":"(.*$)"}]}
@@ -0,0 +1 @@
1
+ {"name":"COBOLIT","scopeName":"source.cobolit","patterns":[{"name":"invalid.illegal.cobolit","begin":"(?i:EXEC\\s+CICS)","end":"(?i:END-EXEC|end\\s*exec)","patterns":[{"name":"variable.cobol","match":"\\:([a-zA-Z\\-])*"}]},{"name":"invalid.illegal.cobol","begin":"(?i:EXEC\\s*ADO)","end":"(?i:END-EXEC|end\\s*exec)","patterns":[{"name":"variable.cobol","match":"\\:([a-zA-Z\\-])*"}]},{"name":"invalid.illegal.cobol","begin":"(?i:EXEC\\s*HTML)","end":"(?i:END-EXEC|end\\s*exec)","patterns":[{"name":"variable.cobolit","match":"\\:([a-zA-Z\\-])*"}]},{"name":"invalid.illegal.cobolit","match":"(?i:invoke|end-invoke|class-id|end\\s+class|property|try|catch|end\\s+property|exit\\+smethod|method-id|end\\s+method|create|instance|delegate|exception-object|async-void|async-value|async|yielding|await|params|byte)(?=\\s+|\\.|,|\\))"},{"name":"invalid.illegal.cobolit","match":"(?:^|\\s)((?i)\\$\\s*set)(?:$|\\s.*$)"},{"name":"comment.line.set.cobolit","match":"(?:^|\\s)(?i:.*\u003e\u003eSOURCE)(?:$|\\s.*$)"},{"match":"(\u003e\u003e(\\s*)(?i:if|else|elif|end-if|define|evaluate|when|end-evaluate|display|call-convention).*)(\\*\u003e.*)$","captures":{"1":{"name":"meta.preprocessor.iso2002.cobolit"},"2":{"name":"comment.line.meta.cobolit"}}},{"name":"meta.preprocessor.iso2002.cobolit","match":"\u003e\u003e\\s*(?i:if|else|end-if|define|evaluate|when|end-evaluate|display|call-convention).*$"},{"name":"meta.preprocessor.cobolit","match":"\u003e\u003e\\s*(?i:turn|page|listing|leap-seconds|d).*$"},{"name":"invalid.illegal.cobolit","match":"(\\s|^)(?i)(?i:thread-local|extension|active-class|aligned|anycase|attribute|capacity|chain|conversion|end-chain|float-binary-128|float-binary-32|float-binary-64|float-extended|float-infinity|float-not-a-number|indirect|intermediate|left-justify|pic\\s*n|picture\\s*n|prefixed|raise|raising|right-justify|rounding|standrd-binary|standard-decimal|symbol|trailing-sign|zero-fil|display\\s*message.*)(?=\\s|\\.|$)"},{"name":"invalid.illegal.acucobol","match":"(?\u003c![-_])(?i:record-position|modify|inquire|title|event|center|label-offset|cell|help-id|cells|push-button|radio-button|page-layout-screen|entry-field|list-box|default-font|id|no-tab|unsorted|color|height|width|bind|thread|modeless|system|menu|title-bar|wrap|destroy|resizeable|user-gray|large-font|newline|3-d|data-columns|display-columns|alignment|separation|cursor-frame-width|divider-color|drag-color|heading-color|heading-divider-color|num-rows|record-data|tiled-headings|vpadding|centered-headings|column-headings|self-act|cancel-button|vscroll|report-composer|clsid|primary-interface|active-x-control|default-interface|default-source|auto-minimize|auto-resize|resource|engraved|initial-state|frame|acuactivexcontrol|activex-res|grid|box|message)(?=\\s|\\.|,|$)"},{"name":"invalid.illegal.not_implemented.cobolit","match":"(?\u003c![-_])(?i:receive|replace|system-default|table|text|nested|normal|object|options|pf|ph|purge|queue|resume|retry|rf|rh|seconds|segment|send|step|sub-queue-1|sub-queue-2|sub-queue-3|ucs-4|user-default|validate|infinity|destination|disable|ec|egi|emi|enable|end-receive|entry-convention|esi|arithmetic|cd|cf|ch|classification|communication|condition|data-pointer|active-class|aligned|anycase|boolean|class-id|end-chain|eo|exception-object|expands|factory|float-binary-128|float-binary-32|float-binary-64|float-extended|float-infinity|float-not-a-number|format|function-pointer|get|implements|inherits|interface-id|interface|invoke|lc_numeric|lc_all|lc_collate|lc_ctype|lc_messages|lc_monetary|lc-numeric|lc_time|left-justify|method-id|method|none|object-reference|override|prefixed|prototype|raise|raising|relation|right-justify|self|sources|space-fill|statement|strong|super|symbol|trailing-sign|universal|utf-16|utf-8|val-status|valid|validate-status|zero-fil)(?![0-9A-Za-z_-])"},{"name":"keyword.cobolit","match":"(?\u003c![-_])(?i:day-of-week|day|linage-counter|ready|reset|scroll|time|abend|3-d|absent|action|active-x|adjustable-columns|alignment|allowing|autoterminate|b-and|b-not|b-or|b-xor|bit|away-from-zero|background-colour|background-high|background-low|background-standard|bar|based|beep|binary-long-long|binary-sequential|bitmap-end|bitmap-handle|bitmap-number|bitmap-start|bitmap-timer|bitmap-trailing|bitmap-transparent-color|bitmap-width|box|boxed|bulk-addition|busy|buttons|cdecl|calendar-font|column-color|column-dividers|column-font|column-headings|column-protection|tab-to-add|tab-to-delete|tab|termination-value|threads|thumb-position|tiled-headings|time-out|timeout|title-position|title|toward-greater|toward-lesser|track|track-area|track-limit|tracks|traditional-font|trailing-shift|transform|transparent|tree-view|truncation|vertical|very-heavy|virtual-width|volatile|vpadding|vscroll|vscroll-bar|vscroll-pos|vtop|wait|web-browser|width|width-in-cells|wrap|write-verify|writers|yyyyddd|yyyymmdd|use-alt|use-return|use-tab|user|user-default|item-text|item-to-add|item-to-delete|item-to-empty|item-value|item|inquire|insert-rows|insertion-index|initialise|initialised|identified|ignore|ignoring|independent|hot-track|hscroll|hscroll-pos|heading-color|heading-divider-color|heading-font|heavy|height-in-cells|hidden-data|high-color|group-usage|label|group-value|handle|has-children|graphical|greater|grid|go-back|go-forward|go-home|go-search|fixed|fixed-font|fixed-width|flat|flat-buttons|file-name|file-pos|fill-color|fill-color2|fill-percent|float-decimal-16|float-decimal-34|engraved|ensure-visible|entry-convention|entry-field|entry-reason|display-columns|display-format|divider-color|dividers|dotdash|dotted|drag-color|drop-down|drop-list|foreground-colour|forever|frame|framed|escape-button|escape|equal|equals|erase|exception-value|exclusive|extended-search|extern|external-form|event|event-list|label-offset|large-font|large-offset|last-row|layout-data|leading-shift|leave|left-text|leftline|lengh-an|length-check|lower|lowered|lowlight|magnetic-tape|manual|mass-update|master-index|max-lines|max-progress|max-text|max-val|medium-font|record-data|record-overflow|record-to-add|record-to-delete|refresh|region-color|reorg-criteria|reset-grid|reset-list|reset-tabs|right-align|rimmed|row-color|row-color-pattern|row-dividers|row-font|row-headings|row-protection|save-as-no-prompt|save-as|screen|scroll|scroll-bar|search-options|search-text|seconds|secure|select-all|selection-index|selection-text|self-act|argument-number|argument-value|attributes|auto-decimal|auto-spin|cell-color|cell-data|cell-font|cell-protection|cells|center|centered|centered-headings|century-day|century-date|classification|clear-selection|cline|clines|command-line|cursor-col|cursor-color|cursor-frame-width|cursor-row|cursor-x|cursor-y|custom-print-template|cycle|cyl-index|cyl-overflow|dashed|data-columns|data-types|date-entry|default-button|default-font|line-sequential|lines-at-root|list-box|lm-resize|loc|lock-holding|long-date|low-color|navigate-url|nearest-away-from-zero|nearest-even|nearest-toward-zero|no-auto-default|no-autosel|no-box|no-dividers|no-f4|no-focus|no-group-tab|no-key-letter|no-search|no-updown|nominal|nonnumeric|not|notab|nothing|notify|notify-change|notify-dblclick|notify-selchange|num-col-headings|numbers|only|or|organisation|others|overlap-left|overlap-top|overline|page-setup|paged|paragraph|parent|pascal|permanent|physical|pixel|pixels|placement|pop-up|pos|position-shift|present|previous|print|print-no-prompt|default|cursor|crt-under|colours|colors|check-box|and|ascii|binary-int|bitmap|cancel-button|card-punch|card-reader|cassette|ccol|changed|csize|destroy|disp|and|cell|color|combo-box|copy-selection|empty-check|encoding|encryption|expand|finish-reason|full-height|icon|keyboard|locale|message|min-val|minus|modify|multiline|namespace-prefix|namespace|nested|next-item|num-rows|ok-button|prohibited|progress|properties|push-button|query-index|radio-button|raised|read-only|readers|reread|shading|shadow|short-date|show-lines|show-none|show-sel-always|small-font|sort-order|spinner|square|standard-binary|start-x|start-y|static-list|status-bar|status-text|stdcall|strong|style|temporary|unbounded|unframed|unsorted|updaters|upper|validating|value-format|variable|synchronised|system-offset|separation|and|ebcdic|echo|element|end-color|end-modify|eol|equals|equal|fh--fcd|fh--keydef|file-id|intrinsic|print-preview|printer-1|priority|type|convert|core-index|date|descriptor|dir-separator|end-exhibit|eos|erase|failure|low|object-computer|source-computer|trace|typedef|checkpoint|dir-seperator|printer|scroll|success|high|id|label)(?![0-9A-Za-z_-])"},{"name":"support.function.cobolit","match":"(?\u003c![-_])(?i:concat|content-length|content-of|currency-symbol|highest-algebraic|lowest-algebraic|module-caller-id|module-date|module-formatted-date|module-id|module-path|module-source|module-time|monetary-decimal-point|monetary-thousands-separator|numeric-decimal-point|numeric-thousands-separator|numval-f|test-date-yyyymmdd|test-day-yyyyddd|test-numval|bit-of|bit-to-char|formatted-current-date|formatted-date|formatted-datetime|formatted-time|hex-of|hex-to-char|integer-of-formatted-date|locale-compare|test-formatted-datetime|test-numval-c|test-numval-f|boolean-of-integer|char-national|display-of|exception-file-n|exception-location-n|integer-of-boolean|national-of|standard-compare|baseconvert|find-string|module-name|convert|random|sign|byte-length|length-an)(?=\\s|\\.|\\(|\\))"},{"name":"support.type.cobolit","match":"(?\u003c![-_])(?i:S01|S02|S03|S04|S05|SWITCH-16|SWITCH-17|SWITCH-18|SWITCH-19|SWITCH-20|SWITCH-21|SWITCH-22|SWITCH-23|SWITCH-24|SWITCH-25|SWITCH-26|SWITCH-27|SWITCH-28|SWITCH-29|SWITCH-30|SWITCH-31|SWITCH-32|SWITCH-33|SWITCH-34|SWITCH-35)(?![0-9A-Za-z_-])"},{"include":"source.cobol"}]}
@@ -0,0 +1 @@
1
+ {"name":"cobsql_dir","scopeName":"source.cobsql_dir","patterns":[{"name":"comment.line.cobsql_dir","match":"^(\\s*)\u0026.*$"},{"name":"string.brackets.cobsql_dir","match":"(\\(.*\\))"},{"name":"string.quoted.cobsql_dir","match":"(\".*\")$"},{"name":"keyword.cobsql_dir","match":"^(\\s*)(?i:(NOCOBSQLTYPE|NOCSQLT|NOCSTART|NOCST|NOCSTOP|NOCSP|NODEBUGFILE|NODEB|NODISPLAY|NODIS|NOEND-COBSQL|NOEND-C|NOEND|NOHSFTRACE|NOKEEPCBL|NOKEEPCOMP|NOMAKESYN|NOSQLDEBUG|NOSTOPCHK|NOTRACE|NOVERBOSE|NOXAID))(?=\"|\\(|\\s+|$)"},{"name":"keyword.other.cobsql_dir","match":"^(\\s*)(?i:(COBSQLTYPE|CSQLT|CSTART|CST|CSTOP|CSP|DEBUGFILE|DEB|DISPLAY|DIS|END-COBSQL|END-C|END|HSFTRACE|KEEPCBL|KEEPCOMP|MAKESYN|SQLDEBUG|STOPCHK|TRACE|VERBOSE|XAID))(?=\"|\\(|\\s+|$)"},{"name":"token.warn-token","match":"^(\\s*\\+.*)"},{"name":"invalid.illegal.cobsql_dir","match":"([0-9a-zA-Z\\-]+)"}]}
@@ -1 +1 @@
1
- {"name":"Dart","scopeName":"source.dart","patterns":[{"name":"meta.preprocessor.script.dart","match":"^(#!.*)$"},{"name":"meta.declaration.dart","begin":"^\\w*\\b(library|import|part of|part|export)\\b","end":";","patterns":[{"include":"#strings"},{"include":"#comments"},{"name":"keyword.other.import.dart","match":"\\b(as|show|hide)\\b"},{"name":"keyword.control.dart","match":"\\b(if)\\b"}],"beginCaptures":{"0":{"name":"keyword.other.import.dart"}},"endCaptures":{"0":{"name":"punctuation.terminator.dart"}}},{"include":"#comments"},{"include":"#punctuation"},{"include":"#annotations"},{"include":"#keywords"},{"include":"#constants-and-special-vars"},{"include":"#strings"}],"repository":{"annotations":{"patterns":[{"name":"storage.type.annotation.dart","match":"@[a-zA-Z]+"}]},"class-identifier":{"patterns":[{"match":"(?\u003c![a-zA-Z0-9_$])([_$]*[A-Z][a-zA-Z0-9_$]*(\u003c(?:[a-zA-Z0-9_$\u003c\u003e?]|,\\s*|\\s+extends\\s+)+\u003e)?|bool\\b|num\\b|int\\b|double\\b|dynamic\\b|(void)\\b)","captures":{"1":{"name":"support.class.dart"},"2":{"patterns":[{"include":"#type-args"}]},"3":{"name":"storage.type.primitive.dart"}}}]},"comments":{"patterns":[{"name":"comment.block.empty.dart","match":"/\\*\\*/","captures":{"0":{"name":"punctuation.definition.comment.dart"}}},{"include":"#comments-doc-oldschool"},{"include":"#comments-doc"},{"include":"#comments-inline"}]},"comments-block":{"patterns":[{"name":"comment.block.dart","begin":"/\\*","end":"\\*/","patterns":[{"include":"#comments-block"}]}]},"comments-doc":{"patterns":[{"name":"comment.block.documentation.dart","begin":"///","while":"^\\s*///","patterns":[{"include":"#dartdoc"}]}]},"comments-doc-oldschool":{"patterns":[{"name":"comment.block.documentation.dart","begin":"/\\*\\*","end":"\\*/","patterns":[{"include":"#comments-doc-oldschool"},{"include":"#comments-block"},{"include":"#dartdoc"}]}]},"comments-inline":{"patterns":[{"include":"#comments-block"},{"match":"((//).*)$","captures":{"1":{"name":"comment.line.double-slash.dart"}}}]},"constants-and-special-vars":{"patterns":[{"name":"constant.language.dart","match":"(?\u003c!\\$)\\b(true|false|null)\\b(?!\\$)"},{"name":"variable.language.dart","match":"(?\u003c!\\$)\\b(this|super)\\b(?!\\$)"},{"name":"constant.numeric.dart","match":"(?\u003c!\\$)\\b((0(x|X)[0-9a-fA-F]*)|(([0-9]+\\.?[0-9]*)|(\\.[0-9]+))((e|E)(\\+|-)?[0-9]+)?)\\b(?!\\$)"},{"include":"#class-identifier"},{"include":"#function-identifier"}]},"dartdoc":{"patterns":[{"match":"(\\[.*?\\])","captures":{"0":{"name":"variable.name.source.dart"}}},{"match":"^ {4,}(?![ \\*]).*","captures":{"0":{"name":"variable.name.source.dart"}}},{"contentName":"variable.other.source.dart","begin":"```.*?$","end":"```"},{"match":"(`.*?`)","captures":{"0":{"name":"variable.other.source.dart"}}},{"match":"(`.*?`)","captures":{"0":{"name":"variable.other.source.dart"}}},{"match":"(\\* (( ).*))$","captures":{"2":{"name":"variable.other.source.dart"}}}]},"function-identifier":{"patterns":[{"match":"([_$]*[a-z][a-zA-Z0-9_$]*)(\u003c(?:[a-zA-Z0-9_$\u003c\u003e?]|,\\s*|\\s+extends\\s+)+\u003e)?(\\(|\\s+=\u003e)","captures":{"1":{"name":"entity.name.function.dart"},"2":{"patterns":[{"include":"#type-args"}]}}}]},"keywords":{"patterns":[{"name":"keyword.cast.dart","match":"(?\u003c!\\$)\\bas\\b(?!\\$)"},{"name":"keyword.control.catch-exception.dart","match":"(?\u003c!\\$)\\b(try|on|catch|finally|throw|rethrow)\\b(?!\\$)"},{"name":"keyword.control.dart","match":"(?\u003c!\\$)\\b(break|case|continue|default|do|else|for|if|in|return|switch|while)\\b(?!\\$)"},{"name":"keyword.control.dart","match":"(?\u003c!\\$)\\b(sync(\\*)?|async(\\*)?|await|yield(\\*)?)\\b(?!\\$)"},{"name":"keyword.control.dart","match":"(?\u003c!\\$)\\bassert\\b(?!\\$)"},{"name":"keyword.control.new.dart","match":"(?\u003c!\\$)\\b(new)\\b(?!\\$)"},{"name":"keyword.declaration.dart","match":"(?\u003c!\\$)\\b(abstract|class|enum|extends|extension|external|factory|implements|get|mixin|native|operator|set|typedef|with|covariant)\\b(?!\\$)"},{"name":"keyword.operator.dart","match":"(?\u003c!\\$)\\b(is\\!?)\\b(?!\\$)"},{"name":"keyword.operator.ternary.dart","match":"\\?|:"},{"name":"keyword.operator.bitwise.dart","match":"(\u003c\u003c|\u003e\u003e\u003e?|~|\\^|\\||\u0026)"},{"name":"keyword.operator.assignment.bitwise.dart","match":"((\u0026|\\^|\\||\u003c\u003c|\u003e\u003e\u003e?)=)"},{"name":"keyword.operator.closure.dart","match":"(=\u003e)"},{"name":"keyword.operator.comparison.dart","match":"(==|!=|\u003c=?|\u003e=?)"},{"name":"keyword.operator.assignment.arithmetic.dart","match":"(([+*/%-]|\\~)=)"},{"name":"keyword.operator.assignment.dart","match":"(=)"},{"name":"keyword.operator.increment-decrement.dart","match":"(\\-\\-|\\+\\+)"},{"name":"keyword.operator.arithmetic.dart","match":"(\\-|\\+|\\*|\\/|\\~\\/|%)"},{"name":"keyword.operator.logical.dart","match":"(!|\u0026\u0026|\\|\\|)"},{"name":"storage.modifier.dart","match":"(?\u003c!\\$)\\b(static|final|const|required|late)\\b(?!\\$)"},{"name":"storage.type.primitive.dart","match":"(?\u003c!\\$)\\b(?:void|var)\\b(?!\\$)"}]},"punctuation":{"patterns":[{"name":"punctuation.comma.dart","match":","},{"name":"punctuation.terminator.dart","match":";"},{"name":"punctuation.dot.dart","match":"\\."}]},"string-interp":{"patterns":[{"match":"\\$([a-zA-Z0-9_]+)","captures":{"1":{"name":"variable.parameter.dart"}}},{"name":"string.interpolated.expression.dart","begin":"\\$\\{","end":"\\}","patterns":[{"name":"variable.parameter.dart","include":"#constants-and-special-vars"},{"include":"#strings"},{"name":"variable.parameter.dart","match":"[a-zA-Z0-9_]+"}]},{"name":"constant.character.escape.dart","match":"\\\\."}]},"strings":{"patterns":[{"name":"string.interpolated.triple.double.dart","begin":"(?\u003c!r)\"\"\"","end":"\"\"\"(?!\")","patterns":[{"include":"#string-interp"}]},{"name":"string.interpolated.triple.single.dart","begin":"(?\u003c!r)'''","end":"'''(?!')","patterns":[{"include":"#string-interp"}]},{"name":"string.quoted.triple.double.dart","begin":"r\"\"\"","end":"\"\"\"(?!\")"},{"name":"string.quoted.triple.single.dart","begin":"r'''","end":"'''(?!')"},{"name":"string.interpolated.double.dart","begin":"(?\u003c!\\|r)\"","end":"\"","patterns":[{"name":"invalid.string.newline","match":"\\n"},{"include":"#string-interp"}]},{"name":"string.quoted.double.dart","begin":"r\"","end":"\"","patterns":[{"name":"invalid.string.newline","match":"\\n"}]},{"name":"string.interpolated.single.dart","begin":"(?\u003c!\\|r)'","end":"'","patterns":[{"name":"invalid.string.newline","match":"\\n"},{"include":"#string-interp"}]},{"name":"string.quoted.single.dart","begin":"r'","end":"'","patterns":[{"name":"invalid.string.newline","match":"\\n"}]}]},"type-args":{"begin":"(\u003c)","end":"(\u003e)","patterns":[{"include":"#class-identifier"},{"match":"[\\s,]+"},{"name":"keyword.declaration.dart","match":"extends"}],"beginCaptures":{"1":{"name":"other.source.dart"}},"endCaptures":{"1":{"name":"other.source.dart"}}}}}
1
+ {"name":"Dart","scopeName":"source.dart","patterns":[{"name":"meta.preprocessor.script.dart","match":"^(#!.*)$"},{"name":"meta.declaration.dart","begin":"^\\w*\\b(library|import|part of|part|export)\\b","end":";","patterns":[{"include":"#strings"},{"include":"#comments"},{"name":"keyword.other.import.dart","match":"\\b(as|show|hide)\\b"},{"name":"keyword.control.dart","match":"\\b(if)\\b"}],"beginCaptures":{"0":{"name":"keyword.other.import.dart"}},"endCaptures":{"0":{"name":"punctuation.terminator.dart"}}},{"include":"#comments"},{"include":"#punctuation"},{"include":"#annotations"},{"include":"#keywords"},{"include":"#constants-and-special-vars"},{"include":"#strings"}],"repository":{"annotations":{"patterns":[{"name":"storage.type.annotation.dart","match":"@[a-zA-Z]+"}]},"class-identifier":{"patterns":[{"match":"(?\u003c![a-zA-Z0-9_$])([_$]*[A-Z][a-zA-Z0-9_$]*(\u003c(?:[a-zA-Z0-9_$\u003c\u003e?]|,\\s*|\\s+extends\\s+)+\u003e)?|bool\\b|num\\b|int\\b|double\\b|dynamic\\b|(void)\\b)","captures":{"1":{"name":"support.class.dart"},"2":{"patterns":[{"include":"#type-args"}]},"3":{"name":"storage.type.primitive.dart"}}}]},"comments":{"patterns":[{"name":"comment.block.empty.dart","match":"/\\*\\*/","captures":{"0":{"name":"punctuation.definition.comment.dart"}}},{"include":"#comments-doc-oldschool"},{"include":"#comments-doc"},{"include":"#comments-inline"}]},"comments-block":{"patterns":[{"name":"comment.block.dart","begin":"/\\*","end":"\\*/","patterns":[{"include":"#comments-block"}]}]},"comments-doc":{"patterns":[{"name":"comment.block.documentation.dart","begin":"///","while":"^\\s*///","patterns":[{"include":"#dartdoc"}]}]},"comments-doc-oldschool":{"patterns":[{"name":"comment.block.documentation.dart","begin":"/\\*\\*","end":"\\*/","patterns":[{"include":"#comments-doc-oldschool"},{"include":"#comments-block"},{"include":"#dartdoc"}]}]},"comments-inline":{"patterns":[{"include":"#comments-block"},{"match":"((//).*)$","captures":{"1":{"name":"comment.line.double-slash.dart"}}}]},"constants-and-special-vars":{"patterns":[{"name":"constant.language.dart","match":"(?\u003c!\\$)\\b(true|false|null)\\b(?!\\$)"},{"name":"variable.language.dart","match":"(?\u003c!\\$)\\b(this|super)\\b(?!\\$)"},{"name":"constant.numeric.dart","match":"(?\u003c!\\$)\\b((0(x|X)[0-9a-fA-F]*)|(([0-9]+\\.?[0-9]*)|(\\.[0-9]+))((e|E)(\\+|-)?[0-9]+)?)\\b(?!\\$)"},{"include":"#class-identifier"},{"include":"#function-identifier"}]},"dartdoc":{"patterns":[{"match":"(\\[.*?\\])","captures":{"0":{"name":"variable.name.source.dart"}}},{"match":"^ {4,}(?![ \\*]).*","captures":{"0":{"name":"variable.name.source.dart"}}},{"contentName":"variable.other.source.dart","begin":"```.*?$","end":"```"},{"match":"(`.*?`)","captures":{"0":{"name":"variable.other.source.dart"}}},{"match":"(`.*?`)","captures":{"0":{"name":"variable.other.source.dart"}}},{"match":"(\\* (( ).*))$","captures":{"2":{"name":"variable.other.source.dart"}}}]},"function-identifier":{"patterns":[{"match":"([_$]*[a-z][a-zA-Z0-9_$]*)(\u003c(?:[a-zA-Z0-9_$\u003c\u003e?]|,\\s*|\\s+extends\\s+)+\u003e)?[!?]?(\\(|\\s+=\u003e)","captures":{"1":{"name":"entity.name.function.dart"},"2":{"patterns":[{"include":"#type-args"}]}}}]},"keywords":{"patterns":[{"name":"keyword.cast.dart","match":"(?\u003c!\\$)\\bas\\b(?!\\$)"},{"name":"keyword.control.catch-exception.dart","match":"(?\u003c!\\$)\\b(try|on|catch|finally|throw|rethrow)\\b(?!\\$)"},{"name":"keyword.control.dart","match":"(?\u003c!\\$)\\b(break|case|continue|default|do|else|for|if|in|return|switch|while)\\b(?!\\$)"},{"name":"keyword.control.dart","match":"(?\u003c!\\$)\\b(sync(\\*)?|async(\\*)?|await|yield(\\*)?)\\b(?!\\$)"},{"name":"keyword.control.dart","match":"(?\u003c!\\$)\\bassert\\b(?!\\$)"},{"name":"keyword.control.new.dart","match":"(?\u003c!\\$)\\b(new)\\b(?!\\$)"},{"name":"keyword.declaration.dart","match":"(?\u003c!\\$)\\b(abstract|class|enum|extends|extension|external|factory|implements|get|mixin|native|operator|set|typedef|with|covariant)\\b(?!\\$)"},{"name":"keyword.operator.dart","match":"(?\u003c!\\$)\\b(is\\!?)\\b(?!\\$)"},{"name":"keyword.operator.ternary.dart","match":"\\?|:"},{"name":"keyword.operator.bitwise.dart","match":"(\u003c\u003c|\u003e\u003e\u003e?|~|\\^|\\||\u0026)"},{"name":"keyword.operator.assignment.bitwise.dart","match":"((\u0026|\\^|\\||\u003c\u003c|\u003e\u003e\u003e?)=)"},{"name":"keyword.operator.closure.dart","match":"(=\u003e)"},{"name":"keyword.operator.comparison.dart","match":"(==|!=|\u003c=?|\u003e=?)"},{"name":"keyword.operator.assignment.arithmetic.dart","match":"(([+*/%-]|\\~)=)"},{"name":"keyword.operator.assignment.dart","match":"(=)"},{"name":"keyword.operator.increment-decrement.dart","match":"(\\-\\-|\\+\\+)"},{"name":"keyword.operator.arithmetic.dart","match":"(\\-|\\+|\\*|\\/|\\~\\/|%)"},{"name":"keyword.operator.logical.dart","match":"(!|\u0026\u0026|\\|\\|)"},{"name":"storage.modifier.dart","match":"(?\u003c!\\$)\\b(static|final|const|required|late)\\b(?!\\$)"},{"name":"storage.type.primitive.dart","match":"(?\u003c!\\$)\\b(?:void|var)\\b(?!\\$)"}]},"punctuation":{"patterns":[{"name":"punctuation.comma.dart","match":","},{"name":"punctuation.terminator.dart","match":";"},{"name":"punctuation.dot.dart","match":"\\."}]},"string-interp":{"patterns":[{"match":"\\$([a-zA-Z0-9_]+)","captures":{"1":{"name":"variable.parameter.dart"}}},{"name":"string.interpolated.expression.dart","begin":"\\$\\{","end":"\\}","patterns":[{"name":"variable.parameter.dart","include":"#constants-and-special-vars"},{"include":"#strings"},{"name":"variable.parameter.dart","match":"[a-zA-Z0-9_]+"}]},{"name":"constant.character.escape.dart","match":"\\\\."}]},"strings":{"patterns":[{"name":"string.interpolated.triple.double.dart","begin":"(?\u003c!r)\"\"\"","end":"\"\"\"(?!\")","patterns":[{"include":"#string-interp"}]},{"name":"string.interpolated.triple.single.dart","begin":"(?\u003c!r)'''","end":"'''(?!')","patterns":[{"include":"#string-interp"}]},{"name":"string.quoted.triple.double.dart","begin":"r\"\"\"","end":"\"\"\"(?!\")"},{"name":"string.quoted.triple.single.dart","begin":"r'''","end":"'''(?!')"},{"name":"string.interpolated.double.dart","begin":"(?\u003c!\\|r)\"","end":"\"","patterns":[{"name":"invalid.string.newline","match":"\\n"},{"include":"#string-interp"}]},{"name":"string.quoted.double.dart","begin":"r\"","end":"\"","patterns":[{"name":"invalid.string.newline","match":"\\n"}]},{"name":"string.interpolated.single.dart","begin":"(?\u003c!\\|r)'","end":"'","patterns":[{"name":"invalid.string.newline","match":"\\n"},{"include":"#string-interp"}]},{"name":"string.quoted.single.dart","begin":"r'","end":"'","patterns":[{"name":"invalid.string.newline","match":"\\n"}]}]},"type-args":{"begin":"(\u003c)","end":"(\u003e)","patterns":[{"include":"#class-identifier"},{"match":"[\\s,]+"},{"name":"keyword.declaration.dart","match":"extends"}],"beginCaptures":{"1":{"name":"other.source.dart"}},"endCaptures":{"1":{"name":"other.source.dart"}}}}}
@@ -1 +1 @@
1
- {"name":"DenizenScript","scopeName":"source.denizenscript","patterns":[{"include":"#comments"},{"include":"#keys"},{"include":"#commands"},{"include":"#double_quotes"},{"include":"#single_quotes"},{"include":"#tags"},{"include":"#tag_brackets"}],"repository":{"commands":{"patterns":[{"begin":"(-)\\s([^\\s]+)","end":"\\s","captures":{"1":{"name":"operator.dash.denizenscript"},"2":{"name":"keyword.command.denizenscript"}}}]},"comments":{"patterns":[{"name":"comment.normal.denizenscript","begin":"^\\s*#.*$","end":"\\n"}]},"double_quotes":{"name":"string.quoted.double.denizenscript","begin":"\"","end":"\\n|\"","patterns":[{"include":"#tags"},{"include":"#tag_brackets"}]},"keys":{"patterns":[{"begin":"(^[^-#\\n]*)(:)","end":"\\s","beginCaptures":{"1":{"name":"entity.name.tag.denizenscript"},"2":{"name":"operator.colon.denizenscript"}}}]},"single_quotes":{"name":"string.quoted.single.denizenscript","begin":"'","end":"\\n|'","patterns":[{"include":"#tags"},{"include":"#tag_brackets"}]},"tag_brackets":{"name":"keyword.tag-brackets.denizenscript","begin":"\\[","end":"\\]","patterns":[{"include":"#tags"}]},"tags":{"name":"constant.language.tag.denizenscript","begin":"\u003c(?!-|\\s)","end":"\u003e","patterns":[{"include":"#tag_brackets"}]}}}
1
+ {"name":"DenizenScript","scopeName":"source.denizenscript","patterns":[{"include":"#comments"},{"include":"#todo_comments"},{"include":"#header_comments"},{"include":"#keys"},{"include":"#commands"},{"include":"#double_quotes"},{"include":"#single_quotes"},{"include":"#tags"},{"include":"#tag_params"}],"repository":{"commands":{"begin":"(-)\\s([^\\s\\[]+)","end":"\\s","captures":{"1":{"name":"operator.dash.denizenscript"},"2":{"name":"entity.other.command.denizenscript"}}},"comments":{"name":"comment.line.number-sign.denizenscript","begin":"^\\s*#(?!\\s*todo|\\s*TODO|(?:\\s*(?:\\||\\+|=|#|_|@|\\/)))","end":"\\n"},"double_quotes":{"name":"string.quoted.double.denizenscript","begin":"\"","end":"\\n|\"","patterns":[{"include":"#tags"},{"include":"#tag_params"}]},"header_comments":{"name":"keyword.header-comment.denizenscript","begin":"^\\s*#\\s*(?:\\||\\+|=|#|_|@|\\/)","end":"\\n"},"keys":{"begin":"(^[^-#\\n]*)(:)","end":"\\s","beginCaptures":{"1":{"name":"markup.heading.key.denizenscript"},"2":{"name":"operator.colon.denizenscript"}}},"single_quotes":{"name":"string.quoted.single.denizenscript","begin":"'","end":"\\n|'","patterns":[{"include":"#tags"},{"include":"#tag_params"}]},"tag_params":{"name":"entity.name.tag.tag-brackets.denizenscript","begin":"(?\u003c=\\w|\u003c)\\[","end":"\\]","patterns":[{"include":"#tags"}]},"tags":{"name":"constant.language.tag.denizenscript","begin":"\u003c(?!-|\\s)","end":"\u003e","patterns":[{"include":"#tag_params"}]},"todo_comments":{"name":"variable.todo-comment.denizenscript","begin":"^\\s*#\\s*(?:TODO|todo)","end":"\\n"}}}
@@ -0,0 +1 @@
1
+ {"name":"dir","scopeName":"source.dir","patterns":[{"name":"comment.line.dir","match":"^(\\s*)\u0026.*$"},{"name":"invalid.illegal.depreciated.dir","match":"(\\s*)(?i:ILOBJECTIFY|TRICKLE|CONVERTRET|IDYSRCPATH|SPZERO)"},{"name":"string.brackets.dir","match":"(\\(.*\\))"},{"name":"string.quoted.dir","match":"(\".*\")$"},{"name":"keyword.other.unit.dir","match":"^(\\s*)(?i:(NOACCEPTREFRESH|NOACTUALPARAMS|NOACUOPT|NOACU-COMMENT|NOACUSYNC|NOACU-UNDERSCORE|NOACU|NOADDRSV|NOADDSYN|NOADV|NOALIGN|NOALPHASTART|NOALTER|NOAMODE|NOANIM|NOANS85|NOAPOST|NOAREACHECK|NOARITH|NOARITHMETIC|NOASSIGN|NOASSIGN-PRINTER|NOAUTOLOCK|NOBELL|NOBINLIT|NOBOUNDOPT|NOBOUND|NOBRIEF|NOBS2000|NOBWZSTAR|NOBYTE-MODE-MOVE|NOCALL-RECOVERY|NOCALLFH|NOCALLMCS|NOCALLSORT|NOCANCEL|NOCANCELLBR|NOCASE|NOCHANGE-MESSAGE|NOCHARSET|NOCHECK|NOCHECKDIV|NOCHECKNUM|NOCHECKREFMOD|NOCICSECM|NOCMPR2|NOCOBFSTATCONV|NOCOBIDY|NOCOBOL370|NOCOBOLDIR|NOCOLLECTION|NOCOMMAND-LINE-LINKAGE|NOCOMP1|NOCOMP2|NOCOMP-5|NOCOMP-6|NOCOMP|NOCOMS85|NOCONFIRM|NOCONSTANT|NOCONVSPACE|NOCOPYEXT|NOCOPYLBR|NOCOPYLIST|NOCOPYLISTCOMMENT|NOCOPYPATH|NOCOPYSEARCH|NOCSI|NOCURRENCY-SIGN|NOCURRENT-DATE|NODATA|NODATACOMPRESS|NODATA-CONTEXT|NODATAMAP|NODATE|NODB2|NODBCHECK|NODBCS|NODBCSSOSI|NODBSPACE|NODE-EDIT|NODEFAULTBYTE|NODEFAULTCALLS|NODETECT-LOCK|NODG|NODIALECT|NODIRECTIVES|NODIRECTIVES-IN-COMMENTS|NODIR|NODISPLAY|NODISPSIGN|NODOSVS|NODOTNET|NODPC-IN-SUBSCRIPT|NODYNAM|NOEBC-COL-SEQ|NOECHO|NOECHOALL|NOENTCOBOL|NOEOF-1A|NOERRFORMAT|NOERRLIST|NOERRQ|NOEXITPROGRAM|NOFASTCALL|NOFASTINIT|NOFASTLINK|NOFASTSORT|NOFCD3|NOFCDALIGN|NOFCDCAT|NOFDCLEAR|NOFCDREG|NOFILESHARE|NOFILETYPE|NOFIXOPT|NOFLAG|NOFLAGAS|NOFLAGEUC|NOFLAGMIG|NOFLAGQ|NOFLAGSINEDIT|NOFLAGSTD|NOFOLD-CALL-NAME|NOFOLD-COPY-NAME|NOFORM|NOFP-ROUNDING|NOGNT|NOGNTLITLINKSTD|NOHIDE-MESSAGE|NOHOSTARITHMETIC|NOHOSTCONTZERO|NOHOSTFD|NOHOST-NUMCOMPARE|NOHOST-NUMMOVE|NOHOSTRW|NOIBM-MS|NOIBMCOMP|NOIDENTIFIERLEN|NOIDXFORMAT|NOIGNOREEXEC|NOILARRAYPROPERTY|NOILASSEMBLY|NOILCLR|NOILCOMPANY|NOILCOPYRIGHT|NOILCULTURE|NOILCUTPREFIX|NOILDELAYSIGN|NOILDESCRIPTION|NOILDOC|NOILDYNCALL|NOILEXPONENTIATION|NOILFILEVERSION|NOJVMGEN|NOILGEN|NOILICON|NOILKEYFILE|NOILKEYNAME|NOILMAIN|NOILMANIFEST|NOILNAMESPACE|NOILNATIVE|NOILNATIVERESOURCE|NOILOPTIMIZEDATA|NOILOUTPUT|NOILPARAMS|NOILPINVOKE|NOILPRODUCT|NOILPRODUCTVERSION|NOILREF|NOILRESOURCE|NOILSHOWPERFORMOVERLAP|NOILSMARTANNOTATE|NOILSMARTLINKAGE|NOILSMARTNEST|NOILSMARTRESTRICT|NOILSMARTSERIAL|NOILSMARTTRIM|NOILSOURCE|NOILSTACKSIZE|NOILSTATIC|NOILSTDLIB|NOILSUBSYSTEM|NOILTARGET|NOILTITLE|NOILTRADEMARK|NOILUSING|NOILVERIFY|NOILVERSION|NOIMPLICITSCOPE|NOINDD|NOINFORETURN|NOINIT-BY-TYPE|NOINITCALL|NOINITPTR|NOINT|NOINTDATE|NOINTLEVEL|NOIOCONV|NOISO2002|NOIXNLSKEY|NOIXNUMKEY|NOJAPANESE|NOKEYCHECK|NOKEYCOMPRESS|NOLIBRARIAN|NOLINE-COUNT|NOLINKALIAS|NOLINKCHECK|NOLIST|NOLISTPATH|NOLISTWIDTH|NOLW|NOLITLINK|NOLITVAL-SIZE|NOLNKALIGN|NOLOCALCOUNT|NOLOCALSOURCEFORMAT|NOLOCKTYPE|NOMAINFRAME-FLOATING-POINT|NOMAKESYN|NOMAPNAME|NOMAX-ERROR|NOMETHODDEFAULT|NOMF|NOMFLEVEL|NOMFCOMMENT|NOMFSYNC|NOMOVE-LEN-CHECK|NOMS|NOMVS|NONATIONAL|NONATIVE|NONATIVE-FLOATING-POINT|NONCHAR|NONLS|NONLSCURRENCYLENGTH|NONSYMBOL|NONULL-ESCAPE|NONUMPROC|NOOBJ|NOODOOSVS|NOODOSLIDE|NOOLDBLANKLINE|NOOLDCOPY|NOOLDINDEX|NOOLDNEXTSENTENCE|NOOLDREADINTO|NOOLDSTRMIX|NOOOCTRL|NOOPT(Intelx86platforms)|NOOPT(Non-Intelx86platforms)|NOOPTIONAL-FILE|NOOS390|NOOSEXT|NOOSVS|NOOUTDD|NOOVERRIDE|NOP64|NOPANVALET|NOPARAMCOUNTCHECK|NOPC1|NOPCOMP|NOPERFORM-TYPE|NOPERFORMOPT|NOPPLITLINK|NOPREPLIST|NOPREPROCESS|NOPRESERVECASE|NOPRINT|NOPRINT-EXT|NOPROFILE|NOPROGID-COMMENT|NOPROGID-INT-NAME|NOPROTECT-LINKAGE|NOPROTOTYPE|NOP|NOQUAL|NOQUALPROC|NOQUERY|NOQUOTE|NORAWLIST|NORDFPATH|NORDW|NORECMODE|NORECURSECHECK|NOREENTRANT|NOREF|NOREFNO|NOREMAINDER|NOREMOVE|NOREPORT-LINE|NOREPOSITORY|NORESEQ|NORESTRICT-GOTO|NORETRYLOCK|NOREWRITE-LS|NORM|NORTNCODE-TYPE|NORTNCODE-SIZE|NORUNTIME-ENCODING|NORWHARDPAGE|NOSAA|NOSCHEDULER|NOSEG|NOSEQCHK|NOSEQUENTIAL|NOSERIAL|NOSETTING|NOSETTINGS|NOSHARE-OUTDD|NOSHOW-DIR|NOSIGN|NOSIGNDISCARD|NOSIGN-FIXUP|NOSORTTYPE|NOSOURCEASM|NOSOURCE-ENCODING|NOSOURCEFORMAT|NOSOURCETABSTOP|NOSQL|NOSSRANGE|NOSTDERR|NOSTICKY-LINKAGE|NOSTICKY-PERFORM|NOSUPFF|NOSWITCH-TYPE|NOSYMBSTART|NOSYSPUNCH|NOTERMPAGE|NOTESTCOVER|NOTIME|NOTRACE|NOTRUNC|NOTRUNCCALLNAME|NOTRUNCCOPY|NOTRUNCINC|NOUNICODE|NOUSE|NOVERBOSE|NOVSC2|NOWARNINGS|NOWARNING|NOWB2|NOWB3|NOWB|NOWRITELOCK|NOWRITE-LOCK|NOWRITETHROUGH|NO|NOWRITETHRU|NOXDB|NOXMLGEN|NOXMLPARSE|NOXOPEN|NOXREF|NOZEROLENGTHFALSE|NOZEROSEQ|NOZWB))(?=\"|\\(|\\s+|$)"},{"name":"keyword.control.directive.dir","match":"^(\\s*)(?i:(ACCEPTREFRESH|ACTUALPARAMS|ACUOPT|ACU-COMMENT|ACUSYNC|ACU-UNDERSCORE|ACU|ADDRSV|ADDSYN|ADV|ALIGN|ALPHASTART|ALTER|AMODE|ANIM|ANS85|APOST|AREACHECK|ARITH|ARITHMETIC|ASSIGN|ASSIGN-PRINTER|AUTOLOCK|BELL|BINLIT|BOUNDOPT|BOUND|BRIEF|BS2000|BWZSTAR|BYTE-MODE-MOVE|CALL-RECOVERY|CALLFH|CALLMCS|CALLSORT|CANCEL|CANCELLBR|CASE|CHANGE-MESSAGE|CHARSET|CHECK|CHECKDIV|CHECKNUM|CHECKREFMOD|CICSECM|CMPR2|COBFSTATCONV|COBIDY|COBOL370|COBOLDIR|COLLECTION|COMMAND-LINE-LINKAGE|COMP1|COMP2|COMP-5|COMP-6|COMP|COMS85|CONFIRM|CONSTANT|CONVSPACE|COPYEXT|COPYLBR|COPYLIST|COPYLISTCOMMENT|COPYPATH|COPYSEARCH|CSI|CURRENCY-SIGN|CURRENT-DATE|DATA|DATACOMPRESS|DATA-CONTEXT|DATAMAP|DATE|DB2|DBCHECK|DBCS|DBCSSOSI|DBSPACE|DE-EDIT|DEFAULTBYTE|DEFAULTCALLS|DETECT-LOCK|DG|DIALECT|DIRECTIVES|DIRECTIVES-IN-COMMENTS|DIR|DISPLAY|DISPSIGN|DOSVS|DOTNET|DPC-IN-SUBSCRIPT|DYNAM|EBC-COL-SEQ|ECHO|ECHOALL|ENTCOBOL|EOF-1A|ERRFORMAT|ERRLIST|ERRQ|EXITPROGRAM|FASTCALL|FASTINIT|FASTLINK|FASTSORT|FCD3|FCDALIGN|FCDCAT|FDCLEAR|FCDREG|FILESHARE|FILETYPE|FIXOPT|FLAG|FLAGAS|FLAGEUC|FLAGMIG|FLAGQ|FLAGSINEDIT|FLAGSTD|FOLD-CALL-NAME|FOLD-COPY-NAME|FORM|FP-ROUNDING|GNT|GNTLITLINKSTD|HIDE-MESSAGE|HOSTARITHMETIC|HOSTCONTZERO|HOSTFD|HOST-NUMCOMPARE|HOST-NUMMOVE|HOSTRW|IBM-MS|IBMCOMP|IDENTIFIERLEN|IDXFORMAT|IGNOREEXEC|ILARRAYPROPERTY|ILASSEMBLY|ILCLR|ILCOMPANY|ILCOPYRIGHT|ILCULTURE|ILCUTPREFIX|ILDELAYSIGN|ILDESCRIPTION|ILDOC|ILDYNCALL|ILEXPONENTIATION|ILFILEVERSION|JVMGEN|ILGEN|ILICON|ILKEYFILE|ILKEYNAME|ILMAIN|ILMANIFEST|ILNAMESPACE|ILNATIVE|ILNATIVERESOURCE|ILOPTIMIZEDATA|ILOUTPUT|ILPARAMS|ILPINVOKE|ILPRODUCT|ILPRODUCTVERSION|ILREF|ILRESOURCE|ILSHOWPERFORMOVERLAP|ILSMARTANNOTATE|ILSMARTLINKAGE|ILSMARTNEST|ILSMARTRESTRICT|ILSMARTSERIAL|ILSMARTTRIM|ILSOURCE|ILSTACKSIZE|ILSTATIC|ILSTDLIB|ILSUBSYSTEM|ILTARGET|ILTITLE|ILTRADEMARK|ILUSING|ILVERIFY|ILVERSION|IMPLICITSCOPE|INDD|INFORETURN|INIT-BY-TYPE|INITCALL|INITPTR|INT|INTDATE|INTLEVEL|IOCONV|ISO2002|IXNLSKEY|IXNUMKEY|JAPANESE|KEYCHECK|KEYCOMPRESS|LIBRARIAN|LINE-COUNT|LINKALIAS|LINKCHECK|LIST|LISTPATH|LISTWIDTH|LW|LITLINK|LITVAL-SIZE|LNKALIGN|LOCALCOUNT|LOCALSOURCEFORMAT|LOCKTYPE|MAINFRAME-FLOATING-POINT|MAKESYN|MAPNAME|MAX-ERROR|METHODDEFAULT|MF|MFLEVEL|MFCOMMENT|MFSYNC|MOVE-LEN-CHECK|MS|MVS|NATIONAL|NATIVE|NATIVE-FLOATING-POINT|NCHAR|NLS|NLSCURRENCYLENGTH|NSYMBOL|NULL-ESCAPE|NUMPROC|OBJ|ODOOSVS|ODOSLIDE|OLDBLANKLINE|OLDCOPY|OLDINDEX|OLDNEXTSENTENCE|OLDREADINTO|OLDSTRMIX|OOCTRL|OPT(Intelx86platforms)|OPT(Non-Intelx86platforms)|OPTIONAL-FILE|OS390|OSEXT|OSVS|OUTDD|OVERRIDE|P64|PANVALET|PARAMCOUNTCHECK|PC1|PCOMP|PERFORM-TYPE|PERFORMOPT|PPLITLINK|PREPLIST|PREPROCESS|PRESERVECASE|PRINT|PRINT-EXT|PROFILE|PROGID-COMMENT|PROGID-INT-NAME|PROTECT-LINKAGE|PROTOTYPE|P|QUAL|QUALPROC|QUERY|QUOTE|RAWLIST|RDFPATH|RDW|RECMODE|RECURSECHECK|REENTRANT|REF|REFNO|REMAINDER|REMOVE|REPORT-LINE|REPOSITORY|RESEQ|RESTRICT-GOTO|RETRYLOCK|REWRITE-LS|RM|RTNCODE-TYPE|RTNCODE-SIZE|RUNTIME-ENCODING|RWHARDPAGE|SAA|SCHEDULER|SEG|SEQCHK|SEQUENTIAL|SERIAL|SETTING|SETTINGS|SHARE-OUTDD|SHOW-DIR|SIGN|SIGNDISCARD|SIGN-FIXUP|SORTTYPE|SOURCEASM|SOURCE-ENCODING|SOURCEFORMAT|SOURCETABSTOP|SQL|SSRANGE|STDERR|STICKY-LINKAGE|STICKY-PERFORM|SUPFF|SWITCH-TYPE|SYMBSTART|SYSPUNCH|TERMPAGE|TESTCOVER|TIME|TRACE|TRUNC|TRUNCCALLNAME|TRUNCCOPY|TRUNCINC|UNICODE|USE|VERBOSE|VSC2|WARNINGS|WARNING|WB2|WB3|WB|WRITELOCK|WRITE-LOCK|WRITETHROUGHWRITETHRU|XDB|XMLGEN|XMLPARSE|XOPEN|XREF|ZEROLENGTHFALSE|ZEROSEQ|ZWB))(?=\"|\\(|\\s+|$)"},{"name":"token.warn-token","match":"^(\\s*\\+.*)"},{"name":"entity.name.function.preprocessor","match":"([0-9a-zA-Z\\-]+)"}]}
@@ -1 +1 @@
1
- {"name":"fsharp","scopeName":"source.fsharp","patterns":[{"include":"#compiler_directives"},{"include":"#comments"},{"include":"#constants"},{"include":"#strings"},{"include":"#chars"},{"include":"#double_tick"},{"include":"#definition"},{"include":"#abstract_definition"},{"include":"#attributes"},{"include":"#modules"},{"include":"#anonymous_functions"},{"include":"#du_declaration"},{"include":"#record_declaration"},{"include":"#records"},{"include":"#strp_inlined"},{"include":"#keywords"},{"include":"#cexprs"},{"include":"#text"}],"repository":{"abstract_definition":{"name":"abstract.definition.fsharp","begin":"\\b(abstract)\\s+(member)?(\\s+\\[\\\u003c.*\\\u003e\\])?\\s*([_[:alpha:]0-9,\\._`\\s]+)(:)","end":"\\s*(with)\\b|=|$","patterns":[{"include":"#comments"},{"include":"#common_declaration"},{"match":"(\\?{0,1})([[:alpha:]0-9'`^._ ]+)\\s*(:)((?!with\\b)\\b([\\w0-9'`^._ ]+)){0,1}","captures":{"1":{"name":"keyword.symbol.fsharp"},"2":{"name":"variable.parameter.fsharp"},"3":{"name":"keyword.symbol.fsharp"},"4":{"name":"entity.name.type.fsharp"}}},{"match":"(?!with|get|set\\b)\\b([\\w0-9'`^._]+)","captures":{"1":{"name":"entity.name.type.fsharp"}}},{"include":"#keywords"}],"beginCaptures":{"1":{"name":"keyword.fsharp"},"2":{"name":"keyword.fsharp"},"3":{"name":"support.function.attribute.fsharp"},"5":{"name":"keyword.fsharp"}},"endCaptures":{"1":{"name":"keyword.fsharp"}}},"anonymous_functions":{"patterns":[{"name":"function.anonymous","begin":"\\b(fun)\\b","end":"(-\u003e)","patterns":[{"include":"#comments"},{"begin":"(\\()","end":"\\s*(?=(-\u003e))","patterns":[{"include":"#member_declaration"}],"beginCaptures":{"1":{"name":"keyword.symbol.arrow.fsharp"}},"endCaptures":{"1":{"name":"keyword.symbol.arrow.fsharp"}}},{"include":"#variables"}],"beginCaptures":{"1":{"name":"keyword.fsharp"}},"endCaptures":{"1":{"name":"keyword.symbol.arrow.fsharp"}}}]},"anonymous_record_declaration":{"begin":"(\\{\\|)","end":"(\\|\\})","patterns":[{"match":"[[:alpha:]0-9'`^_ ]+(:)","captures":{"1":{"name":"keyword.symbol.fsharp"}}},{"match":"([[:alpha:]0-9'`^_ ]+)","captures":{"1":{"name":"entity.name.type.fsharp"}}},{"include":"#anonymous_record_declaration"},{"include":"#keywords"}],"beginCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"endCaptures":{"1":{"name":"keyword.symbol.fsharp"}}},"attributes":{"patterns":[{"name":"support.function.attribute.fsharp","begin":"\\[\\\u003c","end":"\\\u003e\\]|\\]","patterns":[{"include":"$self"}]}]},"cexprs":{"patterns":[{"name":"cexpr.fsharp","match":"\\b(async|seq|promise|task|maybe|asyncMaybe|controller|scope|application|pipeline)\\s*\\{","captures":{"0":{"name":"keyword.fsharp"}}}]},"chars":{"patterns":[{"name":"char.fsharp","match":"('\\\\?.')","captures":{"1":{"name":"string.quoted.single.fsharp"}}}]},"comments":{"patterns":[{"name":"comment.literate.command.fsharp","match":"(\\(\\*{3}.*\\*{3}\\))","beginCaptures":{"1":{"name":"comment.block.fsharp"}}},{"name":"comment.block.markdown.fsharp","begin":"^\\s*(\\(\\*\\*(?!\\)))((?!\\*\\)).)*$","while":"^(?!\\s*(\\*)+\\)$)","patterns":[{"include":"source.gfm"}],"beginCaptures":{"1":{"name":"comment.block.fsharp"}},"endCaptures":{"1":{"name":"comment.block.fsharp"}}},{"name":"comment.block.fsharp","begin":"(\\(\\*(?!\\)))","end":"(\\*\\))","patterns":[{"name":"fast-capture.comment.line.double-slash.fsharp","match":"//"},{"include":"#comments"}],"beginCaptures":{"1":{"name":"comment.block.fsharp"}},"endCaptures":{"1":{"name":"comment.block.fsharp"}}},{"name":"comment.block.markdown.fsharp.end","match":"((?\u003c!\\()(\\*)+\\))","captures":{"1":{"name":"comment.block.fsharp"}}},{"name":"comment.line.markdown.fsharp","begin":"///","while":"///","patterns":[{"include":"source.gfm"}]},{"name":"comment.line.double-slash.fsharp","match":"//.*$"}]},"common_binding_definition":{"patterns":[{"include":"#comments"},{"include":"#attributes"},{"begin":"(:)\\s*(\\()\\s*(static member|member)","end":"(\\))\\s*((?=,)|(?=\\=))","patterns":[{"match":"(\\^[[:alpha:]0-9'._]+)","captures":{"1":{"name":"entity.name.type.fsharp"}}},{"include":"#variables"},{"include":"#keywords"}],"beginCaptures":{"1":{"name":"keyword.symbol.fsharp"},"2":{"name":"keyword.symbol.fsharp"},"3":{"name":"keyword.fsharp"}},"endCaptures":{"1":{"name":"keyword.symbol.fsharp"}}},{"begin":"(:)\\s*(\\()","end":"(\\)\\s*(([?[:alpha:]0-9'`^._ ]*)))","patterns":[{"include":"#tuple_signature"}],"beginCaptures":{"1":{"name":"keyword.symbol.fsharp"},"2":{"name":"keyword.symbol.fsharp"}},"endCaptures":{"1":{"name":"keyword.symbol.fsharp"},"2":{"name":"entity.name.type.fsharp"}}},{"begin":"(:)\\s*(\\^[[:alpha:]0-9'._]+)\\s*(when)","end":"(?=:)","patterns":[{"name":"keyword.fsharp","match":"\\b(and|when|or)\\b"},{"match":"([[:alpha:]0-9'^._]+)","captures":{"1":{"name":"entity.name.type.fsharp"}}},{"name":"keyword.symbol.fsharp","match":"(\\(|\\))"}],"beginCaptures":{"1":{"name":"keyword.symbol.fsharp"},"2":{"name":"entity.name.type.fsharp"},"3":{"name":"keyword.fsharp"}},"endCaptures":{"1":{"name":"keyword.symbol.fsharp"}}},{"match":"(:)\\s*([?[:alpha:]0-9'`^._ ]+)","captures":{"1":{"name":"keyword.symbol.fsharp"},"2":{"name":"entity.name.type.fsharp"}}},{"match":"(-\u003e)\\s*(\\()?\\s*([?[:alpha:]0-9'`^._ ]+)*","captures":{"1":{"name":"keyword.symbol.fsharp"},"2":{"name":"keyword.symbol.fsharp"},"3":{"name":"entity.name.type.fsharp"}}},{"begin":"(\\*)\\s*(\\()","end":"(\\)\\s*(([?[:alpha:]0-9'`^._ ]+))+)","patterns":[{"include":"#tuple_signature"}],"beginCaptures":{"1":{"name":"keyword.symbol.fsharp"},"2":{"name":"keyword.symbol.fsharp"}},"endCaptures":{"1":{"name":"keyword.symbol.fsharp"},"2":{"name":"entity.name.type.fsharp"}}},{"begin":"(\\*)(\\s*([?[:alpha:]0-9'`^._ ]+))*","end":"(?==)|(?=\\))","patterns":[{"include":"#tuple_signature"}],"beginCaptures":{"1":{"name":"keyword.symbol.fsharp"},"2":{"name":"entity.name.type.fsharp"}},"endCaptures":{"1":{"name":"keyword.symbol.fsharp"}}},{"begin":"(\u003c+(?![[:space:]]*\\)))","end":"((?\u003c!:)\u003e|\\))","patterns":[{"include":"#generic_declaration"}],"beginCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"endCaptures":{"1":{"name":"keyword.symbol.fsharp"}}},{"include":"#anonymous_record_declaration"},{"begin":"({)","end":"(})","patterns":[{"include":"#record_signature"}],"beginCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"endCaptures":{"1":{"name":"keyword.symbol.fsharp"}}},{"include":"#definition"},{"include":"#variables"},{"include":"#keywords"}]},"common_declaration":{"patterns":[{"begin":"\\s*(-\u003e)\\s*([[:alpha:]0-9'`^._ ]+)(\u003c)","end":"(\u003e)","patterns":[{"match":"([[:alpha:]0-9'`^._ ]+)","captures":{"1":{"name":"entity.name.type.fsharp"}}},{"include":"#keywords"}],"beginCaptures":{"1":{"name":"keyword.symbol.fsharp"},"2":{"name":"entity.name.type.fsharp"},"3":{"name":"keyword.symbol.fsharp"}},"endCaptures":{"1":{"name":"keyword.symbol.fsharp"}}},{"match":"\\s*(-\u003e)\\s*(?!with|get|set\\b)\\b([\\w0-9'`^._]+)","captures":{"1":{"name":"keyword.symbol.fsharp"},"2":{"name":"entity.name.type.fsharp"}}},{"include":"#anonymous_record_declaration"},{"begin":"(\\?{0,1})([[:alpha:]0-9'`^._ ]+)\\s*(:)(\\s*([?[:alpha:]0-9'`^._ ]+)(\u003c))","end":"(\u003e)","patterns":[{"match":"([[:alpha:]0-9'`^._ ]+)","captures":{"1":{"name":"entity.name.type.fsharp"}}},{"include":"#keywords"}],"beginCaptures":{"1":{"name":"keyword.symbol.fsharp"},"2":{"name":"variable.parameter.fsharp"},"3":{"name":"keyword.symbol.fsharp"},"4":{"name":"keyword.symbol.fsharp"},"5":{"name":"entity.name.type.fsharp"}},"endCaptures":{"1":{"name":"keyword.symbol.fsharp"}}}]},"compiler_directives":{"patterns":[{"name":"keyword.control.directive.fsharp","match":"\\s?(#if|#elif|#elseif|#else|#endif|#light|#nowarn)"}]},"constants":{"patterns":[{"name":"constant.language.unit.fsharp","match":"\\(\\)"},{"name":"constant.numeric.float.fsharp","match":"\\b-?[0-9][0-9_]*((\\.([0-9][0-9_]*([eE][+-]??[0-9][0-9_]*)?)?)|([eE][+-]??[0-9][0-9_]*))"},{"name":"constant.numeric.integer.nativeint.fsharp","match":"\\b(-?((0(x|X)[0-9a-fA-F][0-9a-fA-F_]*)|(0(o|O)[0-7][0-7_]*)|(0(b|B)[01][01_]*)|([0-9][0-9_]*)))"},{"name":"constant.language.boolean.fsharp","match":"\\b(true|false)\\b"},{"name":"constant.other.fsharp","match":"\\b(null|unit|void)\\b"}]},"definition":{"patterns":[{"name":"binding.fsharp","begin":"\\b(let mutable|static let mutable|static let|let inline|let|member val|static member inline|static member|default|member|override|let!)(\\s+rec|mutable)?(\\s+\\[\\\u003c.*\\\u003e\\])?\\s*(private|internal|public)?\\s+(\\[[^-=]*\\]|[_[:alpha:]]([_[:alpha:]0-9\\._]+)*|``[_[:alpha:]]([_[:alpha:]0-9\\._`\\s]+|(?\u003c=,)\\s)*)?","end":"\\s*(with\\b|=|\\n+=|(?\u003c=\\=))","patterns":[{"include":"#common_binding_definition"}],"beginCaptures":{"1":{"name":"keyword.fsharp"},"2":{"name":"keyword.fsharp"},"3":{"name":"support.function.attribute.fsharp"},"4":{"name":"storage.modifier.fsharp"},"5":{"name":"variable.fsharp"}},"endCaptures":{"1":{"name":"keyword.fsharp"}}},{"name":"binding.fsharp","begin":"(?\u003c=with|and)\\s*\\b((get|set)\\s*(?=\\())(\\[[^-=]*\\]|[_[:alpha:]]([_[:alpha:]0-9\\._]+)*|``[_[:alpha:]]([_[:alpha:]0-9\\._`\\s]+|(?\u003c=,)\\s)*)?","end":"\\s*(=|\\n+=|(?\u003c=\\=))","patterns":[{"include":"#common_binding_definition"}],"beginCaptures":{"4":{"name":"variable.fsharp"}},"endCaptures":{"1":{"name":"keyword.fsharp"}}},{"name":"binding.fsharp","begin":"\\b(static val mutable|val mutable|val)(\\s+rec|mutable)?(\\s+\\[\\\u003c.*\\\u003e\\])?\\s*(private|internal|public)?\\s+(\\[[^-=]*\\]|[_[:alpha:]]([_[:alpha:]0-9,\\._]+)*|``[_[:alpha:]]([_[:alpha:]0-9,\\._`\\s]+|(?\u003c=,)\\s)*)?","end":"\\n$","patterns":[{"include":"#common_binding_definition"}],"beginCaptures":{"1":{"name":"keyword.fsharp"},"2":{"name":"keyword.fsharp"},"3":{"name":"support.function.attribute.fsharp"},"4":{"name":"storage.modifier.fsharp"},"5":{"name":"variable.fsharp"}}},{"name":"binding.fsharp","begin":"\\b(new)\\b\\s+(\\()","end":"(\\))","patterns":[{"include":"#common_binding_definition"}],"beginCaptures":{"1":{"name":"keyword.fsharp"},"2":{"name":"keyword.fsharp"}},"endCaptures":{"1":{"name":"keyword.fsharp"}}}]},"double_tick":{"patterns":[{"name":"variable.other.binding.fsharp","match":"(``)([^`]*)(``)","captures":{"1":{"name":"string.quoted.single.fsharp"},"2":{"name":"variable.other.binding.fsharp"},"3":{"name":"string.quoted.single.fsharp"}}}]},"du_declaration":{"patterns":[{"name":"du_declaration.fsharp","begin":"\\b(of)\\b","end":"$|(\\|)","patterns":[{"include":"#comments"},{"match":"([[:alpha:]0-9'`\u003c\u003e^._]+|``[[:alpha:]0-9' \u003c\u003e^._]+``)\\s*(:)\\s*([[:alpha:]0-9'`\u003c\u003e^._]+|``[[:alpha:]0-9' \u003c\u003e^._]+``)","captures":{"1":{"name":"variable.parameter.fsharp"},"2":{"name":"keyword.symbol.fsharp"},"3":{"name":"entity.name.type.fsharp"}}},{"match":"(``([[:alpha:]0-9'^._ ]+)``|[[:alpha:]0-9'`^._]+)","captures":{"1":{"name":"entity.name.type.fsharp"}}},{"include":"#anonymous_record_declaration"},{"include":"#keywords"}],"beginCaptures":{"1":{"name":"keyword.fsharp"}},"endCaptures":{"1":{"name":"keyword.symbol.fsharp"}}}]},"generic_declaration":{"patterns":[{"begin":"(:)\\s*(\\()\\s*(static member|member)","end":"(\\))","patterns":[{"begin":"(\\()","end":"(\\))","patterns":[{"include":"#member_declaration"}],"beginCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"endCaptures":{"1":{"name":"keyword.symbol.fsharp"}}},{"match":"(('|\\^)[[:alpha:]0-9'._]+)","captures":{"1":{"name":"entity.name.type.fsharp"}}},{"include":"#variables"},{"include":"#keywords"}],"beginCaptures":{"1":{"name":"keyword.symbol.fsharp"},"2":{"name":"keyword.symbol.fsharp"},"3":{"name":"keyword.fsharp"}},"endCaptures":{"1":{"name":"keyword.symbol.fsharp"}}},{"name":"keyword.fsharp","match":"\\b(private|to|public|internal|function|yield!|yield|class|exception|match|delegate|of|new|in|as|if|then|else|elif|for|begin|end|inherit|do|let\\!|return\\!|return|interface|with|abstract|enum|member|try|finally|and|when|or|use|use\\!|struct|while|mutable|assert|base|done|downcast|downto|extern|fixed|global|lazy|upcast|not)(?!')\\b"},{"name":"keyword.fsharp","match":":"},{"include":"#constants"},{"match":"(('|\\^)[[:alpha:]0-9'._]+)","captures":{"1":{"name":"entity.name.type.fsharp"}}},{"begin":"(\u003c)","end":"(\u003e)","patterns":[{"match":"(('|\\^)[[:alpha:]0-9'._]+)","captures":{"1":{"name":"entity.name.type.fsharp"}}},{"include":"#tuple_signature"},{"include":"#generic_declaration"}],"beginCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"endCaptures":{"1":{"name":"keyword.symbol.fsharp"}}},{"begin":"(\\()","end":"(\\))","patterns":[{"match":"(([?[:alpha:]0-9'`^._ ]+))+","captures":{"1":{"name":"entity.name.type.fsharp"}}},{"include":"#tuple_signature"}],"beginCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"endCaptures":{"1":{"name":"keyword.symbol.fsharp"}}},{"match":"(?!when|and|or\\b)\\b([\\w0-9'`^._]+)","captures":{"1":{"name":"entity.name.type.fsharp"}}},{"match":"(\\|)","captures":{"1":{"name":"keyword.symbol.fsharp"}}},{"include":"#keywords"}]},"keywords":{"patterns":[{"name":"storage.modifier","match":"\\b(private|public|internal)\\b"},{"name":"keyword.fsharp","match":"\\b(private|to|public|internal|function|class|exception|delegate|of|as|begin|end|inherit|let!|interface|abstract|enum|member|and|when|or|use|use\\!|struct|mutable|assert|base|done|downcast|downto|extern|fixed|global|lazy|upcast|not)(?!')\\b"},{"name":"keyword.control","match":"\\b(match|yield|yield!|with|if|then|else|elif|for|in|return!|return|try|finally|while|do)(?!')\\b"},{"name":"keyword.symbol.new","match":"\\b(new)\\b"},{"name":"keyword.symbol.fsharp","match":"(\u0026\u0026\u0026|\\|\\|\\||\\^\\^\\^|~~~|\u003c\u003c\u003c|\u003e\u003e\u003e|\\|\u003e|\\-\u003e|\\\u003c\\-|:\u003e|:\\?\u003e|:|\\[|\\]|\\;|\u003c\u003e|=|@|\\|\\||\u0026\u0026|{|}|\\||_|\\.\\.|\\,|\\+|\\-|\\*|\\/|\\^|\\!|\\\u003e|\\\u003e\\=|\\\u003e\\\u003e|\\\u003c|\\\u003c\\=|\\(|\\)|\\\u003c\\\u003c)"}]},"member_declaration":{"patterns":[{"include":"#comments"},{"include":"#common_declaration"},{"begin":"(:)\\s*(\\()\\s*(static member|member)","end":"(\\))\\s*((?=,)|(?=\\=))","patterns":[{"begin":"(\\()","end":"(\\))","patterns":[{"include":"#member_declaration"}],"beginCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"endCaptures":{"1":{"name":"keyword.symbol.fsharp"}}},{"match":"(\\^[[:alpha:]0-9'._]+)","captures":{"1":{"name":"entity.name.type.fsharp"}}},{"include":"#variables"},{"include":"#keywords"}],"beginCaptures":{"1":{"name":"keyword.symbol.fsharp"},"2":{"name":"keyword.symbol.fsharp"},"3":{"name":"keyword.fsharp"}},"endCaptures":{"1":{"name":"keyword.symbol.fsharp"}}},{"match":"(\\^[[:alpha:]0-9'._]+)","captures":{"1":{"name":"entity.name.type.fsharp"}}},{"name":"keyword.fsharp","match":"\\b(and|when|or)\\b"},{"name":"keyword.symbol.fsharp","match":"(\\(|\\))"},{"match":"(\\?{0,1})([[:alpha:]0-9'`^._]+|``[[:alpha:]0-9'`^:,._ ]+``)\\s*(:{0,1})(\\s*([?[:alpha:]0-9'`\u003c\u003e._ ]+)){0,1}","captures":{"1":{"name":"keyword.symbol.fsharp"},"2":{"name":"variable.parameter.fsharp"},"3":{"name":"keyword.symbol.fsharp"},"4":{"name":"entity.name.type.fsharp"}}},{"include":"#keywords"}]},"modules":{"patterns":[{"name":"entity.name.section.fsharp","begin":"\\b(namespace global)|\\b(namespace|module)\\s*(public|internal|private|rec)?\\s+([[:alpha:]][[:alpha:]0-9'_. ]*)","end":"(\\s?=|\\s|$)","patterns":[{"name":"entity.name.section.fsharp","match":"(\\.)([A-Z][[:alpha:]0-9'_]*)","captures":{"1":{"name":"punctuation.separator.namespace-reference.fsharp"},"2":{"name":"entity.name.section.fsharp"}}}],"beginCaptures":{"1":{"name":"keyword.fsharp"},"2":{"name":"keyword.fsharp"},"3":{"name":"storage.modifier.fsharp"},"4":{"name":"entity.name.section.fsharp"}},"endCaptures":{"1":{"name":"keyword.symbol.fsharp"}}},{"name":"namespace.open.fsharp","begin":"\\b(open)\\s+([[:alpha:]][[:alpha:]0-9'_]*)(?=(\\.[A-Z][[:alpha:]0-9_]*)*)","end":"(\\s|$)","patterns":[{"name":"entity.name.section.fsharp","match":"(\\.)([[:alpha:]][[:alpha:]0-9'_]*)","captures":{"1":{"name":"punctuation.separator.namespace-reference.fsharp"},"2":{"name":"entity.name.section.fsharp"}}},{"include":"#comments"}],"beginCaptures":{"1":{"name":"keyword.fsharp"},"2":{"name":"entity.name.section.fsharp"}}},{"name":"namespace.alias.fsharp","begin":"^\\s*(module)\\s+([A-Z][[:alpha:]0-9'_]*)\\s*(=)\\s*([A-Z][[:alpha:]0-9'_]*)","end":"(\\s|$)","patterns":[{"name":"entity.name.section.fsharp","match":"(\\.)([A-Z][[:alpha:]0-9'_]*)","captures":{"1":{"name":"punctuation.separator.namespace-reference.fsharp"},"2":{"name":"entity.name.section.fsharp"}}}],"beginCaptures":{"1":{"name":"keyword.fsharp"},"2":{"name":"entity.name.type.namespace.fsharp"},"3":{"name":"punctuation.separator.namespace-definition.fsharp"},"4":{"name":"entity.name.section.fsharp"}}}]},"record_declaration":{"patterns":[{"begin":"(\\{)","end":"(?\u003c=\\})","patterns":[{"include":"#comments"},{"begin":"(((mutable)\\s[[:alpha:]]+)|[[:alpha:]0-9'`\u003c\u003e^._]*)\\s*((?\u003c!:):(?!:))\\s*","end":"$|(;|\\})","patterns":[{"include":"#comments"},{"match":"([[:alpha:]0-9'`^_ ]+)","captures":{"1":{"name":"entity.name.type.fsharp"}}},{"include":"#keywords"}],"beginCaptures":{"3":{"name":"keyword.fsharp"},"4":{"name":"keyword.symbol.fsharp"}},"endCaptures":{"1":{"name":"keyword.symbol.fsharp"}}},{"include":"#compiler_directives"},{"include":"#constants"},{"include":"#strings"},{"include":"#chars"},{"include":"#double_tick"},{"include":"#definition"},{"include":"#attributes"},{"include":"#anonymous_functions"},{"include":"#keywords"},{"include":"#cexprs"},{"include":"#text"}],"beginCaptures":{"1":{"name":"keyword.symbol.fsharp"}}}]},"record_signature":{"patterns":[{"match":"[[:alpha:]0-9'`^_ ]+(=)([[:alpha:]0-9'`^_ ]+)","captures":{"1":{"name":"keyword.symbol.fsharp"},"2":{"name":"variable.parameter.fsharp"}}},{"begin":"({)","end":"(})","patterns":[{"match":"[[:alpha:]0-9'`^_ ]+(=)([[:alpha:]0-9'`^_ ]+)","captures":{"1":{"name":"keyword.symbol.fsharp"},"2":{"name":"variable.parameter.fsharp"}}},{"include":"#record_signature"}],"beginCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"endCaptures":{"1":{"name":"keyword.symbol.fsharp"}}},{"include":"#keywords"}]},"records":{"patterns":[{"name":"record.fsharp","begin":"\\b(type)[\\s]+(private|internal|public)?\\s*","end":"\\s*((with)|((as)\\s+([[:alpha:]0-9']+))|(=)|[\\n=]|(\\(\\)))","patterns":[{"include":"#comments"},{"include":"#attributes"},{"match":"([[:alpha:]0-9'^._]+|``[[:alpha:]0-9'`^:,._ ]+``)","captures":{"1":{"name":"entity.name.type.fsharp"}}},{"begin":"(\u003c)","end":"((?\u003c!:)\u003e)","patterns":[{"match":"(('|\\^)``[[:alpha:]0-9`^:,._ ]+``|('|\\^)[[:alpha:]0-9`^:._]+)","captures":{"1":{"name":"entity.name.type.fsharp"}}},{"name":"keyword.fsharp","match":"\\b(interface|with|abstract|and|when|or|not|struct|equality|comparison|unmanaged|delegate|enum)\\b"},{"begin":"(\\()","end":"(\\))","patterns":[{"match":"(static member|member|new)","captures":{"1":{"name":"keyword.fsharp"}}},{"include":"#common_binding_definition"}],"beginCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"endCaptures":{"1":{"name":"keyword.symbol.fsharp"}}},{"match":"([\\w0-9'`^._]+)","captures":{"1":{"name":"entity.name.type.fsharp"}}},{"include":"#keywords"}],"beginCaptures":{"1":{"name":"keyword.fsharp"}},"endCaptures":{"1":{"name":"keyword.fsharp"}}},{"match":"\\s*(private|internal|public)","captures":{"1":{"name":"keyword.symbol.fsharp"},"2":{"name":"storage.modifier.fsharp"}}},{"begin":"(\\()","end":"\\s*(?=(=)|[\\n=]|(\\(\\))|(as))","patterns":[{"include":"#member_declaration"}],"beginCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"endCaptures":{"1":{"name":"keyword.symbol.fsharp"}}},{"include":"#keywords"}],"beginCaptures":{"1":{"name":"keyword.fsharp"},"2":{"name":"storage.modifier.fsharp"}},"endCaptures":{"2":{"name":"keyword.fsharp"},"3":{"name":"keyword.fsharp"},"4":{"name":"keyword.fsharp"},"5":{"name":"variable.parameter.fsharp"},"6":{"name":"keyword.symbol.fsharp"},"7":{"name":"constant.language.unit.fsharp"}}}]},"string_formatter":{"patterns":[{"name":"entity.name.type.format.specifier.fsharp","match":"(%0?-?(\\d+)?((a|t)|(\\.\\d+)?(f|F|e|E|g|G|M)|(b|c|s|d|i|x|X|o|u)|(s|b|O)|(\\+?A)))","captures":{"1":{"name":"keyword.format.specifier.fsharp"}}}]},"strings":{"patterns":[{"name":"string.quoted.literal.fsharp","begin":"(?=[^\\\\])(@\")","end":"(\")(?!\")","patterns":[{"name":"constant.character.string.escape.fsharp","match":"\"(\")"}],"beginCaptures":{"1":{"name":"punctuation.definition.string.begin.fsharp"}},"endCaptures":{"1":{"name":"punctuation.definition.string.end.fsharp"}}},{"name":"string.quoted.triple.fsharp","begin":"(?=[^\\\\])(\"\"\")","end":"(\"\"\")","patterns":[{"include":"#string_formatter"}],"beginCaptures":{"1":{"name":"punctuation.definition.string.begin.fsharp"}},"endCaptures":{"1":{"name":"punctuation.definition.string.end.fsharp"}}},{"name":"string.quoted.double.fsharp","begin":"(?=[^\\\\])(\")","end":"(\")","patterns":[{"name":"punctuation.separator.string.ignore-eol.fsharp","match":"\\\\$[ \\t]*"},{"name":"constant.character.string.escape.fsharp","match":"\\\\([\\\\''ntbr]|x[a-fA-F0-9]{2}|u[a-fA-F0-9]{4}|u[a-fA-F0-9]{8})"},{"name":"invalid.illeagal.character.string.fsharp","match":"\\\\(?![\\\\''ntbr]|x[a-fA-F0-9]{2}|u[a-fA-F0-9]{4}|u[a-fA-F0-9]{8})."},{"include":"#string_formatter"}],"beginCaptures":{"1":{"name":"punctuation.definition.string.begin.fsharp"}},"endCaptures":{"1":{"name":"punctuation.definition.string.end.fsharp"}}}]},"strp_inlined":{"patterns":[{"begin":"(\\()","end":"(\\))","patterns":[{"include":"#strp_inlined_body"}],"beginCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"endCaptures":{"1":{"name":"keyword.symbol.fsharp"}}}]},"strp_inlined_body":{"patterns":[{"include":"#comments"},{"include":"#anonymous_functions"},{"match":"(\\^[[:alpha:]0-9'._]+)","captures":{"1":{"name":"entity.name.type.fsharp"}}},{"name":"keyword.fsharp","match":"\\b(and|when|or)\\b"},{"begin":"(\\()","end":"(\\))","patterns":[{"include":"#strp_inlined_body"}],"beginCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"endCaptures":{"1":{"name":"keyword.symbol.fsharp"}}},{"match":"(static member|member)\\s*([[:alpha:]0-9'`\u003c\u003e^._]+|``[[:alpha:]0-9' \u003c\u003e^._]+``)\\s*(:)","captures":{"1":{"name":"keyword.fsharp"},"2":{"name":"variable.fsharp"},"3":{"name":"keyword.symbol.fsharp"}}},{"include":"#compiler_directives"},{"include":"#constants"},{"include":"#strings"},{"include":"#chars"},{"include":"#double_tick"},{"include":"#keywords"},{"include":"#text"},{"include":"#definition"},{"include":"#attributes"},{"include":"#keywords"},{"include":"#cexprs"},{"include":"#text"}]},"text":{"patterns":[{"name":"text.fsharp","match":"\\\\"}]},"tuple_signature":{"patterns":[{"match":"(([?[:alpha:]0-9'`^._ ]+))+","captures":{"1":{"name":"entity.name.type.fsharp"}}},{"begin":"(\\()","end":"(\\))","patterns":[{"match":"(([?[:alpha:]0-9'`^._ ]+))+","captures":{"1":{"name":"entity.name.type.fsharp"}}},{"include":"#tuple_signature"}],"beginCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"endCaptures":{"1":{"name":"keyword.symbol.fsharp"}}},{"include":"#keywords"}]},"variables":{"patterns":[{"name":"constant.language.unit.fsharp","match":"\\(\\)"},{"match":"(\\?{0,1})(``[[:alpha:]0-9'`^:,._ ]+``|(?!private\\b)\\b[\\w[:alpha:]0-9'`\u003c\u003e^._ ]+)","captures":{"1":{"name":"keyword.symbol.fsharp"},"2":{"name":"variable.parameter.fsharp"}}}]}}}
1
+ {"name":"fsharp","scopeName":"source.fsharp","patterns":[{"include":"#compiler_directives"},{"include":"#comments"},{"include":"#constants"},{"include":"#strings"},{"include":"#chars"},{"include":"#double_tick"},{"include":"#definition"},{"include":"#abstract_definition"},{"include":"#attributes"},{"include":"#modules"},{"include":"#anonymous_functions"},{"include":"#du_declaration"},{"include":"#record_declaration"},{"include":"#records"},{"include":"#strp_inlined"},{"include":"#keywords"},{"include":"#cexprs"},{"include":"#text"}],"repository":{"abstract_definition":{"name":"abstract.definition.fsharp","begin":"\\b(abstract)\\s+(member)?(\\s+\\[\\\u003c.*\\\u003e\\])?\\s*([_[:alpha:]0-9,\\._`\\s]+)(:)","end":"\\s*(with)\\b|=|$","patterns":[{"include":"#comments"},{"include":"#common_declaration"},{"match":"(\\?{0,1})([[:alpha:]0-9'`^._ ]+)\\s*(:)((?!with\\b)\\b([\\w0-9'`^._ ]+)){0,1}","captures":{"1":{"name":"keyword.symbol.fsharp"},"2":{"name":"variable.parameter.fsharp"},"3":{"name":"keyword.symbol.fsharp"},"4":{"name":"entity.name.type.fsharp"}}},{"match":"(?!with|get|set\\b)\\b([\\w0-9'`^._]+)","captures":{"1":{"name":"entity.name.type.fsharp"}}},{"include":"#keywords"}],"beginCaptures":{"1":{"name":"keyword.fsharp"},"2":{"name":"keyword.fsharp"},"3":{"name":"support.function.attribute.fsharp"},"5":{"name":"keyword.fsharp"}},"endCaptures":{"1":{"name":"keyword.fsharp"}}},"anonymous_functions":{"patterns":[{"name":"function.anonymous","begin":"\\b(fun)\\b","end":"(-\u003e)","patterns":[{"include":"#comments"},{"begin":"(\\()","end":"\\s*(?=(-\u003e))","patterns":[{"include":"#member_declaration"}],"beginCaptures":{"1":{"name":"keyword.symbol.arrow.fsharp"}},"endCaptures":{"1":{"name":"keyword.symbol.arrow.fsharp"}}},{"include":"#variables"}],"beginCaptures":{"1":{"name":"keyword.fsharp"}},"endCaptures":{"1":{"name":"keyword.symbol.arrow.fsharp"}}}]},"anonymous_record_declaration":{"begin":"(\\{\\|)","end":"(\\|\\})","patterns":[{"match":"[[:alpha:]0-9'`^_ ]+(:)","captures":{"1":{"name":"keyword.symbol.fsharp"}}},{"match":"([[:alpha:]0-9'`^_ ]+)","captures":{"1":{"name":"entity.name.type.fsharp"}}},{"include":"#anonymous_record_declaration"},{"include":"#keywords"}],"beginCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"endCaptures":{"1":{"name":"keyword.symbol.fsharp"}}},"attributes":{"patterns":[{"name":"support.function.attribute.fsharp","begin":"\\[\\\u003c","end":"\\\u003e\\]|\\]","patterns":[{"include":"$self"}]}]},"cexprs":{"patterns":[{"name":"cexpr.fsharp","match":"\\b(async|seq|promise|task|maybe|asyncMaybe|controller|scope|application|pipeline)\\s*\\{","captures":{"0":{"name":"keyword.fsharp"}}}]},"chars":{"patterns":[{"name":"char.fsharp","match":"('\\\\?.')","captures":{"1":{"name":"string.quoted.single.fsharp"}}}]},"comments":{"patterns":[{"name":"comment.literate.command.fsharp","match":"(\\(\\*{3}.*\\*{3}\\))","beginCaptures":{"1":{"name":"comment.block.fsharp"}}},{"name":"comment.block.markdown.fsharp","begin":"^\\s*(\\(\\*\\*(?!\\)))((?!\\*\\)).)*$","while":"^(?!\\s*(\\*)+\\)\\s*$)","patterns":[{"include":"source.gfm"}],"beginCaptures":{"1":{"name":"comment.block.fsharp"}},"endCaptures":{"1":{"name":"comment.block.fsharp"}}},{"name":"comment.block.fsharp","begin":"(\\(\\*(?!\\)))","end":"(\\*+\\))","patterns":[{"name":"fast-capture.comment.line.double-slash.fsharp","match":"//"},{"include":"#comments"}],"beginCaptures":{"1":{"name":"comment.block.fsharp"}},"endCaptures":{"1":{"name":"comment.block.fsharp"}}},{"name":"comment.block.markdown.fsharp.end","match":"((?\u003c!\\()(\\*)+\\))","captures":{"1":{"name":"comment.block.fsharp"}}},{"name":"comment.line.markdown.fsharp","begin":"///","while":"///","patterns":[{"include":"source.gfm"}]},{"name":"comment.line.double-slash.fsharp","match":"//.*$"}]},"common_binding_definition":{"patterns":[{"include":"#comments"},{"include":"#attributes"},{"begin":"(:)\\s*(\\()\\s*(static member|member)","end":"(\\))\\s*((?=,)|(?=\\=))","patterns":[{"match":"(\\^[[:alpha:]0-9'._]+)","captures":{"1":{"name":"entity.name.type.fsharp"}}},{"include":"#variables"},{"include":"#keywords"}],"beginCaptures":{"1":{"name":"keyword.symbol.fsharp"},"2":{"name":"keyword.symbol.fsharp"},"3":{"name":"keyword.fsharp"}},"endCaptures":{"1":{"name":"keyword.symbol.fsharp"}}},{"begin":"(:)\\s*(\\()","end":"(\\)\\s*(([?[:alpha:]0-9'`^._ ]*)))","patterns":[{"include":"#tuple_signature"}],"beginCaptures":{"1":{"name":"keyword.symbol.fsharp"},"2":{"name":"keyword.symbol.fsharp"}},"endCaptures":{"1":{"name":"keyword.symbol.fsharp"},"2":{"name":"entity.name.type.fsharp"}}},{"begin":"(:)\\s*(\\^[[:alpha:]0-9'._]+)\\s*(when)","end":"(?=:)","patterns":[{"name":"keyword.fsharp","match":"\\b(and|when|or)\\b"},{"match":"([[:alpha:]0-9'^._]+)","captures":{"1":{"name":"entity.name.type.fsharp"}}},{"name":"keyword.symbol.fsharp","match":"(\\(|\\))"}],"beginCaptures":{"1":{"name":"keyword.symbol.fsharp"},"2":{"name":"entity.name.type.fsharp"},"3":{"name":"keyword.fsharp"}},"endCaptures":{"1":{"name":"keyword.symbol.fsharp"}}},{"match":"(:)\\s*([?[:alpha:]0-9'`^._ ]+)","captures":{"1":{"name":"keyword.symbol.fsharp"},"2":{"name":"entity.name.type.fsharp"}}},{"match":"(-\u003e)\\s*(\\()?\\s*([?[:alpha:]0-9'`^._ ]+)*","captures":{"1":{"name":"keyword.symbol.fsharp"},"2":{"name":"keyword.symbol.fsharp"},"3":{"name":"entity.name.type.fsharp"}}},{"begin":"(\\*)\\s*(\\()","end":"(\\)\\s*(([?[:alpha:]0-9'`^._ ]+))+)","patterns":[{"include":"#tuple_signature"}],"beginCaptures":{"1":{"name":"keyword.symbol.fsharp"},"2":{"name":"keyword.symbol.fsharp"}},"endCaptures":{"1":{"name":"keyword.symbol.fsharp"},"2":{"name":"entity.name.type.fsharp"}}},{"begin":"(\\*)(\\s*([?[:alpha:]0-9'`^._ ]+))*","end":"(?==)|(?=\\))","patterns":[{"include":"#tuple_signature"}],"beginCaptures":{"1":{"name":"keyword.symbol.fsharp"},"2":{"name":"entity.name.type.fsharp"}},"endCaptures":{"1":{"name":"keyword.symbol.fsharp"}}},{"begin":"(\u003c+(?![[:space:]]*\\)))","end":"((?\u003c!:)\u003e|\\))","patterns":[{"include":"#generic_declaration"}],"beginCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"endCaptures":{"1":{"name":"keyword.symbol.fsharp"}}},{"include":"#anonymous_record_declaration"},{"begin":"({)","end":"(})","patterns":[{"include":"#record_signature"}],"beginCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"endCaptures":{"1":{"name":"keyword.symbol.fsharp"}}},{"include":"#definition"},{"include":"#variables"},{"include":"#keywords"}]},"common_declaration":{"patterns":[{"begin":"\\s*(-\u003e)\\s*([[:alpha:]0-9'`^._ ]+)(\u003c)","end":"(\u003e)","patterns":[{"match":"([[:alpha:]0-9'`^._ ]+)","captures":{"1":{"name":"entity.name.type.fsharp"}}},{"include":"#keywords"}],"beginCaptures":{"1":{"name":"keyword.symbol.fsharp"},"2":{"name":"entity.name.type.fsharp"},"3":{"name":"keyword.symbol.fsharp"}},"endCaptures":{"1":{"name":"keyword.symbol.fsharp"}}},{"match":"\\s*(-\u003e)\\s*(?!with|get|set\\b)\\b([\\w0-9'`^._]+)","captures":{"1":{"name":"keyword.symbol.fsharp"},"2":{"name":"entity.name.type.fsharp"}}},{"include":"#anonymous_record_declaration"},{"begin":"(\\?{0,1})([[:alpha:]0-9'`^._ ]+)\\s*(:)(\\s*([?[:alpha:]0-9'`^._ ]+)(\u003c))","end":"(\u003e)","patterns":[{"match":"([[:alpha:]0-9'`^._ ]+)","captures":{"1":{"name":"entity.name.type.fsharp"}}},{"include":"#keywords"}],"beginCaptures":{"1":{"name":"keyword.symbol.fsharp"},"2":{"name":"variable.parameter.fsharp"},"3":{"name":"keyword.symbol.fsharp"},"4":{"name":"keyword.symbol.fsharp"},"5":{"name":"entity.name.type.fsharp"}},"endCaptures":{"1":{"name":"keyword.symbol.fsharp"}}}]},"compiler_directives":{"patterns":[{"name":"keyword.control.directive.fsharp","match":"\\s?(#if|#elif|#elseif|#else|#endif|#light|#nowarn)"}]},"constants":{"patterns":[{"name":"constant.language.unit.fsharp","match":"\\(\\)"},{"name":"constant.numeric.float.fsharp","match":"\\b-?[0-9][0-9_]*((\\.([0-9][0-9_]*([eE][+-]??[0-9][0-9_]*)?)?)|([eE][+-]??[0-9][0-9_]*))"},{"name":"constant.numeric.integer.nativeint.fsharp","match":"\\b(-?((0(x|X)[0-9a-fA-F][0-9a-fA-F_]*)|(0(o|O)[0-7][0-7_]*)|(0(b|B)[01][01_]*)|([0-9][0-9_]*)))"},{"name":"constant.language.boolean.fsharp","match":"\\b(true|false)\\b"},{"name":"constant.other.fsharp","match":"\\b(null|unit|void)\\b"}]},"definition":{"patterns":[{"name":"binding.fsharp","begin":"\\b(let mutable|static let mutable|static let|let inline|let|member val|static member inline|static member|default|member|override|let!)(\\s+rec|mutable)?(\\s+\\[\\\u003c.*\\\u003e\\])?\\s*(private|internal|public)?\\s+(\\[[^-=]*\\]|[_[:alpha:]]([_[:alpha:]0-9\\._]+)*|``[_[:alpha:]]([_[:alpha:]0-9\\._`\\s]+|(?\u003c=,)\\s)*)?","end":"\\s*(with\\b|=|\\n+=|(?\u003c=\\=))","patterns":[{"include":"#common_binding_definition"}],"beginCaptures":{"1":{"name":"keyword.fsharp"},"2":{"name":"keyword.fsharp"},"3":{"name":"support.function.attribute.fsharp"},"4":{"name":"storage.modifier.fsharp"},"5":{"name":"variable.fsharp"}},"endCaptures":{"1":{"name":"keyword.fsharp"}}},{"name":"binding.fsharp","begin":"(?\u003c=with|and)\\s*\\b((get|set)\\s*(?=\\())(\\[[^-=]*\\]|[_[:alpha:]]([_[:alpha:]0-9\\._]+)*|``[_[:alpha:]]([_[:alpha:]0-9\\._`\\s]+|(?\u003c=,)\\s)*)?","end":"\\s*(=|\\n+=|(?\u003c=\\=))","patterns":[{"include":"#common_binding_definition"}],"beginCaptures":{"4":{"name":"variable.fsharp"}},"endCaptures":{"1":{"name":"keyword.fsharp"}}},{"name":"binding.fsharp","begin":"\\b(static val mutable|val mutable|val)(\\s+rec|mutable)?(\\s+\\[\\\u003c.*\\\u003e\\])?\\s*(private|internal|public)?\\s+(\\[[^-=]*\\]|[_[:alpha:]]([_[:alpha:]0-9,\\._]+)*|``[_[:alpha:]]([_[:alpha:]0-9,\\._`\\s]+|(?\u003c=,)\\s)*)?","end":"\\n$","patterns":[{"include":"#common_binding_definition"}],"beginCaptures":{"1":{"name":"keyword.fsharp"},"2":{"name":"keyword.fsharp"},"3":{"name":"support.function.attribute.fsharp"},"4":{"name":"storage.modifier.fsharp"},"5":{"name":"variable.fsharp"}}},{"name":"binding.fsharp","begin":"\\b(new)\\b\\s+(\\()","end":"(\\))","patterns":[{"include":"#common_binding_definition"}],"beginCaptures":{"1":{"name":"keyword.fsharp"},"2":{"name":"keyword.fsharp"}},"endCaptures":{"1":{"name":"keyword.fsharp"}}}]},"double_tick":{"patterns":[{"name":"variable.other.binding.fsharp","match":"(``)([^`]*)(``)","captures":{"1":{"name":"string.quoted.single.fsharp"},"2":{"name":"variable.other.binding.fsharp"},"3":{"name":"string.quoted.single.fsharp"}}}]},"du_declaration":{"patterns":[{"name":"du_declaration.fsharp","begin":"\\b(of)\\b","end":"$|(\\|)","patterns":[{"include":"#comments"},{"match":"([[:alpha:]0-9'`\u003c\u003e^._]+|``[[:alpha:]0-9' \u003c\u003e^._]+``)\\s*(:)\\s*([[:alpha:]0-9'`\u003c\u003e^._]+|``[[:alpha:]0-9' \u003c\u003e^._]+``)","captures":{"1":{"name":"variable.parameter.fsharp"},"2":{"name":"keyword.symbol.fsharp"},"3":{"name":"entity.name.type.fsharp"}}},{"match":"(``([[:alpha:]0-9'^._ ]+)``|[[:alpha:]0-9'`^._]+)","captures":{"1":{"name":"entity.name.type.fsharp"}}},{"include":"#anonymous_record_declaration"},{"include":"#keywords"}],"beginCaptures":{"1":{"name":"keyword.fsharp"}},"endCaptures":{"1":{"name":"keyword.symbol.fsharp"}}}]},"generic_declaration":{"patterns":[{"begin":"(:)\\s*(\\()\\s*(static member|member)","end":"(\\))","patterns":[{"begin":"(\\()","end":"(\\))","patterns":[{"include":"#member_declaration"}],"beginCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"endCaptures":{"1":{"name":"keyword.symbol.fsharp"}}},{"match":"(('|\\^)[[:alpha:]0-9'._]+)","captures":{"1":{"name":"entity.name.type.fsharp"}}},{"include":"#variables"},{"include":"#keywords"}],"beginCaptures":{"1":{"name":"keyword.symbol.fsharp"},"2":{"name":"keyword.symbol.fsharp"},"3":{"name":"keyword.fsharp"}},"endCaptures":{"1":{"name":"keyword.symbol.fsharp"}}},{"name":"keyword.fsharp","match":"\\b(private|to|public|internal|function|yield!|yield|class|exception|match|delegate|of|new|in|as|if|then|else|elif|for|begin|end|inherit|do|let\\!|return\\!|return|interface|with|abstract|enum|member|try|finally|and|when|or|use|use\\!|struct|while|mutable|assert|base|done|downcast|downto|extern|fixed|global|lazy|upcast|not)(?!')\\b"},{"name":"keyword.fsharp","match":":"},{"include":"#constants"},{"match":"(('|\\^)[[:alpha:]0-9'._]+)","captures":{"1":{"name":"entity.name.type.fsharp"}}},{"begin":"(\u003c)","end":"(\u003e)","patterns":[{"match":"(('|\\^)[[:alpha:]0-9'._]+)","captures":{"1":{"name":"entity.name.type.fsharp"}}},{"include":"#tuple_signature"},{"include":"#generic_declaration"}],"beginCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"endCaptures":{"1":{"name":"keyword.symbol.fsharp"}}},{"begin":"(\\()","end":"(\\))","patterns":[{"match":"(([?[:alpha:]0-9'`^._ ]+))+","captures":{"1":{"name":"entity.name.type.fsharp"}}},{"include":"#tuple_signature"}],"beginCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"endCaptures":{"1":{"name":"keyword.symbol.fsharp"}}},{"match":"(?!when|and|or\\b)\\b([\\w0-9'`^._]+)","captures":{"1":{"name":"entity.name.type.fsharp"}}},{"match":"(\\|)","captures":{"1":{"name":"keyword.symbol.fsharp"}}},{"include":"#keywords"}]},"keywords":{"patterns":[{"name":"storage.modifier","match":"\\b(private|public|internal)\\b"},{"name":"keyword.fsharp","match":"\\b(private|to|public|internal|function|class|exception|delegate|of|as|begin|end|inherit|let!|interface|abstract|enum|member|and|when|or|use|use\\!|struct|mutable|assert|base|done|downcast|downto|extern|fixed|global|lazy|upcast|not)(?!')\\b"},{"name":"keyword.control","match":"\\b(match|yield|yield!|with|if|then|else|elif|for|in|return!|return|try|finally|while|do)(?!')\\b"},{"name":"keyword.symbol.new","match":"\\b(new)\\b"},{"name":"keyword.symbol.fsharp","match":"(\u0026\u0026\u0026|\\|\\|\\||\\^\\^\\^|~~~|\u003c\u003c\u003c|\u003e\u003e\u003e|\\|\u003e|\\-\u003e|\\\u003c\\-|:\u003e|:\\?\u003e|:|\\[|\\]|\\;|\u003c\u003e|=|@|\\|\\||\u0026\u0026|{|}|\\||_|\\.\\.|\\,|\\+|\\-|\\*|\\/|\\^|\\!|\\\u003e|\\\u003e\\=|\\\u003e\\\u003e|\\\u003c|\\\u003c\\=|\\(|\\)|\\\u003c\\\u003c)"}]},"member_declaration":{"patterns":[{"include":"#comments"},{"include":"#common_declaration"},{"begin":"(:)\\s*(\\()\\s*(static member|member)","end":"(\\))\\s*((?=,)|(?=\\=))","patterns":[{"begin":"(\\()","end":"(\\))","patterns":[{"include":"#member_declaration"}],"beginCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"endCaptures":{"1":{"name":"keyword.symbol.fsharp"}}},{"match":"(\\^[[:alpha:]0-9'._]+)","captures":{"1":{"name":"entity.name.type.fsharp"}}},{"include":"#variables"},{"include":"#keywords"}],"beginCaptures":{"1":{"name":"keyword.symbol.fsharp"},"2":{"name":"keyword.symbol.fsharp"},"3":{"name":"keyword.fsharp"}},"endCaptures":{"1":{"name":"keyword.symbol.fsharp"}}},{"match":"(\\^[[:alpha:]0-9'._]+)","captures":{"1":{"name":"entity.name.type.fsharp"}}},{"name":"keyword.fsharp","match":"\\b(and|when|or)\\b"},{"name":"keyword.symbol.fsharp","match":"(\\(|\\))"},{"match":"(\\?{0,1})([[:alpha:]0-9'`^._]+|``[[:alpha:]0-9'`^:,._ ]+``)\\s*(:{0,1})(\\s*([?[:alpha:]0-9'`\u003c\u003e._ ]+)){0,1}","captures":{"1":{"name":"keyword.symbol.fsharp"},"2":{"name":"variable.parameter.fsharp"},"3":{"name":"keyword.symbol.fsharp"},"4":{"name":"entity.name.type.fsharp"}}},{"include":"#keywords"}]},"modules":{"patterns":[{"name":"entity.name.section.fsharp","begin":"\\b(namespace global)|\\b(namespace|module)\\s*(public|internal|private|rec)?\\s+([[:alpha:]][[:alpha:]0-9'_. ]*)","end":"(\\s?=|\\s|$)","patterns":[{"name":"entity.name.section.fsharp","match":"(\\.)([A-Z][[:alpha:]0-9'_]*)","captures":{"1":{"name":"punctuation.separator.namespace-reference.fsharp"},"2":{"name":"entity.name.section.fsharp"}}}],"beginCaptures":{"1":{"name":"keyword.fsharp"},"2":{"name":"keyword.fsharp"},"3":{"name":"storage.modifier.fsharp"},"4":{"name":"entity.name.section.fsharp"}},"endCaptures":{"1":{"name":"keyword.symbol.fsharp"}}},{"name":"namespace.open.fsharp","begin":"\\b(open)\\s+([[:alpha:]][[:alpha:]0-9'_]*)(?=(\\.[A-Z][[:alpha:]0-9_]*)*)","end":"(\\s|$)","patterns":[{"name":"entity.name.section.fsharp","match":"(\\.)([[:alpha:]][[:alpha:]0-9'_]*)","captures":{"1":{"name":"punctuation.separator.namespace-reference.fsharp"},"2":{"name":"entity.name.section.fsharp"}}},{"include":"#comments"}],"beginCaptures":{"1":{"name":"keyword.fsharp"},"2":{"name":"entity.name.section.fsharp"}}},{"name":"namespace.alias.fsharp","begin":"^\\s*(module)\\s+([A-Z][[:alpha:]0-9'_]*)\\s*(=)\\s*([A-Z][[:alpha:]0-9'_]*)","end":"(\\s|$)","patterns":[{"name":"entity.name.section.fsharp","match":"(\\.)([A-Z][[:alpha:]0-9'_]*)","captures":{"1":{"name":"punctuation.separator.namespace-reference.fsharp"},"2":{"name":"entity.name.section.fsharp"}}}],"beginCaptures":{"1":{"name":"keyword.fsharp"},"2":{"name":"entity.name.type.namespace.fsharp"},"3":{"name":"punctuation.separator.namespace-definition.fsharp"},"4":{"name":"entity.name.section.fsharp"}}}]},"record_declaration":{"patterns":[{"begin":"(\\{)","end":"(?\u003c=\\})","patterns":[{"include":"#comments"},{"begin":"(((mutable)\\s[[:alpha:]]+)|[[:alpha:]0-9'`\u003c\u003e^._]*)\\s*((?\u003c!:):(?!:))\\s*","end":"$|(;|\\})","patterns":[{"include":"#comments"},{"match":"([[:alpha:]0-9'`^_ ]+)","captures":{"1":{"name":"entity.name.type.fsharp"}}},{"include":"#keywords"}],"beginCaptures":{"3":{"name":"keyword.fsharp"},"4":{"name":"keyword.symbol.fsharp"}},"endCaptures":{"1":{"name":"keyword.symbol.fsharp"}}},{"include":"#compiler_directives"},{"include":"#constants"},{"include":"#strings"},{"include":"#chars"},{"include":"#double_tick"},{"include":"#definition"},{"include":"#attributes"},{"include":"#anonymous_functions"},{"include":"#keywords"},{"include":"#cexprs"},{"include":"#text"}],"beginCaptures":{"1":{"name":"keyword.symbol.fsharp"}}}]},"record_signature":{"patterns":[{"match":"[[:alpha:]0-9'`^_ ]+(=)([[:alpha:]0-9'`^_ ]+)","captures":{"1":{"name":"keyword.symbol.fsharp"},"2":{"name":"variable.parameter.fsharp"}}},{"begin":"({)","end":"(})","patterns":[{"match":"[[:alpha:]0-9'`^_ ]+(=)([[:alpha:]0-9'`^_ ]+)","captures":{"1":{"name":"keyword.symbol.fsharp"},"2":{"name":"variable.parameter.fsharp"}}},{"include":"#record_signature"}],"beginCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"endCaptures":{"1":{"name":"keyword.symbol.fsharp"}}},{"include":"#keywords"}]},"records":{"patterns":[{"name":"record.fsharp","begin":"\\b(type)[\\s]+(private|internal|public)?\\s*","end":"\\s*((with)|((as)\\s+([[:alpha:]0-9']+))|(=)|[\\n=]|(\\(\\)))","patterns":[{"include":"#comments"},{"include":"#attributes"},{"match":"([[:alpha:]0-9'^._]+|``[[:alpha:]0-9'`^:,._ ]+``)","captures":{"1":{"name":"entity.name.type.fsharp"}}},{"begin":"(\u003c)","end":"((?\u003c!:)\u003e)","patterns":[{"match":"(('|\\^)``[[:alpha:]0-9`^:,._ ]+``|('|\\^)[[:alpha:]0-9`^:._]+)","captures":{"1":{"name":"entity.name.type.fsharp"}}},{"name":"keyword.fsharp","match":"\\b(interface|with|abstract|and|when|or|not|struct|equality|comparison|unmanaged|delegate|enum)\\b"},{"begin":"(\\()","end":"(\\))","patterns":[{"match":"(static member|member|new)","captures":{"1":{"name":"keyword.fsharp"}}},{"include":"#common_binding_definition"}],"beginCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"endCaptures":{"1":{"name":"keyword.symbol.fsharp"}}},{"match":"([\\w0-9'`^._]+)","captures":{"1":{"name":"entity.name.type.fsharp"}}},{"include":"#keywords"}],"beginCaptures":{"1":{"name":"keyword.fsharp"}},"endCaptures":{"1":{"name":"keyword.fsharp"}}},{"match":"\\s*(private|internal|public)","captures":{"1":{"name":"keyword.symbol.fsharp"},"2":{"name":"storage.modifier.fsharp"}}},{"begin":"(\\()","end":"\\s*(?=(=)|[\\n=]|(\\(\\))|(as))","patterns":[{"include":"#member_declaration"}],"beginCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"endCaptures":{"1":{"name":"keyword.symbol.fsharp"}}},{"include":"#keywords"}],"beginCaptures":{"1":{"name":"keyword.fsharp"},"2":{"name":"storage.modifier.fsharp"}},"endCaptures":{"2":{"name":"keyword.fsharp"},"3":{"name":"keyword.fsharp"},"4":{"name":"keyword.fsharp"},"5":{"name":"variable.parameter.fsharp"},"6":{"name":"keyword.symbol.fsharp"},"7":{"name":"constant.language.unit.fsharp"}}}]},"string_formatter":{"patterns":[{"name":"entity.name.type.format.specifier.fsharp","match":"(%0?-?(\\d+)?((a|t)|(\\.\\d+)?(f|F|e|E|g|G|M)|(b|c|s|d|i|x|X|o|u)|(s|b|O)|(\\+?A)))","captures":{"1":{"name":"keyword.format.specifier.fsharp"}}}]},"strings":{"patterns":[{"name":"string.quoted.literal.fsharp","begin":"(?=[^\\\\])(@\")","end":"(\")(?!\")","patterns":[{"name":"constant.character.string.escape.fsharp","match":"\"(\")"}],"beginCaptures":{"1":{"name":"punctuation.definition.string.begin.fsharp"}},"endCaptures":{"1":{"name":"punctuation.definition.string.end.fsharp"}}},{"name":"string.quoted.triple.fsharp","begin":"(?=[^\\\\])(\"\"\")","end":"(\"\"\")","patterns":[{"include":"#string_formatter"}],"beginCaptures":{"1":{"name":"punctuation.definition.string.begin.fsharp"}},"endCaptures":{"1":{"name":"punctuation.definition.string.end.fsharp"}}},{"name":"string.quoted.double.fsharp","begin":"(?=[^\\\\])(\")","end":"(\")","patterns":[{"name":"punctuation.separator.string.ignore-eol.fsharp","match":"\\\\$[ \\t]*"},{"name":"constant.character.string.escape.fsharp","match":"\\\\([\\\\''ntbr]|x[a-fA-F0-9]{2}|u[a-fA-F0-9]{4}|u[a-fA-F0-9]{8})"},{"name":"invalid.illeagal.character.string.fsharp","match":"\\\\(?![\\\\''ntbr]|x[a-fA-F0-9]{2}|u[a-fA-F0-9]{4}|u[a-fA-F0-9]{8})."},{"include":"#string_formatter"}],"beginCaptures":{"1":{"name":"punctuation.definition.string.begin.fsharp"}},"endCaptures":{"1":{"name":"punctuation.definition.string.end.fsharp"}}}]},"strp_inlined":{"patterns":[{"begin":"(\\()","end":"(\\))","patterns":[{"include":"#strp_inlined_body"}],"beginCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"endCaptures":{"1":{"name":"keyword.symbol.fsharp"}}}]},"strp_inlined_body":{"patterns":[{"include":"#comments"},{"include":"#anonymous_functions"},{"match":"(\\^[[:alpha:]0-9'._]+)","captures":{"1":{"name":"entity.name.type.fsharp"}}},{"name":"keyword.fsharp","match":"\\b(and|when|or)\\b"},{"begin":"(\\()","end":"(\\))","patterns":[{"include":"#strp_inlined_body"}],"beginCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"endCaptures":{"1":{"name":"keyword.symbol.fsharp"}}},{"match":"(static member|member)\\s*([[:alpha:]0-9'`\u003c\u003e^._]+|``[[:alpha:]0-9' \u003c\u003e^._]+``)\\s*(:)","captures":{"1":{"name":"keyword.fsharp"},"2":{"name":"variable.fsharp"},"3":{"name":"keyword.symbol.fsharp"}}},{"include":"#compiler_directives"},{"include":"#constants"},{"include":"#strings"},{"include":"#chars"},{"include":"#double_tick"},{"include":"#keywords"},{"include":"#text"},{"include":"#definition"},{"include":"#attributes"},{"include":"#keywords"},{"include":"#cexprs"},{"include":"#text"}]},"text":{"patterns":[{"name":"text.fsharp","match":"\\\\"}]},"tuple_signature":{"patterns":[{"match":"(([?[:alpha:]0-9'`^._ ]+))+","captures":{"1":{"name":"entity.name.type.fsharp"}}},{"begin":"(\\()","end":"(\\))","patterns":[{"match":"(([?[:alpha:]0-9'`^._ ]+))+","captures":{"1":{"name":"entity.name.type.fsharp"}}},{"include":"#tuple_signature"}],"beginCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"endCaptures":{"1":{"name":"keyword.symbol.fsharp"}}},{"include":"#keywords"}]},"variables":{"patterns":[{"name":"constant.language.unit.fsharp","match":"\\(\\)"},{"match":"(\\?{0,1})(``[[:alpha:]0-9'`^:,._ ]+``|(?!private\\b)\\b[\\w[:alpha:]0-9'`\u003c\u003e^._ ]+)","captures":{"1":{"name":"keyword.symbol.fsharp"},"2":{"name":"variable.parameter.fsharp"}}}]}}}
@@ -1 +1 @@
1
- {"name":"GDScript","scopeName":"source.gdscript","patterns":[{"include":"#base_expression"},{"include":"#logic_op"},{"include":"#compare_op"},{"include":"#arithmetic_op"},{"include":"#assignment_op"},{"include":"#keywords"},{"include":"#self"},{"include":"#const_def"},{"include":"#type_declear"},{"include":"#class_def"},{"include":"#class_name"},{"include":"#builtin_func"},{"include":"#builtin_get_node_shorthand"},{"include":"#builtin_classes"},{"include":"#const_vars"},{"include":"#class_new"},{"include":"#class_is"},{"include":"#class_enum"},{"include":"#function-declaration"},{"include":"#function-return-type"},{"include":"#any-method"},{"include":"#any-property"},{"include":"#extends"},{"include":"#pascal_case_class"}],"repository":{"annotated-parameter":{"begin":"(?x)\n \\b\n ([[:alpha:]_]\\w*) \\s* (:)\n","end":"(,)|(?=\\))","patterns":[{"name":"keyword.operator.assignment.gdscript","match":"=(?!=)"}],"beginCaptures":{"1":{"name":"variable.parameter.function.language.gdscript"},"2":{"name":"punctuation.separator.annotation.gdscript"}},"endCaptures":{"1":{"name":"punctuation.separator.parameters.gdscript"}}},"any-method":{"name":"support.function.any-method.gdscript","match":"\\b([A-Za-z_]\\w*)\\b(?=\\s*(?:[(]))"},"any-property":{"name":"variable.other.property.gdscript","match":"(?\u003c=[^.]\\.)\\b([A-Za-z_]\\w*)\\b(?![(])"},"arithmetic_op":{"name":"keyword.operator.arithmetic.gdscript","match":"\\+=|-=|\\*=|/=|%=|\u0026=|\\|=|\\*|/|%|\\+|-|\u003c\u003c|\u003e\u003e|\u0026|\\||\\^|~"},"assignment_op":{"name":"keyword.operator.assignment.gdscript","match":"="},"base_expression":{"patterns":[{"include":"#strings"},{"include":"#comment"},{"include":"#letter"},{"include":"#numbers"},{"include":"#line-continuation"}]},"builtin_classes":{"name":"support.class.library.gdscript","match":"(?\u003c![^.]\\.|:)\\b(Vector2|Vector3|Color|Rect2|Array|Basis|Dictionary|Plane|Quat|RID|Rect3|Transform|Transform2D|AABB|String|Color|NodePath|RID|Object|Dictionary|Array|PoolByteArray|PoolIntArray|PoolRealArray|PoolStringArray|PoolVector2Array|PoolVector3Array|PoolColorArray)\\b"},"builtin_func":{"name":"support.function.builtin.gdscript","match":"(?\u003c![^.]\\.|:)\\b(sin|cos|tan|sinh|cosh|tanh|asin|acos|atan|atan2|sqrt|fmod|fposmod|floor|ceil|round|abs|sign|pow|log|exp|is_nan|is_inf|ease|decimals|stepify|lerp|dectime|randomize|randi|randf|rand_range|seed|rand_seed|deg2rad|rad2deg|linear2db|db2linear|max|min|clamp|nearest_po2|weakref|funcref|convert|typeof|type_exists|char|str|print|printt|prints|printerr|printraw|var2str|str2var|var2bytes|bytes2var|range|load|inst2dict|dict2inst|hash|Color8|print_stack|instance_from_id|preload|yield|assert)\\b(?=(\\()([^)]*)(\\)))"},"builtin_get_node_shorthand":{"name":"support.function.builtin.shorthand.gdscript","match":"\\$((\\\"(\\.\\.\\/)+|\\\"\\/|\\\"[0-9]+|\\\")([0-9A-Za-z\\_]+\\/)*[A-Za-z0-9\\_]+\\\"|[A-Za-z\\_]+(\\/[A-Za-z\\_]+)*)"},"class_def":{"match":"(?\u003c=^class)\\s+([a-zA-Z_]\\w*)\\s*(?=:)","captures":{"1":{"name":"entity.name.type.class.gdscript"},"2":{"name":"class.other.gdscript"}}},"class_enum":{"match":"\\b([A-Z][a-zA-Z_0-9]*)\\.([A-Z_0-9]+)","captures":{"1":{"name":"entity.name.type.class.gdscript"},"2":{"name":"constant.language.gdscript"}}},"class_is":{"match":"\\s+(is)\\s+([a-zA-Z_][a-zA-Z_0-9]*)","captures":{"1":{"name":"storage.type.is.gdscript"},"2":{"name":"entity.name.type.class.gdscript"}}},"class_name":{"match":"(?\u003c=class_name)\\s+([a-zA-Z_][a-zA-Z_0-9]*(\\.([a-zA-Z_][a-zA-Z_0-9]*))?)","captures":{"1":{"name":"entity.name.type.class.gdscript"},"2":{"name":"class.other.gdscript"}}},"class_new":{"match":"\\b([a-zA-Z_][a-zA-Z_0-9]*).(new)\\(","captures":{"1":{"name":"entity.name.type.class.gdscript"},"2":{"name":"storage.type.new.gdscript"}}},"comment":{"name":"comment.line.number-sign.gdscript","match":"(#).*$\\n?","captures":{"1":{"name":"punctuation.definition.comment.number-sign.gdscript"}}},"compare_op":{"name":"keyword.operator.comparison.gdscript","match":"\u003c=|\u003e=|==|\u003c|\u003e|!="},"const_def":{"match":"\\b(?i:(const))\\s+([a-zA-Z_][a-zA-Z_0-9]*)","captures":{"1":{"name":"storage.type.const.gdscript"},"2":{"name":"constant.language.gdscript"}}},"const_vars":{"name":"constant.language.gdscript","match":"\\b([A-Z_0-9]+)\\b"},"extends":{"name":"entity.other.inherited-class.gdscript","match":"(?\u003c=extends)\\s+[a-zA-Z_][a-zA-Z_0-9]*(\\.([a-zA-Z_][a-zA-Z_0-9]*))?"},"function-declaration":{"name":"meta.function.gdscript","begin":"(?x)\n \\s*\n (?:\\b(static) \\s+)? \\b(func|signal)\\s+\n (?=\n [[:alpha:]_][[:word:]]* \\s* \\(\n )\n","end":"(:|(?=[#'\"\\n]))","patterns":[{"include":"#function-def-name"},{"include":"#parameters"},{"include":"#line-continuation"},{"include":"#return-annotation"}],"beginCaptures":{"1":{"name":"storage.type.function.static.gdscript"},"2":{"name":"storage.type.function.gdscript"}},"endCaptures":{"1":{"name":"punctuation.section.function.begin.gdscript"}}},"function-def-name":{"patterns":[{"name":"entity.name.function.gdscript","match":"(?x)\n \\b ([[:alpha:]_]\\w*) \\b\n"}]},"function-return-type":{"match":"\\)\\s*\\-\\\u003e\\s*([a-zA-Z_][a-zA-Z_0-9]*)\\s*\\:","captures":{"1":{"name":"entity.name.type.class.gdscript"}}},"keywords":{"name":"keyword.language.gdscript","match":"\\b(?i:if|elif|else|for|while|break|continue|pass|return|match|func|class|class_name|extends|is|in|onready|tool|static|export|setget|const|var|as|void|enum|preload|assert|yield|signal|breakpoint|rpc|sync|remote|master|puppet|slave|remotesync|mastersync|puppetsync|in)\\b"},"letter":{"name":"constant.language.gdscript","match":"\\b(?i:true|false|null)\\b"},"line-continuation":{"patterns":[{"match":"(\\\\)\\s*(\\S.*$\\n?)","captures":{"1":{"name":"punctuation.separator.continuation.line.gdscript"},"2":{"name":"invalid.illegal.line.continuation.gdscript"}}},{"begin":"(\\\\)\\s*$\\n?","end":"(?x)\n (?=^\\s*$)\n |\n (?! (\\s* [rR]? (\\'\\'\\'|\\\"\\\"\\\"|\\'|\\\"))\n |\n (\\G $) (?# '\\G' is necessary for ST)\n )\n","patterns":[{"include":"#base_expression"}],"beginCaptures":{"1":{"name":"punctuation.separator.continuation.line.gdscript"}}}]},"logic_op":{"name":"keyword.operator.logical.gdscript","match":"\\b(and|or|not)\\b"},"loose-default":{"begin":"(=)","end":"(,)|(?=\\))","patterns":[{"include":"#base_expression"}],"beginCaptures":{"1":{"name":"keyword.operator.gdscript"}},"endCaptures":{"1":{"name":"punctuation.separator.parameters.gdscript"}}},"numbers":{"patterns":[{"name":"constant.numeric.integer.hexadecimal.gdscript","match":"\\b(?i:0x[[:xdigit:]]*)\\b"},{"name":"constant.numeric.float.gdscript","match":"\\b(?i:(\\d+\\.\\d*(e[\\-\\+]?\\d+)?))\\b"},{"name":"constant.numeric.float.gdscript","match":"\\b(?i:(\\.\\d+(e[\\-\\+]?\\d+)?))\\b"},{"name":"constant.numeric.float.gdscript","match":"\\b(?i:(\\d+e[\\-\\+]?\\d+))\\b"},{"name":"constant.numeric.integer.gdscript","match":"\\b\\d+\\b"}]},"parameter-special":{"match":"(?x)\n \\b ((self)|(cls)) \\b \\s*(?:(,)|(?=\\)))\n","captures":{"1":{"name":"variable.parameter.function.language.gdscript"},"2":{"name":"variable.parameter.function.language.special.self.gdscript"},"3":{"name":"variable.parameter.function.language.special.cls.gdscript"},"4":{"name":"punctuation.separator.parameters.gdscript"}}},"parameters":{"name":"meta.function.parameters.gdscript","begin":"(\\()","end":"(\\))","patterns":[{"name":"keyword.operator.unpacking.parameter.gdscript","match":"(\\*\\*|\\*)"},{"include":"#parameter-special"},{"match":"(?x)\n ([[:alpha:]_]\\w*)\n \\s* (?: (,) | (?=[)#\\n=]))\n","captures":{"1":{"name":"variable.parameter.function.language.gdscript"},"2":{"name":"punctuation.separator.parameters.gdscript"}}},{"include":"#comment"},{"include":"#loose-default"},{"include":"#annotated-parameter"}],"beginCaptures":{"1":{"name":"punctuation.definition.parameters.begin.gdscript"}},"endCaptures":{"1":{"name":"punctuation.definition.parameters.end.gdscript"}}},"pascal_case_class":{"match":"\\b([A-Z][a-zA-Z_0-9]*)\\b","captures":{"1":{"name":"entity.name.type.class.gdscript"}}},"self":{"name":"variable.language.gdscript","match":"\\bself\\b"},"strings":{"patterns":[{"name":"string.quoted.double.gdscript","begin":"\"","end":"\"","patterns":[{"name":"constant.character.escape.untitled","match":"\\\\."}]},{"name":"string.quoted.single.gdscript","begin":"'","end":"'","patterns":[{"name":"constant.character.escape.untitled","match":"\\\\."}]},{"name":"string.nodepath.gdscript","begin":"@\"","end":"\"","patterns":[{"name":"constant.character.escape.untitled","match":"\\."}]}]},"type_declear":{"match":"\\:\\s*([a-zA-Z_][a-zA-Z_0-9]*)","captures":{"1":{"name":"entity.name.type.class.gdscript"}}},"var_def":{"match":"\\b(?i:(var))\\s+([a-zA-Z_][a-zA-Z_0-9]*)","captures":{"1":{"name":"storage.type.var.gdscript"},"2":{"name":"variable.language.gdscript"}}}}}
1
+ {"name":"GDScript","scopeName":"source.gdscript","patterns":[{"include":"#base_expression"},{"include":"#logic_op"},{"include":"#compare_op"},{"include":"#arithmetic_op"},{"include":"#assignment_op"},{"include":"#keywords"},{"include":"#self"},{"include":"#const_def"},{"include":"#type_declear"},{"include":"#class_def"},{"include":"#class_name"},{"include":"#builtin_func"},{"include":"#builtin_get_node_shorthand"},{"include":"#builtin_classes"},{"include":"#const_vars"},{"include":"#class_new"},{"include":"#class_is"},{"include":"#class_enum"},{"include":"#function-declaration"},{"include":"#function-return-type"},{"include":"#any-method"},{"include":"#any-property"},{"include":"#extends"},{"include":"#pascal_case_class"}],"repository":{"annotated-parameter":{"begin":"(?x)\n \\b\n ([[:alpha:]_]\\w*) \\s* (:)\n","end":"(,)|(?=\\))","patterns":[{"name":"keyword.operator.assignment.gdscript","match":"=(?!=)"}],"beginCaptures":{"1":{"name":"variable.parameter.function.language.gdscript"},"2":{"name":"punctuation.separator.annotation.gdscript"}},"endCaptures":{"1":{"name":"punctuation.separator.parameters.gdscript"}}},"any-method":{"name":"support.function.any-method.gdscript","match":"\\b([A-Za-z_]\\w*)\\b(?=\\s*(?:[(]))"},"any-property":{"name":"variable.other.property.gdscript","match":"(?\u003c=[^.]\\.)\\b([A-Za-z_]\\w*)\\b(?![(])"},"arithmetic_op":{"name":"keyword.operator.arithmetic.gdscript","match":"\\+=|-=|\\*=|/=|%=|\u0026=|\\|=|\\*|/|%|\\+|-|\u003c\u003c|\u003e\u003e|\u0026|\\||\\^|~"},"assignment_op":{"name":"keyword.operator.assignment.gdscript","match":"="},"base_expression":{"patterns":[{"include":"#strings"},{"include":"#comment"},{"include":"#letter"},{"include":"#numbers"},{"include":"#line-continuation"}]},"builtin_classes":{"name":"support.class.library.gdscript","match":"(?\u003c![^.]\\.|:)\\b(Vector2|Vector3|Color|Rect2|Array|Basis|Dictionary|Plane|Quat|RID|Rect3|Transform|Transform2D|AABB|String|Color|NodePath|RID|Object|Dictionary|Array|PoolByteArray|PoolIntArray|PoolRealArray|PoolStringArray|PoolVector2Array|PoolVector3Array|PoolColorArray)\\b"},"builtin_func":{"name":"support.function.builtin.gdscript","match":"(?\u003c![^.]\\.|:)\\b(sin|cos|tan|sinh|cosh|tanh|asin|acos|atan|atan2|sqrt|fmod|fposmod|floor|ceil|round|abs|sign|pow|log|exp|is_nan|is_inf|ease|decimals|stepify|lerp|dectime|randomize|randi|randf|rand_range|seed|rand_seed|deg2rad|rad2deg|linear2db|db2linear|max|min|clamp|nearest_po2|weakref|funcref|convert|typeof|type_exists|char|str|print|printt|prints|printerr|printraw|var2str|str2var|var2bytes|bytes2var|range|load|inst2dict|dict2inst|hash|Color8|print_stack|instance_from_id|preload|yield|assert)\\b(?=(\\()([^)]*)(\\)))"},"builtin_get_node_shorthand":{"name":"support.function.builtin.shorthand.gdscript","match":"\\$((\\\"(\\.\\.\\/)+|\\\"\\/|\\\"[0-9]+|\\\")([0-9A-Za-z\\_]+\\/)*[A-Za-z0-9\\_]+\\\"|[A-Za-z\\_]+(\\/[A-Za-z\\_]+)*)"},"class_def":{"match":"(?\u003c=^class)\\s+([a-zA-Z_]\\w*)\\s*(?=:)","captures":{"1":{"name":"entity.name.type.class.gdscript"},"2":{"name":"class.other.gdscript"}}},"class_enum":{"match":"\\b([A-Z][a-zA-Z_0-9]*)\\.([A-Z_0-9]+)","captures":{"1":{"name":"entity.name.type.class.gdscript"},"2":{"name":"constant.language.gdscript"}}},"class_is":{"match":"\\s+(is)\\s+([a-zA-Z_][a-zA-Z_0-9]*)","captures":{"1":{"name":"storage.type.is.gdscript"},"2":{"name":"entity.name.type.class.gdscript"}}},"class_name":{"match":"(?\u003c=class_name)\\s+([a-zA-Z_][a-zA-Z_0-9]*(\\.([a-zA-Z_][a-zA-Z_0-9]*))?)","captures":{"1":{"name":"entity.name.type.class.gdscript"},"2":{"name":"class.other.gdscript"}}},"class_new":{"match":"\\b([a-zA-Z_][a-zA-Z_0-9]*).(new)\\(","captures":{"1":{"name":"entity.name.type.class.gdscript"},"2":{"name":"storage.type.new.gdscript"}}},"comment":{"name":"comment.line.number-sign.gdscript","match":"(#).*$\\n?","captures":{"1":{"name":"punctuation.definition.comment.number-sign.gdscript"}}},"compare_op":{"name":"keyword.operator.comparison.gdscript","match":"\u003c=|\u003e=|==|\u003c|\u003e|!="},"const_def":{"match":"\\b(?i:(const))\\s+([a-zA-Z_][a-zA-Z_0-9]*)","captures":{"1":{"name":"storage.type.const.gdscript"},"2":{"name":"constant.language.gdscript"}}},"const_vars":{"name":"constant.language.gdscript","match":"\\b([A-Z_0-9]+)\\b"},"extends":{"name":"entity.other.inherited-class.gdscript","match":"(?\u003c=extends)\\s+[a-zA-Z_][a-zA-Z_0-9]*(\\.([a-zA-Z_][a-zA-Z_0-9]*))?"},"function-declaration":{"name":"meta.function.gdscript","begin":"(?x)\n \\s*\n (?:\\b(static) \\s+)? \\b(func|signal)\\s+\n (?=\n [[:alpha:]_][[:word:]]* \\s* \\(\n )\n","end":"(:|(?=[#'\"\\n]))","patterns":[{"include":"#function-def-name"},{"include":"#parameters"},{"include":"#line-continuation"},{"include":"#return-annotation"}],"beginCaptures":{"1":{"name":"storage.type.function.static.gdscript"},"2":{"name":"storage.type.function.gdscript"}},"endCaptures":{"1":{"name":"punctuation.section.function.begin.gdscript"}}},"function-def-name":{"patterns":[{"name":"entity.name.function.gdscript","match":"(?x)\n \\b ([[:alpha:]_]\\w*) \\b\n"}]},"function-return-type":{"match":"\\)\\s*\\-\\\u003e\\s*([a-zA-Z_][a-zA-Z_0-9]*)\\s*\\:","captures":{"1":{"name":"entity.name.type.class.gdscript"}}},"keywords":{"patterns":[{"name":"keyword.language.gdscript","match":"\\b(?i:func|class|class_name|extends|is|in|onready|tool|static|export|setget|const|var|as|void|enum|preload|assert|yield|signal|breakpoint|rpc|sync|remote|master|puppet|slave|remotesync|mastersync|puppetsync|in)\\b"},{"name":"keyword.control","match":"\\b(?i:if|elif|else|for|while|break|continue|pass|return|match)\\b"}]},"letter":{"name":"constant.language.gdscript","match":"\\b(?i:true|false|null)\\b"},"line-continuation":{"patterns":[{"match":"(\\\\)\\s*(\\S.*$\\n?)","captures":{"1":{"name":"punctuation.separator.continuation.line.gdscript"},"2":{"name":"invalid.illegal.line.continuation.gdscript"}}},{"begin":"(\\\\)\\s*$\\n?","end":"(?x)\n (?=^\\s*$)\n |\n (?! (\\s* [rR]? (\\'\\'\\'|\\\"\\\"\\\"|\\'|\\\"))\n |\n (\\G $) (?# '\\G' is necessary for ST)\n )\n","patterns":[{"include":"#base_expression"}],"beginCaptures":{"1":{"name":"punctuation.separator.continuation.line.gdscript"}}}]},"logic_op":{"name":"keyword.operator.wordlike.gdscript","match":"\\b(and|or|not)\\b"},"loose-default":{"begin":"(=)","end":"(,)|(?=\\))","patterns":[{"include":"#base_expression"}],"beginCaptures":{"1":{"name":"keyword.operator.gdscript"}},"endCaptures":{"1":{"name":"punctuation.separator.parameters.gdscript"}}},"numbers":{"patterns":[{"name":"constant.numeric.integer.hexadecimal.gdscript","match":"\\b(?i:0x[[:xdigit:]]*)\\b"},{"name":"constant.numeric.float.gdscript","match":"\\b(?i:(\\d+\\.\\d*(e[\\-\\+]?\\d+)?))\\b"},{"name":"constant.numeric.float.gdscript","match":"\\b(?i:(\\.\\d+(e[\\-\\+]?\\d+)?))\\b"},{"name":"constant.numeric.float.gdscript","match":"\\b(?i:(\\d+e[\\-\\+]?\\d+))\\b"},{"name":"constant.numeric.integer.gdscript","match":"\\b\\d+\\b"}]},"parameter-special":{"match":"(?x)\n \\b ((self)|(cls)) \\b \\s*(?:(,)|(?=\\)))\n","captures":{"1":{"name":"variable.parameter.function.language.gdscript"},"2":{"name":"variable.parameter.function.language.special.self.gdscript"},"3":{"name":"variable.parameter.function.language.special.cls.gdscript"},"4":{"name":"punctuation.separator.parameters.gdscript"}}},"parameters":{"name":"meta.function.parameters.gdscript","begin":"(\\()","end":"(\\))","patterns":[{"name":"keyword.operator.unpacking.parameter.gdscript","match":"(\\*\\*|\\*)"},{"include":"#parameter-special"},{"match":"(?x)\n ([[:alpha:]_]\\w*)\n \\s* (?: (,) | (?=[)#\\n=]))\n","captures":{"1":{"name":"variable.parameter.function.language.gdscript"},"2":{"name":"punctuation.separator.parameters.gdscript"}}},{"include":"#comment"},{"include":"#loose-default"},{"include":"#annotated-parameter"}],"beginCaptures":{"1":{"name":"punctuation.definition.parameters.begin.gdscript"}},"endCaptures":{"1":{"name":"punctuation.definition.parameters.end.gdscript"}}},"pascal_case_class":{"match":"\\b([A-Z][a-zA-Z_0-9]*)\\b","captures":{"1":{"name":"entity.name.type.class.gdscript"}}},"self":{"name":"variable.language.gdscript","match":"\\bself\\b"},"strings":{"patterns":[{"name":"string.quoted.double.gdscript","begin":"\"","end":"\"","patterns":[{"name":"constant.character.escape.untitled","match":"\\\\."}]},{"name":"string.quoted.single.gdscript","begin":"'","end":"'","patterns":[{"name":"constant.character.escape.untitled","match":"\\\\."}]},{"name":"string.nodepath.gdscript","begin":"@\"","end":"\"","patterns":[{"name":"constant.character.escape.untitled","match":"\\."}]}]},"type_declear":{"match":"\\:\\s*([a-zA-Z_][a-zA-Z_0-9]*)","captures":{"1":{"name":"entity.name.type.class.gdscript"}}},"var_def":{"match":"\\b(?i:(var))\\s+([a-zA-Z_][a-zA-Z_0-9]*)","captures":{"1":{"name":"storage.type.var.gdscript"},"2":{"name":"variable.language.gdscript"}}}}}
@@ -0,0 +1 @@
1
+ {"name":"Genero Forms","scopeName":"source.genero-forms","patterns":[{"include":"#Comments"},{"include":"#GridLayout"},{"include":"#Keywords"},{"include":"#Layout"},{"name":"storage.type.per","match":"\\b(DECIMAL|CHAR|DATE|INTEGER)\\b"},{"include":"#StringDoubleQuote"},{"include":"#StringSingleQuote"},{"include":"#FormAttributes"},{"include":"#ComparisonOperators"},{"include":"#Groups"},{"include":"#Tables"},{"name":"keyword.amp.per","match":"(\u0026)"}],"repository":{"Comments":{"patterns":[{"name":"comment.line.number-sign.per","match":"#.*"},{"name":"comment.line.double-dash.per","match":"--.*"}]},"ComparisonOperators":{"patterns":[{"name":"keyword.operator.per","match":"(\\=|\\\u003c|\\\u003e|\\!)"}]},"EscapeCharacters":{"name":"constant.character.escape.4gl","match":"\\\\.{1}"},"FormAttributes":{"match":"(?i)\\s*\\b(AGGREGATE|BUTTON|BUTTONEDIT|CANVAS|CHECKBOX|COMBOBOX|DATEEDIT|EDIT|FIELD|IMAGE|LABEL|PROGRESSBAR|RADIOGROUP|SCROLLGRID|SLIDER|SPINEDIT|TABLE|TEXTEDIT|TIMEEDIT|TREE|WEBCOMPONENT|SCREEN RECORD|PHANTOM)\\b\\s+(\\w+)\\s*(?:(\\:|\\=)|(?:\\())","captures":{"1":{"name":"storage.type.class.per"},"2":{"name":"entity.name.function.per"},"3":{"name":"keyword.operator.per"}}},"FormFields":{"name":"variable.parameter.per","begin":"\\[","end":"\\]","patterns":[{"include":"#StringDoubleQuote"},{"include":"#StringSingleQuote"},{"name":"support.constant.field.divide.per","match":"(\\||:)"},{"name":"variable.parameter.form.grid.per","match":"(?i)\\b([a-z0-9\\#\\/\\'\\_]+)\\b"}],"beginCaptures":{"0":{"name":"string.unquoted.form.grid.field.brackes.per"}},"endCaptures":{"0":{"name":"string.unquoted.form.grid.field.brackets.per"}}},"FormatStrings":{"patterns":[{"name":"support.type.format.per","match":"[\\#\\\u003c\\\u003e\\*\\-\\+]{2,}"},{"name":"constant.lanauge.format.per","match":"\\\u0026"},{"name":"keyword.operator.per","match":"\\,"}]},"GridLayout":{"name":"meta.form.grid.per","begin":"\\{","end":"\\}","patterns":[{"include":"#FormFields"},{"include":"#Tags"}]},"Groups":{"patterns":[{"match":"(?i)\\b(GROUP)\\b\\s+(\\w+)\\s*(\\:)","captures":{"1":{"name":"storage.type.class.per"},"2":{"name":"entity.name.function.per"},"3":{"name":"keyword.operator.per"}}}]},"Keywords":{"patterns":[{"name":"keyword.per","match":"(?i)\\b(DATABASE|SCREEN SIZE|BY|END|ATTRIBUTES|TYPE|INSTRUCTIONS|DELIMITERS|COMMENTS)\\b"},{"name":"keyword.per","match":"(?i)\\b(ACCELERATOR|ACCELERATOR2|ACCELERATOR3|ACCELERATOR4|ACTION|AGGREGATETEXT|AGGREGATETYPE|AUTOSCALE|AUTONEXT|BUTTONTEXTHIDDEN|CENTURY|CLASS|COLOR|COLOR WHERE|CONFIG|CONTEXTMENU|COMMENT|COMPONENTTYPE|DEFAULT|DEFAULTVIEW|DISPLAY LIKE|DOUBLECLICK|DOWNSHIFT|EXPANDEDCOLUMN|FONTPITCH|FORMAT|GRIDCHILDRENINPARENT|HIDDEN|HEIGHT|IDCOLUMN|IMAGE|IMAGECOLUMN|IMAGECOLLAPSED|IMAGEEXPANDED|IMAGELEAF|INCLUDE|INITIALIZER|INVISIBLE|ISNODECOLUMN|ITEMS|JUSTIFY|KEY|MINHEIGHT|MINWIDTH|NOENTRY|NOT NULL|NOTEDITABLE|OPTIONS|ORIENTATION|PARENTIDCOLUMN|PICTURE|PROGRAM|PROPERTIES|QUERYEDITABLE|REQUIRED|REVERSE|SAMPLE|SCROLL|SCROLLBARS|SIZEPOLICY|SPACING|SPLITTER|STEP|STRETCH|STYLE|TABINDEX|TAG|TEXT|TITLE|UNSORTABLE|UNSORTABLECOLUMNS|UNSIZABLE|UNSIZABLECOLUMNS|UNHIDABLE|UNHIDABLECOLUMNS|UNMOVABLE|UNMOVABLECOLUMNS|UPSHIFT|VALIDATE|VALIDATE LIKE|VALUEMIN|VALUEMAX|VALUECHECKED|VALUEUNCHECKED|VERIFY|VERSION|WANTFIXEDPAGESIZE|WANTNORETURNS|WANTTABS|WIDGET|WIDTH|WINDOWSTYLE|WORDWRAP)\\b"},{"name":"constant.language.per","match":"(?i)\\b(FORMONLY|FIXED)\\b"}]},"Layout":{"patterns":[{"name":"keyword.layout.per","match":"(?i)\\b(GRID|TABLE|HBOX|VBOX|LAYOUT|FORM)\\b"},{"name":"keyword.layout.per","match":"(?i)\\b(TABLE|FOLDER)\\b"},{"match":"(?i)(GROUP|TABLE|PAGE)\\s*(\\w*)\\s*\\(","captures":{"1":{"name":"keyword.layout.per"},"2":{"name":"support.type.class.per"}}}]},"StringDoubleQuote":{"patterns":[{"name":"string.quoted.double.content.per","begin":"\"","end":"\"","patterns":[{"include":"#EscapeCharacters"},{"include":"#FormatStrings"}],"beginCaptures":{"0":{"name":"string.quoted.double.per"}},"endCaptures":{"0":{"name":"string.quoted.double.per"}}}]},"StringSingleQuote":{"patterns":[{"name":"string.quoted.single.content.per","begin":"'","end":"'","patterns":[{"include":"#EscapeCharacters"},{"include":"#FormatStrings"}],"beginCaptures":{"0":{"name":"string.quoted.single.per"}},"endCaptures":{"0":{"name":"string.quoted.single.per"}}}]},"Tables":{"name":"support.class.table.per","begin":"(?i)\\bTABLES\\b","end":"(?i)\\bEND\\b","beginCaptures":{"0":{"name":"keyword.per"}},"endCaptures":{"0":{"name":"keyword.per"}}},"Tags":{"begin":"\\\u003c","end":"\\\u003e","patterns":[{"match":"(?i)\\b(G|GROUP|T|TABLE|TREE|S|SCROLLGRID)\\b\\s+(\\w+)","captures":{"0":{"name":"support.function.per"},"1":{"name":"support.variable.per"}}},{"include":"#StringDoubleQuote"},{"include":"#StringSingleQuote"}],"beginCaptures":{"0":{"name":"string.unquoted.form.grid.group.brackes.per"}},"endCaptures":{"0":{"name":"string.unquoted.form.grid.group.brackes.per"}}}}}