github-linguist 7.30.0 → 8.0.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (82) hide show
  1. checksums.yaml +4 -4
  2. data/grammars/inline.edgeql.json +1 -1
  3. data/grammars/inline.peggy.json +1 -0
  4. data/grammars/markdown.move.codeblock.json +1 -1
  5. data/grammars/mdx.move.codeblock.json +1 -0
  6. data/grammars/source.abl.json +1 -1
  7. data/grammars/source.bicep.json +1 -1
  8. data/grammars/source.cairo.json +1 -1
  9. data/grammars/source.cairo0.json +1 -0
  10. data/grammars/source.cl.json +1 -1
  11. data/grammars/source.clar.json +1 -1
  12. data/grammars/source.clarion.json +1 -1
  13. data/grammars/source.cmd.json +1 -1
  14. data/grammars/source.commonlisp.json +1 -1
  15. data/grammars/source.cs.json +1 -1
  16. data/grammars/source.curlrc.json +1 -1
  17. data/grammars/source.curry.json +1 -1
  18. data/grammars/source.cylc.json +1 -0
  19. data/grammars/source.dart.json +1 -1
  20. data/grammars/source.dds.dspf.json +1 -1
  21. data/grammars/source.dds.icff.json +1 -1
  22. data/grammars/source.dds.lf.json +1 -1
  23. data/grammars/source.dds.pf.json +1 -1
  24. data/grammars/source.dds.prtf.json +1 -1
  25. data/grammars/source.dune.json +1 -0
  26. data/grammars/source.elvish.json +1 -1
  27. data/grammars/source.fsharp.json +1 -1
  28. data/grammars/source.gdscript.json +1 -1
  29. data/grammars/source.gitconfig.json +1 -1
  30. data/grammars/source.gleam.json +1 -1
  31. data/grammars/source.hgignore.json +1 -1
  32. data/grammars/source.hosts.json +1 -1
  33. data/grammars/source.iCalendar.json +1 -0
  34. data/grammars/source.ice.json +1 -1
  35. data/grammars/source.julia.json +1 -1
  36. data/grammars/source.just.json +1 -1
  37. data/grammars/source.lcb.json +1 -0
  38. data/grammars/source.lilypond.json +1 -1
  39. data/grammars/source.livecodescript.json +1 -0
  40. data/grammars/source.luau.json +1 -1
  41. data/grammars/source.matlab.json +1 -1
  42. data/grammars/source.mcfunction.json +1 -1
  43. data/grammars/source.mdx.json +1 -1
  44. data/grammars/source.mo.json +1 -1
  45. data/grammars/source.move.json +1 -1
  46. data/grammars/source.nanorc.json +1 -1
  47. data/grammars/source.nr.json +1 -0
  48. data/grammars/source.peggy.json +1 -0
  49. data/grammars/source.polar.json +1 -1
  50. data/grammars/source.powerbuilder.json +1 -0
  51. data/grammars/source.qsharp.json +1 -1
  52. data/grammars/source.rpgle.json +1 -1
  53. data/grammars/source.rust.json +1 -1
  54. data/grammars/source.sentinel.json +1 -1
  55. data/grammars/source.sourcepawn.json +1 -1
  56. data/grammars/source.stan.json +1 -1
  57. data/grammars/source.swift.json +1 -1
  58. data/grammars/source.sy.json +1 -1
  59. data/grammars/source.vba.json +1 -1
  60. data/grammars/source.vcard.json +1 -0
  61. data/grammars/source.wdl.json +1 -1
  62. data/grammars/text.adblock.json +1 -1
  63. data/grammars/text.html.jte.json +1 -0
  64. data/grammars/text.html.statamic.json +1 -1
  65. data/grammars/text.md.json +1 -1
  66. data/grammars/text.mdx.astro.codeblock.json +1 -0
  67. data/grammars/text.valve-cfg.json +1 -1
  68. data/grammars/version +1 -1
  69. data/lib/linguist/VERSION +1 -1
  70. data/lib/linguist/classifier.rb +315 -106
  71. data/lib/linguist/generated.rb +17 -4
  72. data/lib/linguist/generic.yml +1 -0
  73. data/lib/linguist/heuristics.rb +6 -6
  74. data/lib/linguist/heuristics.yml +54 -4
  75. data/lib/linguist/languages.json +1 -1
  76. data/lib/linguist/languages.yml +123 -7
  77. data/lib/linguist/samples.json +1 -1
  78. data/lib/linguist/samples.rb +9 -1
  79. data/lib/linguist/sha256.rb +1 -1
  80. metadata +17 -5
  81. data/grammars/markdown.mcfunction.codeblock.json +0 -1
  82. data/grammars/mdx.LANGUAGE.codeblock.json +0 -1
@@ -1 +1 @@
1
- {"name":"Rust","scopeName":"source.rust","patterns":[{"begin":"(\u003c)(\\[)","end":"\u003e","patterns":[{"include":"#block-comments"},{"include":"#comments"},{"include":"#gtypes"},{"include":"#lvariables"},{"include":"#lifetimes"},{"include":"#punctuation"},{"include":"#types"}],"beginCaptures":{"1":{"name":"punctuation.brackets.angle.rust"},"2":{"name":"punctuation.brackets.square.rust"}},"endCaptures":{"0":{"name":"punctuation.brackets.angle.rust"}}},{"name":"meta.macro.metavariable.type.rust","match":"(\\$)((crate)|([A-Z][A-Za-z0-9_]*))((:)(block|expr|ident|item|lifetime|literal|meta|path?|stmt|tt|ty|vis))?","patterns":[{"include":"#keywords"}],"captures":{"1":{"name":"keyword.operator.macro.dollar.rust"},"3":{"name":"keyword.other.crate.rust"},"4":{"name":"entity.name.type.metavariable.rust"},"6":{"name":"keyword.operator.key-value.rust"},"7":{"name":"variable.other.metavariable.specifier.rust"}}},{"name":"meta.macro.metavariable.rust","match":"(\\$)([a-z][A-Za-z0-9_]*)((:)(block|expr|ident|item|lifetime|literal|meta|path?|stmt|tt|ty|vis))?","patterns":[{"include":"#keywords"}],"captures":{"1":{"name":"keyword.operator.macro.dollar.rust"},"2":{"name":"variable.other.metavariable.name.rust"},"4":{"name":"keyword.operator.key-value.rust"},"5":{"name":"variable.other.metavariable.specifier.rust"}}},{"name":"meta.macro.rules.rust","match":"\\b(macro_rules!)\\s+(([a-z0-9_]+)|([A-Z][a-z0-9_]*))\\s+(\\{)","captures":{"1":{"name":"entity.name.function.macro.rules.rust"},"3":{"name":"entity.name.function.macro.rust"},"4":{"name":"entity.name.type.macro.rust"},"5":{"name":"punctuation.brackets.curly.rust"}}},{"match":"(mod)\\s+((?:r#(?!crate|[Ss]elf|super))?[a-z][A-Za-z0-9_]*)","captures":{"1":{"name":"storage.type.rust"},"2":{"name":"entity.name.module.rust"}}},{"name":"meta.import.rust","begin":"\\b(extern)\\s+(crate)","end":";","patterns":[{"include":"#block-comments"},{"include":"#comments"},{"include":"#keywords"},{"include":"#punctuation"}],"beginCaptures":{"1":{"name":"storage.type.rust"},"2":{"name":"keyword.other.crate.rust"}},"endCaptures":{"0":{"name":"punctuation.semi.rust"}}},{"name":"meta.use.rust","begin":"\\b(use)\\s","end":";","patterns":[{"include":"#block-comments"},{"include":"#comments"},{"include":"#keywords"},{"include":"#namespaces"},{"include":"#punctuation"},{"include":"#types"},{"include":"#lvariables"}],"beginCaptures":{"1":{"name":"keyword.other.rust"}},"endCaptures":{"0":{"name":"punctuation.semi.rust"}}},{"include":"#block-comments"},{"include":"#comments"},{"include":"#attributes"},{"include":"#lvariables"},{"include":"#constants"},{"include":"#gtypes"},{"include":"#functions"},{"include":"#types"},{"include":"#keywords"},{"include":"#lifetimes"},{"include":"#macros"},{"include":"#namespaces"},{"include":"#punctuation"},{"include":"#strings"},{"include":"#variables"}],"repository":{"attributes":{"name":"meta.attribute.rust","begin":"(#)(\\!?)(\\[)","end":"\\]","patterns":[{"include":"#block-comments"},{"include":"#comments"},{"include":"#keywords"},{"include":"#lifetimes"},{"include":"#punctuation"},{"include":"#strings"},{"include":"#gtypes"},{"include":"#types"}],"beginCaptures":{"1":{"name":"punctuation.definition.attribute.rust"},"3":{"name":"punctuation.brackets.attribute.rust"}},"endCaptures":{"0":{"name":"punctuation.brackets.attribute.rust"}}},"block-comments":{"patterns":[{"name":"comment.block.rust","match":"/\\*\\*/"},{"name":"comment.block.documentation.rust","begin":"/\\*\\*","end":"\\*/","patterns":[{"include":"#block-comments"}]},{"name":"comment.block.rust","begin":"/\\*(?!\\*)","end":"\\*/","patterns":[{"include":"#block-comments"}]}]},"comments":{"patterns":[{"name":"comment.line.documentation.rust","match":"(///).*$","captures":{"1":{"name":"punctuation.definition.comment.rust"}}},{"name":"comment.line.double-slash.rust","match":"(//).*$","captures":{"1":{"name":"punctuation.definition.comment.rust"}}}]},"constants":{"patterns":[{"name":"constant.other.caps.rust","match":"\\b[A-Z]{2}[A-Z0-9_]*\\b"},{"match":"\\b(const)\\s+([A-Z][A-Za-z0-9_]*)\\b","captures":{"1":{"name":"storage.type.rust"},"2":{"name":"constant.other.caps.rust"}}},{"name":"constant.numeric.decimal.rust","match":"\\b\\d[\\d_]*(\\.?)[\\d_]*(?:(E|e)([+-]?)([\\d_]+))?(f32|f64|i128|i16|i32|i64|i8|isize|u128|u16|u32|u64|u8|usize)?\\b","captures":{"1":{"name":"punctuation.separator.dot.decimal.rust"},"2":{"name":"keyword.operator.exponent.rust"},"3":{"name":"keyword.operator.exponent.sign.rust"},"4":{"name":"constant.numeric.decimal.exponent.mantissa.rust"},"5":{"name":"entity.name.type.numeric.rust"}}},{"name":"constant.numeric.hex.rust","match":"\\b0x[\\da-fA-F_]+(i128|i16|i32|i64|i8|isize|u128|u16|u32|u64|u8|usize)?\\b","captures":{"1":{"name":"entity.name.type.numeric.rust"}}},{"name":"constant.numeric.oct.rust","match":"\\b0o[0-7_]+(i128|i16|i32|i64|i8|isize|u128|u16|u32|u64|u8|usize)?\\b","captures":{"1":{"name":"entity.name.type.numeric.rust"}}},{"name":"constant.numeric.bin.rust","match":"\\b0b[01_]+(i128|i16|i32|i64|i8|isize|u128|u16|u32|u64|u8|usize)?\\b","captures":{"1":{"name":"entity.name.type.numeric.rust"}}},{"name":"constant.language.bool.rust","match":"\\b(true|false)\\b"}]},"escapes":{"name":"constant.character.escape.rust","match":"(\\\\)(?:(?:(x[0-7][\\da-fA-F])|(u(\\{)[\\da-fA-F]{4,6}(\\}))|.))","captures":{"1":{"name":"constant.character.escape.backslash.rust"},"2":{"name":"constant.character.escape.bit.rust"},"3":{"name":"constant.character.escape.unicode.rust"},"4":{"name":"constant.character.escape.unicode.punctuation.rust"},"5":{"name":"constant.character.escape.unicode.punctuation.rust"}}},"functions":{"patterns":[{"match":"\\b(pub)(\\()","captures":{"1":{"name":"keyword.other.rust"},"2":{"name":"punctuation.brackets.round.rust"}}},{"name":"meta.function.definition.rust","begin":"\\b(fn)\\s+((?:r#(?!crate|[Ss]elf|super))?[A-Za-z0-9_]+)((\\()|(\u003c))","end":"\\{|;","patterns":[{"include":"#block-comments"},{"include":"#comments"},{"include":"#keywords"},{"include":"#lvariables"},{"include":"#constants"},{"include":"#gtypes"},{"include":"#functions"},{"include":"#lifetimes"},{"include":"#macros"},{"include":"#namespaces"},{"include":"#punctuation"},{"include":"#strings"},{"include":"#types"},{"include":"#variables"}],"beginCaptures":{"1":{"name":"keyword.other.fn.rust"},"2":{"name":"entity.name.function.rust"},"4":{"name":"punctuation.brackets.round.rust"},"5":{"name":"punctuation.brackets.angle.rust"}},"endCaptures":{"0":{"name":"punctuation.brackets.curly.rust"}}},{"name":"meta.function.call.rust","begin":"((?:r#(?!crate|[Ss]elf|super))?[A-Za-z0-9_]+)(\\()","end":"\\)","patterns":[{"include":"#block-comments"},{"include":"#comments"},{"include":"#attributes"},{"include":"#keywords"},{"include":"#lvariables"},{"include":"#constants"},{"include":"#gtypes"},{"include":"#functions"},{"include":"#lifetimes"},{"include":"#macros"},{"include":"#namespaces"},{"include":"#punctuation"},{"include":"#strings"},{"include":"#types"},{"include":"#variables"}],"beginCaptures":{"1":{"name":"entity.name.function.rust"},"2":{"name":"punctuation.brackets.round.rust"}},"endCaptures":{"0":{"name":"punctuation.brackets.round.rust"}}},{"name":"meta.function.call.rust","begin":"((?:r#(?!crate|[Ss]elf|super))?[A-Za-z0-9_]+)(?=::\u003c.*\u003e\\()","end":"\\)","patterns":[{"include":"#block-comments"},{"include":"#comments"},{"include":"#attributes"},{"include":"#keywords"},{"include":"#lvariables"},{"include":"#constants"},{"include":"#gtypes"},{"include":"#functions"},{"include":"#lifetimes"},{"include":"#macros"},{"include":"#namespaces"},{"include":"#punctuation"},{"include":"#strings"},{"include":"#types"},{"include":"#variables"}],"beginCaptures":{"1":{"name":"entity.name.function.rust"}},"endCaptures":{"0":{"name":"punctuation.brackets.round.rust"}}}]},"gtypes":{"patterns":[{"name":"entity.name.type.option.rust","match":"\\b(Some|None)\\b"},{"name":"entity.name.type.result.rust","match":"\\b(Ok|Err)\\b"}]},"interpolations":{"name":"meta.interpolation.rust","match":"({)[^\"{}]*(})","captures":{"1":{"name":"punctuation.definition.interpolation.rust"},"2":{"name":"punctuation.definition.interpolation.rust"}}},"keywords":{"patterns":[{"name":"keyword.control.rust","match":"\\b(await|break|continue|do|else|for|if|loop|match|return|try|while|yield)\\b"},{"name":"keyword.other.rust storage.type.rust","match":"\\b(extern|let|macro|mod)\\b"},{"name":"storage.modifier.rust","match":"\\b(const)\\b"},{"name":"keyword.declaration.type.rust storage.type.rust","match":"\\b(type)\\b"},{"name":"keyword.declaration.enum.rust storage.type.rust","match":"\\b(enum)\\b"},{"name":"keyword.declaration.trait.rust storage.type.rust","match":"\\b(trait)\\b"},{"name":"keyword.declaration.struct.rust storage.type.rust","match":"\\b(struct)\\b"},{"name":"storage.modifier.rust","match":"\\b(abstract|static)\\b"},{"name":"keyword.other.rust","match":"\\b(as|async|become|box|dyn|move|final|gen|impl|in|override|priv|pub|ref|typeof|union|unsafe|unsized|use|virtual|where)\\b"},{"name":"keyword.other.fn.rust","match":"\\bfn\\b"},{"name":"keyword.other.crate.rust","match":"\\bcrate\\b"},{"name":"storage.modifier.mut.rust","match":"\\bmut\\b"},{"name":"keyword.operator.logical.rust","match":"(\\^|\\||\\|\\||\u0026\u0026|\u003c\u003c|\u003e\u003e|!)(?!=)"},{"name":"keyword.operator.borrow.and.rust","match":"\u0026(?![\u0026=])"},{"name":"keyword.operator.assignment.rust","match":"(\\+=|-=|\\*=|/=|%=|\\^=|\u0026=|\\|=|\u003c\u003c=|\u003e\u003e=)"},{"name":"keyword.operator.assignment.equal.rust","match":"(?\u003c![\u003c\u003e])=(?!=|\u003e)"},{"name":"keyword.operator.comparison.rust","match":"(=(=)?(?!\u003e)|!=|\u003c=|(?\u003c!=)\u003e=)"},{"name":"keyword.operator.math.rust","match":"(([+%]|(\\*(?!\\w)))(?!=))|(-(?!\u003e))|(/(?!/))"},{"match":"(?:\\b|(?:(\\))|(\\])|(\\})))[ \\t]+([\u003c\u003e])[ \\t]+(?:\\b|(?:(\\()|(\\[)|(\\{)))","captures":{"1":{"name":"punctuation.brackets.round.rust"},"2":{"name":"punctuation.brackets.square.rust"},"3":{"name":"punctuation.brackets.curly.rust"},"4":{"name":"keyword.operator.comparison.rust"},"5":{"name":"punctuation.brackets.round.rust"},"6":{"name":"punctuation.brackets.square.rust"},"7":{"name":"punctuation.brackets.curly.rust"}}},{"name":"keyword.operator.namespace.rust","match":"::"},{"match":"(\\*)(?=\\w+)","captures":{"1":{"name":"keyword.operator.dereference.rust"}}},{"name":"keyword.operator.subpattern.rust","match":"@"},{"name":"keyword.operator.access.dot.rust","match":"\\.(?!\\.)"},{"name":"keyword.operator.range.rust","match":"\\.{2}(=|\\.)?"},{"name":"keyword.operator.key-value.rust","match":":(?!:)"},{"name":"keyword.operator.arrow.skinny.rust","match":"-\u003e"},{"name":"keyword.operator.arrow.fat.rust","match":"=\u003e"},{"name":"keyword.operator.macro.dollar.rust","match":"\\$"},{"name":"keyword.operator.question.rust","match":"\\?"}]},"lifetimes":{"patterns":[{"match":"(['])([a-zA-Z_][0-9a-zA-Z_]*)(?!['])\\b","captures":{"1":{"name":"punctuation.definition.lifetime.rust"},"2":{"name":"entity.name.type.lifetime.rust"}}},{"match":"(\\\u0026)(['])([a-zA-Z_][0-9a-zA-Z_]*)(?!['])\\b","captures":{"1":{"name":"keyword.operator.borrow.rust"},"2":{"name":"punctuation.definition.lifetime.rust"},"3":{"name":"entity.name.type.lifetime.rust"}}}]},"lvariables":{"patterns":[{"name":"variable.language.self.rust","match":"\\b[Ss]elf\\b"},{"name":"variable.language.super.rust","match":"\\bsuper\\b"}]},"macros":{"patterns":[{"name":"meta.macro.rust","match":"(([a-z_][A-Za-z0-9_]*!)|([A-Z_][A-Za-z0-9_]*!))","captures":{"2":{"name":"entity.name.function.macro.rust"},"3":{"name":"entity.name.type.macro.rust"}}}]},"namespaces":{"patterns":[{"match":"(?\u003c![A-Za-z0-9_])([A-Za-z0-9_]+)((?\u003c!super|self)::)","captures":{"1":{"name":"entity.name.namespace.rust"},"2":{"name":"keyword.operator.namespace.rust"}}}]},"punctuation":{"patterns":[{"name":"punctuation.comma.rust","match":","},{"name":"punctuation.brackets.curly.rust","match":"[{}]"},{"name":"punctuation.brackets.round.rust","match":"[()]"},{"name":"punctuation.semi.rust","match":";"},{"name":"punctuation.brackets.square.rust","match":"[\\[\\]]"},{"name":"punctuation.brackets.angle.rust","match":"(?\u003c!=)[\u003c\u003e]"}]},"strings":{"patterns":[{"name":"string.quoted.double.rust","begin":"(b?)(\")","end":"\"","patterns":[{"include":"#escapes"},{"include":"#interpolations"}],"beginCaptures":{"1":{"name":"string.quoted.byte.raw.rust"},"2":{"name":"punctuation.definition.string.rust"}},"endCaptures":{"0":{"name":"punctuation.definition.string.rust"}}},{"name":"string.quoted.double.rust","begin":"(b?r)(#*)(\")","end":"(\")(\\2)","beginCaptures":{"1":{"name":"string.quoted.byte.raw.rust"},"2":{"name":"punctuation.definition.string.raw.rust"},"3":{"name":"punctuation.definition.string.rust"}},"endCaptures":{"1":{"name":"punctuation.definition.string.rust"},"2":{"name":"punctuation.definition.string.raw.rust"}}},{"name":"string.quoted.single.char.rust","begin":"(b)?(')","end":"'","patterns":[{"include":"#escapes"}],"beginCaptures":{"1":{"name":"string.quoted.byte.raw.rust"},"2":{"name":"punctuation.definition.char.rust"}},"endCaptures":{"0":{"name":"punctuation.definition.char.rust"}}}]},"types":{"patterns":[{"match":"(?\u003c![A-Za-z])(f32|f64|i128|i16|i32|i64|i8|isize|u128|u16|u32|u64|u8|usize)\\b","captures":{"1":{"name":"entity.name.type.numeric.rust"}}},{"begin":"\\b(_?[A-Z][A-Za-z0-9_]*)(\u003c)","end":"\u003e","patterns":[{"include":"#block-comments"},{"include":"#comments"},{"include":"#keywords"},{"include":"#lvariables"},{"include":"#lifetimes"},{"include":"#punctuation"},{"include":"#types"},{"include":"#variables"}],"beginCaptures":{"1":{"name":"entity.name.type.rust"},"2":{"name":"punctuation.brackets.angle.rust"}},"endCaptures":{"0":{"name":"punctuation.brackets.angle.rust"}}},{"name":"entity.name.type.primitive.rust","match":"\\b(bool|char|str)\\b"},{"match":"\\b(trait)\\s+(_?[A-Z][A-Za-z0-9_]*)\\b","captures":{"1":{"name":"keyword.declaration.trait.rust storage.type.rust"},"2":{"name":"entity.name.type.trait.rust"}}},{"match":"\\b(struct)\\s+(_?[A-Z][A-Za-z0-9_]*)\\b","captures":{"1":{"name":"keyword.declaration.struct.rust storage.type.rust"},"2":{"name":"entity.name.type.struct.rust"}}},{"match":"\\b(enum)\\s+(_?[A-Z][A-Za-z0-9_]*)\\b","captures":{"1":{"name":"keyword.declaration.enum.rust storage.type.rust"},"2":{"name":"entity.name.type.enum.rust"}}},{"match":"\\b(type)\\s+(_?[A-Z][A-Za-z0-9_]*)\\b","captures":{"1":{"name":"keyword.declaration.type.rust storage.type.rust"},"2":{"name":"entity.name.type.declaration.rust"}}},{"name":"entity.name.type.rust","match":"\\b_?[A-Z][A-Za-z0-9_]*\\b(?!!)"}]},"variables":{"patterns":[{"name":"variable.other.rust","match":"\\b(?\u003c!(?\u003c!\\.)\\.)(?:r#(?!(crate|[Ss]elf|super)))?[a-z0-9_]+\\b"}]}}}
1
+ {"name":"Rust","scopeName":"source.rust","patterns":[{"begin":"(\u003c)(\\[)","end":"\u003e","patterns":[{"include":"#block-comments"},{"include":"#comments"},{"include":"#gtypes"},{"include":"#lvariables"},{"include":"#lifetimes"},{"include":"#punctuation"},{"include":"#types"}],"beginCaptures":{"1":{"name":"punctuation.brackets.angle.rust"},"2":{"name":"punctuation.brackets.square.rust"}},"endCaptures":{"0":{"name":"punctuation.brackets.angle.rust"}}},{"name":"meta.macro.metavariable.type.rust","match":"(\\$)((crate)|([A-Z][A-Za-z0-9_]*))((:)(block|expr|ident|item|lifetime|literal|meta|path?|stmt|tt|ty|vis))?","patterns":[{"include":"#keywords"}],"captures":{"1":{"name":"keyword.operator.macro.dollar.rust"},"3":{"name":"keyword.other.crate.rust"},"4":{"name":"entity.name.type.metavariable.rust"},"6":{"name":"keyword.operator.key-value.rust"},"7":{"name":"variable.other.metavariable.specifier.rust"}}},{"name":"meta.macro.metavariable.rust","match":"(\\$)([a-z][A-Za-z0-9_]*)((:)(block|expr|ident|item|lifetime|literal|meta|path?|stmt|tt|ty|vis))?","patterns":[{"include":"#keywords"}],"captures":{"1":{"name":"keyword.operator.macro.dollar.rust"},"2":{"name":"variable.other.metavariable.name.rust"},"4":{"name":"keyword.operator.key-value.rust"},"5":{"name":"variable.other.metavariable.specifier.rust"}}},{"name":"meta.macro.rules.rust","match":"\\b(macro_rules!)\\s+(([a-z0-9_]+)|([A-Z][a-z0-9_]*))\\s+(\\{)","captures":{"1":{"name":"entity.name.function.macro.rules.rust"},"3":{"name":"entity.name.function.macro.rust"},"4":{"name":"entity.name.type.macro.rust"},"5":{"name":"punctuation.brackets.curly.rust"}}},{"match":"(mod)\\s+((?:r#(?!crate|[Ss]elf|super))?[a-z][A-Za-z0-9_]*)","captures":{"1":{"name":"storage.type.rust"},"2":{"name":"entity.name.module.rust"}}},{"name":"meta.import.rust","begin":"\\b(extern)\\s+(crate)","end":";","patterns":[{"include":"#block-comments"},{"include":"#comments"},{"include":"#keywords"},{"include":"#punctuation"}],"beginCaptures":{"1":{"name":"storage.type.rust"},"2":{"name":"keyword.other.crate.rust"}},"endCaptures":{"0":{"name":"punctuation.semi.rust"}}},{"name":"meta.use.rust","begin":"\\b(use)\\s","end":";","patterns":[{"include":"#block-comments"},{"include":"#comments"},{"include":"#keywords"},{"include":"#namespaces"},{"include":"#punctuation"},{"include":"#types"},{"include":"#lvariables"}],"beginCaptures":{"1":{"name":"keyword.other.rust"}},"endCaptures":{"0":{"name":"punctuation.semi.rust"}}},{"include":"#block-comments"},{"include":"#comments"},{"include":"#attributes"},{"include":"#lvariables"},{"include":"#constants"},{"include":"#gtypes"},{"include":"#functions"},{"include":"#types"},{"include":"#keywords"},{"include":"#lifetimes"},{"include":"#macros"},{"include":"#namespaces"},{"include":"#punctuation"},{"include":"#strings"},{"include":"#variables"}],"repository":{"attributes":{"name":"meta.attribute.rust","begin":"(#)(\\!?)(\\[)","end":"\\]","patterns":[{"include":"#block-comments"},{"include":"#comments"},{"include":"#keywords"},{"include":"#lifetimes"},{"include":"#punctuation"},{"include":"#strings"},{"include":"#gtypes"},{"include":"#types"}],"beginCaptures":{"1":{"name":"punctuation.definition.attribute.rust"},"3":{"name":"punctuation.brackets.attribute.rust"}},"endCaptures":{"0":{"name":"punctuation.brackets.attribute.rust"}}},"block-comments":{"patterns":[{"name":"comment.block.rust","match":"/\\*\\*/"},{"name":"comment.block.documentation.rust","begin":"/\\*\\*","end":"\\*/","patterns":[{"include":"#block-comments"}]},{"name":"comment.block.rust","begin":"/\\*(?!\\*)","end":"\\*/","patterns":[{"include":"#block-comments"}]}]},"comments":{"patterns":[{"name":"comment.line.documentation.rust","match":"(///).*$","captures":{"1":{"name":"punctuation.definition.comment.rust"}}},{"name":"comment.line.double-slash.rust","match":"(//).*$","captures":{"1":{"name":"punctuation.definition.comment.rust"}}}]},"constants":{"patterns":[{"name":"constant.other.caps.rust","match":"\\b[A-Z]{2}[A-Z0-9_]*\\b"},{"match":"\\b(const)\\s+([A-Z][A-Za-z0-9_]*)\\b","captures":{"1":{"name":"storage.type.rust"},"2":{"name":"constant.other.caps.rust"}}},{"name":"constant.numeric.decimal.rust","match":"\\b\\d[\\d_]*(\\.?)[\\d_]*(?:(E|e)([+-]?)([\\d_]+))?(f32|f64|i128|i16|i32|i64|i8|isize|u128|u16|u32|u64|u8|usize)?\\b","captures":{"1":{"name":"punctuation.separator.dot.decimal.rust"},"2":{"name":"keyword.operator.exponent.rust"},"3":{"name":"keyword.operator.exponent.sign.rust"},"4":{"name":"constant.numeric.decimal.exponent.mantissa.rust"},"5":{"name":"entity.name.type.numeric.rust"}}},{"name":"constant.numeric.hex.rust","match":"\\b0x[\\da-fA-F_]+(i128|i16|i32|i64|i8|isize|u128|u16|u32|u64|u8|usize)?\\b","captures":{"1":{"name":"entity.name.type.numeric.rust"}}},{"name":"constant.numeric.oct.rust","match":"\\b0o[0-7_]+(i128|i16|i32|i64|i8|isize|u128|u16|u32|u64|u8|usize)?\\b","captures":{"1":{"name":"entity.name.type.numeric.rust"}}},{"name":"constant.numeric.bin.rust","match":"\\b0b[01_]+(i128|i16|i32|i64|i8|isize|u128|u16|u32|u64|u8|usize)?\\b","captures":{"1":{"name":"entity.name.type.numeric.rust"}}},{"name":"constant.language.bool.rust","match":"\\b(true|false)\\b"}]},"escapes":{"name":"constant.character.escape.rust","match":"(\\\\)(?:(?:(x[0-7][\\da-fA-F])|(u(\\{)[\\da-fA-F]{4,6}(\\}))|.))","captures":{"1":{"name":"constant.character.escape.backslash.rust"},"2":{"name":"constant.character.escape.bit.rust"},"3":{"name":"constant.character.escape.unicode.rust"},"4":{"name":"constant.character.escape.unicode.punctuation.rust"},"5":{"name":"constant.character.escape.unicode.punctuation.rust"}}},"functions":{"patterns":[{"match":"\\b(pub)(\\()","captures":{"1":{"name":"keyword.other.rust"},"2":{"name":"punctuation.brackets.round.rust"}}},{"name":"meta.function.definition.rust","begin":"\\b(fn)\\s+((?:r#(?!crate|[Ss]elf|super))?[A-Za-z0-9_]+)((\\()|(\u003c))","end":"(\\{)|(;)","patterns":[{"include":"#block-comments"},{"include":"#comments"},{"include":"#keywords"},{"include":"#lvariables"},{"include":"#constants"},{"include":"#gtypes"},{"include":"#functions"},{"include":"#lifetimes"},{"include":"#macros"},{"include":"#namespaces"},{"include":"#punctuation"},{"include":"#strings"},{"include":"#types"},{"include":"#variables"}],"beginCaptures":{"1":{"name":"keyword.other.fn.rust"},"2":{"name":"entity.name.function.rust"},"4":{"name":"punctuation.brackets.round.rust"},"5":{"name":"punctuation.brackets.angle.rust"}},"endCaptures":{"1":{"name":"punctuation.brackets.curly.rust"},"2":{"name":"punctuation.semi.rust"}}},{"name":"meta.function.call.rust","begin":"((?:r#(?!crate|[Ss]elf|super))?[A-Za-z0-9_]+)(\\()","end":"\\)","patterns":[{"include":"#block-comments"},{"include":"#comments"},{"include":"#attributes"},{"include":"#keywords"},{"include":"#lvariables"},{"include":"#constants"},{"include":"#gtypes"},{"include":"#functions"},{"include":"#lifetimes"},{"include":"#macros"},{"include":"#namespaces"},{"include":"#punctuation"},{"include":"#strings"},{"include":"#types"},{"include":"#variables"}],"beginCaptures":{"1":{"name":"entity.name.function.rust"},"2":{"name":"punctuation.brackets.round.rust"}},"endCaptures":{"0":{"name":"punctuation.brackets.round.rust"}}},{"name":"meta.function.call.rust","begin":"((?:r#(?!crate|[Ss]elf|super))?[A-Za-z0-9_]+)(?=::\u003c.*\u003e\\()","end":"\\)","patterns":[{"include":"#block-comments"},{"include":"#comments"},{"include":"#attributes"},{"include":"#keywords"},{"include":"#lvariables"},{"include":"#constants"},{"include":"#gtypes"},{"include":"#functions"},{"include":"#lifetimes"},{"include":"#macros"},{"include":"#namespaces"},{"include":"#punctuation"},{"include":"#strings"},{"include":"#types"},{"include":"#variables"}],"beginCaptures":{"1":{"name":"entity.name.function.rust"}},"endCaptures":{"0":{"name":"punctuation.brackets.round.rust"}}}]},"gtypes":{"patterns":[{"name":"entity.name.type.option.rust","match":"\\b(Some|None)\\b"},{"name":"entity.name.type.result.rust","match":"\\b(Ok|Err)\\b"}]},"interpolations":{"name":"meta.interpolation.rust","match":"({)[^\"{}]*(})","captures":{"1":{"name":"punctuation.definition.interpolation.rust"},"2":{"name":"punctuation.definition.interpolation.rust"}}},"keywords":{"patterns":[{"name":"keyword.control.rust","match":"\\b(await|break|continue|do|else|for|if|loop|match|return|try|while|yield)\\b"},{"name":"keyword.other.rust storage.type.rust","match":"\\b(extern|let|macro|mod)\\b"},{"name":"storage.modifier.rust","match":"\\b(const)\\b"},{"name":"keyword.declaration.type.rust storage.type.rust","match":"\\b(type)\\b"},{"name":"keyword.declaration.enum.rust storage.type.rust","match":"\\b(enum)\\b"},{"name":"keyword.declaration.trait.rust storage.type.rust","match":"\\b(trait)\\b"},{"name":"keyword.declaration.struct.rust storage.type.rust","match":"\\b(struct)\\b"},{"name":"storage.modifier.rust","match":"\\b(abstract|static)\\b"},{"name":"keyword.other.rust","match":"\\b(as|async|become|box|dyn|move|final|gen|impl|in|override|priv|pub|ref|typeof|union|unsafe|unsized|use|virtual|where)\\b"},{"name":"keyword.other.fn.rust","match":"\\bfn\\b"},{"name":"keyword.other.crate.rust","match":"\\bcrate\\b"},{"name":"storage.modifier.mut.rust","match":"\\bmut\\b"},{"name":"keyword.operator.logical.rust","match":"(\\^|\\||\\|\\||\u0026\u0026|\u003c\u003c|\u003e\u003e|!)(?!=)"},{"name":"keyword.operator.borrow.and.rust","match":"\u0026(?![\u0026=])"},{"name":"keyword.operator.assignment.rust","match":"(\\+=|-=|\\*=|/=|%=|\\^=|\u0026=|\\|=|\u003c\u003c=|\u003e\u003e=)"},{"name":"keyword.operator.assignment.equal.rust","match":"(?\u003c![\u003c\u003e])=(?!=|\u003e)"},{"name":"keyword.operator.comparison.rust","match":"(=(=)?(?!\u003e)|!=|\u003c=|(?\u003c!=)\u003e=)"},{"name":"keyword.operator.math.rust","match":"(([+%]|(\\*(?!\\w)))(?!=))|(-(?!\u003e))|(/(?!/))"},{"match":"(?:\\b|(?:(\\))|(\\])|(\\})))[ \\t]+([\u003c\u003e])[ \\t]+(?:\\b|(?:(\\()|(\\[)|(\\{)))","captures":{"1":{"name":"punctuation.brackets.round.rust"},"2":{"name":"punctuation.brackets.square.rust"},"3":{"name":"punctuation.brackets.curly.rust"},"4":{"name":"keyword.operator.comparison.rust"},"5":{"name":"punctuation.brackets.round.rust"},"6":{"name":"punctuation.brackets.square.rust"},"7":{"name":"punctuation.brackets.curly.rust"}}},{"name":"keyword.operator.namespace.rust","match":"::"},{"match":"(\\*)(?=\\w+)","captures":{"1":{"name":"keyword.operator.dereference.rust"}}},{"name":"keyword.operator.subpattern.rust","match":"@"},{"name":"keyword.operator.access.dot.rust","match":"\\.(?!\\.)"},{"name":"keyword.operator.range.rust","match":"\\.{2}(=|\\.)?"},{"name":"keyword.operator.key-value.rust","match":":(?!:)"},{"name":"keyword.operator.arrow.skinny.rust","match":"-\u003e|\u003c-"},{"name":"keyword.operator.arrow.fat.rust","match":"=\u003e"},{"name":"keyword.operator.macro.dollar.rust","match":"\\$"},{"name":"keyword.operator.question.rust","match":"\\?"}]},"lifetimes":{"patterns":[{"match":"(['])([a-zA-Z_][0-9a-zA-Z_]*)(?!['])\\b","captures":{"1":{"name":"punctuation.definition.lifetime.rust"},"2":{"name":"entity.name.type.lifetime.rust"}}},{"match":"(\\\u0026)(['])([a-zA-Z_][0-9a-zA-Z_]*)(?!['])\\b","captures":{"1":{"name":"keyword.operator.borrow.rust"},"2":{"name":"punctuation.definition.lifetime.rust"},"3":{"name":"entity.name.type.lifetime.rust"}}}]},"lvariables":{"patterns":[{"name":"variable.language.self.rust","match":"\\b[Ss]elf\\b"},{"name":"variable.language.super.rust","match":"\\bsuper\\b"}]},"macros":{"patterns":[{"name":"meta.macro.rust","match":"(([a-z_][A-Za-z0-9_]*!)|([A-Z_][A-Za-z0-9_]*!))","captures":{"2":{"name":"entity.name.function.macro.rust"},"3":{"name":"entity.name.type.macro.rust"}}}]},"namespaces":{"patterns":[{"match":"(?\u003c![A-Za-z0-9_])([A-Za-z0-9_]+)((?\u003c!super|self)::)","captures":{"1":{"name":"entity.name.namespace.rust"},"2":{"name":"keyword.operator.namespace.rust"}}}]},"punctuation":{"patterns":[{"name":"punctuation.comma.rust","match":","},{"name":"punctuation.brackets.curly.rust","match":"[{}]"},{"name":"punctuation.brackets.round.rust","match":"[()]"},{"name":"punctuation.semi.rust","match":";"},{"name":"punctuation.brackets.square.rust","match":"[\\[\\]]"},{"name":"punctuation.brackets.angle.rust","match":"(?\u003c!=)[\u003c\u003e]"}]},"strings":{"patterns":[{"name":"string.quoted.double.rust","begin":"(b?)(\")","end":"\"","patterns":[{"include":"#escapes"},{"include":"#interpolations"}],"beginCaptures":{"1":{"name":"string.quoted.byte.raw.rust"},"2":{"name":"punctuation.definition.string.rust"}},"endCaptures":{"0":{"name":"punctuation.definition.string.rust"}}},{"name":"string.quoted.double.rust","begin":"(b?r)(#*)(\")","end":"(\")(\\2)","beginCaptures":{"1":{"name":"string.quoted.byte.raw.rust"},"2":{"name":"punctuation.definition.string.raw.rust"},"3":{"name":"punctuation.definition.string.rust"}},"endCaptures":{"1":{"name":"punctuation.definition.string.rust"},"2":{"name":"punctuation.definition.string.raw.rust"}}},{"name":"string.quoted.single.char.rust","begin":"(b)?(')","end":"'","patterns":[{"include":"#escapes"}],"beginCaptures":{"1":{"name":"string.quoted.byte.raw.rust"},"2":{"name":"punctuation.definition.char.rust"}},"endCaptures":{"0":{"name":"punctuation.definition.char.rust"}}}]},"types":{"patterns":[{"match":"(?\u003c![A-Za-z])(f32|f64|i128|i16|i32|i64|i8|isize|u128|u16|u32|u64|u8|usize)\\b","captures":{"1":{"name":"entity.name.type.numeric.rust"}}},{"begin":"\\b(_?[A-Z][A-Za-z0-9_]*)(\u003c)","end":"\u003e","patterns":[{"include":"#block-comments"},{"include":"#comments"},{"include":"#keywords"},{"include":"#lvariables"},{"include":"#lifetimes"},{"include":"#punctuation"},{"include":"#types"},{"include":"#variables"}],"beginCaptures":{"1":{"name":"entity.name.type.rust"},"2":{"name":"punctuation.brackets.angle.rust"}},"endCaptures":{"0":{"name":"punctuation.brackets.angle.rust"}}},{"name":"entity.name.type.primitive.rust","match":"\\b(bool|char|str)\\b"},{"match":"\\b(trait)\\s+(_?[A-Z][A-Za-z0-9_]*)\\b","captures":{"1":{"name":"keyword.declaration.trait.rust storage.type.rust"},"2":{"name":"entity.name.type.trait.rust"}}},{"match":"\\b(struct)\\s+(_?[A-Z][A-Za-z0-9_]*)\\b","captures":{"1":{"name":"keyword.declaration.struct.rust storage.type.rust"},"2":{"name":"entity.name.type.struct.rust"}}},{"match":"\\b(enum)\\s+(_?[A-Z][A-Za-z0-9_]*)\\b","captures":{"1":{"name":"keyword.declaration.enum.rust storage.type.rust"},"2":{"name":"entity.name.type.enum.rust"}}},{"match":"\\b(type)\\s+(_?[A-Z][A-Za-z0-9_]*)\\b","captures":{"1":{"name":"keyword.declaration.type.rust storage.type.rust"},"2":{"name":"entity.name.type.declaration.rust"}}},{"name":"entity.name.type.rust","match":"\\b_?[A-Z][A-Za-z0-9_]*\\b(?!!)"}]},"variables":{"patterns":[{"name":"variable.other.rust","match":"\\b(?\u003c!(?\u003c!\\.)\\.)(?:r#(?!(crate|[Ss]elf|super)))?[a-z0-9_]+\\b"}]}}}
@@ -1 +1 @@
1
- {"name":"HashiCorp Sentinel","scopeName":"source.sentinel","patterns":[{"name":"comment.line.double-slash.sentinel","match":"\\/\\/.*$"},{"name":"comment.line.number-sign.sentinel","match":"#.*$"},{"name":"comment.line.block.sentinel","begin":"/\\*","end":"\\*/"},{"name":"constant.numeric.hex.sentinel","match":"\\b0[xX][a-fA-F0-9]+\\b"},{"name":"constant.numeric.oct.sentinel","match":"\\b0[0-7]+\\b"},{"name":"constant.numeric.number.sentinel","match":"\\b(([0-9]+\\.?[0-9]*)|(\\.[0-9]+))([eE][-+]?[0-9]+)?\\b"},{"name":"constant.language.sentinel","match":"\\b(true|false|null|undefined)\\b"},{"match":"\\b(when)\\b\\s+.*:","captures":{"1":{"name":"keyword.control.when.sentinel"}}},{"match":"\\b(else)\\b:","captures":{"1":{"name":"keyword.control.else.sentinel"}}},{"name":"keyword.control.declaration.sentinel","match":"\\b(import|param)\\b"},{"name":"keyword.control.sentinel","match":"\\b(if|case|for|any|all|filter|map|break|continue|return)\\b"},{"name":"keyword.operator.symbol.sentinel","match":"[-+*/%=\u003c\u003e!]"},{"name":"keyword.control.sentinel","match":"\\b(and|or|contains|in|is|matches|not|xor|else)\\b"},{"name":"keyword.other.sentinel","match":"\\b(func|rule)\\b"},{"name":"keyword.other.sentinel","match":"\\b(as|default|when)\\b"},{"name":"string.quoted.double.untitled","begin":"\"","end":"\"","patterns":[{"name":"constant.character.escape.single.sentinel","match":"\\\\[abfnrtv\\\\\"]"},{"name":"constant.character.escape.hex.sentinel","match":"\\\\x[a-fA-F0-9]+"},{"name":"constant.character.escape.oct.sentinel","match":"\\\\[0-7]{3}"},{"name":"constant.character.escape.unicode32.sentinel","match":"\\\\u[a-fA-F0-9]{4}"},{"name":"constant.character.escape.unicode64.sentinel","match":"\\\\U[a-fA-F0-9]{8}"}]},{"name":"support.function.builtin.sentinel","match":"\\b(append|delete|error|keys|length|print|range|values|int|float|string|bool)\\b"}]}
1
+ {"name":"HashiCorp Sentinel","scopeName":"source.sentinel","patterns":[{"include":"#comments"},{"include":"#numeric_literals"},{"include":"#language_constants"},{"match":"\\b(when)\\b\\s+.*:","captures":{"1":{"name":"keyword.control.when.sentinel"}}},{"match":"\\b(else)\\b:","captures":{"1":{"name":"keyword.control.else.sentinel"}}},{"name":"keyword.control.declaration.sentinel","match":"\\b(import|param)\\b"},{"name":"keyword.control.sentinel","match":"\\b(if|case|for|any|all|filter|map|break|continue|return)\\b"},{"include":"#operators"},{"name":"keyword.other.sentinel","match":"\\b(func|rule)\\b"},{"name":"keyword.other.sentinel","match":"\\b(as|default|when)\\b"},{"include":"#string_literals"},{"include":"#functions"}],"repository":{"block_inline_comments":{"name":"comment.block.sentinel","begin":"/\\*","end":"\\*/","captures":{"0":{"name":"punctuation.definition.comment.sentinel"}}},"comments":{"patterns":[{"include":"#hash_line_comments"},{"include":"#double_slash_line_comments"},{"include":"#block_inline_comments"}]},"double_slash_line_comments":{"name":"comment.line.double-slash.sentinel","begin":"//","end":"$\\n?","captures":{"0":{"name":"punctuation.definition.comment.sentinel"}}},"functions":{"match":"\\b(append|compare|delete|error|keys|length|print|range|values|int|float|string|bool)(\\b\\s*\\()","captures":{"1":{"name":"support.function.builtin.sentinel"},"2":{}}},"hash_line_comments":{"name":"comment.line.number-sign.sentinel","begin":"#","end":"$\\n?","captures":{"0":{"name":"punctuation.definition.comment.sentinel"}}},"language_constants":{"name":"constant.language.sentinel","match":"\\b(true|false|null|undefined)\\b"},"numeric_literals":{"patterns":[{"name":"constant.numeric.hex.sentinel","match":"\\b0[xX][a-fA-F0-9]+\\b"},{"name":"constant.numeric.oct.sentinel","match":"\\b0[0-7]+\\b"},{"name":"constant.numeric.number.sentinel","match":"\\b(([0-9]+\\.?[0-9]*)|(\\.[0-9]+))([eE][-+]?[0-9]+)?\\b"}]},"operators":{"patterns":[{"name":"keyword.operator.symbol.sentinel","match":"(\\+=|-=|\\*=|\\/=|%=|==|!=|\u003c=|\u003e=)"},{"name":"keyword.operator.symbol.sentinel","match":"(\\+|-|\\*|\\/|%|\u003c|\u003e|=|!)"},{"name":"keyword.control.sentinel","match":"\\b(is\u0008not\u0008empty|is\u0008empty|not\u0008contains|not\u0008matches|is\u0008not)\\b"},{"name":"keyword.control.sentinel","match":"\\b(and|contains|else|in|is|matches|not|or|xor)\\b"}]},"string_literals":{"name":"string.quoted.double.untitled","begin":"\"","end":"\"","patterns":[{"name":"constant.character.escape.single.sentinel","match":"\\\\[abfnrtv\\\\\"]"},{"name":"constant.character.escape.hex.sentinel","match":"\\\\x[a-fA-F0-9]+"},{"name":"constant.character.escape.oct.sentinel","match":"\\\\[0-7]{3}"},{"name":"constant.character.escape.unicode32.sentinel","match":"\\\\u[a-fA-F0-9]{4}"},{"name":"constant.character.escape.unicode64.sentinel","match":"\\\\U[a-fA-F0-9]{8}"}]}}}
@@ -1 +1 @@
1
- {"name":"SourcePawn","scopeName":"source.sourcepawn","patterns":[{"include":"#line_continuation_character"},{"include":"#literals"},{"include":"#comments"},{"include":"#operators"},{"include":"#preproc"},{"match":"(new)\\s+(\\w+)\\s*\\(","captures":{"1":{"patterns":[{"include":"#keywords"}]},"2":{"patterns":[{"include":"#type"}]}}},{"match":"(view_as)\\s*\u003c\\s*(\\w+)\\s*\u003e","captures":{"1":{"patterns":[{"include":"#keywords"}]},"2":{"patterns":[{"include":"#type"},{"include":"#old-type"}]}}},{"match":"(\\w+)\\:\\s*(\\w+)","captures":{"1":{"patterns":[{"include":"#old-type"}]},"2":{"patterns":[{"include":"#literals"},{"include":"#variable_name"}]}}},{"match":"(\\w+)\\:\\:(\\w*)","captures":{"1":{"patterns":[{"include":"#type_name"}]},"2":{"patterns":[{"include":"#variable_name"}]}}},{"name":"keyword.control.statement.sourcepawn","match":"\\b(?:if|else|for|while|do|switch|case|default|return|break|continue)\\b"},{"include":"#other-keywords"},{"include":"#methodmap"},{"include":"#typedef"},{"include":"#typeset"},{"include":"#functag"},{"include":"#funcenum"},{"include":"#enum_struct"},{"include":"#enum"},{"include":"#struct"},{"include":"#old-function-declaration"},{"include":"#function-declaration"},{"include":"#old-variable-declaration"},{"include":"#variable-declaration"},{"include":"#function-call"},{"name":"variable.language.sourcepawn","match":"\\bthis\\b"},{"match":"\\b(\\w+)\\b","captures":{"1":{"patterns":[{"include":"#variable_name"}]}}}],"repository":{"array-indexed-access":{"patterns":[{"match":"\\[([^\\]]+)\\]","captures":{"1":{"patterns":[{"include":"#literals"},{"include":"#other-keywords"},{"include":"#function-call"},{"include":"#variable_name"}]}}}]},"boolean-literal":{"patterns":[{"name":"constant.language.boolean.sourcepawn","match":"\\b(?:true|false)\\b"}]},"comments":{"patterns":[{"match":"(\\/\\/)\\s*(@param)\\s+([\\w\\.]+)\\s+(.*)","captures":{"1":{"name":"comment.sourcepawn"},"2":{"name":"storage.type.class.single-line.spdoc"},"3":{"name":"support.variable.single-line.spdoc"},"4":{"name":"comment.sourcepawn"}}},{"match":"(\\/\\/)\\s*(@return|@noreturn)\\s+(.*)","captures":{"1":{"name":"comment.sourcepawn"},"2":{"name":"keyword.control.single-line.spdoc"},"3":{"name":"comment.sourcepawn"}}},{"match":"(\\/\\/)\\s*(@error)\\s+(.*)","captures":{"1":{"name":"comment.sourcepawn"},"2":{"name":"string.regexp.single-line.spdoc"},"3":{"name":"comment.sourcepawn"}}},{"match":"(\\/\\/)\\s*(@(?:note|deprecated))\\s+(.*)","captures":{"1":{"name":"comment.sourcepawn"},"2":{"name":"support.function.single-line.spdoc"},"3":{"name":"comment.sourcepawn"}}},{"name":"comment.sourcepawn","match":"\\/\\/.*"},{"name":"comment.block.sourcepawn","begin":"/\\*","end":"\\*/","captures":{"0":{"name":"comment.sourcepawn"}}}]},"enum":{"begin":"(enum)\\s+(?:(\\w+(?:\\:)?)?(?:\\s*(\\([^\\(]*\\)))?)?","end":"(?\u003c=\\})","patterns":[{"include":"#literals"},{"include":"#comments"},{"include":"#preproc"},{"match":"(\\w+)","captures":{"1":{"patterns":[{"include":"#variable_name"}]}}}],"beginCaptures":{"1":{"patterns":[{"include":"#keywords"}]},"2":{"patterns":[{"include":"#type_name"}]},"3":{"patterns":[{"include":"#literals"}]}}},"enum_struct":{"match":"(enum\\s+struct\\s+)(\\w+)","captures":{"1":{"patterns":[{"include":"#keywords"}]},"2":{"patterns":[{"include":"#type_name"}]}}},"funcenum":{"begin":"(funcenum)\\s+(\\w+)","end":"(?\u003c=\\})","patterns":[{"begin":"(?:(\\w+)\\:)?\\s*(public)\\s*\\(","end":"\\)","patterns":[{"include":"#parameters"}],"beginCaptures":{"1":{"patterns":[{"include":"#old-type"}]},"2":{"patterns":[{"include":"#keywords"}]}}},{"include":"#comments"},{"include":"#preproc"}],"beginCaptures":{"1":{"patterns":[{"include":"#keywords"}]},"2":{"name":"support.type.core.funcenum.sourcepawn"}}},"functag":{"begin":"(functag)\\s+(\\w+)\\s+(?:([a-zA-Z_]\\w*)\\:\\s*)?(?:(public|stock)\\s*)?\\(","end":"\\)","patterns":[{"include":"#comments"},{"include":"#preproc"},{"include":"#parameters"}],"beginCaptures":{"1":{"patterns":[{"include":"#keywords"}]},"2":{"patterns":[{"include":"#type_name"}]},"3":{"patterns":[{"include":"#old-type"}]},"4":{"patterns":[{"include":"#keywords"}]}}},"function-call":{"match":"\\b([A-Za-z_][A-Za-z0-9_]*)\\s*\\(","captures":{"1":{"name":"entity.name.function.function_call.sourcepawn"}}},"function-declaration":{"patterns":[{"begin":"(?:(stock|public|static)\\s+)?(?:(native|forward)\\s+)?(\\w+)(\\s*(?:\\[[^\\]]*\\]\\s*)*)\\s+([a-zA-Z_]\\w*)\\(","end":"\\)","patterns":[{"include":"#parameters"},{"include":"#comments"},{"include":"#preproc"}],"beginCaptures":{"1":{"patterns":[{"include":"#keywords"}]},"2":{"patterns":[{"include":"#keywords"}]},"3":{"patterns":[{"include":"#type"}]},"4":{"patterns":[{"include":"#array-indexed-access"}]},"5":{"name":"entity.name.function.sourcepawn"}}}]},"keywords":{"patterns":[{"name":"keyword.visibility.sourcepawn","match":"\\b(public|stock)\\b"},{"name":"keyword.storage_class.sourcepawn","match":"\\b(const|static)\\b"},{"name":"keyword.type_declarator.sourcepawn","match":"\\b(typeset|typedef|funcenum|functag)\\b"},{"name":"keyword.view_as.sourcepawn","match":"\\b(view_as)\\b"},{"name":"keyword.variable_declarator.sourcepawn","match":"\\b(new|decl)\\b"},{"name":"keyword.function.sourcepawn","match":"\\b(function)\\b"},{"name":"keyword.enum.sourcepawn","match":"\\b(enum)\\b"},{"name":"keyword.struct.sourcepawn","match":"\\b(struct)\\b"},{"name":"keyword.methodmap.sourcepawn","match":"\\b(methodmap)\\b"}]},"line_continuation_character":{"patterns":[{"match":"(\\\\)\\n","captures":{"1":{"name":"constant.character.escape.line-continuation.sourcepawn"}}}]},"literals":{"patterns":[{"include":"#boolean-literal"},{"include":"#null-literal"},{"include":"#numeric-literal"},{"include":"#string-literal"}]},"methodmap":{"match":"(methodmap)\\s+([a-zA-Z_]\\w*)\\s*(?:(?:\\\u003c\\s*([a-zA-Z_]\\w*)|(__nullable__)))?","captures":{"1":{"patterns":[{"include":"#keywords"}]},"2":{"patterns":[{"name":"support.type.core.sourcepawn","match":"[A-Z]\\w*"},{"match":"([^A-Z])(\\w*)","captures":{"1":{"name":"invalid.illegal.constant.sourcepawn"},"2":{"name":"support.type.core.sourcepawn"}}}]},"3":{"patterns":[{"name":"support.type.core.sourcepawn","match":"[A-Z]\\w*"},{"match":"([^A-Z])(\\w*)","captures":{"1":{"name":"invalid.illegal.constant.sourcepawn"},"2":{"name":"support.type.core.sourcepawn"}}}]},"4":{"name":"keyword.__nullable__.sourcepawn"}}},"null-literal":{"patterns":[{"name":"constant.language.sourcepawn","match":"\\bnull\\b"}]},"numeric-literal":{"patterns":[{"name":"constant.numeric.float.sourcepawn","match":"[0-9]+\\.[0-9]+"},{"name":"constant.numeric.sourcepawn","match":"\\b0b[0-1]+\\b"},{"name":"constant.numeric.sourcepawn","match":"\\b0o[0-7]+\\b"},{"name":"constant.numeric.sourcepawn","match":"\\b(0x(?:(?:(?:[0-9a-fA-F]{2}_?)+)|(?:[0-9a-fA-F]+)))\\b"},{"name":"constant.numeric.integer.sourcepawn","match":"\\b((?:\\d|_)+)\\b"},{"name":"invalid.illegal.constant.sourcepawn","match":"\\b\\d+\\w+\\b"}]},"old-function-declaration":{"patterns":[{"begin":"(?:(stock|public|static)\\s+)?(?:(native|forward)\\s+)?(\\w+)\\:\\s*([a-zA-Z_]\\w*)\\(","end":"\\)","patterns":[{"include":"#parameters"},{"include":"#comments"},{"include":"#preproc"}],"beginCaptures":{"1":{"patterns":[{"include":"#keywords"}]},"2":{"patterns":[{"include":"#keywords"}]},"3":{"patterns":[{"include":"#old-type"}]},"4":{"name":"entity.name.function.sourcepawn"}}}]},"old-parameter-declaration":{"patterns":[{"match":"(?:(\\w+)\\:\\s*)?(\\w+)\\s*((?:\\[[^\\]]*\\]\\s*)+)?","captures":{"1":{"patterns":[{"include":"#old-type"}]},"2":{"patterns":[{"include":"#variable_name"}]},"3":{"patterns":[{"include":"#array-indexed-access"}]}}}]},"old-type":{"patterns":[{"match":"(bool|any|String|Float)|(\\w+)","captures":{"1":{"name":"storage.type.old.built-in.primitive.sourcepawn"},"2":{"patterns":[{"include":"#type_name"}]}}}]},"old-variable-declaration":{"patterns":[{"match":"(?:(stock|public)\\s+)?((?:(?:const|static)\\s+)*)(new|decl)\\s+(?:(\\w+)\\:\\s*)?(\\w+)(\\s*(?:\\[[^\\]]*\\]\\s*)*)","captures":{"1":{"patterns":[{"include":"#keywords"}]},"2":{"patterns":[{"include":"#keywords"}]},"3":{"patterns":[{"include":"#keywords"}]},"4":{"patterns":[{"include":"#old-type"}]},"5":{"patterns":[{"include":"#variable_name"}]},"6":{"patterns":[{"include":"#array-indexed-access"}]}}}]},"operators":{"patterns":[{"name":"keyword.operator.sourcepawn","match":"%|\u0026|\\*|/(?!\\*|/)|\\+|\\-|~|=|\u003c|\u003e|!|\\||\\?|:|\\^"}]},"other-keywords":{"name":"keyword.sourcepawn","match":"\\b(?:decl|delete|forward|native|public|const|stock|this|sizeof|static|property)\\b"},"parameter-declaration":{"patterns":[{"match":"(\\w+)(?:\\s+|(?:\\s*(?:\u0026|(?:\\[\\s*\\])+)\\s*))(\\w+)(?:\\s*((?:\\[[^\\]]*\\]\\s*)+))?","captures":{"1":{"patterns":[{"include":"#type"}]},"2":{"patterns":[{"include":"#variable_name"}]},"3":{"patterns":[{"include":"#array-indexed-access"}]}}}]},"parameters":{"patterns":[{"include":"#keywords"},{"include":"#literals"},{"include":"#parameter-declaration"},{"include":"#old-parameter-declaration"}]},"preproc":{"patterns":[{"name":"meta.include.sourcepawn","match":"(\\#include|\\#tryinclude)\\s*((?:\\\u003c|\").+(?:\\\u003e|\"))","captures":{"1":{"name":"keyword.control.sourcepawn"},"2":{"name":"string.sourcepawn"}}},{"name":"meta.pragma.line-comment.sourcepawn","match":"(\\#pragma)\\s+(.+?(?=//))","captures":{"1":{"name":"keyword.control.pragma.sourcepawn"},"2":{"name":"entity.other.attribute-name.sourcepawn"}}},{"name":"meta.pragma.deprecated.sourcepawn","match":"(\\#pragma)\\s+(deprecated)(.*)","captures":{"1":{"name":"keyword.control.pragma.sourcepawn"},"2":{"name":"entity.other.attribute-name.sourcepawn"},"3":{"name":"string.deprecated.sourcepawn"}}},{"name":"meta.pragma.block-comment.sourcepawn","match":"(\\#pragma)\\s+([A-Za-z _0-9]+)","captures":{"1":{"name":"keyword.control.pragma.sourcepawn"},"2":{"name":"entity.other.attribute-name.sourcepawn"}}},{"name":"meta.define.sourcepawn","match":"(\\#define)\\s*(\\w*)","captures":{"1":{"name":"keyword.control.define.sourcepawn"},"2":{"name":"meta.preprocessor.macro.sourcepawn"}}},{"name":"meta.undef.sourcepawn","match":"(\\#undef)\\s*(\\w*)","captures":{"1":{"name":"keyword.control.undef.sourcepawn"},"2":{"name":"meta.preprocessor.macro.sourcepawn"}}},{"name":"meta.undef.sourcepawn","match":"(#\\b(?:warning|error)\\b)\\s*(.+?)(?=/(?:/|\\*))","captures":{"1":{"name":"keyword.control.misc.sourcepawn"},"2":{"name":"string.warning.sourcepawn"}}},{"name":"meta.undef.sourcepawn","match":"(#\\b(?:warning|error)\\b)\\s*(.*)","captures":{"1":{"name":"keyword.control.misc.sourcepawn"},"2":{"name":"string.warning.sourcepawn"}}},{"name":"keyword.control.misc.sourcepawn","match":"#\\b(if|else|endif|emit|deprecated|undef|endinput|endscript|assert|define|file)\\b\\s*"},{"match":"(defined)\\s+([A-Za-z_]\\w*)","captures":{"1":{"name":"meta.preprocessor.conditional.sourcepawn"},"2":{"name":"meta.preprocessor.macro.sourcepawn"}}}]},"string-literal":{"patterns":[{"name":"string.quoted.double.sourcepawn","begin":"\"","end":"(\")|((?:[^\\\\\\n])$)","patterns":[{"include":"#string_escaped_char"},{"include":"#string_format_char"},{"include":"#string_placeholder"},{"include":"#line_continuation_character"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.sourcepawn"}},"endCaptures":{"1":{"name":"punctuation.definition.string.end.sourcepawn"},"2":{"name":"invalid.illegal.newline.sourcepawn"}}},{"name":"string.quoted.single.c","begin":"'","end":"(\\')|((?:[^\\\\\\n])$)","patterns":[{"include":"#string_escaped_char"},{"include":"#string_format_char"},{"include":"#string_placeholder"},{"include":"#line_continuation_character"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.sourcepawn"}},"endCaptures":{"1":{"name":"punctuation.definition.string.end.sourcepawn"},"2":{"name":"invalid.illegal.newline.sourcepawn"}}}]},"string_escaped_char":{"patterns":[{"name":"constant.character.escape.sourcepawn","match":"\\\\(?:[abefnrt'\"\\\\]|(?:x[a-zA-Z0-9]{0,2}|\\d+);?)"},{"name":"invalid.illegal.unknown-escape.sourcepawn","match":"\\\\."}]},"string_format_char":{"name":"constant.character.format.sourcepawn","match":"%(?:a|A|b|B|c|C|d|D|e|F|g|G|h|H|I|j|m|M|n|i|p|r|R|S|t|T|u|U|V|u|w|W|x|X|y|Y|z|Z|f|L|N|s|T|t|%|(?:\\d+)?\\.?\\d*(?:b|d|i|u|f|s|X|x))"},"string_placeholder":{"name":"constant.character.sp-translations","match":"\\{(\\w+)\\}","captures":{"1":{"name":"constant.character.escape.sp-translations"}}},"struct":{"match":"(struct)\\s+(\\w+)","captures":{"1":{"patterns":[{"include":"#keywords"}]},"2":{"patterns":[{"include":"#type_name"}]}}},"type":{"patterns":[{"match":"(bool|float|int|char|any|void)|(\\w+)","captures":{"1":{"name":"storage.type.built-in.primitive.sourcepawn"},"2":{"patterns":[{"include":"#type_name"}]}}}]},"type_name":{"patterns":[{"name":"constant.numeric.integer.sourcepawn","match":"\\b\\d\\b"},{"name":"support.type.core.sourcepawn","match":"[a-zA-Z_]\\w*"},{"match":"([0-9])(\\w*)","captures":{"1":{"name":"invalid.illegal.constant.sourcepawn"},"2":{"name":"support.type.core.sourcepawn"}}}]},"typedef":{"begin":"(typedef)\\s+(\\w+)\\s*\\=\\s*(function)\\s*(\\w+)\\s*((?:\\[[^\\]]*\\]\\s*)*)\\(","end":"\\)","patterns":[{"include":"#parameters"},{"include":"#comments"},{"include":"#preproc"}],"beginCaptures":{"1":{"patterns":[{"include":"#keywords"}]},"2":{"patterns":[{"include":"#type_name"}]},"3":{"patterns":[{"include":"#keywords"}]},"4":{"patterns":[{"include":"#type"}]},"5":{"patterns":[{"include":"#array-indexed-access"}]}}},"typeset":{"begin":"(typeset)\\s+(\\w+)","end":"(?\u003c=\\})","patterns":[{"begin":"(function)\\s+(\\w+)\\s*((?:\\[[^\\]]*\\]\\s*)*)\\(","end":"\\)","patterns":[{"include":"#parameters"}],"beginCaptures":{"1":{"patterns":[{"include":"#keywords"}]},"2":{"patterns":[{"include":"#type"}]},"3":{"patterns":[{"include":"#array-indexed-access"}]}}},{"include":"#comments"},{"include":"#preproc"}],"beginCaptures":{"1":{"patterns":[{"include":"#keywords"}]},"2":{"patterns":[{"include":"#type_name"}]}}},"variable-declaration":{"patterns":[{"match":"(?:(stock|public)\\s+)?((?:(?:const|static)\\s+)*)(\\w+)(\\s*(?:\\[[^\\]]*\\]\\s*)*)\\s+(\\w+)\\s*(\\s*(?:\\[[^\\]]*\\]\\s*)*)","captures":{"1":{"patterns":[{"include":"#keywords"}]},"2":{"patterns":[{"include":"#keywords"}]},"3":{"patterns":[{"include":"#type"}]},"4":{"patterns":[{"include":"#array-indexed-access"}]},"5":{"patterns":[{"include":"#variable_name"}]},"6":{"patterns":[{"include":"#array-indexed-access"}]}}}]},"variable_name":{"patterns":[{"name":"constant.numeric.integer.sourcepawn","match":"\\b\\d\\b"},{"name":"variable.sourcepawn","match":"[a-zA-Z_]\\w*"},{"match":"([0-9])(\\w*)","captures":{"1":{"name":"invalid.illegal.constant.sourcepawn"},"2":{"name":"variable.sourcepawn"}}}]}}}
1
+ {"name":"SourcePawn","scopeName":"source.sourcepawn","patterns":[{"include":"#line_continuation_character"},{"include":"#literals"},{"include":"#comments"},{"include":"#operators"},{"include":"#preproc"},{"match":"(new)\\s+(\\w+)\\s*\\(","captures":{"1":{"patterns":[{"include":"#keywords"}]},"2":{"patterns":[{"include":"#type"}]}}},{"match":"(view_as)\\s*\u003c\\s*(\\w+)\\s*\u003e","captures":{"1":{"patterns":[{"include":"#keywords"}]},"2":{"patterns":[{"include":"#type"},{"include":"#old-type"}]}}},{"match":"(\\w+)\\:\\s*(\\w+)","captures":{"1":{"patterns":[{"include":"#old-type"}]},"2":{"patterns":[{"include":"#literals"},{"include":"#variable_name"}]}}},{"match":"(\\w+)\\:\\:(\\w*)","captures":{"1":{"patterns":[{"include":"#type_name"}]},"2":{"patterns":[{"include":"#variable_name"}]}}},{"name":"keyword.control.statement.sourcepawn","match":"\\b(?:if|else|for|while|do|switch|case|default|return|break|continue)\\b"},{"include":"#other-keywords"},{"include":"#methodmap"},{"include":"#typedef"},{"include":"#typeset"},{"include":"#functag"},{"include":"#funcenum"},{"include":"#enum_struct"},{"include":"#enum"},{"include":"#struct"},{"include":"#old-function-declaration"},{"include":"#function-declaration"},{"include":"#old-variable-declaration"},{"include":"#variable-declaration"},{"include":"#function-call"},{"name":"variable.language.sourcepawn","match":"\\bthis\\b"},{"match":"\\b(\\w+)\\b","captures":{"1":{"patterns":[{"include":"#variable_name"}]}}}],"repository":{"array-indexed-access":{"patterns":[{"match":"\\[([^\\]]+)\\]","captures":{"1":{"patterns":[{"include":"#literals"},{"include":"#other-keywords"},{"include":"#function-call"},{"include":"#variable_name"}]}}}]},"boolean-literal":{"patterns":[{"name":"constant.language.boolean.sourcepawn","match":"\\b(?:true|false)\\b"}]},"comments":{"patterns":[{"match":"(\\/\\/)\\s*(@param)\\s+([\\w\\.]+)\\s+(.*)","captures":{"1":{"name":"comment.sourcepawn"},"2":{"name":"storage.type.class.single-line.spdoc"},"3":{"name":"support.variable.single-line.spdoc"},"4":{"name":"comment.sourcepawn"}}},{"match":"(\\/\\/)\\s*(@return|@noreturn)\\s+(.*)","captures":{"1":{"name":"comment.sourcepawn"},"2":{"name":"keyword.control.single-line.spdoc"},"3":{"name":"comment.sourcepawn"}}},{"match":"(\\/\\/)\\s*(@error)\\s+(.*)","captures":{"1":{"name":"comment.sourcepawn"},"2":{"name":"string.regexp.single-line.spdoc"},"3":{"name":"comment.sourcepawn"}}},{"match":"(\\/\\/)\\s*(@(?:note|deprecated))\\s+(.*)","captures":{"1":{"name":"comment.sourcepawn"},"2":{"name":"support.function.single-line.spdoc"},"3":{"name":"comment.sourcepawn"}}},{"name":"comment.sourcepawn","match":"\\/\\/.*"},{"name":"comment.block.sourcepawn","begin":"/\\*","end":"\\*/","captures":{"0":{"name":"comment.sourcepawn"}}}]},"enum":{"begin":"(enum)\\s+(?:(\\w+(?:\\:)?)?(?:\\s*(\\([^\\(]*\\)))?)?","end":"(?\u003c=\\})","patterns":[{"include":"#literals"},{"include":"#comments"},{"include":"#preproc"},{"match":"(\\w+)","captures":{"1":{"patterns":[{"include":"#variable_name"}]}}}],"beginCaptures":{"1":{"patterns":[{"include":"#keywords"}]},"2":{"patterns":[{"include":"#type_name"}]},"3":{"patterns":[{"include":"#literals"}]}}},"enum_struct":{"match":"(enum\\s+struct\\s+)(\\w+)","captures":{"1":{"patterns":[{"include":"#keywords"}]},"2":{"patterns":[{"include":"#type_name"}]}}},"funcenum":{"begin":"(funcenum)\\s+(\\w+)","end":"(?\u003c=\\})","patterns":[{"begin":"(?:(\\w+)\\:)?\\s*(public)\\s*\\(","end":"\\)","patterns":[{"include":"#parameters"}],"beginCaptures":{"1":{"patterns":[{"include":"#old-type"}]},"2":{"patterns":[{"include":"#keywords"}]}}},{"include":"#comments"},{"include":"#preproc"}],"beginCaptures":{"1":{"patterns":[{"include":"#keywords"}]},"2":{"name":"support.type.core.funcenum.sourcepawn"}}},"functag":{"begin":"(functag)\\s+(\\w+)\\s+(?:([a-zA-Z_]\\w*)\\:\\s*)?(?:(public|stock)\\s*)?\\(","end":"\\)","patterns":[{"include":"#comments"},{"include":"#preproc"},{"include":"#parameters"}],"beginCaptures":{"1":{"patterns":[{"include":"#keywords"}]},"2":{"patterns":[{"include":"#type_name"}]},"3":{"patterns":[{"include":"#old-type"}]},"4":{"patterns":[{"include":"#keywords"}]}}},"function-call":{"match":"\\b([A-Za-z_][A-Za-z0-9_]*)\\s*\\(","captures":{"1":{"name":"entity.name.function.function_call.sourcepawn"}}},"function-declaration":{"patterns":[{"begin":"(?:(stock|public|static)\\s+)?(?:(native|forward)\\s+)?(\\w+)(\\s*(?:\\[[^\\]]*\\]\\s*)*)\\s+([a-zA-Z_]\\w*)\\(","end":"\\)","patterns":[{"include":"#parameters"},{"include":"#comments"},{"include":"#preproc"}],"beginCaptures":{"1":{"patterns":[{"include":"#keywords"}]},"2":{"patterns":[{"include":"#keywords"}]},"3":{"patterns":[{"include":"#type"}]},"4":{"patterns":[{"include":"#array-indexed-access"}]},"5":{"name":"entity.name.function.sourcepawn"}}}]},"keywords":{"patterns":[{"name":"keyword.visibility.sourcepawn","match":"\\b(public|stock)\\b"},{"name":"keyword.storage_class.sourcepawn","match":"\\b(const|static)\\b"},{"name":"keyword.type_declarator.sourcepawn","match":"\\b(typeset|typedef|funcenum|functag)\\b"},{"name":"keyword.view_as.sourcepawn","match":"\\b(view_as)\\b"},{"name":"keyword.variable_declarator.sourcepawn","match":"\\b(new|decl)\\b"},{"name":"keyword.function.sourcepawn","match":"\\b(function)\\b"},{"name":"keyword.enum.sourcepawn","match":"\\b(enum)\\b"},{"name":"keyword.struct.sourcepawn","match":"\\b(struct)\\b"},{"name":"keyword.methodmap.sourcepawn","match":"\\b(methodmap)\\b"}]},"line_continuation_character":{"patterns":[{"match":"(\\\\)\\n","captures":{"1":{"name":"constant.character.escape.line-continuation.sourcepawn"}}}]},"literals":{"patterns":[{"include":"#boolean-literal"},{"include":"#null-literal"},{"include":"#numeric-literal"},{"include":"#string-literal"}]},"methodmap":{"match":"(methodmap)\\s+([a-zA-Z_]\\w*)\\s*(?:(?:\\\u003c\\s*([a-zA-Z_]\\w*)|(__nullable__)))?","captures":{"1":{"patterns":[{"include":"#keywords"}]},"2":{"patterns":[{"name":"support.type.core.sourcepawn","match":"[A-Z]\\w*"},{"match":"([^A-Z])(\\w*)","captures":{"1":{"name":"invalid.illegal.constant.sourcepawn"},"2":{"name":"support.type.core.sourcepawn"}}}]},"3":{"patterns":[{"name":"support.type.core.sourcepawn","match":"[A-Z]\\w*"},{"match":"([^A-Z])(\\w*)","captures":{"1":{"name":"invalid.illegal.constant.sourcepawn"},"2":{"name":"support.type.core.sourcepawn"}}}]},"4":{"name":"keyword.__nullable__.sourcepawn"}}},"null-literal":{"patterns":[{"name":"constant.language.sourcepawn","match":"\\bnull\\b"}]},"numeric-literal":{"patterns":[{"name":"constant.numeric.float.sourcepawn","match":"[0-9]+\\.[0-9]+"},{"name":"constant.numeric.sourcepawn","match":"\\b0b[0-1]+\\b"},{"name":"constant.numeric.sourcepawn","match":"\\b0o[0-7]+\\b"},{"name":"constant.numeric.sourcepawn","match":"\\b(0x(?:(?:(?:[0-9a-fA-F]{2}_?)+)|(?:[0-9a-fA-F]+)))\\b"},{"name":"constant.numeric.integer.sourcepawn","match":"\\b((?:\\d|_)+)\\b"},{"name":"invalid.illegal.constant.sourcepawn","match":"\\b\\d+\\w+\\b"}]},"old-function-declaration":{"patterns":[{"begin":"(?:(stock|public|static)\\s+)?(?:(native|forward)\\s+)?(\\w+)\\:\\s*([a-zA-Z_]\\w*)\\(","end":"\\)","patterns":[{"include":"#parameters"},{"include":"#comments"},{"include":"#preproc"}],"beginCaptures":{"1":{"patterns":[{"include":"#keywords"}]},"2":{"patterns":[{"include":"#keywords"}]},"3":{"patterns":[{"include":"#old-type"}]},"4":{"name":"entity.name.function.sourcepawn"}}}]},"old-parameter-declaration":{"patterns":[{"match":"(?:(\\w+)\\:\\s*)?(\\w+)\\s*((?:\\[[^\\]]*\\]\\s*)+)?","captures":{"1":{"patterns":[{"include":"#old-type"}]},"2":{"patterns":[{"include":"#variable_name"}]},"3":{"patterns":[{"include":"#array-indexed-access"}]}}}]},"old-type":{"patterns":[{"match":"(bool|any|String|Float)|(\\w+)","captures":{"1":{"name":"storage.type.old.built-in.primitive.sourcepawn"},"2":{"patterns":[{"include":"#type_name"}]}}}]},"old-variable-declaration":{"patterns":[{"match":"(?:(stock|public)\\s+)?((?:(?:const|static)\\s+)*)(new|decl)\\s+(?:(\\w+)\\:\\s*)?(\\w+)(\\s*(?:\\[[^\\]]*\\]\\s*)*)","captures":{"1":{"patterns":[{"include":"#keywords"}]},"2":{"patterns":[{"include":"#keywords"}]},"3":{"patterns":[{"include":"#keywords"}]},"4":{"patterns":[{"include":"#old-type"}]},"5":{"patterns":[{"include":"#variable_name"}]},"6":{"patterns":[{"include":"#array-indexed-access"}]}}}]},"operators":{"patterns":[{"name":"keyword.operator.sourcepawn","match":"%|\u0026|\\*|/(?!\\*|/)|\\+|\\-|~|=|\u003c|\u003e|!|\\||\\?|:|\\^"}]},"other-keywords":{"name":"keyword.sourcepawn","match":"\\b(?:decl|delete|forward|native|public|const|stock|this|sizeof|static|property)\\b"},"parameter-declaration":{"patterns":[{"match":"(\\w+)(?:\\s+|(?:\\s*(?:\u0026|(?:\\[\\s*\\])+)\\s*))(\\w+)(?:\\s*((?:\\[[^\\]]*\\]\\s*)+))?","captures":{"1":{"patterns":[{"include":"#type"}]},"2":{"patterns":[{"include":"#variable_name"}]},"3":{"patterns":[{"include":"#array-indexed-access"}]}}}]},"parameters":{"patterns":[{"include":"#keywords"},{"include":"#literals"},{"include":"#parameter-declaration"},{"include":"#old-parameter-declaration"}]},"preproc":{"patterns":[{"name":"meta.include.sourcepawn","match":"(\\#include|\\#tryinclude)\\s*((?:\\\u003c|\").+(?:\\\u003e|\"))","captures":{"1":{"name":"keyword.control.sourcepawn"},"2":{"name":"string.sourcepawn"}}},{"name":"meta.pragma.line-comment.sourcepawn","match":"(\\#pragma)\\s+(.+?(?=//))","captures":{"1":{"name":"keyword.control.pragma.sourcepawn"},"2":{"name":"entity.other.attribute-name.sourcepawn"}}},{"name":"meta.pragma.deprecated.sourcepawn","match":"(\\#pragma)\\s+(deprecated)(.*)","captures":{"1":{"name":"keyword.control.pragma.sourcepawn"},"2":{"name":"entity.other.attribute-name.sourcepawn"},"3":{"name":"string.deprecated.sourcepawn"}}},{"name":"meta.pragma.block-comment.sourcepawn","match":"(\\#pragma)\\s+([A-Za-z _0-9]+)","captures":{"1":{"name":"keyword.control.pragma.sourcepawn"},"2":{"name":"entity.other.attribute-name.sourcepawn"}}},{"name":"meta.define.sourcepawn","match":"(\\#define)\\s*(\\w*)","captures":{"1":{"name":"keyword.control.define.sourcepawn"},"2":{"name":"meta.preprocessor.macro.sourcepawn"}}},{"name":"meta.undef.sourcepawn","match":"(\\#undef)\\s*(\\w*)","captures":{"1":{"name":"keyword.control.undef.sourcepawn"},"2":{"name":"meta.preprocessor.macro.sourcepawn"}}},{"name":"meta.undef.sourcepawn","match":"(#\\b(?:warning|error)\\b)\\s*(.+?)(?=/(?:/|\\*))","captures":{"1":{"name":"keyword.control.misc.sourcepawn"},"2":{"name":"string.warning.sourcepawn"}}},{"name":"meta.undef.sourcepawn","match":"(#\\b(?:warning|error)\\b)\\s*(.*)","captures":{"1":{"name":"keyword.control.misc.sourcepawn"},"2":{"name":"string.warning.sourcepawn"}}},{"name":"keyword.control.misc.sourcepawn","match":"#\\b(if|else|endif|emit|deprecated|undef|endinput|endscript|assert|define|file)\\b\\s*"},{"match":"(defined)\\s+([A-Za-z_]\\w*)","captures":{"1":{"name":"meta.preprocessor.conditional.sourcepawn"},"2":{"name":"meta.preprocessor.macro.sourcepawn"}}}]},"string-literal":{"patterns":[{"name":"string.quoted.double.sourcepawn","begin":"\"","end":"(\")|((?:[^\\\\\\n])$)","patterns":[{"include":"#string_escaped_char"},{"include":"#string_format_char"},{"include":"#string_placeholder"},{"include":"#line_continuation_character"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.sourcepawn"}},"endCaptures":{"1":{"name":"punctuation.definition.string.end.sourcepawn"},"2":{"name":"invalid.illegal.newline.sourcepawn"}}},{"name":"string.quoted.single.c","begin":"'","end":"(\\')|((?:[^\\\\\\n])$)","patterns":[{"include":"#string_escaped_char"},{"include":"#string_format_char"},{"include":"#string_placeholder"},{"include":"#line_continuation_character"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.sourcepawn"}},"endCaptures":{"1":{"name":"punctuation.definition.string.end.sourcepawn"},"2":{"name":"invalid.illegal.newline.sourcepawn"}}}]},"string_escaped_char":{"patterns":[{"name":"constant.character.escape.sourcepawn","match":"\\\\(?:[abefnrt'\"\\\\]|(?:x[a-zA-Z0-9]{0,2}|\\d+);?)"},{"name":"invalid.illegal.unknown-escape.sourcepawn","match":"\\\\."}]},"string_format_char":{"name":"constant.character.format.sourcepawn","match":"%(?:a|A|b|B|c|C|d|D|e|F|g|G|h|H|I|j|m|M|n|i|p|r|R|S|t|T|u|U|V|u|w|W|x|X|y|Y|z|Z|f|L|N|s|T|t|%|(?:\\d+)?\\.?\\d*(?:b|d|i|u|f|s|X|x))"},"string_placeholder":{"name":"constant.character.sp-translations","match":"\\{(\\w+)\\}","captures":{"1":{"name":"constant.character.escape.sp-translations"}}},"struct":{"match":"(struct)\\s+(\\w+)","captures":{"1":{"patterns":[{"include":"#keywords"}]},"2":{"patterns":[{"include":"#type_name"}]}}},"type":{"patterns":[{"match":"(bool|float|int|char|any|void)|(\\w+)","captures":{"1":{"name":"storage.type.built-in.primitive.sourcepawn"},"2":{"patterns":[{"include":"#type_name"}]}}}]},"type_name":{"patterns":[{"name":"constant.numeric.integer.sourcepawn","match":"\\b\\d\\b"},{"name":"support.type.core.sourcepawn","match":"[a-zA-Z_]\\w*"},{"match":"([0-9])(\\w*)","captures":{"1":{"name":"invalid.illegal.constant.sourcepawn"},"2":{"name":"support.type.core.sourcepawn"}}}]},"typedef":{"begin":"(typedef)\\s+(\\w+)\\s*\\=\\s*(function)\\s*(\\w+)\\s*((?:\\[[^\\]]*\\]\\s*)*)\\(","end":"\\)","patterns":[{"include":"#parameters"},{"include":"#comments"},{"include":"#preproc"}],"beginCaptures":{"1":{"patterns":[{"include":"#keywords"}]},"2":{"patterns":[{"include":"#type_name"}]},"3":{"patterns":[{"include":"#keywords"}]},"4":{"patterns":[{"include":"#type"}]},"5":{"patterns":[{"include":"#array-indexed-access"}]}}},"typeset":{"begin":"(typeset)\\s+(\\w+)","end":"(?\u003c=\\})","patterns":[{"begin":"(function)\\s+(\\w+)\\s*((?:\\[[^\\]]*\\]\\s*)*)\\(","end":"\\)","patterns":[{"include":"#parameters"}],"beginCaptures":{"1":{"patterns":[{"include":"#keywords"}]},"2":{"patterns":[{"include":"#type"}]},"3":{"patterns":[{"include":"#array-indexed-access"}]}}},{"include":"#comments"},{"include":"#preproc"}],"beginCaptures":{"1":{"patterns":[{"include":"#keywords"}]},"2":{"patterns":[{"include":"#type_name"}]}}},"variable-declaration":{"patterns":[{"match":"(?:(stock|public)\\s+)?((?:(?:const|static)\\s+)*)(\\w+)(\\s*(?:\\[[^\\]]*\\]\\s*)*)(?:(?:\\s*\u0026\\s*)|\\s+)(\\w+)\\s*(\\s*(?:\\[[^\\]]*\\]\\s*)*)","captures":{"1":{"patterns":[{"include":"#keywords"}]},"2":{"patterns":[{"include":"#keywords"}]},"3":{"patterns":[{"include":"#type"}]},"4":{"patterns":[{"include":"#array-indexed-access"}]},"5":{"patterns":[{"include":"#variable_name"}]},"6":{"patterns":[{"include":"#array-indexed-access"}]}}}]},"variable_name":{"patterns":[{"name":"constant.numeric.integer.sourcepawn","match":"\\b\\d\\b"},{"name":"variable.sourcepawn","match":"[a-zA-Z_]\\w*"},{"match":"([0-9])(\\w*)","captures":{"1":{"name":"invalid.illegal.constant.sourcepawn"},"2":{"name":"variable.sourcepawn"}}}]}}}
@@ -1 +1 @@
1
- {"name":"Stan","scopeName":"source.stan","patterns":[{"include":"#comments"},{"include":"#strings"},{"include":"#numbers"},{"name":"entity.name.type.stan","match":"\\b(functions|data|transformed\\s+data|parameters|transformed\\s+parameters|model|generated\\s+quantities)\\b"},{"name":"storage.type.stan","match":"\\b(int|real|complex|array|vector|simplex|unit_vector|ordered|positive_ordered|row_vector|matrix|complex_vector|complex_matrix|complex_row_vector|corr_matrix|cov_matrix|cholesky_factor_cov|cholesky_factor_corr|void)\\b"},{"name":"keyword.control.stan","match":"\\b(for|in|while|if|else|break|continue)\\b"},{"match":"\\b(lower|upper|offset|multiplier)\\s*(=)","captures":{"1":{"name":"keyword.other.range.stan"},"2":{"name":"punctuation.operator.equal.stan"}}},{"name":"keyword.other.return.stan","match":"\\breturn\\b"},{"match":"\\b(target)\\s*([+][=])","captures":{"1":{"name":"keyword.other.target.stan"},"2":{"name":"keyword.operator.accumulator.stan"}}},{"name":"keyword.other.truncation.stan","match":"\\bT(?=\\s*\\[)"},{"include":"#distributions"},{"name":"keyword.other.special-functions.stan","match":"\\b(print|reject)\\b"},{"name":"support.function.integrate_ode.stan","match":"\\b(integrate_ode_(?:bdf|rk45))\\b"},{"name":"support.function.algebra_solver.stan","match":"\\balgebra_solver\\b"},{"include":"#functions"},{"include":"#reserved"},{"name":"invalid.illegal.variable","match":"\\b([a-zA-Z0-9_]*__|[0-9_][A-Za-z0-9_]+|_)\\b"},{"name":"variable.other.identifier.stan","match":"\\b[A-Za-z][0-9A-Za-z_]*\\b"},{"include":"#operators"},{"name":"meta.delimiter.comma.stan","match":","},{"begin":"{","end":"}","patterns":[{"include":"$base"}],"beginCaptures":{"0":{"name":"punctuation.section.block.begin.stan"}},"endCaptures":{"0":{"name":"punctuation.section.block.end.stan"}}},{"name":"meta.brace.curly.stan","match":"[{}]"},{"name":"meta.brace.square.stan","match":"\\[|\\]"},{"name":"meta.brace.round.stan","match":"\\(|\\)"},{"name":"punctuation.terminator.statement.stan","match":"\\;"},{"name":"punctuation.sampling.bar.stan","match":"[|]"}],"repository":{"comments":{"patterns":[{"name":"meta.preprocessor.include.stan","begin":"^\\s*((#)\\s*(include))\\b\\s*","end":"\\s*(?=(?://|/\\*|#)|\\n|$)","patterns":[{"name":"string.quoted.double.include.stan","begin":"\"","end":"\"","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.stan"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.stan"}}},{"name":"string.quoted.other.lt-gt.include.stan","begin":"\u003c","end":"\u003e","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.stan"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.stan"}}},{"name":"string.quoted.single.include.stan","begin":"'","end":"'","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.stan"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.stan"}}},{"name":"string.quoted.other.noquote.include.stan","match":".+"}],"beginCaptures":{"1":{"name":"keyword.control.directive.include.stan"},"2":{"name":"punctuation.definition.directive.stan"},"4":{"name":"string.quoted.other.include.stan"}}},{"name":"comment.block.documentation.stan","begin":"/\\*\\*(?!/)","end":"\\*/","patterns":[{"include":"#docblock"}],"captures":{"0":{"name":"punctuation.definition.comment.stan"}}},{"name":"comment.block.stan","begin":"/\\*","end":"\\*/","beginCaptures":{"0":{"name":"punctuation.definition.comment.stan"}},"endCaptures":{"0":{"name":"punctuation.definition.comment.stan"}}},{"name":"comment.line.double-slash.stan","begin":"//","end":"\\n","beginCaptures":{"0":{"name":"punctuation.definition.comment.stan"}}},{"name":"comment.line.number-sign.stan","begin":"#","end":"\\n","beginCaptures":{"0":{"name":"punctuation.definition.comment.stan"}}}]},"distributions":{"patterns":[{"name":"meta.sampling.stan","match":"(~)(\\s*)(bernoulli|bernoulli_logit|bernoulli_logit_glm|beta|beta_binomial|binomial|binomial_logit|categorical|categorical_logit|categorical_logit_glm|cauchy|chi_square|dirichlet|discrete_range|double_exponential|exp_mod_normal|exponential|frechet|gamma|gaussian_dlm_obs|gumbel|hypergeometric|inv_chi_square|inv_gamma|inv_wishart|inv_wishart_cholesky|lkj_corr|lkj_corr_cholesky|logistic|loglogistic|lognormal|multi_gp|multi_gp_cholesky|multi_normal|multi_normal_cholesky|multi_normal_prec|multi_student_t|multi_student_t_cholesky|multinomial|multinomial_logit|neg_binomial|neg_binomial_2|neg_binomial_2_log|neg_binomial_2_log_glm|normal|normal_id_glm|ordered_logistic|ordered_logistic_glm|ordered_probit|pareto|pareto_type_2|poisson|poisson_log|poisson_log_glm|rayleigh|scaled_inv_chi_square|skew_double_exponential|skew_normal|std_normal|student_t|uniform|von_mises|weibull|wiener|wishart|wishart_cholesky)\\b","captures":{"1":{"name":"keyword.operator.sampling.stan"},"3":{"name":"support.function.distribution.stan"}}},{"name":"meta.sampling.stan","match":"(~)(\\s*)([A-Za-z][A-Za-z0-9_]*)\\b","captures":{"1":{"name":"keyword.operator.sampling.stan"},"3":{"name":"variable.other.distribution.stan"}}}]},"docblock":{"patterns":[{"name":"storage.type.class.standoc","match":"(?\u003c!\\w)@(param|return)\\b"}]},"functions":{"patterns":[{"name":"invalid.deprecated.function.stan","match":"\\b([A-Za-z0-9][A-Za-z0-9_]*_log|binomial_coefficient_log|fabs|get_lp|if_else|increment_log_prob|integrate_ode|lkj_cov|multiply_log)\\b"},{"name":"support.function.function.stan","match":"\\b(Phi|Phi_approx|abs|acos|acosh|add_diag|algebra_solver|algebra_solver_newton|append_array|append_col|append_row|arg|asin|asinh|atan|atan2|atanh|bernoulli_cdf|bernoulli_lccdf|bernoulli_lcdf|bernoulli_logit_glm_lpmf|bernoulli_logit_glm_lupmf|bernoulli_logit_glm_rng|bernoulli_logit_lpmf|bernoulli_logit_lupmf|bernoulli_logit_rng|bernoulli_lpmf|bernoulli_lupmf|bernoulli_rng|bessel_first_kind|bessel_second_kind|beta|beta_binomial_cdf|beta_binomial_lccdf|beta_binomial_lcdf|beta_binomial_lpmf|beta_binomial_lupmf|beta_binomial_rng|beta_cdf|beta_lccdf|beta_lcdf|beta_lpdf|beta_lupdf|beta_proportion_lccdf|beta_proportion_lcdf|beta_proportion_rng|beta_rng|binary_log_loss|binomial_cdf|binomial_lccdf|binomial_lcdf|binomial_logit_lpmf|binomial_logit_lupmf|binomial_lpmf|binomial_lupmf|binomial_rng|block|categorical_logit_glm_lpmf|categorical_logit_glm_lupmf|categorical_logit_lpmf|categorical_logit_lupmf|categorical_logit_rng|categorical_lpmf|categorical_lupmf|categorical_rng|cauchy_cdf|cauchy_lccdf|cauchy_lcdf|cauchy_lpdf|cauchy_lupdf|cauchy_rng|cbrt|ceil|chi_square_cdf|chi_square_lccdf|chi_square_lcdf|chi_square_lpdf|chi_square_lupdf|chi_square_rng|chol2inv|cholesky_decompose|choose|col|cols|columns_dot_product|columns_dot_self|complex_schur_decompose|complex_schur_decompose_t|complex_schur_decompose_u|conj|cos|cosh|cov_exp_quad|crossprod|csr_extract|csr_extract_u|csr_extract_v|csr_extract_w|csr_matrix_times_vector|csr_to_dense_matrix|cumulative_sum|dae|dae_tol|determinant|diag_matrix|diag_post_multiply|diag_pre_multiply|diagonal|digamma|dims|dirichlet_lpdf|dirichlet_lupdf|dirichlet_rng|discrete_range_cdf|discrete_range_lccdf|discrete_range_lcdf|discrete_range_lpmf|discrete_range_lupmf|discrete_range_rng|distance|dot_product|dot_self|double_exponential_cdf|double_exponential_lccdf|double_exponential_lcdf|double_exponential_lpdf|double_exponential_lupdf|double_exponential_rng|e|eigendecompose|eigendecompose_sym|eigenvalues|eigenvalues_sym|eigenvectors|eigenvectors_sym|erf|erfc|exp|exp2|exp_mod_normal_cdf|exp_mod_normal_lccdf|exp_mod_normal_lcdf|exp_mod_normal_lpdf|exp_mod_normal_lupdf|exp_mod_normal_rng|expm1|exponential_cdf|exponential_lccdf|exponential_lcdf|exponential_lpdf|exponential_lupdf|exponential_rng|falling_factorial|fdim|fft|fft2|floor|fma|fmax|fmin|fmod|frechet_cdf|frechet_lccdf|frechet_lcdf|frechet_lpdf|frechet_lupdf|frechet_rng|gamma_cdf|gamma_lccdf|gamma_lcdf|gamma_lpdf|gamma_lupdf|gamma_p|gamma_q|gamma_rng|gaussian_dlm_obs_lpdf|gaussian_dlm_obs_lupdf|generalized_inverse|get_imag|get_real|gumbel_cdf|gumbel_lccdf|gumbel_lcdf|gumbel_lpdf|gumbel_lupdf|gumbel_rng|head|hmm_hidden_state_prob|hmm_latent_rng|hmm_marginal|hypergeometric_lpmf|hypergeometric_lupmf|hypergeometric_rng|hypot|identity_matrix|inc_beta|int_step|integrate_1d|integrate_ode|integrate_ode_adams|integrate_ode_bdf|integrate_ode_rk45|inv|inv_Phi|inv_chi_square_cdf|inv_chi_square_lccdf|inv_chi_square_lcdf|inv_chi_square_lpdf|inv_chi_square_lupdf|inv_chi_square_rng|inv_cloglog|inv_erfc|inv_fft|inv_fft2|inv_gamma_cdf|inv_gamma_lccdf|inv_gamma_lcdf|inv_gamma_lpdf|inv_gamma_lupdf|inv_gamma_rng|inv_inc_beta|inv_logit|inv_sqrt|inv_square|inv_wishart_cholesky_lpdf|inv_wishart_cholesky_lupdf|inv_wishart_cholesky_rng|inv_wishart_lpdf|inv_wishart_lupdf|inv_wishart_rng|inverse|inverse_spd|is_inf|is_nan|lambert_w0|lambert_wm1|lbeta|lchoose|ldexp|lgamma|linspaced_array|linspaced_int_array|linspaced_row_vector|linspaced_vector|lkj_corr_cholesky_lpdf|lkj_corr_cholesky_lupdf|lkj_corr_cholesky_rng|lkj_corr_lpdf|lkj_corr_lupdf|lkj_corr_rng|lmgamma|lmultiply|log|log10|log1m|log1m_exp|log1m_inv_logit|log1p|log1p_exp|log2|log_determinant|log_diff_exp|log_falling_factorial|log_inv_logit|log_inv_logit_diff|log_mix|log_modified_bessel_first_kind|log_rising_factorial|log_softmax|log_sum_exp|logistic_cdf|logistic_lccdf|logistic_lcdf|logistic_lpdf|logistic_lupdf|logistic_rng|logit|loglogistic_cdf|loglogistic_lpdf|loglogistic_rng|lognormal_cdf|lognormal_lccdf|lognormal_lcdf|lognormal_lpdf|lognormal_lupdf|lognormal_rng|machine_precision|map_rect|matrix_exp|matrix_exp_multiply|matrix_power|max|mdivide_left_spd|mdivide_left_tri_low|mdivide_right_spd|mdivide_right_tri_low|mean|min|modified_bessel_first_kind|modified_bessel_second_kind|multi_gp_cholesky_lpdf|multi_gp_cholesky_lupdf|multi_gp_lpdf|multi_gp_lupdf|multi_normal_cholesky_lpdf|multi_normal_cholesky_lupdf|multi_normal_cholesky_rng|multi_normal_lpdf|multi_normal_lupdf|multi_normal_prec_lpdf|multi_normal_prec_lupdf|multi_normal_rng|multi_student_cholesky_t_rng|multi_student_t_cholesky_lpdf|multi_student_t_cholesky_lupdf|multi_student_t_cholesky_rng|multi_student_t_lpdf|multi_student_t_lupdf|multi_student_t_rng|multinomial_logit_lpmf|multinomial_logit_lupmf|multinomial_logit_rng|multinomial_lpmf|multinomial_lupmf|multinomial_rng|multiply_lower_tri_self_transpose|neg_binomial_2_cdf|neg_binomial_2_lccdf|neg_binomial_2_lcdf|neg_binomial_2_log_glm_lpmf|neg_binomial_2_log_glm_lupmf|neg_binomial_2_log_lpmf|neg_binomial_2_log_lupmf|neg_binomial_2_log_rng|neg_binomial_2_lpmf|neg_binomial_2_lupmf|neg_binomial_2_rng|neg_binomial_cdf|neg_binomial_lccdf|neg_binomial_lcdf|neg_binomial_lpmf|neg_binomial_lupmf|neg_binomial_rng|negative_infinity|norm|norm1|norm2|normal_cdf|normal_id_glm_lpdf|normal_id_glm_lupdf|normal_lccdf|normal_lcdf|normal_lpdf|normal_lupdf|normal_rng|not_a_number|num_elements|ode_adams|ode_adams_tol|ode_adjoint_tol_ctl|ode_bdf|ode_bdf_tol|ode_ckrk|ode_ckrk_tol|ode_rk45|ode_rk45_tol|one_hot_array|one_hot_int_array|one_hot_row_vector|one_hot_vector|ones_array|ones_int_array|ones_row_vector|ones_vector|ordered_logistic_glm_lpmf|ordered_logistic_glm_lupmf|ordered_logistic_lpmf|ordered_logistic_lupmf|ordered_logistic_rng|ordered_probit_lpmf|ordered_probit_lupmf|ordered_probit_rng|owens_t|pareto_cdf|pareto_lccdf|pareto_lcdf|pareto_lpdf|pareto_lupdf|pareto_rng|pareto_type_2_cdf|pareto_type_2_lccdf|pareto_type_2_lcdf|pareto_type_2_lpdf|pareto_type_2_lupdf|pareto_type_2_rng|pi|poisson_cdf|poisson_lccdf|poisson_lcdf|poisson_log_glm_lpmf|poisson_log_glm_lupmf|poisson_log_lpmf|poisson_log_lupmf|poisson_log_rng|poisson_lpmf|poisson_lupmf|poisson_rng|polar|positive_infinity|pow|prod|proj|qr|qr_Q|qr_R|qr_thin|qr_thin_Q|qr_thin_R|quad_form|quad_form_diag|quad_form_sym|quantile|rank|rayleigh_cdf|rayleigh_lccdf|rayleigh_lcdf|rayleigh_lpdf|rayleigh_lupdf|rayleigh_rng|reduce_sum|rep_array|rep_matrix|rep_row_vector|rep_vector|reverse|rising_factorial|round|row|rows|rows_dot_product|rows_dot_self|scale_matrix_exp_multiply|scaled_inv_chi_square_cdf|scaled_inv_chi_square_lccdf|scaled_inv_chi_square_lcdf|scaled_inv_chi_square_lpdf|scaled_inv_chi_square_lupdf|scaled_inv_chi_square_rng|sd|segment|sin|singular_values|sinh|size|skew_double_exponential_cdf|skew_double_exponential_lccdf|skew_double_exponential_lcdf|skew_double_exponential_lpdf|skew_double_exponential_lupdf|skew_double_exponential_rng|skew_normal_cdf|skew_normal_lccdf|skew_normal_lcdf|skew_normal_lpdf|skew_normal_lupdf|skew_normal_rng|softmax|sort_asc|sort_desc|sort_indices_asc|sort_indices_desc|sqrt|sqrt2|square|squared_distance|std_normal_cdf|std_normal_lccdf|std_normal_lcdf|std_normal_log_qf|std_normal_lpdf|std_normal_lupdf|std_normal_qf|std_normal_rng|step|student_t_cdf|student_t_lccdf|student_t_lcdf|student_t_lpdf|student_t_lupdf|student_t_rng|sub_col|sub_row|sum|svd|svd_U|svd_V|symmetrize_from_lower_tri|tail|tan|tanh|target|tcrossprod|tgamma|to_array_1d|to_array_2d|to_complex|to_int|to_matrix|to_row_vector|to_vector|trace|trace_gen_quad_form|trace_quad_form|trigamma|trunc|uniform_cdf|uniform_lccdf|uniform_lcdf|uniform_lpdf|uniform_lupdf|uniform_rng|uniform_simplex|variance|von_mises_cdf|von_mises_lccdf|von_mises_lcdf|von_mises_lpdf|von_mises_lupdf|von_mises_rng|weibull_cdf|weibull_lccdf|weibull_lcdf|weibull_lpdf|weibull_lupdf|weibull_rng|wiener_lpdf|wiener_lupdf|wishart_cholesky_lpdf|wishart_cholesky_lupdf|wishart_cholesky_rng|wishart_lpdf|wishart_lupdf|wishart_rng|zeros_array|zeros_int_array|zeros_row_vector)\\b"}]},"numbers":{"patterns":[{"name":"constant.numeric.complex.stan","match":"(?x)\n(\n[0-9]+\\.[0-9]*([eE][+-]?[0-9]+)?\n|\n\\.[0-9]+([eE][+-]?[0-9]+)?\n|\n[0-9]+[eE][+-]?[0-9]+i\n)i"},{"name":"constant.numeric.real.stan","match":"(?x)\n(\n[0-9]+\\.[0-9]*([eE][+-]?[0-9]+)?\n|\n\\.[0-9]+([eE][+-]?[0-9]+)?\n|\n[0-9]+[eE][+-]?[0-9]+\n)"},{"name":"constant.numeric.integer.stan","match":"[0-9]+i?(_ [0-9]+)*(?=[^A-Za-z])"}]},"operators":{"patterns":[{"name":"invalid.deprecated.assignment.stan","match":"\u003c-"},{"name":"keyword.operator.colon.stan","match":":"},{"name":"keyword.operator.conditional.stan","match":"[?]"},{"name":"keyword.operator.logical.stan","match":"[|]{2}|\u0026\u0026"},{"name":"keyword.operator.comparison.stan","match":"==|!=|\u003c=?|\u003e=?"},{"name":"keyword.operator.logical.stan","match":"!"},{"name":"keyword.operator.assignment.stan","match":"[+-]=|\\.?[*/]=|="},{"name":"keyword.operator.arithmetic.stan","match":"\\+|-|\\.?\\*|\\.?/|%|\\\\|\\^|'"}]},"reserved":{"patterns":[{"name":"invalid.illegal.reserved.stan","match":"\\b(for|in|while|repeat|until|if|then|else|true|false|var|struct|typedef|export|auto|extern|var|static)\\b"}]},"strings":{"patterns":[{"name":"string.quoted.double.stan","begin":"\"","end":"\"","patterns":[{"name":"invalid.illegal.string.stan","match":"[^ a-zA-Z0-9~@#$%^\u0026*_'`\\-+={}\\[\\]()\u003c\u003e|/!?.,;:\"]+"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.stan"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.stan"}}}]}}}
1
+ {"name":"Stan","scopeName":"source.stan","patterns":[{"match":"\\b(functions|data|transformed\\s+data|parameters|transformed\\s+parameters|model|generated\\s+quantities)\\b\\s*\\{","captures":{"1":{"name":"entity.name.type.stan"}}},{"include":"#comments"},{"include":"#strings"},{"include":"#numbers"},{"include":"#types"},{"include":"#keywords"},{"include":"#distributions"},{"include":"#functions"},{"include":"#variables"},{"include":"#operators"},{"include":"#punctuation"}],"repository":{"comments":{"patterns":[{"name":"meta.preprocessor.include.stan","begin":"^\\s*((#)\\s*(include))\\b\\s*","end":"\\s*(?=(?://|/\\*|#)|\\n|$)","patterns":[{"name":"string.quoted.double.include.stan","begin":"[\"\u003c]?","end":"[\"\u003e]?\\s","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.stan"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.stan"}}}],"beginCaptures":{"1":{"name":"keyword.control.directive.include.stan"},"2":{"name":"punctuation.definition.directive.stan"}}},{"name":"comment.block.documentation.stan","begin":"/\\*\\*(?!/)","end":"\\*/","patterns":[{"include":"#docblock"}],"captures":{"0":{"name":"punctuation.definition.comment.stan"}}},{"name":"comment.block.stan","begin":"/\\*","end":"\\*/","beginCaptures":{"0":{"name":"punctuation.definition.comment.stan"}},"endCaptures":{"0":{"name":"punctuation.definition.comment.stan"}}},{"name":"comment.line.double-slash.stan","begin":"//","end":"\\n","beginCaptures":{"0":{"name":"punctuation.definition.comment.stan"}}},{"name":"comment.line.number-sign.stan","begin":"#","end":"\\n","beginCaptures":{"0":{"name":"punctuation.definition.comment.stan"}}}]},"distributions":{"patterns":[{"match":"(~)(\\s*)(bernoulli|bernoulli_logit|bernoulli_logit_glm|beta|beta_binomial|binomial|binomial_logit|binomial_logit_glm|categorical|categorical_logit|categorical_logit_glm|cauchy|chi_square|dirichlet|dirichlet_multinomial|discrete_range|double_exponential|exp_mod_normal|exponential|frechet|gamma|gaussian_dlm_obs|gumbel|hypergeometric|inv_chi_square|inv_gamma|inv_wishart|inv_wishart_cholesky|lkj_corr|lkj_corr_cholesky|logistic|loglogistic|lognormal|multi_gp|multi_gp_cholesky|multi_normal|multi_normal_cholesky|multi_normal_prec|multi_student_t|multi_student_t_cholesky|multinomial|multinomial_logit|neg_binomial|neg_binomial_2|neg_binomial_2_log|neg_binomial_2_log_glm|normal|normal_id_glm|ordered_logistic|ordered_logistic_glm|ordered_probit|pareto|pareto_type_2|poisson|poisson_log|poisson_log_glm|rayleigh|scaled_inv_chi_square|skew_double_exponential|skew_normal|std_normal|student_t|uniform|von_mises|weibull|wiener|wishart|wishart_cholesky)\\b","captures":{"1":{"name":"keyword.operator.sampling.stan"},"3":{"name":"support.function.distribution.stan"}}}]},"docblock":{"patterns":[{"name":"storage.type.class.standoc","match":"(?\u003c!\\w)@(param|return)\\b"}]},"functions":{"patterns":[{"name":"invalid.deprecated.function.stan","match":"\\b([A-Za-z0-9][A-Za-z0-9_]*_log|binomial_coefficient_log|fabs|get_lp|if_else|increment_log_prob|integrate_ode[A-Za-z0-9_]*|lkj_cov_lpdf|multiply_log)\\b\\s*\\("},{"name":"support.function.function.stan","match":"\\b(Phi|Phi_approx|abs|acos|acosh|add_diag|algebra_solver|algebra_solver_newton|append_array|append_col|append_row|arg|asin|asinh|atan|atan2|atanh|bernoulli_cdf|bernoulli_lccdf|bernoulli_lcdf|bernoulli_logit_glm_lpmf|bernoulli_logit_glm_lupmf|bernoulli_logit_glm_rng|bernoulli_logit_lpmf|bernoulli_logit_lupmf|bernoulli_logit_rng|bernoulli_lpmf|bernoulli_lupmf|bernoulli_rng|bessel_first_kind|bessel_second_kind|beta|beta_binomial_cdf|beta_binomial_lccdf|beta_binomial_lcdf|beta_binomial_lpmf|beta_binomial_lupmf|beta_binomial_rng|beta_cdf|beta_lccdf|beta_lcdf|beta_lpdf|beta_lupdf|beta_proportion_lccdf|beta_proportion_lcdf|beta_proportion_rng|beta_rng|binary_log_loss|binomial_cdf|binomial_lccdf|binomial_lcdf|binomial_logit_glm_lpmf|binomial_logit_glm_lupmf|binomial_logit_lpmf|binomial_logit_lupmf|binomial_lpmf|binomial_lupmf|binomial_rng|block|categorical_logit_glm_lpmf|categorical_logit_glm_lupmf|categorical_logit_lpmf|categorical_logit_lupmf|categorical_logit_rng|categorical_lpmf|categorical_lupmf|categorical_rng|cauchy_cdf|cauchy_lccdf|cauchy_lcdf|cauchy_lpdf|cauchy_lupdf|cauchy_rng|cbrt|ceil|chi_square_cdf|chi_square_lccdf|chi_square_lcdf|chi_square_lpdf|chi_square_lupdf|chi_square_rng|chol2inv|cholesky_decompose|choose|col|cols|columns_dot_product|columns_dot_self|complex_schur_decompose|complex_schur_decompose_t|complex_schur_decompose_u|conj|cos|cosh|cov_exp_quad|crossprod|csr_extract|csr_extract_u|csr_extract_v|csr_extract_w|csr_matrix_times_vector|csr_to_dense_matrix|cumulative_sum|dae|dae_tol|determinant|diag_matrix|diag_post_multiply|diag_pre_multiply|diagonal|digamma|dims|dirichlet_lpdf|dirichlet_lupdf|dirichlet_multinomial_lpmf|dirichlet_multinomial_lupmf|dirichlet_multinomial_rng|dirichlet_rng|discrete_range_cdf|discrete_range_lccdf|discrete_range_lcdf|discrete_range_lpmf|discrete_range_lupmf|discrete_range_rng|distance|dot_product|dot_self|double_exponential_cdf|double_exponential_lccdf|double_exponential_lcdf|double_exponential_lpdf|double_exponential_lupdf|double_exponential_rng|e|eigendecompose|eigendecompose_sym|eigenvalues|eigenvalues_sym|eigenvectors|eigenvectors_sym|erf|erfc|exp|exp2|exp_mod_normal_cdf|exp_mod_normal_lccdf|exp_mod_normal_lcdf|exp_mod_normal_lpdf|exp_mod_normal_lupdf|exp_mod_normal_rng|expm1|exponential_cdf|exponential_lccdf|exponential_lcdf|exponential_lpdf|exponential_lupdf|exponential_rng|falling_factorial|fatal_error|fdim|fft|fft2|floor|fma|fmax|fmin|fmod|frechet_cdf|frechet_lccdf|frechet_lcdf|frechet_lpdf|frechet_lupdf|frechet_rng|gamma_cdf|gamma_lccdf|gamma_lcdf|gamma_lpdf|gamma_lupdf|gamma_p|gamma_q|gamma_rng|gaussian_dlm_obs_lpdf|gaussian_dlm_obs_lupdf|generalized_inverse|get_imag|get_real|gumbel_cdf|gumbel_lccdf|gumbel_lcdf|gumbel_lpdf|gumbel_lupdf|gumbel_rng|head|hmm_hidden_state_prob|hmm_latent_rng|hmm_marginal|hypergeometric_lpmf|hypergeometric_lupmf|hypergeometric_rng|hypot|identity_matrix|inc_beta|int_step|integrate_1d|integrate_ode|integrate_ode_adams|integrate_ode_bdf|integrate_ode_rk45|inv|inv_Phi|inv_chi_square_cdf|inv_chi_square_lccdf|inv_chi_square_lcdf|inv_chi_square_lpdf|inv_chi_square_lupdf|inv_chi_square_rng|inv_cloglog|inv_erfc|inv_fft|inv_fft2|inv_gamma_cdf|inv_gamma_lccdf|inv_gamma_lcdf|inv_gamma_lpdf|inv_gamma_lupdf|inv_gamma_rng|inv_inc_beta|inv_logit|inv_sqrt|inv_square|inv_wishart_cholesky_lpdf|inv_wishart_cholesky_lupdf|inv_wishart_cholesky_rng|inv_wishart_lpdf|inv_wishart_lupdf|inv_wishart_rng|inverse|inverse_spd|is_inf|is_nan|lambert_w0|lambert_wm1|lbeta|lchoose|ldexp|lgamma|linspaced_array|linspaced_int_array|linspaced_row_vector|linspaced_vector|lkj_corr_cholesky_lpdf|lkj_corr_cholesky_lupdf|lkj_corr_cholesky_rng|lkj_corr_lpdf|lkj_corr_lupdf|lkj_corr_rng|lmgamma|lmultiply|log|log10|log1m|log1m_exp|log1m_inv_logit|log1p|log1p_exp|log2|log_determinant|log_diff_exp|log_falling_factorial|log_inv_logit|log_inv_logit_diff|log_mix|log_modified_bessel_first_kind|log_rising_factorial|log_softmax|log_sum_exp|logistic_cdf|logistic_lccdf|logistic_lcdf|logistic_lpdf|logistic_lupdf|logistic_rng|logit|loglogistic_cdf|loglogistic_lpdf|loglogistic_rng|lognormal_cdf|lognormal_lccdf|lognormal_lcdf|lognormal_lpdf|lognormal_lupdf|lognormal_rng|machine_precision|map_rect|matrix_exp|matrix_exp_multiply|matrix_power|max|mdivide_left_spd|mdivide_left_tri_low|mdivide_right_spd|mdivide_right_tri_low|mean|min|modified_bessel_first_kind|modified_bessel_second_kind|multi_gp_cholesky_lpdf|multi_gp_cholesky_lupdf|multi_gp_lpdf|multi_gp_lupdf|multi_normal_cholesky_lpdf|multi_normal_cholesky_lupdf|multi_normal_cholesky_rng|multi_normal_lpdf|multi_normal_lupdf|multi_normal_prec_lpdf|multi_normal_prec_lupdf|multi_normal_rng|multi_student_cholesky_t_rng|multi_student_t_cholesky_lpdf|multi_student_t_cholesky_lupdf|multi_student_t_cholesky_rng|multi_student_t_lpdf|multi_student_t_lupdf|multi_student_t_rng|multinomial_logit_lpmf|multinomial_logit_lupmf|multinomial_logit_rng|multinomial_lpmf|multinomial_lupmf|multinomial_rng|multiply_lower_tri_self_transpose|neg_binomial_2_cdf|neg_binomial_2_lccdf|neg_binomial_2_lcdf|neg_binomial_2_log_glm_lpmf|neg_binomial_2_log_glm_lupmf|neg_binomial_2_log_lpmf|neg_binomial_2_log_lupmf|neg_binomial_2_log_rng|neg_binomial_2_lpmf|neg_binomial_2_lupmf|neg_binomial_2_rng|neg_binomial_cdf|neg_binomial_lccdf|neg_binomial_lcdf|neg_binomial_lpmf|neg_binomial_lupmf|neg_binomial_rng|negative_infinity|norm|norm1|norm2|normal_cdf|normal_id_glm_lpdf|normal_id_glm_lupdf|normal_lccdf|normal_lcdf|normal_lpdf|normal_lupdf|normal_rng|not_a_number|num_elements|ode_adams|ode_adams_tol|ode_adjoint_tol_ctl|ode_bdf|ode_bdf_tol|ode_ckrk|ode_ckrk_tol|ode_rk45|ode_rk45_tol|one_hot_array|one_hot_int_array|one_hot_row_vector|one_hot_vector|ones_array|ones_int_array|ones_row_vector|ones_vector|ordered_logistic_glm_lpmf|ordered_logistic_glm_lupmf|ordered_logistic_lpmf|ordered_logistic_lupmf|ordered_logistic_rng|ordered_probit_lpmf|ordered_probit_lupmf|ordered_probit_rng|owens_t|pareto_cdf|pareto_lccdf|pareto_lcdf|pareto_lpdf|pareto_lupdf|pareto_rng|pareto_type_2_cdf|pareto_type_2_lccdf|pareto_type_2_lcdf|pareto_type_2_lpdf|pareto_type_2_lupdf|pareto_type_2_rng|pi|poisson_cdf|poisson_lccdf|poisson_lcdf|poisson_log_glm_lpmf|poisson_log_glm_lupmf|poisson_log_lpmf|poisson_log_lupmf|poisson_log_rng|poisson_lpmf|poisson_lupmf|poisson_rng|polar|positive_infinity|pow|prod|proj|qr|qr_Q|qr_R|qr_thin|qr_thin_Q|qr_thin_R|quad_form|quad_form_diag|quad_form_sym|quantile|rank|rayleigh_cdf|rayleigh_lccdf|rayleigh_lcdf|rayleigh_lpdf|rayleigh_lupdf|rayleigh_rng|reduce_sum|rep_array|rep_matrix|rep_row_vector|rep_vector|reverse|rising_factorial|round|row|rows|rows_dot_product|rows_dot_self|scale_matrix_exp_multiply|scaled_inv_chi_square_cdf|scaled_inv_chi_square_lccdf|scaled_inv_chi_square_lcdf|scaled_inv_chi_square_lpdf|scaled_inv_chi_square_lupdf|scaled_inv_chi_square_rng|sd|segment|sin|singular_values|sinh|size|skew_double_exponential_cdf|skew_double_exponential_lccdf|skew_double_exponential_lcdf|skew_double_exponential_lpdf|skew_double_exponential_lupdf|skew_double_exponential_rng|skew_normal_cdf|skew_normal_lccdf|skew_normal_lcdf|skew_normal_lpdf|skew_normal_lupdf|skew_normal_rng|softmax|sort_asc|sort_desc|sort_indices_asc|sort_indices_desc|sqrt|sqrt2|square|squared_distance|std_normal_cdf|std_normal_lccdf|std_normal_lcdf|std_normal_log_qf|std_normal_lpdf|std_normal_lupdf|std_normal_qf|std_normal_rng|step|student_t_cdf|student_t_lccdf|student_t_lcdf|student_t_lpdf|student_t_lupdf|student_t_rng|sub_col|sub_row|sum|svd|svd_U|svd_V|symmetrize_from_lower_tri|tail|tan|tanh|target|tcrossprod|tgamma|to_array_1d|to_array_2d|to_complex|to_int|to_matrix|to_row_vector|to_vector|trace|trace_gen_quad_form|trace_quad_form|trigamma|trunc|uniform_cdf|uniform_lccdf|uniform_lcdf|uniform_lpdf|uniform_lupdf|uniform_rng|uniform_simplex|variance|von_mises_cdf|von_mises_lccdf|von_mises_lcdf|von_mises_lpdf|von_mises_lupdf|von_mises_rng|weibull_cdf|weibull_lccdf|weibull_lcdf|weibull_lpdf|weibull_lupdf|weibull_rng|wiener_lpdf|wiener_lupdf|wishart_cholesky_lpdf|wishart_cholesky_lupdf|wishart_cholesky_rng|wishart_lpdf|wishart_lupdf|wishart_rng|zeros_array|zeros_int_array|zeros_row_vector)\\b\\s*\\("}]},"keywords":{"patterns":[{"name":"keyword.control.stan","match":"\\b(for|in|while|if|else)\\b"},{"match":"\\b(lower|upper|offset|multiplier)\\s*(=)","captures":{"1":{"name":"keyword.other.transform.stan"},"2":{"name":"punctuation.operator.equal.stan"}}},{"name":"keyword.other.return.stan","match":"\\breturn\\b"},{"match":"\\b(target)\\s*([+][=])","captures":{"1":{"name":"keyword.other.target.stan"},"2":{"name":"keyword.operator.accumulator.stan"}}},{"name":"keyword.other.special-functions.stan","match":"\\b(print|reject|target|fatal_error)\\b"},{"name":"keyword.other.truncation.stan","match":"\\bT(?=\\s*\\[)"}]},"numbers":{"patterns":[{"name":"constant.numeric.complex.stan","match":"(?x)\n(\n[0-9]+\\.[0-9]*([eE][+-]?[0-9]+)?\n|\n\\.[0-9]+([eE][+-]?[0-9]+)?\n|\n[0-9]+[eE][+-]?[0-9]+i\n)i"},{"name":"constant.numeric.real.stan","match":"(?x)\n(\n[0-9]+\\.[0-9]*([eE][+-]?[0-9]+)?\n|\n\\.[0-9]+([eE][+-]?[0-9]+)?\n|\n[0-9]+[eE][+-]?[0-9]+\n)"},{"name":"constant.numeric.integer.stan","match":"[0-9]+(_ [0-9]+)*(?=[^A-Za-z])"}]},"operators":{"patterns":[{"name":"invalid.deprecated.assignment.stan","match":"\u003c-"},{"name":"keyword.operator.colon.stan","match":":"},{"name":"keyword.operator.sampling.stan","match":"~"},{"name":"keyword.operator.conditional.stan","match":"[?]"},{"name":"keyword.operator.logical.stan","match":"[|]{2}|\u0026\u0026"},{"name":"keyword.operator.comparison.stan","match":"==|!=|\u003c=?|\u003e=?"},{"name":"keyword.operator.logical.stan","match":"!"},{"name":"keyword.operator.arithmetic.stan","match":"\\+|-|\\.?\\*|\\.?/|%|\\\\|\\^|'"},{"name":"keyword.operator.assignment.stan","match":"[+-]=|\\.?[*/]=|="},{"name":"keyword.operator.arithmetic.stan","match":"\\+|-|\\.?\\*|\\.?/|%|\\\\|\\^|'"}]},"punctuation":{"patterns":[{"name":"meta.delimiter.comma.stan","match":","},{"begin":"{","end":"}","patterns":[{"include":"$base"}],"beginCaptures":{"0":{"name":"punctuation.section.block.begin.stan"}},"endCaptures":{"0":{"name":"punctuation.section.block.end.stan"}}},{"name":"meta.brace.curly.stan","match":"[{}]"},{"name":"meta.brace.square.stan","match":"\\[|\\]"},{"name":"meta.brace.round.stan","match":"\\(|\\)"},{"name":"punctuation.terminator.statement.stan","match":"\\;"},{"name":"punctuation.sampling.bar.stan","match":"[|]"}]},"strings":{"patterns":[{"name":"string.quoted.double.stan","begin":"\"","end":"\"","patterns":[{"name":"invalid.illegal.string.stan","match":"[^ a-zA-Z0-9~@#$%^\u0026*_'`\\-+={}\\[\\]()\u003c\u003e|/!?.,;:\"]+"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.stan"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.stan"}}}]},"types":{"patterns":[{"name":"storage.type.stan","match":"\\b(int|real|data|complex|array|tuple|vector|simplex|unit_vector|ordered|positive_ordered|row_vector|matrix|complex_vector|complex_matrix|complex_row_vector|corr_matrix|cov_matrix|cholesky_factor_cov|cholesky_factor_corr|void)\\b"}]},"variables":{"patterns":[{"name":"invalid.illegal.reserved.stan","match":"\\b(for|in|while|repeat|until|if|then|else|true|false|var|struct|typedef|export|auto|extern|var|static)\\b"},{"name":"invalid.illegal.variable","match":"\\b([a-zA-Z0-9_]*__|[0-9_][A-Za-z0-9_]+|_)\\b"},{"match":"\\b[A-Za-z][0-9A-Za-z_]*\\b"}]}}}