github-linguist 7.25.0 → 7.26.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (73) hide show
  1. checksums.yaml +4 -4
  2. data/ext/linguist/lex.linguist_yy.c +14 -17
  3. data/ext/linguist/lex.linguist_yy.h +2 -2
  4. data/ext/linguist/tokenizer.l +0 -1
  5. data/grammars/inline.graphql.scala.json +1 -0
  6. data/grammars/markdown.curry.codeblock.json +1 -1
  7. data/grammars/markdown.talon.codeblock.json +1 -0
  8. data/grammars/source.abap.json +1 -1
  9. data/grammars/source.abl.json +1 -1
  10. data/grammars/source.acucobol.json +1 -1
  11. data/grammars/source.apex.json +1 -0
  12. data/grammars/source.astro.json +1 -1
  13. data/grammars/source.bicep.json +1 -1
  14. data/grammars/source.brs.json +1 -1
  15. data/grammars/source.bsl.json +1 -1
  16. data/grammars/source.cds.json +1 -1
  17. data/grammars/source.clar.json +1 -1
  18. data/grammars/source.cobol.json +1 -1
  19. data/grammars/source.cs.json +1 -1
  20. data/grammars/source.d2.json +1 -0
  21. data/grammars/source.dart.json +1 -1
  22. data/grammars/source.denizenscript.json +1 -1
  23. data/grammars/source.did.json +1 -0
  24. data/grammars/source.dm.json +1 -1
  25. data/grammars/source.fsharp.json +1 -1
  26. data/grammars/source.gfm.blade.json +1 -1
  27. data/grammars/source.gleam.json +1 -1
  28. data/grammars/source.kotlin.json +1 -1
  29. data/grammars/source.lolcode.json +1 -0
  30. data/grammars/source.matlab.json +1 -1
  31. data/grammars/source.mdx.json +1 -0
  32. data/grammars/source.mo.json +1 -1
  33. data/grammars/source.move.json +1 -1
  34. data/grammars/source.nasal.json +1 -0
  35. data/grammars/source.nim.json +1 -1
  36. data/grammars/source.nushell.json +1 -0
  37. data/grammars/source.pact.json +1 -0
  38. data/grammars/source.pddl.json +1 -1
  39. data/grammars/source.pnlgrp.json +1 -1
  40. data/grammars/source.rascal.json +1 -1
  41. data/grammars/source.rbs.json +1 -0
  42. data/grammars/source.rescript.json +1 -1
  43. data/grammars/source.rmcobol.json +1 -0
  44. data/grammars/source.rpgle.json +1 -1
  45. data/grammars/source.scenic.json +1 -1
  46. data/grammars/source.smithy.json +1 -1
  47. data/grammars/source.soql.json +1 -0
  48. data/grammars/source.talon.json +1 -1
  49. data/grammars/source.tlverilog.json +1 -0
  50. data/grammars/source.toc.json +1 -1
  51. data/grammars/source.ts.json +1 -1
  52. data/grammars/source.tsx.json +1 -1
  53. data/grammars/source.turtle.json +1 -1
  54. data/grammars/source.vba.json +1 -0
  55. data/grammars/source.wgsl.json +1 -0
  56. data/grammars/source.wit.json +1 -0
  57. data/grammars/source.wwb.json +1 -0
  58. data/grammars/text.adblock.json +1 -1
  59. data/grammars/text.haml.json +1 -1
  60. data/grammars/text.html.markdown.d2.json +1 -0
  61. data/grammars/text.marko.json +1 -1
  62. data/grammars/text.md.json +1 -0
  63. data/grammars/text.pseudoxml.json +1 -0
  64. data/grammars/version +1 -1
  65. data/lib/linguist/VERSION +1 -1
  66. data/lib/linguist/heuristics.yml +68 -36
  67. data/lib/linguist/languages.json +1 -1
  68. data/lib/linguist/languages.yml +140 -19
  69. data/lib/linguist/samples.json +1 -1
  70. data/lib/linguist/vendor.yml +4 -1
  71. metadata +27 -8
  72. data/grammars/source.gfm.json +0 -1
  73. data/grammars/source.nim_filter.json +0 -1
@@ -0,0 +1 @@
1
+ {"name":"d2","scopeName":"source.d2","patterns":[{"include":"#comment"},{"include":"#semicolon"},{"include":"#key_value"},{"include":"#spread_substitution"},{"include":"#spread_import"},{"include":"#key"},{"include":"#error"}],"repository":{"array":{"name":"meta.array.d2","begin":"\\[","end":"\\]","patterns":[{"include":"#comment"},{"include":"#semicolon"},{"include":"#import"},{"include":"#spread_substitution"},{"include":"#spread_import"},{"include":"#value"},{"include":"#error"}],"captures":{"0":{"name":"punctuation.array.d2"}}},"boolean":{"name":"constant.language.boolean.d2","match":"(?:true|false)(?=\\s|\\n)"},"comment":{"name":"comment.line.number-sign.d2","match":"#.*"},"debug":{"patterns":[{"name":"invalid.illegal","match":".*invalid\\.illegal.*"},{"name":"punctuation","match":".*punctuation.*"},{"name":"string","match":".*string.*"},{"name":"constant.character.escape","match":".*constant\\.character\\.escape.*"},{"name":"entity.name.tag","match":".*entity\\.name\\.tag.*"},{"name":"keyword","match":".*keyword.*"},{"name":"keyword.operator","match":".*keyword\\.operator.*"},{"name":"constant.numeric","match":".*constant\\.numeric.*"},{"name":"constant.language.boolean","match":".*constant\\.language\\.boolean.*"},{"name":"constant.language.null","match":".*constant\\.language\\.null.*"},{"name":"comment","match":".*comment.*"}]},"error":{"name":"invalid.illegal.d2","match":"\\S[^;\\n]*"},"escape":{"patterns":[{"name":"constant.character.escape.d2","match":"\\\\U[[:xdigit:]]{8}"},{"name":"constant.character.escape.d2","match":"\\\\u[[:xdigit:]]{4}"},{"name":"constant.character.escape.d2","match":"\\\\[0-7]{3}"},{"name":"constant.character.escape.d2","match":"\\\\x[[:xdigit:]]{2}"},{"name":"constant.character.escape.d2","match":"\\\\."},{"name":"constant.character.escape.d2","match":"\\\\\\n"}]},"import":{"name":"meta.operator.import.d2","begin":"@","end":"(?=\\s*[\\n#;\\[\\]{}|$])","patterns":[{"include":"#key"}],"captures":{"0":{"name":"keyword.operator.import.d2"}}},"key":{"patterns":[{"name":"meta.key.quoted.single.d2","contentName":"entity.name.tag.quoted.single.d2","begin":"'","end":"'|(?=\\n)","patterns":[{"include":"#escape"}],"captures":{"0":{"name":"punctuation.quote.single.d2"}}},{"name":"meta.key.quoted.double.d2","contentName":"entity.name.tag.quoted.double.d2","begin":"\"","end":"\"|(?=\\n)","patterns":[{"include":"#escape"}],"captures":{"0":{"name":"punctuation.quote.double.d2"}}},{"name":"meta.key.group.d2","begin":"\\(","end":"\\)(?:\\[(?:[0-9_]+|\\*)\\])?","patterns":[{"include":"#key"},{"include":"#error"}],"captures":{"0":{"name":"punctuation.parenthesis.d2"}}},{"name":"keyword.reserved.d2","match":"(?:grid\\-gap|vertical\\-gap|horizontal\\-gap|classes|direction|grid\\-columns|grid\\-rows|text\\-transform|shape|layers|steps|tooltip|font|bold|italic|underline|top|left|icon|constraint|near|opacity|stroke|fill\\-pattern|fill|filled|stroke\\-width|width|height|double\\-border|border\\-radius|source\\-arrowhead|target\\-arrowhead|link|stroke\\-dash|font\\-size|font\\-color|shadow|multiple|3d|animated|class|label|style|import|vars|scenarios|on_click|src|dst)(?=\\s*[\\n#;\\[\\]{}|$'\":.\u003c\u003e*\u0026()]|-+-|-+\u003e|-+\\*)"},{"name":"punctuation.period.d2","match":"\\."},{"name":"keyword.operator.glob.d2","match":"\\*"},{"name":"keyword.operator.double_glob.d2","match":"\\*\\*"},{"name":"keyword.operator.ampersand.d2","match":"\u0026"},{"name":"entity.name.tag.unquoted.d2","begin":"(?=[^[:space:]\\n#;\\[\\]{}|$'\":.\u003c\u003e*\u0026()])(?!-+-)(?!-+\u003e)(?!-+\\*)","end":"(?=\\s*[\\n#;\\[\\]{}|$:.\u003c\u003e*\u0026()]|-+-|-+\u003e|-+\\*)","patterns":[{"include":"#escape"}]},{"name":"meta.key.edge.d2","begin":"[\\-\u003c\u003e]+","end":"(?=[^\\-\u003c\u003e])","patterns":[{"include":"#line_continuation"}],"captures":{"0":{"name":"punctuation.edge.d2"}}}]},"key_value":{"name":"meta.key_value.d2","begin":":","end":"(?=\\s*[\\n#;\\]}])","patterns":[{"include":"#value"},{"include":"#error"}],"beginCaptures":{"0":{"name":"punctuation.colon.d2"}}},"line_continuation":{"name":"constant.character.escape.d2","match":"\\\\\\n"},"map":{"name":"meta.map.d2","begin":"\\{","end":"\\}","patterns":[{"include":"$self"}],"captures":{"0":{"name":"punctuation.map.d2"}}},"null":{"name":"constant.language.null.d2","match":"null(?=\\s|\\n)"},"number":{"patterns":[{"name":"constant.numeric.hexadecimal.d2","match":"[+-]?0[xX][[:xdigit:]_]*\\.?[[:xdigit:]_]*(?:[eEpP][+-]?[0-9_]*)?(?=\\s|\\n)"},{"name":"constant.numeric.binary.d2","match":"[+-]?0[bB][01_]*\\.?[01_]*(?:[eEpP][+-]?[0-9_]*)?(?=\\s|\\n)"},{"name":"constant.numeric.octal.d2","match":"[+-]?0[oO]?[0-7_]*\\.?[0-7_]*(?=\\s|\\n)"},{"name":"constant.numeric.decimal.d2","match":"[+-]?[0-9_]+(?:[eEpP][+-]?[0-9_]*)?(?=\\s|\\n)"},{"name":"constant.numeric.decimal.d2","match":"[+-]?[0-9_]*\\.[0-9_]+(?:[eEpP][+-]?[0-9_]*)?(?=\\s|\\n)"}]},"semicolon":{"name":"punctuation.semicolon.d2","match":";"},"spread_import":{"name":"meta.operator.import.d2","begin":"\\.\\.\\.@","end":"(?=\\s*[\\n#;\\[\\]{}|$])","patterns":[{"include":"#key"}],"captures":{"0":{"name":"keyword.operator.import.d2"}}},"spread_substitution":{"name":"meta.operator.substitution.d2","begin":"\\.\\.\\.\\$","end":"(?=\\s*[\\n#;\\[\\]{}|$])","patterns":[{"include":"#key"}],"captures":{"0":{"name":"keyword.operator.substitution.d2"}}},"string":{"patterns":[{"name":"meta.string.quoted.single.d2","contentName":"string.quoted.single.d2","begin":"'","end":"'|(?=\\n)","patterns":[{"include":"#escape"}],"captures":{"0":{"name":"punctuation.quote.single.d2"}}},{"name":"meta.string.quoted.double.d2","contentName":"string.quoted.double.d2","begin":"\"","end":"\"|(?=\\n)","patterns":[{"include":"#escape"}],"captures":{"0":{"name":"punctuation.quote.double.d2"}}},{"name":"meta.string.block.shellscript.d2","begin":"\\|([^[:alnum:]]*)sh[\\n[:space:]]","end":"\\1\\|","patterns":[{"include":"source.shell"}],"captures":{"0":{"name":"punctuation.block.d2"}}},{"name":"meta.string.block.markdown.d2","begin":"\\|([^[:alnum:]]*)md[\\n[:space:]]","end":"\\1\\|","patterns":[{"include":"text.html.markdown.d2"}],"captures":{"0":{"name":"punctuation.block.d2"}}},{"name":"meta.string.block.js.d2","begin":"\\|([^[:alnum:]]*)js[\\n[:space:]]","end":"\\1\\|","patterns":[{"include":"source.js"}],"captures":{"0":{"name":"punctuation.block.d2"}}},{"name":"meta.string.block.go.d2","begin":"\\|([^[:alnum:]]*)go[\\n[:space:]]","end":"\\1\\|","patterns":[{"include":"source.go"}],"captures":{"0":{"name":"punctuation.block.d2"}}},{"name":"meta.string.block.text.d2","begin":"\\|([^[:alnum:]]*)text[\\n[:space:]]","end":"\\1\\|","captures":{"0":{"name":"punctuation.block.d2"}}},{"name":"meta.string.block.d2.d2","begin":"\\|([^[:alnum:]]*)d2[\\n[:space:]]","end":"\\1\\|","patterns":[{"include":"source.d2"}],"captures":{"0":{"name":"punctuation.block.d2"}}},{"name":"meta.string.block.markdown.d2","begin":"\\|([^[:alnum:]]*)[\\n[:space:]]","end":"\\1\\|","patterns":[{"include":"text.html.markdown.d2"}],"captures":{"0":{"name":"punctuation.block.d2"}}},{"name":"meta.string.block.d2","begin":"\\|([^[:alnum:]]*)[^[:space:]]+[\\n[:space:]]","end":"\\1\\|","captures":{"0":{"name":"punctuation.block.d2"}}},{"name":"string.unquoted.d2","begin":"(?=[^[:space:]\\n#;\\[\\]{}|$'\"])","end":"(?=\\s*[\\n#;\\[\\]{}])","patterns":[{"include":"#escape"}]}]},"substitution":{"name":"meta.operator.substitution.d2","begin":"\\$","end":"(?=\\s*[\\n#;\\[\\]{}|$])","patterns":[{"include":"#key"}],"captures":{"0":{"name":"keyword.operator.substitution.d2"}}},"value":{"patterns":[{"include":"#boolean"},{"include":"#null"},{"include":"#number"},{"include":"#substitution"},{"include":"#import"},{"include":"#array"},{"include":"#map"},{"include":"#string"}]}}}
@@ -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":"#operators"},{"include":"#strings"}],"repository":{"annotations":{"patterns":[{"name":"storage.type.annotation.dart","match":"@[a-zA-Z]+"}]},"class-identifier":{"patterns":[{"name":"support.class.dart","match":"(?\u003c!\\$)\\b(bool|num|int|double|dynamic)\\b(?!\\$)"},{"name":"storage.type.primitive.dart","match":"(?\u003c!\\$)\\bvoid\\b(?!\\$)"},{"begin":"(?\u003c![a-zA-Z0-9_$])([_$]*[A-Z][a-zA-Z0-9_$]*)\\b","end":"(?!\u003c)","patterns":[{"include":"#type-args"}],"beginCaptures":{"1":{"name":"support.class.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)?[!?]?\\(","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|when)\\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|sealed|base|interface|class|enum|extends|extension|external|factory|implements|get(?!\\()|mixin|native|operator|set(?!\\()|typedef|with|covariant)\\b(?!\\$)"},{"name":"storage.modifier.dart","match":"(?\u003c!\\$)\\b(static|final|const|required|late)\\b(?!\\$)"},{"name":"storage.type.primitive.dart","match":"(?\u003c!\\$)\\b(?:void|var)\\b(?!\\$)"}]},"operators":{"patterns":[{"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|\\|\\|)"}]},"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":","},{"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":"#operators"},{"include":"#strings"}],"repository":{"annotations":{"patterns":[{"name":"storage.type.annotation.dart","match":"@[a-zA-Z]+"}]},"class-identifier":{"patterns":[{"name":"support.class.dart","match":"(?\u003c!\\$)\\b(bool|num|int|double|dynamic)\\b(?!\\$)"},{"name":"storage.type.primitive.dart","match":"(?\u003c!\\$)\\bvoid\\b(?!\\$)"},{"begin":"(?\u003c![a-zA-Z0-9_$])([_$]*[A-Z][a-zA-Z0-9_$]*)\\b","end":"(?!\u003c)","patterns":[{"include":"#type-args"}],"beginCaptures":{"1":{"name":"support.class.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)?[!?]?\\(","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|when)\\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|sealed|base|interface|class|enum|extends|extension|external|factory|implements|get(?!\\()|mixin|native|operator|set(?!\\()|typedef|with|covariant)\\b(?!\\$)"},{"name":"storage.modifier.dart","match":"(?\u003c!\\$)\\b(static|final|const|required|late)\\b(?!\\$)"},{"name":"storage.type.primitive.dart","match":"(?\u003c!\\$)\\b(?:void|var)\\b(?!\\$)"}]},"operators":{"patterns":[{"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|\\|\\|)"}]},"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":","},{"name":"keyword.declaration.dart","match":"extends"},{"include":"#comments"}],"beginCaptures":{"1":{"name":"other.source.dart"}},"endCaptures":{"1":{"name":"other.source.dart"}}}}}
@@ -1 +1 @@
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":"#def_brackets"},{"include":"#not_script_keys"}],"repository":{"commands":{"begin":"^\\s*(-)\\s([^\\s\u003c\u003e\"']+)","end":"\\s","captures":{"1":{"name":"operator.dash.denizenscript"},"2":{"name":"entity.other.command.denizenscript"}}},"comments":{"name":"comment.line.number-sign.denizenscript","begin":"(?i)^\\s*#(?!\\s*todo|(?:\\s*(?:\\||\\+|=|#|_|@|\\/)))","end":"\\n"},"def_brackets":{"name":"entity.name.tag.def_brackets.denizenscript","begin":"(?\u003c=\\w|\u003c)\\[","end":"\\]","patterns":[{"include":"#tags"}]},"double_quotes":{"name":"string.quoted.double.denizenscript","begin":"(?\u003c=\\s)\"","end":"(?:\"|\\n)","patterns":[{"include":"#tags"},{"include":"#def_brackets"}]},"header_comments":{"name":"keyword.header-comment.denizenscript","begin":"^\\s*#\\s*(?:\\||\\+|=|#|_|@|\\/)","end":"\\n"},"keys":{"begin":"(?i)(^(?!^\\s*-|#|\\n|^\\s*(?:interact scripts|default constants|data|constants|text|lore|aliases|slots|enchantments|input|description)(?=:\\n)).*?)(?=(:)\\s)","end":"\\s","beginCaptures":{"1":{"name":"markup.heading.key.denizenscript"},"2":{"name":"operator.colon.denizenscript"}}},"not_script_keys":{"begin":"(?i)(^(?!.*- |#|\\n).*(?=interact scripts|default constants|data|constants|text|lore|aliases|slots|enchantments|input|description).*)(?=(:)\\n)","end":"^(?!.*- |\\n|\\s*#)","patterns":[{"include":"#tags"},{"include":"#def_brackets"},{"include":"#comments"},{"include":"#todo_comments"},{"include":"#header_comments"}],"beginCaptures":{"1":{"name":"markup.heading.not_script_key.denizenscript"},"2":{"name":"operator.colon.denizenscript"}}},"single_quotes":{"name":"string.quoted.single.denizenscript","begin":"(?\u003c=\\s)'","end":"(?:'|\\n)","patterns":[{"include":"#tags"},{"include":"#def_brackets"}]},"tags":{"name":"constant.language.tag.denizenscript","begin":"\u003c(?!-|\\s|=)","end":"\u003e","patterns":[{"include":"#def_brackets"}]},"todo_comments":{"name":"variable.todo-comment.denizenscript","begin":"(?i)^\\s*#\\s*(?:todo)","end":"\\n"}}}
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":"#def_brackets"},{"include":"#not_script_keys"}],"repository":{"commands":{"begin":"^\\s*(-)\\s([^\\s\u003c\u003e\"':]+)","end":"\\s","captures":{"1":{"name":"operator.dash.denizenscript"},"2":{"name":"entity.other.command.denizenscript"}}},"comments":{"name":"comment.line.number-sign.denizenscript","begin":"(?i)^\\s*#(?!\\s*todo|(?:\\s*(?:\\||\\+|=|#|_|@|\\/)))","end":"\\n"},"def_brackets":{"name":"entity.name.tag.def_brackets.denizenscript","begin":"(?\u003c=\\w|\u003c|\u0026)\\[","end":"\\]","patterns":[{"include":"#tags"}]},"double_quotes":{"name":"string.quoted.double.denizenscript","begin":"(?\u003c=\\s)\"","end":"(?:\"|\\n)","patterns":[{"include":"#tags"},{"include":"#def_brackets"}]},"header_comments":{"name":"keyword.header-comment.denizenscript","begin":"^\\s*#\\s*(?:\\||\\+|=|#|_|@|\\/)","end":"\\n"},"keys":{"begin":"(?i)(^(?!^\\s*-|#|\\n|^\\s*(?:interact scripts|default constants|data|constants|text|lore|aliases|slots|enchantments|input|description)(?=:\\n)).*?)(?=(:)\\s)","end":"\\s","beginCaptures":{"1":{"name":"markup.heading.key.denizenscript"},"2":{"name":"operator.colon.denizenscript"}}},"not_script_keys":{"begin":"(?i)(^(?!.*- |#|\\n).*(?=interact scripts|default constants|data|constants|text|lore|aliases|slots|enchantments|input|description).*)(?=(:)\\n)","end":"^(?!.*- |\\n|\\s*#)","patterns":[{"include":"#tags"},{"include":"#def_brackets"},{"include":"#comments"},{"include":"#todo_comments"},{"include":"#header_comments"}],"beginCaptures":{"1":{"name":"markup.heading.not_script_key.denizenscript"},"2":{"name":"operator.colon.denizenscript"}}},"single_quotes":{"name":"string.quoted.single.denizenscript","begin":"(?\u003c=\\s)'","end":"(?:'|\\n)","patterns":[{"include":"#tags"},{"include":"#def_brackets"}]},"tags":{"name":"constant.language.tag.denizenscript","begin":"\u003c(?!-|\\s|=)","end":"\u003e","patterns":[{"include":"#def_brackets"},{"include":"#tags"}]},"todo_comments":{"name":"variable.todo-comment.denizenscript","begin":"(?i)^\\s*#\\s*(?:todo)","end":"\\n"}}}
@@ -0,0 +1 @@
1
+ {"name":"Candid","scopeName":"source.did","patterns":[{"include":"#comment"},{"include":"#attribute"},{"include":"#literal"},{"include":"#operator"},{"include":"#keyword"},{"include":"#type"},{"include":"#boolean"}],"repository":{"arithmetic-operator":{"name":"keyword.operator.arithmetic.candid","match":"(?\u003c![/=\\-+!*%\u003c\u003e\u0026|\\^~.])(\\+|\\-|\\*|\\/)(?![/=\\-+!*%\u003c\u003e\u0026|\\^~.])"},"array-type":{"name":"meta.array.candid","begin":"\\b(Array)(\u003c)","end":"(\u003e)","patterns":[{"include":"$self"}],"beginCaptures":{"1":{"name":"support.type.array.candid"},"2":{"name":"punctuation.array.begin.candid"}},"endCaptures":{"1":{"name":"punctuation.array.end.candid"}}},"assignment-operator":{"name":"keyword.operator.assignment.candid","match":"(?\u003c![/=\\-+!*%\u003c\u003e\u0026|\\^~.])(\\+|\\-|\\*|\\/|%|\u003c\u003c\u003e?|\u003c?\u003e\u003e|\u0026|\\^|\\||\u0026\u0026|\\|\\|)?=(?![/=\\-+!*%\u003c\u003e\u0026|\\^~.])"},"async-await-keyword":{"name":"keyword.async-await.candid","match":"\\b(async|await)\\b"},"attribute":{"name":"meta.attribute.candid","patterns":[{"contentName":"meta.attribute.arguments.candid","begin":"((@)(\\B\\$[0-9]+|\\b[\\w^\\d][\\w\\d]*\\b|\\B`[\\w^\\d][\\w\\d]*`\\B))(\\()","end":"\\)","patterns":[{"include":"$self"}],"beginCaptures":{"1":{"name":"storage.modifier.attribute.candid"},"2":{"name":"punctuation.definition.attribute.candid"},"3":{"name":"punctuation.definition.attribute-arguments.begin.candid"}},"endCaptures":{"0":{"name":"punctuation.definition.attribute-arguments.end.candid"}}},{"match":"((@)(\\B\\$[0-9]+|\\b[\\w^\\d][\\w\\d]*\\b|\\B`[\\w^\\d][\\w\\d]*`\\B))","captures":{"1":{"name":"storage.modifier.attribute.candid"},"2":{"name":"punctuation.definition.attribute.candid"}}}]},"bitwise-operator":{"name":"keyword.operator.bitwise.candid","match":"(?\u003c![/=\\-+!*%\u003c\u003e\u0026|\\^~.])(\u0026|\\||\\^|\u003c\u003c\u003e?|\u003c?\u003e\u003e)(?![/=\\-+!*%\u003c\u003e\u0026|\\^~.])"},"block-comment":{"name":"comment.block.candid","begin":"/\\*","end":"\\*/","beginCaptures":{"0":{"name":"punctuation.definition.comment.block.begin.candid"}},"endCaptures":{"0":{"name":"punctuation.definition.comment.block.end.candid"}}},"boolean":{"name":"keyword.constant.boolean.candid","match":"\\b(true|false)\\b"},"branch-statement-keyword":{"name":"keyword.control.branch.candid","patterns":[{"include":"#if-statement-keyword"},{"include":"#switch-statement-keyword"}]},"catch-statement-keyword":{"name":"kewyord.control.catch.candid","match":"\\b(catch|do)\\b"},"char-literal":{"name":"meta.literal.char.candid","begin":"'","end":"'","patterns":[{"name":"constant.character.escape.candid","match":"\\\\([0tnr\\\"\\'\\\\]|x[[:xdigit:]]{2}|u[[:xdigit:]]{4}|U[[:xdigit:]]{8})"},{"name":"invalid.illegal.candid","match":"(\\'|\\\\)"},{"name":"string.quoted.single.candid","match":"(.)"}],"beginCaptures":{"0":{"name":"string.quoted.double.candid"}},"endCaptures":{"0":{"name":"string.quoted.single.candid"}}},"code-block":{"begin":"(\\{)","end":"(\\})","patterns":[{"include":"$self"}],"beginCaptures":{"1":{"name":"punctuation.definition.code-block.begin.candid"}},"endCaptures":{"1":{"name":"punctuation.definition.code-block.end.candid"}}},"comment":{"patterns":[{"include":"#documentation-comment"},{"include":"#block-comment"},{"include":"#in-line-comment"}]},"comparative-operator":{"name":"keyword.operator.comparative.candid","match":"(?\u003c![/=\\-+!*%\u003c\u003e\u0026|\\^~.])((=|!)==?|(\u003c|\u003e)=?|~=)(?![/=\\-+!*%\u003c\u003e\u0026|\\^~.])"},"control-transfer-statement-keyword":{"name":"keyword.control.transfer.candid","match":"\\b(continue|break|return)\\b"},"custom-operator":{"patterns":[{"name":"keyword.operator.custom.prefix.unary.candid","match":"(?\u003c=[\\s(\\[{,;:])([/=\\-+!*%\u003c\u003e\u0026|\\^~.]++)(?![\\s)\\]},;:])"},{"name":"keyword.operator.custom.postfix.unary.candid","match":"(?\u003c![\\s(\\[{,;:])([/=\\-+!*%\u003c\u003e\u0026|\\^~.]++)(?![\\s)\\]},;:\\.])"},{"name":"keyword.operator.custom.binary.candid","match":"(?\u003c=[\\s(\\[{,;:])([/=\\-+!*%\u003c\u003e\u0026|\\^~.]++)(?=[\\s)\\]},;:])"}]},"declaration-modifier":{"name":"keyword.other.declaration-modifier.candid","match":"\\b(class|object|type|shared)\\b"},"dictionary-type":{"name":"meta.dictionary.candid","begin":"\\b(Dictionary)(\u003c)","end":"(\u003e)","patterns":[{"include":"$self"}],"beginCaptures":{"1":{"name":"support.type.dictionary.candid"},"2":{"name":"punctuation.dictionary.begin.candid"}},"endCaptures":{"1":{"name":"punctuation.dictionary.end.candid"}}},"documentation-comment":{"name":"comment.block.documentation.candid","begin":"/\\*\\*","end":"\\*/","beginCaptures":{"0":{"name":"punctuation.definition.comment.block.documentation.begin.candid"}},"endCaptures":{"0":{"name":"punctuation.definition.comment.block.documentation.end.candid"}}},"floating-point-literal":{"name":"constant.numeric.floating-point.candid","patterns":[{"match":"\\b([0-9][0-9_]*)(\\.([0-9][0-9_]*))?([eE][+\\-]?([0-9][0-9_]*))?\\b"},{"match":"\\b(0x[[:xdigit:]][[[:xdigit:]]_]*)(\\.(0x[[:xdigit:]][[[:xdigit:]]_]*))?([pP][+\\-]?(0x[[:xdigit:]][[[:xdigit:]]_]*))\\b"}]},"function-body":{"name":"meta.function-body.candid","patterns":[{"include":"#code-block"}]},"generic-parameter-clause":{"name":"meta.generic-parameter-clause.candid","begin":"(\u003c)","end":"(\u003e)","patterns":[{"include":"$self"}],"beginCaptures":{"1":{"name":"punctuation.definition.generic-parameter-clause.begin.candid"}},"endCaptures":{"1":{"name":"punctuation.definition.generic-parameter-clause.end.candid"}}},"identifier":{"name":"meta.identifier.candid","match":"(\\B\\$[0-9]+|\\b[\\w^\\d][\\w\\d]*\\b|\\B`[\\w^\\d][\\w\\d]*`\\B)"},"if-statement-keyword":{"name":"keyword.control.if.candid","match":"\\b(if|else)\\b"},"in-line-comment":{"name":"comment.line.double-slash.candid","match":"(//).*","captures":{"1":{"name":"punctuation.definition.comment.line.double-slash.candid"}}},"increment-decrement-operator":{"name":"keyword.operator.increment-or-decrement.candid","match":"(?\u003c![/=\\-+!*%\u003c\u003e\u0026|\\^~.])(\\+\\+|\\-\\-)(?![/=\\-+!*%\u003c\u003e\u0026|\\^~.])"},"integer-literal":{"name":"constant.numeric.integer.candid","patterns":[{"name":"constant.numeric.integer.binary.candid","match":"(\\B\\-|\\b)(0b[01][01_]*)\\b"},{"name":"constant.numeric.integer.octal.candid","match":"(\\B\\-|\\b)(0o[0-7][0-7_]*)\\b"},{"name":"constant.numeric.integer.decimal.candid","match":"(\\B\\-|\\b)([0-9][0-9_]*)\\b"},{"name":"constant.numeric.integer.hexadecimal.candid","match":"(\\B\\-|\\b)(0x[[:xdigit:]][[[:xdigit:]]_]*)\\b"}]},"keyword":{"patterns":[{"include":"#branch-statement-keyword"},{"include":"#control-transfer-statement-keyword"},{"include":"#loop-statement-keyword"},{"include":"#catch-statement-keyword"},{"include":"#async-await-keyword"},{"include":"#operator-declaration-modifier"},{"include":"#declaration-modifier"},{"name":"keyword.declaration.candid","match":"\\b(import|service|type)\\b"},{"name":"keyword.statement.candid","match":"\\b(opt|vec|record|variant|func|null|empty|oneway|query)\\b"},{"name":"keyword.other.candid","match":"\\b(reserved)\\b"}]},"literal":{"patterns":[{"include":"#integer-literal"},{"include":"#floating-point-literal"},{"include":"#nil-literal"},{"include":"#string-literal"},{"include":"#char-literal"}]},"logical-operator":{"name":"keyword.operator.logical.candid","match":"(?\u003c![/=\\-+!*%\u003c\u003e\u0026|\\^~.])(!|\u0026\u0026|\\|\\|)(?![/=\\-+!*%\u003c\u003e\u0026|\\^~.])"},"loop-statement-keyword":{"name":"keyword.control.loop.candid","match":"\\b(while|repeat|for|in|loop)\\b"},"null-literal":{"name":"constant.null.candid","match":"\\bnull\\b"},"operator":{"patterns":[{"include":"#comparative-operator"},{"include":"#assignment-operator"},{"include":"#logical-operator"},{"include":"#remainder-operator"},{"include":"#increment-decrement-operator"},{"include":"#overflow-operator"},{"include":"#range-operator"},{"include":"#bitwise-operator"},{"include":"#arithmetic-operator"},{"include":"#ternary-operator"},{"include":"#type-casting-operator"},{"include":"#custom-operator"}]},"optional-type":{"name":"meta.optional.candid","match":"\\b(Optional)(\u003c)","end":"(\u003e)","patterns":[{"include":"$self"}],"beginCaptures":{"1":{"name":"support.type.optional.candid"},"2":{"name":"punctuation.optional.begin.candid"}},"endCaptures":{"1":{"name":"punctuation.optional.end.candid"}}},"overflow-operator":{"name":"keyword.operator.overflow.candid","match":"(?\u003c![/=\\-+!*%\u003c\u003e\u0026|\\^~.])\\\u0026(\\+|\\-|\\*|\\/|%)(?![/=\\-+!*%\u003c\u003e\u0026|\\^~.])"},"parameter-clause":{"name":"meta.parameter-clause.candid","begin":"(\\()","end":"(\\))","patterns":[{"include":"$self"}],"beginCaptures":{"1":{"name":"punctuation.definition.function-arguments.begin.candid"}},"endCaptures":{"1":{"name":"punctuation.definition.function-arguments.end.candid"}}},"primitive-type":{"name":"support.type.candid","match":"\\b(blob|bool|char|float(32|64)|(int|nat)(8|16|32|64)?|principal|text)\\b"},"protocol-composition-type":{"name":"meta.protocol.candid","match":"\\b(protocol)(\u003c)","end":"(\u003e)","patterns":[{"include":"$self"}],"beginCaptures":{"1":{"name":"support.type.protocol.candid"},"2":{"name":"punctuation.protocol.begin.candid"}},"endCaptures":{"1":{"name":"punctuation.protocol.end.candid"}}},"range-operator":{"name":"keyword.operator.range.candid","match":"(?\u003c![/=\\-+!*%\u003c\u003e\u0026|\\^~.])\\.\\.(?:\\.)?(?![/=\\-+!*%\u003c\u003e\u0026|\\^~.])"},"remainder-operator":{"name":"keyword.operator.remainder.candid","match":"(?\u003c![/=\\-+!*%\u003c\u003e\u0026|\\^~.])\\%(?![/=\\-+!*%\u003c\u003e\u0026|\\^~.])"},"resolved-type":{"name":"support.type.candid","match":"\\b[A-Z].*?\\b"},"string-literal":{"name":"meta.literal.string.candid","begin":"\\\"","end":"\\\"","patterns":[{"name":"constant.character.escape.candid","match":"\\\\([0tnr\\\"\\'\\\\]|x[[:xdigit:]]{2}|u[[:xdigit:]]{4}|U[[:xdigit:]]{8})"},{"name":"invalid.illegal.candid","match":"(\\\"|\\\\)"},{"name":"string.quoted.double.candid","match":"(.)"}],"beginCaptures":{"0":{"name":"string.quoted.double.candid"}},"endCaptures":{"0":{"name":"string.quoted.double.candid"}}},"switch-statement-keyword":{"name":"keyword.control.switch.candid","match":"\\b(switch|case|default)\\b"},"type":{"patterns":[{"include":"#primitive-type"},{"include":"#resolved-type"},{"include":"#optional-type"},{"include":"#protocol-composition-type"}]}}}
@@ -1 +1 @@
1
- {"name":"Dream Maker","scopeName":"source.dm","patterns":[{"include":"#preprocessor-rule-enabled"},{"include":"#preprocessor-rule-disabled"},{"include":"#preprocessor-rule-other"},{"include":"#comments"},{"name":"meta.initialization.dm","match":"(?x)\n(var)[\\/ ]\n(?:(static|global|tmp|const)\\/)?\n(?:(datum|atom(?:\\/movable)?|obj|mob|turf|area|savefile|list|client|sound|image|database|matrix|regex|exception)\\/)?\n(?:\n\t([a-zA-Z0-9_\\-$]*)\\/\n)*\n\n([A-Za-z0-9_$]*)\\b","captures":{"1":{"name":"storage.type.dm"},"2":{"name":"storage.modifier.dm"},"3":{"name":"storage.type.dm"},"5":{"name":"variable.other.dm"}}},{"name":"constant.numeric.dm","match":"\\b((0(x|X)[0-9a-fA-F]*)|(([0-9]+\\.?[0-9]*)|(\\.[0-9]+))((e|E)(\\+|-)?[0-9]+)?)\\b"},{"name":"keyword.control.dm","match":"\\b(sleep|spawn|break|continue|do|else|for|goto|if|return|switch|while)\\b"},{"name":"keyword.other.dm","match":"\\b(del|new)\\b"},{"name":"storage.type.dm","match":"\\b(proc|verb|datum|atom(/movable)?|obj|mob|turf|area|savefile|list|client|sound|image|database|matrix|regex|exception)\\b"},{"name":"storage.modifier.dm","match":"\\b(as|const|global|set|static|tmp)\\b"},{"name":"variable.language.dm","match":"\\b(usr|world|src|args)\\b"},{"name":"keyword.operator.dm","match":"(\\?|(\u003e|\u003c)(=)?|\\.|:|/(=)?|~|\\+(\\+|=)?|-(-|=)?|\\*(\\*|=)?|%|\u003e\u003e|\u003c\u003c|=(=)?|!(=)?|\u003c\u003e|\u0026|\u0026\u0026|\\^|\\||\\|\\||\\bto\\b|\\bin\\b|\\bstep\\b)"},{"name":"constant.language.dm","match":"\\b([A-Z_][A-Z_0-9]*)\\b"},{"name":"constant.language.dm","match":"\\bnull\\b"},{"name":"string.quoted.triple.dm","begin":"{\"","end":"\"}","patterns":[{"include":"#string_escaped_char"},{"include":"#string_embedded_expression"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.dm"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.dm"}}},{"name":"string.quoted.double.dm","begin":"\"","end":"\"","patterns":[{"include":"#string_escaped_char"},{"include":"#string_embedded_expression"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.dm"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.dm"}}},{"name":"string.quoted.single.dm","begin":"'","end":"'","patterns":[{"include":"#string_escaped_char"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.dm"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.dm"}}},{"name":"meta.preprocessor.macro.dm","begin":"(?x)\n^\\s* ((\\#)\\s*define) \\s+ # define\n((?\u003cid\u003e[a-zA-Z_][a-zA-Z0-9_]*)) # macro name\n(?:\n\t(\\()\n\t\t(\n\t\t\t\\s* \\g\u003cid\u003e \\s* # first argument\n\t\t\t((,) \\s* \\g\u003cid\u003e \\s*)* # additional arguments\n\t\t\t(?:\\.\\.\\.)? # varargs ellipsis?\n\t\t)\n\t(\\))\n)","end":"(?=(?://|/\\*))|(?\u003c!\\\\)(?=\\n)","patterns":[{"include":"$base"}],"beginCaptures":{"1":{"name":"keyword.control.directive.define.dm"},"2":{"name":"punctuation.definition.directive.dm"},"3":{"name":"entity.name.function.preprocessor.dm"},"5":{"name":"punctuation.definition.parameters.begin.dm"},"6":{"name":"variable.parameter.preprocessor.dm"},"8":{"name":"punctuation.separator.parameters.dm"},"9":{"name":"punctuation.definition.parameters.end.dm"}}},{"name":"meta.preprocessor.macro.dm","begin":"(?x)\n^\\s* ((\\#)\\s*define) \\s+ # define\n((?\u003cid\u003e[a-zA-Z_][a-zA-Z0-9_]*)) # macro name","end":"(?=(?://|/\\*))|(?\u003c!\\\\)(?=\\n)","patterns":[{"include":"$base"}],"beginCaptures":{"1":{"name":"keyword.control.directive.define.dm"},"2":{"name":"punctuation.definition.directive.dm"},"3":{"name":"variable.other.preprocessor.dm"}}},{"name":"meta.preprocessor.diagnostic.dm","begin":"^\\s*(#\\s*(error|warn))\\b","end":"$","patterns":[{"name":"punctuation.separator.continuation.dm","match":"(?\u003e\\\\\\s*\\n)"}],"captures":{"1":{"name":"keyword.control.import.error.dm"}}},{"name":"meta.preprocessor.dm","begin":"^\\s*(?:((#)\\s*(?:elif|else|if|ifdef|ifndef))|((#)\\s*(undef|include)))\\b","end":"(?=(?://|/\\*))|(?\u003c!\\\\)(?=\\n)","patterns":[{"name":"punctuation.separator.continuation.dm","match":"(?\u003e\\\\\\s*\\n)"}],"beginCaptures":{"1":{"name":"keyword.control.directive.conditional.dm"},"2":{"name":"punctuation.definition.directive.dm"},"3":{"name":"keyword.control.directive.$5.dm"},"4":{"name":"punctuation.definition.directive.dm"}}},{"include":"#block"},{"name":"meta.function.dm","begin":"(?x)\n\t\t\t\t(?: ^ # begin-of-line\n\t\t\t\t\t|\n\t\t\t\t\t\t (?: (?= \\s ) (?\u003c!else|new|return) (?\u003c=\\w) # or word + space before name\n\t\t\t\t\t\t\t | (?= \\s*[A-Za-z_] ) (?\u003c!\u0026\u0026) (?\u003c=[*\u0026\u003e]) # or type modifier before name\n\t\t\t\t\t\t )\n\t\t\t\t)\n\t\t\t\t(\\s*) (?!(while|for|do|if|else|switch|catch|enumerate|return|r?iterate)\\s*\\()\n\t\t\t\t(\n\t\t\t\t\t(?: [A-Za-z_][A-Za-z0-9_]*+ | :: )++ | # actual name\n\t\t\t\t\t(?: (?\u003c=operator) (?: [-*\u0026\u003c\u003e=+!]+ | \\(\\) | \\[\\] ) ) # if it is a C++ operator\n\t\t\t\t)\n\t\t\t\t \\s*(?=\\()","end":"(?\u003c=\\})|(?=#)|(;)?","patterns":[{"include":"#comments"},{"include":"#parens"},{"name":"storage.modifier.dm","match":"\\bconst\\b"},{"include":"#block"}],"beginCaptures":{"1":{"name":"punctuation.whitespace.function.leading.dm"},"3":{"name":"entity.name.function.dm"},"4":{"name":"punctuation.definition.parameters.dm"}}}],"repository":{"access":{"name":"variable.other.dot-access.dm","match":"\\.[a-zA-Z_][a-zA-Z_0-9]*\\b(?!\\s*\\()"},"block":{"name":"meta.block.dm","begin":"\\{","end":"\\}","patterns":[{"include":"#block_innards"}]},"block_innards":{"patterns":[{"include":"#preprocessor-rule-enabled-block"},{"include":"#preprocessor-rule-disabled-block"},{"include":"#preprocessor-rule-other-block"},{"include":"#access"},{"name":"meta.function-call.dm","match":"(?x) (?: (?= \\s ) (?:(?\u003c=else|new|return) | (?\u003c!\\w)) (\\s+))?\n\t\t\t(\\b\n\t\t\t\t(?!(while|for|do|if|else|switch|catch|enumerate|return|r?iterate)\\s*\\()(?:(?!NS)[A-Za-z_][A-Za-z0-9_]*+\\b | :: )++ # actual name\n\t\t\t)\n\t\t\t \\s*(\\()","captures":{"1":{"name":"punctuation.whitespace.function-call.leading.dm"},"2":{"name":"support.function.any-method.dm"},"3":{"name":"punctuation.definition.parameters.dm"}}},{"include":"#block"},{"include":"$base"}]},"comments":{"patterns":[{"name":"comment.block.dm","match":"^/\\* =(\\s*.*?)\\s*= \\*/$\\n?","captures":{"1":{"name":"meta.toc-list.banner.block.dm"}}},{"name":"comment.block.dm","begin":"/\\*","end":"\\*/","patterns":[{"include":"#comments"}],"captures":{"0":{"name":"punctuation.definition.comment.dm"}}},{"name":"invalid.illegal.stray-comment-end.dm","match":"\\*/.*\\n"},{"name":"comment.line.banner.dm","match":"^// =(\\s*.*?)\\s*=\\s*$\\n?","captures":{"1":{"name":"meta.toc-list.banner.line.dm"}}},{"name":"comment.line.double-slash.dm","begin":"//","end":"$\\n?","patterns":[{"name":"punctuation.separator.continuation.dm","match":"(?\u003e\\\\\\s*\\n)"}],"beginCaptures":{"0":{"name":"punctuation.definition.comment.dm"}}}]},"disabled":{"begin":"^\\s*#\\s*if(n?def)?\\b.*$","end":"^\\s*#\\s*endif\\b.*$","patterns":[{"include":"#disabled"}]},"parens":{"name":"meta.parens.dm","begin":"\\(","end":"\\)","patterns":[{"include":"$base"}]},"preprocessor-rule-disabled":{"begin":"^\\s*(#(if)\\s+(0)\\b).*","end":"^\\s*(#\\s*(endif)\\b)","patterns":[{"begin":"^\\s*(#\\s*(else)\\b)","end":"(?=^\\s*#\\s*endif\\b.*$)","patterns":[{"include":"$base"}],"captures":{"1":{"name":"meta.preprocessor.dm"},"2":{"name":"keyword.control.import.else.dm"}}},{"name":"comment.block.preprocessor.if-branch","end":"(?=^\\s*#\\s*(else|endif)\\b.*$)","patterns":[{"include":"#disabled"}]}],"captures":{"1":{"name":"meta.preprocessor.dm"},"2":{"name":"keyword.control.import.if.dm"},"3":{"name":"constant.numeric.preprocessor.dm"}}},"preprocessor-rule-disabled-block":{"begin":"^\\s*(#(if)\\s+(0)\\b).*","end":"^\\s*(#\\s*(endif)\\b)","patterns":[{"begin":"^\\s*(#\\s*(else)\\b)","end":"(?=^\\s*#\\s*endif\\b.*$)","patterns":[{"include":"#block_innards"}],"captures":{"1":{"name":"meta.preprocessor.dm"},"2":{"name":"keyword.control.import.else.dm"}}},{"name":"comment.block.preprocessor.if-branch.in-block","end":"(?=^\\s*#\\s*(else|endif)\\b.*$)","patterns":[{"include":"#disabled"}]}],"captures":{"1":{"name":"meta.preprocessor.dm"},"2":{"name":"keyword.control.import.if.dm"},"3":{"name":"constant.numeric.preprocessor.dm"}}},"preprocessor-rule-enabled":{"begin":"^\\s*(#(if)\\s+(0*1)\\b)","end":"^\\s*(#\\s*(endif)\\b)","patterns":[{"contentName":"comment.block.preprocessor.else-branch","begin":"^\\s*(#\\s*(else)\\b).*","end":"(?=^\\s*#\\s*endif\\b.*$)","patterns":[{"include":"#disabled"}],"captures":{"1":{"name":"meta.preprocessor.dm"},"2":{"name":"keyword.control.import.else.dm"}}},{"end":"(?=^\\s*#\\s*(else|endif)\\b.*$)","patterns":[{"include":"$base"}]}],"captures":{"1":{"name":"meta.preprocessor.dm"},"2":{"name":"keyword.control.import.if.dm"},"3":{"name":"constant.numeric.preprocessor.dm"}}},"preprocessor-rule-enabled-block":{"begin":"^\\s*(#(if)\\s+(0*1)\\b)","end":"^\\s*(#\\s*(endif)\\b)","patterns":[{"contentName":"comment.block.preprocessor.else-branch.in-block","begin":"^\\s*(#\\s*(else)\\b).*","end":"(?=^\\s*#\\s*endif\\b.*$)","patterns":[{"include":"#disabled"}],"captures":{"1":{"name":"meta.preprocessor.dm"},"2":{"name":"keyword.control.import.else.dm"}}},{"end":"(?=^\\s*#\\s*(else|endif)\\b.*$)","patterns":[{"include":"#block_innards"}]}],"captures":{"1":{"name":"meta.preprocessor.dm"},"2":{"name":"keyword.control.import.if.dm"},"3":{"name":"constant.numeric.preprocessor.dm"}}},"preprocessor-rule-other":{"begin":"^\\s*((#\\s*(if(n?def)?))\\b.*?(?:(?=(?://|/\\*))|$))","end":"^\\s*((#\\s*(endif))\\b).*$","patterns":[{"include":"$base"}],"captures":{"1":{"name":"meta.preprocessor.dm"},"2":{"name":"keyword.control.import.dm"}}},"preprocessor-rule-other-block":{"begin":"^\\s*(#\\s*(if(n?def)?)\\b.*?(?:(?=(?://|/\\*))|$))","end":"^\\s*(#\\s*(endif)\\b).*$","patterns":[{"include":"#block_innards"}],"captures":{"1":{"name":"meta.preprocessor.dm"},"2":{"name":"keyword.control.import.dm"}}},"string_embedded_expression":{"patterns":[{"name":"string.interpolated.dm","begin":"(?\u003c!\\\\)\\[","end":"\\]","patterns":[{"include":"$self"}]}]},"string_escaped_char":{"patterns":[{"name":"constant.character.escape.dm","match":"(?x)\n\\\\\n(\n\th(?:(?:er|im)self|ers|im)\n\t|([tTsS]?he) # Weird regex to match The, the, She, she and he at once.\n\t|He\n\t|[Hh]is\n\t|[aA]n?\n\t|(?:im)?proper\n\t|\\.\\.\\.\n\t|(?:icon|ref|[Rr]oman)(?=\\[) # Macros which need a [] after them.\n\t|[s\u003c\u003e\"n\\n \\[]\n)"},{"name":"invalid.illegal.unknown-escape.dm","match":"\\\\."}]}}}
1
+ {"name":"Dream Maker","scopeName":"source.dm","patterns":[{"include":"#preprocessor-rule-enabled"},{"include":"#preprocessor-rule-disabled"},{"include":"#preprocessor-rule-other"},{"include":"#comments"},{"name":"meta.initialization.dm","match":"(?x)\n(?:\\b(var))[\\/ ]\n(?:(static|global|tmp|const)\\/)?\n(?:(datum|atom(?:\\/movable)?|obj|mob|turf|area|savefile|list|client|sound|image|database|matrix|regex|exception)\\/)?\n(?:\n\t([a-zA-Z0-9_\\-$]*)\\/\n)*\n\n([A-Za-z0-9_$]*)\\b","captures":{"1":{"name":"storage.type.dm"},"2":{"name":"storage.modifier.dm"},"3":{"name":"storage.type.dm"},"5":{"name":"variable.other.dm"}}},{"name":"constant.numeric.dm","match":"\\b((0(x|X)[0-9a-fA-F]*)|(([0-9]+\\.?[0-9]*)|(\\.[0-9]+))((e|E)(\\+|-)?[0-9]+)?)\\b"},{"name":"keyword.control.dm","match":"\\b(sleep|spawn|break|continue|do|else|for|goto|if|return|switch|while)\\b"},{"name":"keyword.other.dm","match":"\\b(del|new)\\b"},{"name":"storage.type.dm","match":"\\b(proc|verb|datum|atom(/movable)?|obj|mob|turf|area|savefile|list|client|sound|image|database|matrix|regex|exception)\\b"},{"name":"storage.modifier.dm","match":"\\b(as|const|global|set|static|tmp)\\b"},{"name":"variable.language.dm","match":"\\b(usr|world|src|args)\\b"},{"name":"keyword.operator.dm","match":"(\\?|(\u003e|\u003c)(=)?|\\.|:|/(=)?|~|\\+(\\+|=)?|-(-|=)?|\\*(\\*|=)?|%|\u003e\u003e|\u003c\u003c|=(=)?|!(=)?|\u003c\u003e|\u0026|\u0026\u0026|\\^|\\||\\|\\||\\bto\\b|\\bin\\b|\\bstep\\b)"},{"name":"constant.language.dm","match":"\\b([A-Z_][A-Z_0-9]*)\\b"},{"name":"constant.language.dm","match":"\\bnull\\b"},{"name":"string.quoted.triple.dm","begin":"{\"","end":"\"}","patterns":[{"include":"#string_escaped_char"},{"include":"#string_embedded_expression"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.dm"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.dm"}}},{"name":"string.quoted.double.dm","begin":"\"","end":"\"","patterns":[{"include":"#string_escaped_char"},{"include":"#string_embedded_expression"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.dm"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.dm"}}},{"name":"string.quoted.single.dm","begin":"'","end":"'","patterns":[{"include":"#string_escaped_char"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.dm"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.dm"}}},{"name":"meta.preprocessor.macro.dm","begin":"(?x)\n^\\s* ((\\#)\\s*define) \\s+ # define\n((?\u003cid\u003e[a-zA-Z_][a-zA-Z0-9_]*)) # macro name\n(?:\n\t(\\()\n\t\t(\n\t\t\t\\s* \\g\u003cid\u003e \\s* # first argument\n\t\t\t((,) \\s* \\g\u003cid\u003e \\s*)* # additional arguments\n\t\t\t(?:\\.\\.\\.)? # varargs ellipsis?\n\t\t)\n\t(\\))\n)","end":"(?=(?://|/\\*))|(?\u003c!\\\\)(?=\\n)","patterns":[{"include":"$base"}],"beginCaptures":{"1":{"name":"keyword.control.directive.define.dm"},"2":{"name":"punctuation.definition.directive.dm"},"3":{"name":"entity.name.function.preprocessor.dm"},"5":{"name":"punctuation.definition.parameters.begin.dm"},"6":{"name":"variable.parameter.preprocessor.dm"},"8":{"name":"punctuation.separator.parameters.dm"},"9":{"name":"punctuation.definition.parameters.end.dm"}}},{"name":"meta.preprocessor.macro.dm","begin":"(?x)\n^\\s* ((\\#)\\s*define) \\s+ # define\n((?\u003cid\u003e[a-zA-Z_][a-zA-Z0-9_]*)) # macro name","end":"(?=(?://|/\\*))|(?\u003c!\\\\)(?=\\n)","patterns":[{"include":"$base"}],"beginCaptures":{"1":{"name":"keyword.control.directive.define.dm"},"2":{"name":"punctuation.definition.directive.dm"},"3":{"name":"variable.other.preprocessor.dm"}}},{"name":"meta.preprocessor.diagnostic.dm","begin":"^\\s*(#\\s*(error|warn))\\b","end":"$","patterns":[{"name":"punctuation.separator.continuation.dm","match":"(?\u003e\\\\\\s*\\n)"}],"captures":{"1":{"name":"keyword.control.import.error.dm"}}},{"name":"meta.preprocessor.dm","begin":"^\\s*(?:((#)\\s*(?:elif|else|if|ifdef|ifndef))|((#)\\s*(undef|include)))\\b","end":"(?=(?://|/\\*))|(?\u003c!\\\\)(?=\\n)","patterns":[{"name":"punctuation.separator.continuation.dm","match":"(?\u003e\\\\\\s*\\n)"}],"beginCaptures":{"1":{"name":"keyword.control.directive.conditional.dm"},"2":{"name":"punctuation.definition.directive.dm"},"3":{"name":"keyword.control.directive.$5.dm"},"4":{"name":"punctuation.definition.directive.dm"}}},{"include":"#block"},{"name":"meta.function.dm","begin":"(?x)\n\t\t\t\t(?: ^ # begin-of-line\n\t\t\t\t\t|\n\t\t\t\t\t\t (?: (?= \\s ) (?\u003c!else|new|return) (?\u003c=\\w) # or word + space before name\n\t\t\t\t\t\t\t | (?= \\s*[A-Za-z_] ) (?\u003c!\u0026\u0026) (?\u003c=[*\u0026\u003e]) # or type modifier before name\n\t\t\t\t\t\t )\n\t\t\t\t)\n\t\t\t\t(\\s*) (?!(while|for|do|if|else|switch|catch|enumerate|return|r?iterate)\\s*\\()\n\t\t\t\t(\n\t\t\t\t\t(?: [A-Za-z_][A-Za-z0-9_]*+ | :: )++ | # actual name\n\t\t\t\t\t(?: (?\u003c=operator) (?: [-*\u0026\u003c\u003e=+!]+ | \\(\\) | \\[\\] ) ) # if it is a C++ operator\n\t\t\t\t)\n\t\t\t\t \\s*(?=\\()","end":"(?\u003c=\\})|(?=#)|(;)?","patterns":[{"include":"#comments"},{"include":"#parens"},{"name":"storage.modifier.dm","match":"\\bconst\\b"},{"include":"#block"}],"beginCaptures":{"1":{"name":"punctuation.whitespace.function.leading.dm"},"3":{"name":"entity.name.function.dm"},"4":{"name":"punctuation.definition.parameters.dm"}}}],"repository":{"access":{"name":"variable.other.dot-access.dm","match":"\\.[a-zA-Z_][a-zA-Z_0-9]*\\b(?!\\s*\\()"},"block":{"name":"meta.block.dm","begin":"\\{","end":"\\}","patterns":[{"include":"#block_innards"}]},"block_innards":{"patterns":[{"include":"#preprocessor-rule-enabled-block"},{"include":"#preprocessor-rule-disabled-block"},{"include":"#preprocessor-rule-other-block"},{"include":"#access"},{"name":"meta.function-call.dm","match":"(?x) (?: (?= \\s ) (?:(?\u003c=else|new|return) | (?\u003c!\\w)) (\\s+))?\n\t\t\t(\\b\n\t\t\t\t(?!(while|for|do|if|else|switch|catch|enumerate|return|r?iterate)\\s*\\()(?:(?!NS)[A-Za-z_][A-Za-z0-9_]*+\\b | :: )++ # actual name\n\t\t\t)\n\t\t\t \\s*(\\()","captures":{"1":{"name":"punctuation.whitespace.function-call.leading.dm"},"2":{"name":"support.function.any-method.dm"},"3":{"name":"punctuation.definition.parameters.dm"}}},{"include":"#block"},{"include":"$base"}]},"comments":{"patterns":[{"name":"comment.block.dm","match":"^/\\* =(\\s*.*?)\\s*= \\*/$\\n?","captures":{"1":{"name":"meta.toc-list.banner.block.dm"}}},{"name":"comment.block.dm","begin":"/\\*","end":"\\*/","patterns":[{"include":"#comments"}],"captures":{"0":{"name":"punctuation.definition.comment.dm"}}},{"name":"invalid.illegal.stray-comment-end.dm","match":"\\*/.*\\n"},{"name":"comment.line.banner.dm","match":"^// =(\\s*.*?)\\s*=\\s*$\\n?","captures":{"1":{"name":"meta.toc-list.banner.line.dm"}}},{"name":"comment.line.double-slash.dm","begin":"//","end":"$\\n?","patterns":[{"name":"punctuation.separator.continuation.dm","match":"(?\u003e\\\\\\s*\\n)"}],"beginCaptures":{"0":{"name":"punctuation.definition.comment.dm"}}}]},"disabled":{"begin":"^\\s*#\\s*if(n?def)?\\b.*$","end":"^\\s*#\\s*endif\\b.*$","patterns":[{"include":"#disabled"}]},"parens":{"name":"meta.parens.dm","begin":"\\(","end":"\\)","patterns":[{"include":"$base"}]},"preprocessor-rule-disabled":{"begin":"^\\s*(#(if)\\s+(0)\\b).*","end":"^\\s*(#\\s*(endif)\\b)","patterns":[{"begin":"^\\s*(#\\s*(else)\\b)","end":"(?=^\\s*#\\s*endif\\b.*$)","patterns":[{"include":"$base"}],"captures":{"1":{"name":"meta.preprocessor.dm"},"2":{"name":"keyword.control.import.else.dm"}}},{"name":"comment.block.preprocessor.if-branch","end":"(?=^\\s*#\\s*(else|endif)\\b.*$)","patterns":[{"include":"#disabled"}]}],"captures":{"1":{"name":"meta.preprocessor.dm"},"2":{"name":"keyword.control.import.if.dm"},"3":{"name":"constant.numeric.preprocessor.dm"}}},"preprocessor-rule-disabled-block":{"begin":"^\\s*(#(if)\\s+(0)\\b).*","end":"^\\s*(#\\s*(endif)\\b)","patterns":[{"begin":"^\\s*(#\\s*(else)\\b)","end":"(?=^\\s*#\\s*endif\\b.*$)","patterns":[{"include":"#block_innards"}],"captures":{"1":{"name":"meta.preprocessor.dm"},"2":{"name":"keyword.control.import.else.dm"}}},{"name":"comment.block.preprocessor.if-branch.in-block","end":"(?=^\\s*#\\s*(else|endif)\\b.*$)","patterns":[{"include":"#disabled"}]}],"captures":{"1":{"name":"meta.preprocessor.dm"},"2":{"name":"keyword.control.import.if.dm"},"3":{"name":"constant.numeric.preprocessor.dm"}}},"preprocessor-rule-enabled":{"begin":"^\\s*(#(if)\\s+(0*1)\\b)","end":"^\\s*(#\\s*(endif)\\b)","patterns":[{"contentName":"comment.block.preprocessor.else-branch","begin":"^\\s*(#\\s*(else)\\b).*","end":"(?=^\\s*#\\s*endif\\b.*$)","patterns":[{"include":"#disabled"}],"captures":{"1":{"name":"meta.preprocessor.dm"},"2":{"name":"keyword.control.import.else.dm"}}},{"end":"(?=^\\s*#\\s*(else|endif)\\b.*$)","patterns":[{"include":"$base"}]}],"captures":{"1":{"name":"meta.preprocessor.dm"},"2":{"name":"keyword.control.import.if.dm"},"3":{"name":"constant.numeric.preprocessor.dm"}}},"preprocessor-rule-enabled-block":{"begin":"^\\s*(#(if)\\s+(0*1)\\b)","end":"^\\s*(#\\s*(endif)\\b)","patterns":[{"contentName":"comment.block.preprocessor.else-branch.in-block","begin":"^\\s*(#\\s*(else)\\b).*","end":"(?=^\\s*#\\s*endif\\b.*$)","patterns":[{"include":"#disabled"}],"captures":{"1":{"name":"meta.preprocessor.dm"},"2":{"name":"keyword.control.import.else.dm"}}},{"end":"(?=^\\s*#\\s*(else|endif)\\b.*$)","patterns":[{"include":"#block_innards"}]}],"captures":{"1":{"name":"meta.preprocessor.dm"},"2":{"name":"keyword.control.import.if.dm"},"3":{"name":"constant.numeric.preprocessor.dm"}}},"preprocessor-rule-other":{"begin":"^\\s*((#\\s*(if(n?def)?))\\b.*?(?:(?=(?://|/\\*))|$))","end":"^\\s*((#\\s*(endif))\\b).*$","patterns":[{"include":"$base"}],"captures":{"1":{"name":"meta.preprocessor.dm"},"2":{"name":"keyword.control.import.dm"}}},"preprocessor-rule-other-block":{"begin":"^\\s*(#\\s*(if(n?def)?)\\b.*?(?:(?=(?://|/\\*))|$))","end":"^\\s*(#\\s*(endif)\\b).*$","patterns":[{"include":"#block_innards"}],"captures":{"1":{"name":"meta.preprocessor.dm"},"2":{"name":"keyword.control.import.dm"}}},"string_embedded_expression":{"patterns":[{"name":"string.interpolated.dm","begin":"(?\u003c!\\\\)\\[","end":"\\]","patterns":[{"include":"$self"}]}]},"string_escaped_char":{"patterns":[{"name":"constant.character.escape.dm","match":"(?x)\n\\\\\n(\n\th(?:(?:er|im)self|ers|im)\n\t|([tTsS]?he) # Weird regex to match The, the, She, she and he at once.\n\t|He\n\t|[Hh]is\n\t|[aA]n?\n\t|(?:im)?proper\n\t|\\.\\.\\.\n\t|(?:icon|ref|[Rr]oman)(?=\\[) # Macros which need a [] after them.\n\t|[s\u003c\u003e\"n\\n \\[]\n)"},{"name":"invalid.illegal.unknown-escape.dm","match":"\\\\."}]}}}
@@ -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*(\\*)+\\)\\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|and|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":"\\b(use|use!|and|and!)\\s+(\\[[^-=]*\\]|[_[:alpha:]]([_[:alpha:]0-9\\._]+)*|``[_[:alpha:]]([_[:alpha:]0-9\\._`\\s]+|(?\u003c=,)\\s)*)?","end":"\\s*(=)","patterns":[{"include":"#common_binding_definition"}],"beginCaptures":{"1":{"name":"keyword.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 type|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":"\\\\(['\"\\\\abfnrtv]|([01][0-9][0-9]|2[0-4][0-9]|25[0-5])|(x[0-9a-fA-F]{2})|(u[0-9a-fA-F]{4})|(U00(0[0-9a-fA-F]|10)[0-9a-fA-F]{4}))"},{"name":"invalid.illegal.character.string.fsharp","match":"\\\\(([0-9]{1,3})|(x[^\\s]{0,2})|(u[^\\s]{0,4})|(U[^\\s]{0,8})|[^\\s])"},{"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.symbol.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.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.arrow.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.arrow.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.arrow.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":"keyword.symbol.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|void)\\b"}]},"definition":{"patterns":[{"name":"binding.fsharp","begin":"\\b(let mutable|static let mutable|static let|let inline|let|and|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":{"2":{"name":"keyword.fsharp"},"3":{"name":"keyword.symbol.fsharp"}}},{"name":"binding.fsharp","begin":"\\b(use|use!|and|and!)\\s+(\\[[^-=]*\\]|[_[:alpha:]]([_[:alpha:]0-9\\._]+)*|``[_[:alpha:]]([_[:alpha:]0-9\\._`\\s]+|(?\u003c=,)\\s)*)?","end":"\\s*(=)","patterns":[{"include":"#common_binding_definition"}],"beginCaptures":{"1":{"name":"keyword.fsharp"}},"endCaptures":{"1":{"name":"keyword.symbol.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.symbol.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.symbol.fsharp"}},"endCaptures":{"1":{"name":"keyword.symbol.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.symbol.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|new|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.arrow.fsharp","match":"(\\-\u003e|\\\u003c\\-)"},{"name":"keyword.symbol.fsharp","match":"(\u0026\u0026\u0026|\\|\\|\\||\\^\\^\\^|~~~|\u003c\u003c\u003c|\u003e\u003e\u003e|\\|\u003e|:\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 type|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":"keyword.symbol.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.symbol.fsharp"}},"endCaptures":{"1":{"name":"keyword.symbol.fsharp"}}},{"match":"\\s*(private|internal|public)","captures":{"1":{"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":"keyword.symbol.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":"\\\\(['\"\\\\abfnrtv]|([01][0-9][0-9]|2[0-4][0-9]|25[0-5])|(x[0-9a-fA-F]{2})|(u[0-9a-fA-F]{4})|(U00(0[0-9a-fA-F]|10)[0-9a-fA-F]{4}))"},{"name":"invalid.illegal.character.string.fsharp","match":"\\\\(([0-9]{1,3})|(x[^\\s]{0,2})|(u[^\\s]{0,4})|(U[^\\s]{0,8})|[^\\s])"},{"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":"keyword.symbol.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":"Blade (Markdown)","scopeName":"source.gfm.blade","patterns":[{"include":"text.html.php.blade#blade"},{"include":"text.html.basic"},{"include":"source.gfm"}]}
1
+ {"name":"Blade (Markdown)","scopeName":"source.gfm.blade","patterns":[{"include":"text.html.php.blade#blade"},{"include":"text.html.basic"},{}]}
@@ -1 +1 @@
1
- {"name":"Gleam","scopeName":"source.gleam","patterns":[{"include":"#comments"},{"include":"#keywords"},{"include":"#strings"},{"include":"#constant"},{"include":"#entity"}],"repository":{"binary_number":{"name":"constant.numeric.binary.gleam","match":"\\b0b[0-1]+\\b"},"boolean":{"name":"constant.language.boolean.gleam","match":"\\b(True|False)\\b"},"comments":{"patterns":[{"name":"comment.line.gleam","match":"//.*"}]},"constant":{"patterns":[{"include":"#binary_number"},{"include":"#octal_number"},{"include":"#hexadecimal_number"},{"include":"#decimal_number"},{"include":"#boolean"},{"name":"entity.name.type.gleam","match":"[[:upper:]][[:word:]]*"}]},"decimal_number":{"name":"constant.numeric.decimal.gleam","match":"\\b[[:digit:]][[:digit:]_]*(\\.[[:digit:]]*)?\\b"},"entity":{"patterns":[{"begin":"\\b([[:lower:]][[:word:]]*)([[:space:]]*)?\\(","end":"\\)","patterns":[{"include":"$self"}],"captures":{"1":{"name":"entity.name.function.gleam"}}},{"name":"variable.parameter.gleam","match":"\\b([[:lower:]][[:word:]]*):\\s"},{"name":"entity.name.namespace.gleam","match":"\\b([[:lower:]][[:word:]]*):"}]},"hexadecimal_number":{"name":"constant.numeric.hexadecimal.gleam","match":"\\b0x[[:xdigit:]]+\\b"},"keywords":{"patterns":[{"name":"keyword.control.gleam","match":"\\b(use|case|if|external|fn|import|let|assert|try|pub|type|opaque|const|todo|panic)\\b"},{"name":"keyword.operator.arrow.gleam","match":"(\u003c\\-|\\-\u003e)"},{"name":"keyword.operator.pipe.gleam","match":"\\|\u003e"},{"name":"keyword.operator.splat.gleam","match":"\\.\\."},{"name":"keyword.operator.comparison.float.gleam","match":"(\u003c=\\.|\u003e=\\.|==\\.|!=\\.|\u003c\\.|\u003e\\.)"},{"name":"keyword.operator.comparison.int.gleam","match":"(\u003c=|\u003e=|==|!=|\u003c|\u003e)"},{"name":"keyword.operator.logical.gleam","match":"(\u0026\u0026|\\|\\|)"},{"name":"keyword.operator.string.gleam","match":"\u003c\u003e"},{"name":"keyword.operator.other.gleam","match":"\\|"},{"name":"keyword.operator.arithmetic.float.gleam","match":"(\\+\\.|\\-\\.|/\\.|\\*\\.|%\\.)"},{"name":"keyword.operator.arithmetic.int.gleam","match":"(\\+|\\-|/|\\*|%)"},{"name":"keyword.operator.assignment.gleam","match":"="}]},"octal_number":{"name":"constant.numeric.octal.gleam","match":"\\b0o[0-7]+\\b"},"strings":{"name":"string.quoted.double.gleam","begin":"\"","end":"\"","patterns":[{"name":"constant.character.escape.gleam","match":"\\\\."}]}}}
1
+ {"name":"Gleam","scopeName":"source.gleam","patterns":[{"include":"#comments"},{"include":"#keywords"},{"include":"#strings"},{"include":"#constant"},{"include":"#entity"}],"repository":{"binary_number":{"name":"constant.numeric.binary.gleam","match":"\\b0b[0-1]+\\b"},"boolean":{"name":"constant.language.boolean.gleam","match":"\\b(True|False)\\b"},"comments":{"patterns":[{"name":"comment.line.gleam","match":"//.*"}]},"constant":{"patterns":[{"include":"#binary_number"},{"include":"#octal_number"},{"include":"#hexadecimal_number"},{"include":"#decimal_number"},{"include":"#boolean"},{"name":"entity.name.type.gleam","match":"[[:upper:]][[:word:]]*"}]},"decimal_number":{"name":"constant.numeric.decimal.gleam","match":"\\b[[:digit:]][[:digit:]_]*(\\.[[:digit:]]*)?\\b"},"entity":{"patterns":[{"begin":"\\b([[:lower:]][[:word:]]*)([[:space:]]*)?\\(","end":"\\)","patterns":[{"include":"$self"}],"captures":{"1":{"name":"entity.name.function.gleam"}}},{"name":"variable.parameter.gleam","match":"\\b([[:lower:]][[:word:]]*):\\s"},{"name":"entity.name.namespace.gleam","match":"\\b([[:lower:]][[:word:]]*):"}]},"hexadecimal_number":{"name":"constant.numeric.hexadecimal.gleam","match":"\\b0x[[:xdigit:]]+\\b"},"keywords":{"patterns":[{"name":"keyword.control.gleam","match":"\\b(use|case|if|external|fn|import|let|assert|pub|type|opaque|const|todo|panic)\\b"},{"name":"keyword.operator.arrow.gleam","match":"(\u003c\\-|\\-\u003e)"},{"name":"keyword.operator.pipe.gleam","match":"\\|\u003e"},{"name":"keyword.operator.splat.gleam","match":"\\.\\."},{"name":"keyword.operator.comparison.float.gleam","match":"(\u003c=\\.|\u003e=\\.|==\\.|!=\\.|\u003c\\.|\u003e\\.)"},{"name":"keyword.operator.comparison.int.gleam","match":"(\u003c=|\u003e=|==|!=|\u003c|\u003e)"},{"name":"keyword.operator.logical.gleam","match":"(\u0026\u0026|\\|\\|)"},{"name":"keyword.operator.string.gleam","match":"\u003c\u003e"},{"name":"keyword.operator.other.gleam","match":"\\|"},{"name":"keyword.operator.arithmetic.float.gleam","match":"(\\+\\.|\\-\\.|/\\.|\\*\\.|%\\.)"},{"name":"keyword.operator.arithmetic.int.gleam","match":"(\\+|\\-|/|\\*|%)"},{"name":"keyword.operator.assignment.gleam","match":"="}]},"octal_number":{"name":"constant.numeric.octal.gleam","match":"\\b0o[0-7]+\\b"},"strings":{"name":"string.quoted.double.gleam","begin":"\"","end":"\"","patterns":[{"name":"constant.character.escape.gleam","match":"\\\\."}]}}}
@@ -1 +1 @@
1
- {"name":"Kotlin","scopeName":"source.kotlin","patterns":[{"include":"#comments"},{"include":"#package"},{"include":"#imports"},{"include":"#code"}],"repository":{"annotations":{"patterns":[{"name":"meta.annotation.kotlin","match":"@(?:file|property|field|get|set|receiver|param|setparam|delegate)\\s*:\\s*?[a-zA-Z_]\\w*"},{"name":"meta.annotation.kotlin","begin":"@[a-zA-Z_]\\w*\\s*(\\()","end":"\\)","patterns":[{"include":"#code"},{"name":"punctuation.seperator.property.kotlin","match":","}],"beginCaptures":{"1":{"name":"punctuation.definition.arguments.begin.kotlin"}},"endCaptures":{"0":{"name":"punctuation.definition.arguments.end.kotlin"}}},{"name":"meta.annotation.kotlin","match":"@[a-zA-Z_]\\w*"}]},"braces":{"patterns":[{"name":"meta.block.kotlin","begin":"\\{","end":"\\}","patterns":[{"include":"#code"}],"beginCaptures":{"0":{"name":"punctuation.section.group.begin.kotlin"}},"endCaptures":{"0":{"name":"punctuation.section.group.end.kotlin"}}}]},"brackets":{"patterns":[{"name":"meta.brackets.kotlin","begin":"\\[","end":"\\]","patterns":[{"include":"#code"}],"beginCaptures":{"0":{"name":"punctuation.section.brackets.begin.kotlin"}},"endCaptures":{"0":{"name":"punctuation.section.brackets.end.kotlin"}}}]},"builtin-functions":{"patterns":[{"match":"\\b(apply|also|let|run|takeIf|takeWhile|takeUnless|with|print|println)\\b\\s*(?={|\\()","captures":{"1":{"name":"support.function.kotlin"}}},{"match":"\\b(arrayListOf|mutableListOf|listOf|mutableMapOf|mapOf|mutableSetOf|setOf)\\b\\s*(?={|\\()","captures":{"1":{"name":"support.function.kotlin"}}}]},"class-ident":{"patterns":[{"name":"entity.name.type.class.kotlin","match":"\\b[A-Z_]\\w*\\b"}]},"class-literal":{"patterns":[{"name":"meta.class.kotlin","begin":"(?=\\b(?:(?:(?:data|value)\\s+)?class|(?:(?:fun|value)\\s+)?interface)\\s+\\w+)\\b","end":"(?=\\}|$)","patterns":[{"include":"#keywords"},{"begin":"\\b((?:(?:data|value)\\s+)?class|(?:(?:fun|value)\\s+)?interface)\\b\\s+(\\w+)","end":"(?=\\(|\\{|$)","patterns":[{"include":"#comments"},{"include":"#annotations"},{"include":"#types"}],"beginCaptures":{"1":{"name":"storage.modifier.kotlin"},"2":{"name":"entity.name.class.kotlin"}}},{"name":"meta.parameters.kotlin","begin":"(\\()","end":"(\\))","patterns":[{"include":"#class-parameter-list"},{"include":"#comments"}],"beginCaptures":{"0":{"name":"punctuation.section.group.begin.kotlin"},"1":{"name":"punctuation.definition.parameters.begin.kotlin"}},"endCaptures":{"0":{"name":"punctuation.section.group.end.kotlin"},"1":{"name":"punctuation.definition.parameters.end.kotlin"}}},{"name":"meta.block.kotlin","begin":"\\{","end":"\\}","patterns":[{"include":"#code"}],"beginCaptures":{"0":{"name":"punctuation.section.group.begin.kotlin"}},"endCaptures":{"0":{"name":"punctuation.section.group.end.kotlin"}}}]}],"repository":{"class-parameter-list":{"patterns":[{"include":"#generic"},{"include":"#annotations"},{"include":"#keywords"},{"match":"(\\w+)\\s*(:)","captures":{"1":{"name":"variable.parameter.function.kotlin"},"2":{"name":"keyword.operator.declaration.kotlin"}}},{"name":"punctuation.seperator.kotlin","match":","},{"include":"#types"},{"include":"#literals"}]}}},"code":{"patterns":[{"include":"#comments"},{"include":"#annotations"},{"include":"#parens"},{"include":"#braces"},{"include":"#brackets"},{"include":"#class-literal"},{"include":"#literal-functions"},{"include":"#literals"},{"include":"#keywords"},{"include":"#types"},{"include":"#operators"},{"include":"#constants"},{"include":"#punctuations"},{"include":"#builtin-functions"}]},"comments":{"patterns":[{"include":"#inline"},{"name":"comment.block.kotlin","begin":"/\\*","end":"\\*/","patterns":[{"include":"#nested"}],"beginCaptures":{"0":{"name":"punctuation.definition.comment.begin.kotlin"}},"endCaptures":{"0":{"name":"punctuation.definition.comment.end.kotlin"}}}],"repository":{"inline":{"patterns":[{"match":"(//).*$\\n?","captures":{"0":{"name":"punctuation.definition.comment.kotlin"},"1":{"name":"comment.line.double-slash.kotlin"}}}]},"nested":{"patterns":[{"begin":"/\\*","end":"\\*/","patterns":[{"include":"#nested"}]}]}}},"constants":{"patterns":[{"name":"constant.language.kotlin","match":"\\b(class)\\b"},{"name":"variable.language.kotlin","match":"\\b(this|super)\\b"}]},"generic":{"patterns":[{"begin":"(?=\\\u003c(?:[A-Z_]|\\*|in|out))","end":"(?\u003c=\\\u003e)(?!\\\u003e)","patterns":[{"name":"punctuation.bracket.angle.begin.kotlin","match":"\u003c"},{"name":"punctuation.bracket.angle.end.kotlin","match":"\u003e"},{"name":"entity.name.type.generic.wildcard.kotlin","match":"\\*"},{"include":"#generic-parameter-list"},{"name":"punctuation.seperator.kotlin","match":","}]}],"repository":{"generic-parameter-list":{"patterns":[{"include":"#annotations"},{"name":"storage.modifier.generic.variance.kotlin","match":"\\b(in|out)\\b"},{"include":"#built-in-types"},{"include":"#class-ident"},{"include":"#generic"},{"include":"#operators"}]}}},"imports":{"patterns":[{"name":"meta.import.kotlin","match":"^\\s*(import)\\s+((?:[`][^$`]+[`]|[^` $.]+)(?:\\.(?:[`][^$`]+[`]|[^` $.]+))*)(?:\\s+(as)\\s+([`][^$`]+[`]|[^` $.]+))?$","captures":{"1":{"name":"keyword.other.import.kotlin"},"2":{"name":"storage.modifier.import.kotlin"},"3":{"name":"keyword.other.kotlin"},"4":{"name":"entity.name.type"}}}]},"keywords":{"patterns":[{"name":"keyword.operator.kotlin","match":"(\\!in|\\!is|as\\?)\\b"},{"name":"keyword.operator.kotlin","match":"\\b(in|is|as|assert)\\b"},{"name":"storage.type.kotlin","match":"\\b(val|var)\\b"},{"name":"punctuation.definition.variable.kotlin","match":"\\b(\\_)\\b"},{"name":"storage.type.kotlin","match":"\\b(tailrec|operator|infix|typealias|reified|copy(?=\\s+fun|\\s+var))\\b"},{"name":"storage.modifier.kotlin","match":"\\b(out|in|yield|typealias|override)\\b"},{"name":"storage.modifier.kotlin","match":"\\b(?\u003c![+-/%*=(,]\\s)(inline|inner|external|public|private|protected|internal|abstract|final|sealed|enum|open|annotation|expect|actual|const|lateinit)(?=\\s(?!(?:\\s*)(?:[+-/%*=:).,]|$)))\\b"},{"name":"storage.modifier.kotlin","match":"\\b(vararg(?=\\s+\\w+:))\\b"},{"name":"storage.modifier.kotlin","match":"\\b(suspend(?!\\s*[\\(]?\\s*\\{))\\b"},{"name":"keyword.control.catch-exception.kotlin","match":"\\b(try|catch|finally|throw)\\b"},{"name":"keyword.control.conditional.kotlin","match":"\\b(if|else|when)\\b"},{"name":"keyword.control.kotlin","match":"\\b(while|for|do|return|break|continue)\\b"},{"name":"entity.name.function.constructor","match":"\\b(constructor|init)\\b"},{"name":"storage.type.kotlin","match":"\\b(companion|object)\\b"}]},"literal-functions":{"patterns":[{"name":"meta.function.kotlin","begin":"(?=\\b(?:fun)\\b)","end":"(?\u003c=$|=|\\})","patterns":[{"include":"#keywords"},{"begin":"\\bfun\\b","end":"(?=\\()","patterns":[{"include":"#generic"},{"match":"(`[^`]*`)","captures":{"0":{"name":"entity.name.function.kotlin"},"1":{"name":"string.quoted.backtick.kotlin"}}},{"match":"([\\.\u003c\\?\u003e\\w]+\\.)?(\\w+)","captures":{"2":{"name":"entity.name.function.kotlin"}}},{"include":"#types"}],"beginCaptures":{"0":{"name":"keyword.other.kotlin"}}},{"name":"meta.parameters.kotlin","begin":"(\\()","end":"(\\))","patterns":[{"include":"#function-parameter-list"}],"beginCaptures":{"0":{"name":"punctuation.section.group.begin.kotlin"},"1":{"name":"punctuation.definition.parameters.begin.kotlin"}},"endCaptures":{"0":{"name":"punctuation.section.group.end.kotlin"},"1":{"name":"punctuation.definition.parameters.end.kotlin"}}},{"name":"keyword.operator.single-expression.kotlin","match":"="},{"name":"meta.block.kotlin","begin":"\\{","end":"\\}","patterns":[{"include":"#code"}],"beginCaptures":{"0":{"name":"punctuation.section.group.begin.kotlin"}},"endCaptures":{"0":{"name":"punctuation.section.group.end.kotlin"}}},{"include":"#return-type"}]}],"repository":{"function-parameter-list":{"patterns":[{"include":"#comments"},{"include":"#annotations"},{"include":"#keywords"},{"match":"(\\w+)\\s*(:)","captures":{"1":{"name":"variable.parameter.function.kotlin"},"2":{"name":"keyword.operator.declaration.kotlin"}}},{"name":"punctuation.seperator.kotlin","match":","},{"include":"#types"}]},"return-type":{"patterns":[{"name":"meta.return.type.kotlin","begin":"(?\u003c=\\))\\s*(:)(?=\\s*\\S)","end":"(?\u003c![:|\u0026])(?=$|^|[={};,]|//)","patterns":[{"include":"#types"}]}]}}},"literals":{"patterns":[{"include":"#boolean"},{"include":"#numeric"},{"include":"#string"},{"include":"#null"}],"repository":{"boolean":{"patterns":[{"name":"constant.language.boolean.kotlin","match":"\\b(true|false)\\b"}]},"null":{"patterns":[{"name":"constant.language.null.kotlin","match":"\\b(null)\\b"}]},"numeric":{"patterns":[{"name":"constant.numeric.hex.kotlin","match":"\\b(0(x|X)[0-9A-Fa-f_]*)([LuU]|[uU]L)?\\b"},{"name":"constant.numeric.binary.kotlin","match":"\\b(0(b|B)[0-1_]*)([LuU]|[uU]L)?\\b"},{"name":"constant.numeric.float.kotlin","match":"\\b([0-9][0-9_]*\\.[0-9][0-9_]*[fFL]?)\\b"},{"name":"constant.numeric.integer.kotlin","match":"\\b([0-9][0-9_]*([fFLuU]|[uU]L)?)\\b"}]},"string":{"patterns":[{"name":"string.quoted.triple.kotlin","begin":"\"\"\"","end":"\"\"\"(?!\")","patterns":[{"include":"#string-content"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.kotlin"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.kotlin"}}},{"name":"string.quoted.double.kotlin","begin":"(?!')\"","end":"\"","patterns":[{"include":"#string-content"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.kotlin"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.kotlin"}}},{"name":"string.quoted.single.kotlin","begin":"'","end":"'","patterns":[{"include":"#string-content"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.kotlin"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.kotlin"}}}],"repository":{"string-content":{"patterns":[{"name":"constant.character.escape.kotlin","match":"\\\\[0\\\\tnr\"']"},{"name":"constant.character.escape.unicode.kotlin","match":"\\\\(x[\\da-fA-F]{2}|u[\\da-fA-F]{4}|.)"},{"name":"entity.string.template.element.kotlin","begin":"\\$(\\{)","end":"\\}","patterns":[{"include":"#code"}],"beginCaptures":{"1":{"name":"punctuation.section.block.begin.kotlin"}},"endCaptures":{"0":{"name":"punctuation.section.block.end.kotlin"}}},{"name":"entity.string.template.element.kotlin","match":"\\$[a-zA-Z_]\\w*"}]}}}}},"object-literal":{"patterns":[{"name":"meta.class.kotlin","begin":"(?=\\b(?:object)\\b((\\s*:\\s*)|\\s+)\\w+)","end":"(?=\\}|$)","patterns":[{"include":"#annotation"},{"begin":"\\b(object)\\b\\s*(:)\\s*(\\w+)","end":"(?=\\(|\\{|$)","patterns":[{"include":"#comments"},{"include":"#annotations"},{"include":"#types"}],"beginCaptures":{"1":{"name":"storage.modifier.kotlin"},"2":{"name":"keyword.operator.declaration.kotlin"},"3":{"name":"entity.name.class.kotlin"}}},{"name":"meta.parameters.kotlin","begin":"(\\()","end":"(\\))","patterns":[{"include":"#comments"},{"include":"#class-parameter-list"}],"beginCaptures":{"0":{"name":"punctuation.section.group.begin.kotlin"},"1":{"name":"punctuation.definition.parameters.begin.kotlin"}},"endCaptures":{"0":{"name":"punctuation.section.group.end.kotlin"},"1":{"name":"punctuation.definition.parameters.end.kotlin"}}},{"name":"meta.block.kotlin","begin":"\\{","end":"\\}","patterns":[{"include":"#code"}],"beginCaptures":{"0":{"name":"punctuation.section.group.begin.kotlin"}},"endCaptures":{"0":{"name":"punctuation.section.group.end.kotlin"}}}]}],"repository":{"class-parameter-list":{"patterns":[{"include":"#annotations"},{"include":"#keywords"},{"match":"(\\w+)\\s*(:)","captures":{"1":{"name":"variable.parameter.function.kotlin"},"2":{"name":"keyword.operator.declaration.kotlin"}}},{"name":"punctuation.seperator.kotlin","match":","},{"include":"#types"}]}}},"operators":{"patterns":[{"name":"keyword.operator.bitwise.kotlin","match":"\\b(and|or|not|inv)\\b"},{"name":"keyword.operator.comparison.kotlin","match":"(==|!=|===|!==|\u003c=|\u003e=|\u003c|\u003e)"},{"name":"keyword.operator.assignment.kotlin","match":"(=)"},{"name":"keyword.operator.declaration.kotlin","match":"(:(?!:))"},{"name":"keyword.operator.elvis.kotlin","match":"(\\?:)"},{"name":"keyword.operator.increment-decrement.kotlin","match":"(\\-\\-|\\+\\+)"},{"name":"keyword.operator.arithmetic.kotlin","match":"(\\-|\\+|\\*|\\/|%)"},{"name":"keyword.operator.arithmetic.assign.kotlin","match":"(\\+\\=|\\-\\=|\\*\\=|\\/\\=)"},{"name":"keyword.operator.logical.kotlin","match":"(\\!|\\\u0026\\\u0026|\\|\\|)"},{"name":"keyword.operator.range.kotlin","match":"(\\.\\.)"}]},"package":{"patterns":[{"match":"^\\s*(package)\\b(?:\\s*([^ ;$]+)\\s*)?","captures":{"1":{"name":"keyword.other.kotlin"},"2":{"name":"entity.name.package.kotlin"}}}]},"parens":{"patterns":[{"name":"meta.group.kotlin","begin":"\\(","end":"\\)","patterns":[{"include":"#code"}],"beginCaptures":{"0":{"name":"punctuation.section.group.begin.kotlin"}},"endCaptures":{"0":{"name":"punctuation.section.group.end.kotlin"}}}]},"punctuations":{"patterns":[{"name":"punctuation.accessor.reference.kotlin","match":"::"},{"name":"punctuation.accessor.dot.safe.kotlin","match":"\\?\\."},{"name":"punctuation.accessor.dot.kotlin","match":"(?\u003c!\\?)\\."},{"name":"punctuation.seperator.kotlin","match":"\\,"},{"name":"punctuation.terminator.kotlin","match":"\\;"}]},"types":{"patterns":[{"include":"#built-in-types"},{"include":"#class-ident"},{"include":"#generic"},{"match":"(?\u003c![/=\\-+!*%\u003c\u003e\u0026|\\^~.])(-\u003e)(?![/=\\-+!*%\u003c\u003e\u0026|\\^~.])","captures":{"1":{"name":"keyword.operator.type.function.kotlin"}}},{"name":"keyword.operator.type.nullable.kotlin","match":"\\?(?!\\.)"},{"begin":"\\(","end":"\\)","patterns":[{"include":"#types"}],"beginCaptures":{"0":{"name":"punctuation.section.group.begin.kotlin"}},"endCaptures":{"0":{"name":"punctuation.section.group.end.kotlin"}}}],"repository":{"built-in-types":{"patterns":[{"name":"support.class.kotlin","match":"\\b(Nothing|Any|Unit|String|CharSequence|Int|Boolean|Char|Long|Double|Float|Short|Byte|UByte|UShort|UInt|ULong|Array|List|Map|Set|dynamic)\\b(\\?)?"},{"name":"support.class.kotlin","match":"\\b(IntArray|BooleanArray|CharArray|LongArray|DoubleArray|FloatArray|ShortArray|ByteArray|UByteArray|UShortArray|UIntArray|ULongArray)\\b(\\?)?"}]}}}}}
1
+ {"name":"Kotlin","scopeName":"source.kotlin","patterns":[{"include":"#comments"},{"include":"#package"},{"include":"#imports"},{"include":"#code"}],"repository":{"annotations":{"patterns":[{"name":"meta.annotation.kotlin","match":"@(?:file|property|field|get|set|receiver|param|setparam|delegate)\\s*:\\s*?[a-zA-Z_]\\w*"},{"name":"meta.annotation.kotlin","begin":"@[a-zA-Z_]\\w*\\s*(\\()","end":"\\)","patterns":[{"include":"#code"},{"name":"punctuation.seperator.property.kotlin","match":","}],"beginCaptures":{"1":{"name":"punctuation.definition.arguments.begin.kotlin"}},"endCaptures":{"0":{"name":"punctuation.definition.arguments.end.kotlin"}}},{"name":"meta.annotation.kotlin","match":"@[a-zA-Z_]\\w*"}]},"braces":{"patterns":[{"name":"meta.block.kotlin","begin":"\\{","end":"\\}","patterns":[{"include":"#code"}],"beginCaptures":{"0":{"name":"punctuation.section.group.begin.kotlin"}},"endCaptures":{"0":{"name":"punctuation.section.group.end.kotlin"}}}]},"brackets":{"patterns":[{"name":"meta.brackets.kotlin","begin":"\\[","end":"\\]","patterns":[{"include":"#code"}],"beginCaptures":{"0":{"name":"punctuation.section.brackets.begin.kotlin"}},"endCaptures":{"0":{"name":"punctuation.section.brackets.end.kotlin"}}}]},"builtin-functions":{"patterns":[{"match":"\\b(apply|also|let|run|takeIf|takeWhile|takeUnless|with|print|println)\\b\\s*(?={|\\()","captures":{"1":{"name":"support.function.kotlin"}}},{"match":"\\b(arrayListOf|mutableListOf|listOf|mutableMapOf|mapOf|mutableSetOf|setOf)\\b\\s*(?={|\\()","captures":{"1":{"name":"support.function.kotlin"}}}]},"class-ident":{"patterns":[{"name":"entity.name.type.class.kotlin","match":"\\b[A-Z_]\\w*\\b"}]},"class-literal":{"patterns":[{"name":"meta.class.kotlin","begin":"(?=\\b(?:(?:(?:data|value)\\s+)?class|(?:(?:fun|value)\\s+)?interface)\\s+\\w+)\\b","end":"(?=\\}|$)","patterns":[{"include":"#keywords"},{"begin":"\\b((?:(?:data|value)\\s+)?class|(?:(?:fun|value)\\s+)?interface)\\b\\s+(\\w+)","end":"(?=\\(|\\{|$)","patterns":[{"include":"#comments"},{"include":"#annotations"},{"include":"#types"}],"beginCaptures":{"1":{"name":"storage.modifier.kotlin"},"2":{"name":"entity.name.class.kotlin"}}},{"name":"meta.parameters.kotlin","begin":"(\\()","end":"(\\))","patterns":[{"include":"#class-parameter-list"},{"include":"#comments"}],"beginCaptures":{"0":{"name":"punctuation.section.group.begin.kotlin"},"1":{"name":"punctuation.definition.parameters.begin.kotlin"}},"endCaptures":{"0":{"name":"punctuation.section.group.end.kotlin"},"1":{"name":"punctuation.definition.parameters.end.kotlin"}}},{"name":"meta.block.kotlin","begin":"\\{","end":"\\}","patterns":[{"include":"#code"}],"beginCaptures":{"0":{"name":"punctuation.section.group.begin.kotlin"}},"endCaptures":{"0":{"name":"punctuation.section.group.end.kotlin"}}}]}],"repository":{"class-parameter-list":{"patterns":[{"include":"#generic"},{"include":"#annotations"},{"include":"#keywords"},{"match":"(\\w+)\\s*(:)","captures":{"1":{"name":"variable.parameter.function.kotlin"},"2":{"name":"keyword.operator.declaration.kotlin"}}},{"name":"punctuation.seperator.kotlin","match":","},{"include":"#types"},{"include":"#literals"}]}}},"code":{"patterns":[{"include":"#comments"},{"include":"#annotations"},{"include":"#parens"},{"include":"#braces"},{"include":"#brackets"},{"include":"#class-literal"},{"include":"#literal-functions"},{"include":"#literals"},{"include":"#keywords"},{"include":"#types"},{"include":"#operators"},{"include":"#constants"},{"include":"#punctuations"},{"include":"#builtin-functions"}]},"comments":{"patterns":[{"include":"#inline"},{"name":"comment.block.kotlin","begin":"/\\*","end":"\\*/","patterns":[{"include":"#nested"}],"beginCaptures":{"0":{"name":"punctuation.definition.comment.begin.kotlin"}},"endCaptures":{"0":{"name":"punctuation.definition.comment.end.kotlin"}}}],"repository":{"inline":{"patterns":[{"match":"(//).*$\\n?","captures":{"0":{"name":"punctuation.definition.comment.kotlin"},"1":{"name":"comment.line.double-slash.kotlin"}}}]},"nested":{"patterns":[{"begin":"/\\*","end":"\\*/","patterns":[{"include":"#nested"}]}]}}},"constants":{"patterns":[{"name":"constant.language.kotlin","match":"\\b(class)\\b"},{"name":"variable.language.kotlin","match":"\\b(this|super)\\b"}]},"generic":{"patterns":[{"begin":"(?=\\\u003c(?:[A-Z_]|\\*|in|out))","end":"(?\u003c=\\\u003e)(?!\\\u003e)","patterns":[{"name":"punctuation.bracket.angle.begin.kotlin","match":"\u003c"},{"name":"punctuation.bracket.angle.end.kotlin","match":"\u003e"},{"name":"entity.name.type.generic.wildcard.kotlin","match":"\\*"},{"include":"#generic-parameter-list"},{"name":"punctuation.seperator.kotlin","match":","}]}],"repository":{"generic-parameter-list":{"patterns":[{"include":"#annotations"},{"name":"storage.modifier.generic.variance.kotlin","match":"\\b(in|out)\\b"},{"include":"#built-in-types"},{"include":"#class-ident"},{"include":"#generic"},{"include":"#operators"}]}}},"imports":{"patterns":[{"name":"meta.import.kotlin","match":"^\\s*(import)\\s+((?:[`][^$`]+[`]|[^` $.]+)(?:\\.(?:[`][^$`]+[`]|[^` $.]+))*)(?:\\s+(as)\\s+([`][^$`]+[`]|[^` $.]+))?$","captures":{"1":{"name":"keyword.other.import.kotlin"},"2":{"name":"storage.modifier.import.kotlin"},"3":{"name":"keyword.other.kotlin"},"4":{"name":"entity.name.type"}}}]},"keywords":{"patterns":[{"name":"keyword.operator.kotlin","match":"(\\!in|\\!is|as\\?)\\b"},{"name":"keyword.operator.kotlin","match":"\\b(in|is|as|assert)\\b"},{"name":"storage.type.kotlin","match":"\\b(val|var)\\b"},{"name":"punctuation.definition.variable.kotlin","match":"\\b(\\_)\\b"},{"name":"storage.type.kotlin","match":"\\b(tailrec|operator|infix|typealias|reified|copy(?=\\s+fun|\\s+var))\\b"},{"name":"storage.modifier.kotlin","match":"\\b(out|in|yield|typealias|override)\\b"},{"name":"storage.modifier.kotlin","match":"\\b(?\u003c![+-/%*=(,]\\s)(inline|inner|external|public|private|protected|internal|abstract|final|sealed|enum|open|annotation|expect|actual|const|lateinit)(?=\\s(?!(?:\\s*)(?:[+-/%*=:).,]|$)))\\b"},{"name":"storage.modifier.kotlin","match":"\\b(vararg(?=\\s+\\w+:))\\b"},{"name":"storage.modifier.kotlin","match":"\\b(suspend(?!\\s*[\\(]?\\s*\\{))\\b"},{"name":"keyword.control.catch-exception.kotlin","match":"\\b(try|catch|finally|throw)\\b"},{"name":"keyword.control.conditional.kotlin","match":"\\b(if|else|when)\\b"},{"name":"keyword.control.kotlin","match":"\\b(while|for|do|return|break|continue)\\b"},{"name":"entity.name.function.constructor","match":"\\b(constructor|init)\\b"},{"name":"storage.type.kotlin","match":"\\b(companion|object)\\b"}]},"literal-functions":{"patterns":[{"name":"meta.function.kotlin","begin":"(?=\\b(?:fun)\\b)","end":"(?\u003c=$|=|\\})","patterns":[{"include":"#keywords"},{"begin":"\\bfun\\b","end":"(?=\\()","patterns":[{"include":"#generic"},{"match":"(`[^`]*`)","captures":{"0":{"name":"entity.name.function.kotlin"},"1":{"name":"string.quoted.backtick.kotlin"}}},{"match":"([\\.\u003c\\?\u003e\\w]+\\.)?(\\w+)","captures":{"2":{"name":"entity.name.function.kotlin"}}},{"include":"#types"}],"beginCaptures":{"0":{"name":"keyword.other.kotlin"}}},{"name":"meta.parameters.kotlin","begin":"(\\()","end":"(\\))","patterns":[{"include":"#function-parameter-list"}],"beginCaptures":{"0":{"name":"punctuation.section.group.begin.kotlin"},"1":{"name":"punctuation.definition.parameters.begin.kotlin"}},"endCaptures":{"0":{"name":"punctuation.section.group.end.kotlin"},"1":{"name":"punctuation.definition.parameters.end.kotlin"}}},{"name":"keyword.operator.single-expression.kotlin","match":"="},{"name":"meta.block.kotlin","begin":"\\{","end":"\\}","patterns":[{"include":"#code"}],"beginCaptures":{"0":{"name":"punctuation.section.group.begin.kotlin"}},"endCaptures":{"0":{"name":"punctuation.section.group.end.kotlin"}}},{"include":"#return-type"}]}],"repository":{"function-parameter-list":{"patterns":[{"include":"#comments"},{"include":"#annotations"},{"include":"#keywords"},{"match":"(\\w+)\\s*(:)","captures":{"1":{"name":"variable.parameter.function.kotlin"},"2":{"name":"keyword.operator.declaration.kotlin"}}},{"name":"punctuation.seperator.kotlin","match":","},{"include":"#types"}]},"return-type":{"patterns":[{"name":"meta.return.type.kotlin","begin":"(?\u003c=\\))\\s*(:)(?=\\s*\\S)","end":"(?\u003c![:|\u0026])(?=$|^|[={};,]|//)","patterns":[{"include":"#types"}]}]}}},"literals":{"patterns":[{"include":"#boolean"},{"include":"#numeric"},{"include":"#string"},{"include":"#null"}],"repository":{"boolean":{"patterns":[{"name":"constant.language.boolean.kotlin","match":"\\b(true|false)\\b"}]},"null":{"patterns":[{"name":"constant.language.null.kotlin","match":"\\b(null)\\b"}]},"numeric":{"patterns":[{"name":"constant.numeric.hex.kotlin","match":"\\b(0(x|X)[0-9A-Fa-f_]*)([LuU]|[uU]L)?\\b"},{"name":"constant.numeric.binary.kotlin","match":"\\b(0(b|B)[0-1_]*)([LuU]|[uU]L)?\\b"},{"name":"constant.numeric.float.kotlin","match":"\\b([0-9][0-9_]*\\.[0-9][0-9_]*[fFL]?)\\b"},{"name":"constant.numeric.integer.kotlin","match":"\\b([0-9][0-9_]*([fFLuU]|[uU]L)?)\\b"}]},"string":{"patterns":[{"name":"string.quoted.triple.kotlin","begin":"\"\"\"","end":"\"\"\"(?!\")","patterns":[{"include":"#raw-string-content"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.kotlin"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.kotlin"}}},{"name":"string.quoted.double.kotlin","begin":"(?!')\"","end":"\"","patterns":[{"include":"#string-content"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.kotlin"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.kotlin"}}},{"name":"string.quoted.single.kotlin","begin":"'","end":"'","patterns":[{"include":"#string-content"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.kotlin"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.kotlin"}}}],"repository":{"raw-string-content":{"patterns":[{"name":"entity.string.template.element.kotlin","begin":"\\$(\\{)","end":"\\}","patterns":[{"include":"#code"}],"beginCaptures":{"1":{"name":"punctuation.section.block.begin.kotlin"}},"endCaptures":{"0":{"name":"punctuation.section.block.end.kotlin"}}},{"name":"entity.string.template.element.kotlin","match":"\\$[a-zA-Z_]\\w*"}]},"string-content":{"patterns":[{"name":"constant.character.escape.kotlin","match":"\\\\[0\\\\tnr\"']"},{"name":"constant.character.escape.unicode.kotlin","match":"\\\\(x[\\da-fA-F]{2}|u[\\da-fA-F]{4}|.)"},{"name":"entity.string.template.element.kotlin","begin":"\\$(\\{)","end":"\\}","patterns":[{"include":"#code"}],"beginCaptures":{"1":{"name":"punctuation.section.block.begin.kotlin"}},"endCaptures":{"0":{"name":"punctuation.section.block.end.kotlin"}}},{"name":"entity.string.template.element.kotlin","match":"\\$[a-zA-Z_]\\w*"}]}}}}},"object-literal":{"patterns":[{"name":"meta.class.kotlin","begin":"(?=\\b(?:object)\\b((\\s*:\\s*)|\\s+)\\w+)","end":"(?=\\}|$)","patterns":[{"include":"#annotation"},{"begin":"\\b(object)\\b\\s*(:)\\s*(\\w+)","end":"(?=\\(|\\{|$)","patterns":[{"include":"#comments"},{"include":"#annotations"},{"include":"#types"}],"beginCaptures":{"1":{"name":"storage.modifier.kotlin"},"2":{"name":"keyword.operator.declaration.kotlin"},"3":{"name":"entity.name.class.kotlin"}}},{"name":"meta.parameters.kotlin","begin":"(\\()","end":"(\\))","patterns":[{"include":"#comments"},{"include":"#class-parameter-list"}],"beginCaptures":{"0":{"name":"punctuation.section.group.begin.kotlin"},"1":{"name":"punctuation.definition.parameters.begin.kotlin"}},"endCaptures":{"0":{"name":"punctuation.section.group.end.kotlin"},"1":{"name":"punctuation.definition.parameters.end.kotlin"}}},{"name":"meta.block.kotlin","begin":"\\{","end":"\\}","patterns":[{"include":"#code"}],"beginCaptures":{"0":{"name":"punctuation.section.group.begin.kotlin"}},"endCaptures":{"0":{"name":"punctuation.section.group.end.kotlin"}}}]}],"repository":{"class-parameter-list":{"patterns":[{"include":"#annotations"},{"include":"#keywords"},{"match":"(\\w+)\\s*(:)","captures":{"1":{"name":"variable.parameter.function.kotlin"},"2":{"name":"keyword.operator.declaration.kotlin"}}},{"name":"punctuation.seperator.kotlin","match":","},{"include":"#types"}]}}},"operators":{"patterns":[{"name":"keyword.operator.bitwise.kotlin","match":"\\b(and|or|not|inv)\\b"},{"name":"keyword.operator.comparison.kotlin","match":"(==|!=|===|!==|\u003c=|\u003e=|\u003c|\u003e)"},{"name":"keyword.operator.assignment.kotlin","match":"(=)"},{"name":"keyword.operator.declaration.kotlin","match":"(:(?!:))"},{"name":"keyword.operator.elvis.kotlin","match":"(\\?:)"},{"name":"keyword.operator.increment-decrement.kotlin","match":"(\\-\\-|\\+\\+)"},{"name":"keyword.operator.arithmetic.kotlin","match":"(\\-|\\+|\\*|\\/|%)"},{"name":"keyword.operator.arithmetic.assign.kotlin","match":"(\\+\\=|\\-\\=|\\*\\=|\\/\\=)"},{"name":"keyword.operator.logical.kotlin","match":"(\\!|\\\u0026\\\u0026|\\|\\|)"},{"name":"keyword.operator.range.kotlin","match":"(\\.\\.)"}]},"package":{"patterns":[{"match":"^\\s*(package)\\b(?:\\s*([^ ;$]+)\\s*)?","captures":{"1":{"name":"keyword.other.kotlin"},"2":{"name":"entity.name.package.kotlin"}}}]},"parens":{"patterns":[{"name":"meta.group.kotlin","begin":"\\(","end":"\\)","patterns":[{"include":"#code"}],"beginCaptures":{"0":{"name":"punctuation.section.group.begin.kotlin"}},"endCaptures":{"0":{"name":"punctuation.section.group.end.kotlin"}}}]},"punctuations":{"patterns":[{"name":"punctuation.accessor.reference.kotlin","match":"::"},{"name":"punctuation.accessor.dot.safe.kotlin","match":"\\?\\."},{"name":"punctuation.accessor.dot.kotlin","match":"(?\u003c!\\?)\\."},{"name":"punctuation.seperator.kotlin","match":"\\,"},{"name":"punctuation.terminator.kotlin","match":"\\;"}]},"types":{"patterns":[{"include":"#built-in-types"},{"include":"#class-ident"},{"include":"#generic"},{"match":"(?\u003c![/=\\-+!*%\u003c\u003e\u0026|\\^~.])(-\u003e)(?![/=\\-+!*%\u003c\u003e\u0026|\\^~.])","captures":{"1":{"name":"keyword.operator.type.function.kotlin"}}},{"name":"keyword.operator.type.nullable.kotlin","match":"\\?(?!\\.)"},{"begin":"\\(","end":"\\)","patterns":[{"include":"#types"}],"beginCaptures":{"0":{"name":"punctuation.section.group.begin.kotlin"}},"endCaptures":{"0":{"name":"punctuation.section.group.end.kotlin"}}}],"repository":{"built-in-types":{"patterns":[{"name":"support.class.kotlin","match":"\\b(Nothing|Any|Unit|String|CharSequence|Int|Boolean|Char|Long|Double|Float|Short|Byte|UByte|UShort|UInt|ULong|Array|List|Map|Set|dynamic)\\b(\\?)?"},{"name":"support.class.kotlin","match":"\\b(IntArray|BooleanArray|CharArray|LongArray|DoubleArray|FloatArray|ShortArray|ByteArray|UByteArray|UShortArray|UIntArray|ULongArray)\\b(\\?)?"}]}}}}}
@@ -0,0 +1 @@
1
+ {"name":"LOLCODE","scopeName":"source.lolcode","patterns":[{"include":"#comments"},{"include":"#keywords"},{"include":"#strings"},{"include":"#numbers"},{"include":"#variables"},{"include":"#operators"},{"include":"#parentheses"}],"repository":{"comments":{"patterns":[{"name":"comment.line.lolcode","match":"(?\u003c!\\S)BTW(?:[^\\n]*)"},{"name":"comment.block.lolcode","begin":"(?\u003c!\\S)OBTW(?!\\S)","end":"(?\u003c!\\S)TLDR(?!\\S)","beginCaptures":{"0":{"name":"punctuation.definition.comment.lolcode"}},"endCaptures":{"0":{"name":"punctuation.definition.comment.lolcode"}}}]},"keywords":{"patterns":[{"name":"keyword.control.lolcode","match":"(?:(?\u003c=[^a-zA-Z0-9\\?])|(?:^))(O HAI IM|HAI|AWSUM THX|O NOES|KTHX|KTHXBYE|ITZ LIEK|IS NOW A|BOTH SAEM|BIGGR OF|SMALLR OF|UPPIN YR|NERFIN YR|TIL|WILE|DIFFRINT|ITZ A|ITZ|IS|IZ|AN|BIGGR|SMALLR|EITHER|MAEK|WON|NOT|ALL|ANY|MKAY|IF U SAY SO|OIC|I HAS A|IM OUTTA YR|GTFO|WTF\\?|YA RLY|O RLY\\?|MEBBE|IM IN YR|YR|HAS A|NO WAI|FOUND|OF|R|I IZ|OMG|OMGWTF|A)(?:(?=[^a-zA-Z0-9\\?])|(?:$))"},{"match":"(CAN HAS )(.*?)(\\?)","captures":{"1":{"name":"keyword.control.lolcode"},"2":{"name":"entity.name.class.lolcode"},"3":{"name":"keyword.control.lolcode"}}},{"match":"(PLZ OPEN FILE )(.*?)(\\?)","captures":{"1":{"name":"keyword.control.lolcode"},"2":{"name":"variable.other.lolcode"},"3":{"name":"keyword.control.lolcode"}}},{"name":"support.function.lolcode","match":"\\b(?:VISIBLE|GIMMEH|SUM|DIFF|SRS|PRODUKT|QUOSHUNT|MOD|BIGGER THAN|SMALLER THAN|SMOOSH|INVISIBLE)\\b"},{"name":"storage.type.function.lolcode","match":"\\b(?:HOW IZ I|HOW DUZ I)\\b"},{"name":"storage.type.lolcode","match":"\\b(?:TROOF|NUMBR|NUMBAR|YARN|BUKKIT|NOOB)\\b"},{"name":"constant.language.boolean.lolcode","match":"\\b(?:WIN|FAIL)\\b"}]},"numbers":{"patterns":[{"name":"constant.numeric.float.lolcode","match":"\\b\\d+\\.\\d+\\b"},{"name":"constant.numeric.integer.lolcode","match":"\\b\\d+\\b"}]},"operators":{"patterns":[{"name":"keyword.operator.lolcode","match":"\\+|-|\\*|/|%|\u003e|\u003c|=|!|\\?|:"},{"include":"#parentheses"}]},"parentheses":{"patterns":[{"name":"punctuation.parenthesis.lolcode","match":"\\(|\\)"}]},"strings":{"patterns":[{"match":"(\"(?:\\\\.|[^\"\\\\])*\")|('(?:\\\\.|[^'\\\\])*')","captures":{"1":{"name":"string.quoted.double.lolcode"},"2":{"name":"string.quoted.single.lolcode"}}}]},"variables":{"patterns":[{"name":"variable.other.lolcode","match":"(?\u003c=\\b)([A-Za-z][A-Za-z0-9_]*)\\b"},{"name":"variable.other.lolcode","match":"(?\u003c=CAN HAS )(\\w*)(?=\\?)"}]}}}