github-linguist 7.18.0 → 7.19.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (72) hide show
  1. checksums.yaml +4 -4
  2. data/bin/github-linguist +1 -0
  3. data/grammars/liquid.injection.json +1 -0
  4. data/grammars/markdown.curry.codeblock.json +1 -0
  5. data/grammars/markdown.textproto.codeblock.json +1 -0
  6. data/grammars/source.2da.json +1 -0
  7. data/grammars/source.aidl.json +1 -1
  8. data/grammars/source.ballerina.json +1 -1
  9. data/grammars/source.bnd.json +1 -0
  10. data/grammars/source.cl.json +1 -0
  11. data/grammars/source.clar.json +1 -0
  12. data/grammars/source.clarion.json +1 -1
  13. data/grammars/source.clojure.json +1 -1
  14. data/grammars/source.cmd.json +1 -0
  15. data/grammars/source.cs.json +1 -1
  16. data/grammars/source.csound.json +1 -1
  17. data/grammars/source.curry.json +1 -0
  18. data/grammars/source.data-weave.json +1 -1
  19. data/grammars/source.dds.dspf.json +1 -0
  20. data/grammars/source.dds.icff.json +1 -0
  21. data/grammars/source.dds.lf.json +1 -0
  22. data/grammars/source.dds.pf.json +1 -0
  23. data/grammars/source.dds.prtf.json +1 -0
  24. data/grammars/source.deb-control.json +1 -0
  25. data/grammars/source.debian.makefile.json +1 -0
  26. data/grammars/source.denizenscript.json +1 -0
  27. data/grammars/source.elixir.json +1 -1
  28. data/grammars/source.euphoria.json +1 -0
  29. data/grammars/source.fsharp.json +1 -1
  30. data/grammars/source.gitignore.json +1 -1
  31. data/grammars/source.gleam.json +1 -0
  32. data/grammars/source.gsc.json +1 -0
  33. data/grammars/source.hoon.json +1 -0
  34. data/grammars/source.icurry.json +1 -0
  35. data/grammars/source.janet.json +1 -0
  36. data/grammars/source.js.json +1 -1
  37. data/grammars/source.julia.json +1 -1
  38. data/grammars/source.mi.json +1 -0
  39. data/grammars/source.miniyaml.json +1 -0
  40. data/grammars/source.mint.json +1 -0
  41. data/grammars/source.mlir.json +1 -1
  42. data/grammars/source.pcb.schematic.json +1 -1
  43. data/grammars/source.pcb.sexp.json +1 -1
  44. data/grammars/source.pnlgrp.json +1 -0
  45. data/grammars/source.procfile.json +1 -0
  46. data/grammars/source.proto.json +1 -1
  47. data/grammars/source.python.kivy.json +1 -0
  48. data/grammars/source.qsharp.json +1 -1
  49. data/grammars/source.rascal.json +1 -1
  50. data/grammars/source.rescript.json +1 -1
  51. data/grammars/source.rpg.json +1 -0
  52. data/grammars/source.rpgle.json +1 -0
  53. data/grammars/source.shellcheckrc.json +1 -1
  54. data/grammars/source.smali.json +1 -1
  55. data/grammars/source.solidity.json +1 -1
  56. data/grammars/source.textproto.json +1 -0
  57. data/grammars/source.ts.json +1 -1
  58. data/grammars/source.tsx.json +1 -1
  59. data/grammars/source.vyper.json +1 -1
  60. data/grammars/source.witcherscript.json +1 -0
  61. data/grammars/source.wsd.json +1 -1
  62. data/grammars/text.html.liquid.json +1 -1
  63. data/grammars/text.rtf.json +1 -1
  64. data/grammars/version +1 -1
  65. data/lib/linguist/VERSION +1 -1
  66. data/lib/linguist/generated.rb +13 -1
  67. data/lib/linguist/heuristics.yml +51 -1
  68. data/lib/linguist/languages.json +1 -1
  69. data/lib/linguist/languages.yml +179 -1
  70. data/lib/linguist/samples.json +1 -1
  71. data/lib/linguist/vendor.yml +1 -1
  72. metadata +67 -34
@@ -0,0 +1 @@
1
+ {"name":"Euphoria","scopeName":"source.euphoria","patterns":[{"include":"#comments"},{"include":"#entities"},{"include":"#keywords"},{"include":"#strings"}],"repository":{"comments":{"patterns":[{"name":"comment.line.double-dash.euphoria","match":"((?:--).*)$"},{"name":"comment.block.euphoria","begin":"/\\*","end":"\\*/"}]},"entities":{"patterns":[{"match":"^\\s*(namespace)\\s+(\\w+)$","captures":{"1":{"name":"keyword.other.euphoria"},"2":{"name":"entity.name.section"}}},{"match":"^\\s*(?:(deprecate)\\s+)?(?:(public|export|global|override)\\s+)?(function|procedure)\\s+(\\w+)","captures":{"1":{"name":"invalid.deprecated"},"2":{"name":"storage.modifier.euphoria"},"3":{"name":"storage.type.function"},"4":{"name":"entity.name.function"}}},{"match":"^\\s*(?:(deprecate)\\s+)?(?:(public|export|global|override)\\s+)?(type)\\s+(\\w+)","captures":{"1":{"name":"invalid.deprecated"},"2":{"name":"storage.modifier.euphoria"},"3":{"name":"storage.type.function"},"4":{"name":"entity.name.type"}}}]},"keywords":{"patterns":[{"name":"keyword.control.euphoria","match":"\\b(break|case|continue|do|else|elsif|entry|exit|for|goto|if|label|loop|retry|return|switch|then|until|while)\\b"},{"name":"keyword.operator.euphoria","match":"\\b(!|\\?|and|not|or|xor)\\b"},{"name":"keyword.other.euphoria","match":"\\b(as|by|constant|elsedef|elsifdef|end|enum|fallthru|ifdef|include|namespace|routine|to|with|without)\\b"},{"name":"storage.modifier.euphoria","match":"\\b(deprecate|export|global|override|public)\\b"},{"name":"storage.type.euphoria","match":"\\b(enum|constant|function|procedure|type)\\b"},{"name":"support.function.euphoria","match":"\\b(abort|and_bits|append|arctan|c_func|c_proc|call|call_func|call_proc|clear_screen|close|command_line|compare|cos|date|delete|delete_routine|equal|find|find_from|floor|get_key|getc|getenv|gets|hash|head|include_paths|insert|length|log|machine_func|machine_proc|match|match_from|mem_copy|mem_set|not_bits|open|option_switches|or_bits|peek|peek2s|peek2u|peek4s|peek4u|peek_string|peeks|platform|poke|poke2|poke4|position|power|prepend|print|printf|puts|rand|remainder|remove|repeat|replace|routine_id|sin|splice|sprintf|sqrt|system|system_exec|tail|tan|task_clock_start|task_clock_stop|task_create|task_list|task_schedule|task_self|task_status|task_suspend|task_yield|time|trace|xor_bits)\\b"},{"name":"support.type.euphoria","match":"\\b(atom|integer|object|sequence)\\b"}]},"strings":{"patterns":[{"name":"string.quoted.single.euphoria","begin":"'","end":"'","patterns":[{"name":"constant.character.escape.euphoria","match":"\\\\."}]},{"name":"string.quoted.double.euphoria","begin":"\"","end":"\"","patterns":[{"name":"constant.character.escape.euphoria","match":"\\\\."}]},{"name":"string.quoted.triple.euphoria","begin":"\"\"\"","end":"\"\"\""},{"name":"string.quoted.other.euphoria","begin":"`","end":"`"}]}}}
@@ -1 +1 @@
1
- {"name":"fsharp","scopeName":"source.fsharp","patterns":[{"include":"#compiler_directives"},{"include":"#comments"},{"include":"#constants"},{"include":"#strings"},{"include":"#chars"},{"include":"#double_tick"},{"include":"#definition"},{"include":"#abstract_definition"},{"include":"#attributes"},{"include":"#modules"},{"include":"#anonymous_functions"},{"include":"#du_declaration"},{"include":"#record_declaration"},{"include":"#records"},{"include":"#strp_inlined"},{"include":"#keywords"},{"include":"#cexprs"},{"include":"#text"}],"repository":{"abstract_definition":{"name":"abstract.definition.fsharp","begin":"\\b(abstract)\\s+(member)?(\\s+\\[\\\u003c.*\\\u003e\\])?\\s*([_[:alpha:]0-9,\\._`\\s]+)(:)","end":"\\s*(with)\\b|=|$","patterns":[{"include":"#comments"},{"include":"#common_declaration"},{"match":"(\\?{0,1})([[:alpha:]0-9'`^._ ]+)\\s*(:)((?!with\\b)\\b([\\w0-9'`^._ ]+)){0,1}","captures":{"1":{"name":"keyword.symbol.fsharp"},"2":{"name":"variable.parameter.fsharp"},"3":{"name":"keyword.symbol.fsharp"},"4":{"name":"entity.name.type.fsharp"}}},{"match":"(?!with|get|set\\b)\\b([\\w0-9'`^._]+)","captures":{"1":{"name":"entity.name.type.fsharp"}}},{"include":"#keywords"}],"beginCaptures":{"1":{"name":"keyword.fsharp"},"2":{"name":"keyword.fsharp"},"3":{"name":"support.function.attribute.fsharp"},"5":{"name":"keyword.fsharp"}},"endCaptures":{"1":{"name":"keyword.fsharp"}}},"anonymous_functions":{"patterns":[{"name":"function.anonymous","begin":"\\b(fun)\\b","end":"(-\u003e)","patterns":[{"include":"#comments"},{"begin":"(\\()","end":"\\s*(?=(-\u003e))","patterns":[{"include":"#member_declaration"}],"beginCaptures":{"1":{"name":"keyword.symbol.arrow.fsharp"}},"endCaptures":{"1":{"name":"keyword.symbol.arrow.fsharp"}}},{"include":"#variables"}],"beginCaptures":{"1":{"name":"keyword.fsharp"}},"endCaptures":{"1":{"name":"keyword.symbol.arrow.fsharp"}}}]},"anonymous_record_declaration":{"begin":"(\\{\\|)","end":"(\\|\\})","patterns":[{"match":"[[:alpha:]0-9'`^_ ]+(:)","captures":{"1":{"name":"keyword.symbol.fsharp"}}},{"match":"([[:alpha:]0-9'`^_ ]+)","captures":{"1":{"name":"entity.name.type.fsharp"}}},{"include":"#anonymous_record_declaration"},{"include":"#keywords"}],"beginCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"endCaptures":{"1":{"name":"keyword.symbol.fsharp"}}},"attributes":{"patterns":[{"name":"support.function.attribute.fsharp","begin":"\\[\\\u003c","end":"\\\u003e\\]|\\]","patterns":[{"include":"$self"}]}]},"cexprs":{"patterns":[{"name":"cexpr.fsharp","match":"\\b(async|seq|promise|task|maybe|asyncMaybe|controller|scope|application|pipeline)\\s*\\{","captures":{"0":{"name":"keyword.fsharp"}}}]},"chars":{"patterns":[{"name":"char.fsharp","match":"('\\\\?.')","captures":{"1":{"name":"string.quoted.single.fsharp"}}}]},"comments":{"patterns":[{"name":"comment.block.markdown.fsharp","begin":"^\\s*(\\(\\*\\*(?!\\)))((?!\\*\\)).)*$","while":"^(?!\\s*(\\*)+\\)$)","patterns":[{"include":"source.gfm"}],"beginCaptures":{"1":{"name":"comment.block.fsharp"}},"endCaptures":{"1":{"name":"comment.block.fsharp"}}},{"name":"comment.block.fsharp","begin":"(\\(\\*(?!\\)))","end":"(\\*\\))","patterns":[{"name":"fast-capture.comment.line.double-slash.fsharp","match":"//"},{"include":"#comments"}],"beginCaptures":{"1":{"name":"comment.block.fsharp"}},"endCaptures":{"1":{"name":"comment.block.fsharp"}}},{"name":"comment.block.markdown.fsharp.end","match":"((?\u003c!\\()(\\*)+\\))","captures":{"1":{"name":"comment.block.fsharp"}}},{"name":"comment.line.markdown.fsharp","begin":"///","while":"///","patterns":[{"include":"source.gfm"}]},{"name":"comment.line.double-slash.fsharp","match":"//.*$"}]},"common_binding_definition":{"patterns":[{"include":"#comments"},{"include":"#attributes"},{"begin":"(:)\\s*(\\()\\s*(static member|member)","end":"(\\))\\s*((?=,)|(?=\\=))","patterns":[{"match":"(\\^[[:alpha:]0-9'._]+)","captures":{"1":{"name":"entity.name.type.fsharp"}}},{"include":"#variables"},{"include":"#keywords"}],"beginCaptures":{"1":{"name":"keyword.symbol.fsharp"},"2":{"name":"keyword.symbol.fsharp"},"3":{"name":"keyword.fsharp"}},"endCaptures":{"1":{"name":"keyword.symbol.fsharp"}}},{"begin":"(:)\\s*(\\()","end":"(\\)\\s*(([?[:alpha:]0-9'`^._ ]*)))","patterns":[{"include":"#tuple_signature"}],"beginCaptures":{"1":{"name":"keyword.symbol.fsharp"},"2":{"name":"keyword.symbol.fsharp"}},"endCaptures":{"1":{"name":"keyword.symbol.fsharp"},"2":{"name":"entity.name.type.fsharp"}}},{"begin":"(:)\\s*(\\^[[:alpha:]0-9'._]+)\\s*(when)","end":"(?=:)","patterns":[{"name":"keyword.fsharp","match":"\\b(and|when|or)\\b"},{"match":"([[:alpha:]0-9'^._]+)","captures":{"1":{"name":"entity.name.type.fsharp"}}},{"name":"keyword.symbol.fsharp","match":"(\\(|\\))"}],"beginCaptures":{"1":{"name":"keyword.symbol.fsharp"},"2":{"name":"entity.name.type.fsharp"},"3":{"name":"keyword.fsharp"}},"endCaptures":{"1":{"name":"keyword.symbol.fsharp"}}},{"match":"(:)\\s*([?[:alpha:]0-9'`^._ ]+)","captures":{"1":{"name":"keyword.symbol.fsharp"},"2":{"name":"entity.name.type.fsharp"}}},{"match":"(-\u003e)\\s*(\\()?\\s*([?[:alpha:]0-9'`^._ ]+)*","captures":{"1":{"name":"keyword.symbol.fsharp"},"2":{"name":"keyword.symbol.fsharp"},"3":{"name":"entity.name.type.fsharp"}}},{"begin":"(\\*)\\s*(\\()","end":"(\\)\\s*(([?[:alpha:]0-9'`^._ ]+))+)","patterns":[{"include":"#tuple_signature"}],"beginCaptures":{"1":{"name":"keyword.symbol.fsharp"},"2":{"name":"keyword.symbol.fsharp"}},"endCaptures":{"1":{"name":"keyword.symbol.fsharp"},"2":{"name":"entity.name.type.fsharp"}}},{"begin":"(\\*)(\\s*([?[:alpha:]0-9'`^._ ]+))*","end":"(?==)|(?=\\))","patterns":[{"include":"#tuple_signature"}],"beginCaptures":{"1":{"name":"keyword.symbol.fsharp"},"2":{"name":"entity.name.type.fsharp"}},"endCaptures":{"1":{"name":"keyword.symbol.fsharp"}}},{"begin":"(\u003c+(?![[:space:]]*\\)))","end":"((?\u003c!:)\u003e|\\))","patterns":[{"include":"#generic_declaration"}],"beginCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"endCaptures":{"1":{"name":"keyword.symbol.fsharp"}}},{"include":"#anonymous_record_declaration"},{"begin":"({)","end":"(})","patterns":[{"include":"#record_signature"}],"beginCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"endCaptures":{"1":{"name":"keyword.symbol.fsharp"}}},{"include":"#definition"},{"include":"#variables"},{"include":"#keywords"}]},"common_declaration":{"patterns":[{"begin":"\\s*(-\u003e)\\s*([[:alpha:]0-9'`^._ ]+)(\u003c)","end":"(\u003e)","patterns":[{"match":"([[:alpha:]0-9'`^._ ]+)","captures":{"1":{"name":"entity.name.type.fsharp"}}},{"include":"#keywords"}],"beginCaptures":{"1":{"name":"keyword.symbol.fsharp"},"2":{"name":"entity.name.type.fsharp"},"3":{"name":"keyword.symbol.fsharp"}},"endCaptures":{"1":{"name":"keyword.symbol.fsharp"}}},{"match":"\\s*(-\u003e)\\s*(?!with|get|set\\b)\\b([\\w0-9'`^._]+)","captures":{"1":{"name":"keyword.symbol.fsharp"},"2":{"name":"entity.name.type.fsharp"}}},{"include":"#anonymous_record_declaration"},{"begin":"(\\?{0,1})([[:alpha:]0-9'`^._ ]+)\\s*(:)(\\s*([?[:alpha:]0-9'`^._ ]+)(\u003c))","end":"(\u003e)","patterns":[{"match":"([[:alpha:]0-9'`^._ ]+)","captures":{"1":{"name":"entity.name.type.fsharp"}}},{"include":"#keywords"}],"beginCaptures":{"1":{"name":"keyword.symbol.fsharp"},"2":{"name":"variable.parameter.fsharp"},"3":{"name":"keyword.symbol.fsharp"},"4":{"name":"keyword.symbol.fsharp"},"5":{"name":"entity.name.type.fsharp"}},"endCaptures":{"1":{"name":"keyword.symbol.fsharp"}}}]},"compiler_directives":{"patterns":[{"name":"keyword.control.directive.fsharp","match":"\\s?(#if|#elif|#elseif|#else|#endif|#light|#nowarn)"}]},"constants":{"patterns":[{"name":"constant.language.unit.fsharp","match":"\\(\\)"},{"name":"constant.numeric.float.fsharp","match":"\\b-?[0-9][0-9_]*((\\.([0-9][0-9_]*([eE][+-]??[0-9][0-9_]*)?)?)|([eE][+-]??[0-9][0-9_]*))"},{"name":"constant.numeric.integer.nativeint.fsharp","match":"\\b(-?((0(x|X)[0-9a-fA-F][0-9a-fA-F_]*)|(0(o|O)[0-7][0-7_]*)|(0(b|B)[01][01_]*)|([0-9][0-9_]*)))"},{"name":"constant.language.boolean.fsharp","match":"\\b(true|false)\\b"},{"name":"constant.other.fsharp","match":"\\b(null|unit|void)\\b"}]},"definition":{"patterns":[{"name":"binding.fsharp","begin":"\\b(let mutable|static let mutable|static let|let inline|let|member val|static member inline|static member|default|member|override|let!)(\\s+rec|mutable)?(\\s+\\[\\\u003c.*\\\u003e\\])?\\s*(private|internal|public)?\\s+(\\[[^-=]*\\]|[_[:alpha:]]([_[:alpha:]0-9\\._]+)*|``[_[:alpha:]]([_[:alpha:]0-9\\._`\\s]+|(?\u003c=,)\\s)*)?","end":"\\s*(with\\b|=|\\n+=|(?\u003c=\\=))","patterns":[{"include":"#common_binding_definition"}],"beginCaptures":{"1":{"name":"keyword.fsharp"},"2":{"name":"keyword.fsharp"},"3":{"name":"support.function.attribute.fsharp"},"4":{"name":"storage.modifier.fsharp"},"5":{"name":"variable.fsharp"}},"endCaptures":{"1":{"name":"keyword.fsharp"}}},{"name":"binding.fsharp","begin":"(?\u003c=with|and)\\s*\\b((get|set)\\s*(?=\\())(\\[[^-=]*\\]|[_[:alpha:]]([_[:alpha:]0-9\\._]+)*|``[_[:alpha:]]([_[:alpha:]0-9\\._`\\s]+|(?\u003c=,)\\s)*)?","end":"\\s*(=|\\n+=|(?\u003c=\\=))","patterns":[{"include":"#common_binding_definition"}],"beginCaptures":{"4":{"name":"variable.fsharp"}},"endCaptures":{"1":{"name":"keyword.fsharp"}}},{"name":"binding.fsharp","begin":"\\b(static val mutable|val mutable|val)(\\s+rec|mutable)?(\\s+\\[\\\u003c.*\\\u003e\\])?\\s*(private|internal|public)?\\s+(\\[[^-=]*\\]|[_[:alpha:]]([_[:alpha:]0-9,\\._]+)*|``[_[:alpha:]]([_[:alpha:]0-9,\\._`\\s]+|(?\u003c=,)\\s)*)?","end":"\\n$","patterns":[{"include":"#common_binding_definition"}],"beginCaptures":{"1":{"name":"keyword.fsharp"},"2":{"name":"keyword.fsharp"},"3":{"name":"support.function.attribute.fsharp"},"4":{"name":"storage.modifier.fsharp"},"5":{"name":"variable.fsharp"}}},{"name":"binding.fsharp","begin":"\\b(new)\\b\\s+(\\()","end":"(\\))","patterns":[{"include":"#common_binding_definition"}],"beginCaptures":{"1":{"name":"keyword.fsharp"},"2":{"name":"keyword.fsharp"}},"endCaptures":{"1":{"name":"keyword.fsharp"}}}]},"double_tick":{"patterns":[{"name":"variable.other.binding.fsharp","match":"(``)([^`]*)(``)","captures":{"1":{"name":"string.quoted.single.fsharp"},"2":{"name":"variable.other.binding.fsharp"},"3":{"name":"string.quoted.single.fsharp"}}}]},"du_declaration":{"patterns":[{"name":"du_declaration.fsharp","begin":"\\b(of)\\b","end":"$|(\\|)","patterns":[{"include":"#comments"},{"match":"([[:alpha:]0-9'`\u003c\u003e^._]+|``[[:alpha:]0-9' \u003c\u003e^._]+``)\\s*(:)\\s*([[:alpha:]0-9'`\u003c\u003e^._]+|``[[:alpha:]0-9' \u003c\u003e^._]+``)","captures":{"1":{"name":"variable.parameter.fsharp"},"2":{"name":"keyword.symbol.fsharp"},"3":{"name":"entity.name.type.fsharp"}}},{"match":"(``([[:alpha:]0-9'^._ ]+)``|[[:alpha:]0-9'`^._]+)","captures":{"1":{"name":"entity.name.type.fsharp"}}},{"include":"#anonymous_record_declaration"},{"include":"#keywords"}],"beginCaptures":{"1":{"name":"keyword.fsharp"}},"endCaptures":{"1":{"name":"keyword.symbol.fsharp"}}}]},"generic_declaration":{"patterns":[{"begin":"(:)\\s*(\\()\\s*(static member|member)","end":"(\\))","patterns":[{"begin":"(\\()","end":"(\\))","patterns":[{"include":"#member_declaration"}],"beginCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"endCaptures":{"1":{"name":"keyword.symbol.fsharp"}}},{"match":"(('|\\^)[[:alpha:]0-9'._]+)","captures":{"1":{"name":"entity.name.type.fsharp"}}},{"include":"#variables"},{"include":"#keywords"}],"beginCaptures":{"1":{"name":"keyword.symbol.fsharp"},"2":{"name":"keyword.symbol.fsharp"},"3":{"name":"keyword.fsharp"}},"endCaptures":{"1":{"name":"keyword.symbol.fsharp"}}},{"name":"keyword.fsharp","match":"\\b(private|to|public|internal|function|yield!|yield|class|exception|match|delegate|of|new|in|as|if|then|else|elif|for|begin|end|inherit|do|let\\!|return\\!|return|interface|with|abstract|enum|member|try|finally|and|when|or|use|use\\!|struct|while|mutable|assert|base|done|downcast|downto|extern|fixed|global|lazy|upcast|not)(?!')\\b"},{"name":"keyword.fsharp","match":":"},{"include":"#constants"},{"match":"(('|\\^)[[:alpha:]0-9'._]+)","captures":{"1":{"name":"entity.name.type.fsharp"}}},{"begin":"(\u003c)","end":"(\u003e)","patterns":[{"match":"(('|\\^)[[:alpha:]0-9'._]+)","captures":{"1":{"name":"entity.name.type.fsharp"}}},{"include":"#tuple_signature"},{"include":"#generic_declaration"}],"beginCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"endCaptures":{"1":{"name":"keyword.symbol.fsharp"}}},{"begin":"(\\()","end":"(\\))","patterns":[{"match":"(([?[:alpha:]0-9'`^._ ]+))+","captures":{"1":{"name":"entity.name.type.fsharp"}}},{"include":"#tuple_signature"}],"beginCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"endCaptures":{"1":{"name":"keyword.symbol.fsharp"}}},{"match":"(?!when|and|or\\b)\\b([\\w0-9'`^._]+)","captures":{"1":{"name":"entity.name.type.fsharp"}}},{"match":"(\\|)","captures":{"1":{"name":"keyword.symbol.fsharp"}}},{"include":"#keywords"}]},"keywords":{"patterns":[{"name":"storage.modifier","match":"\\b(private|public|internal)\\b"},{"name":"keyword.fsharp","match":"\\b(private|to|public|internal|function|class|exception|delegate|of|as|begin|end|inherit|let!|interface|abstract|enum|member|and|when|or|use|use\\!|struct|mutable|assert|base|done|downcast|downto|extern|fixed|global|lazy|upcast|not)(?!')\\b"},{"name":"keyword.control","match":"\\b(match|yield|yield!|with|if|then|else|elif|for|in|return!|return|try|finally|while|do)(?!')\\b"},{"name":"keyword.symbol.new","match":"\\b(new)\\b"},{"name":"keyword.symbol.fsharp","match":"(\u0026\u0026\u0026|\\|\\|\\||\\^\\^\\^|~~~|\u003c\u003c\u003c|\u003e\u003e\u003e|\\|\u003e|\\-\u003e|\\\u003c\\-|:\u003e|:\\?\u003e|:|\\[|\\]|\\;|\u003c\u003e|=|@|\\|\\||\u0026\u0026|{|}|\\||_|\\.\\.|\\,|\\+|\\-|\\*|\\/|\\^|\\!|\\\u003e|\\\u003e\\=|\\\u003e\\\u003e|\\\u003c|\\\u003c\\=|\\(|\\)|\\\u003c\\\u003c)"}]},"member_declaration":{"patterns":[{"include":"#comments"},{"include":"#common_declaration"},{"begin":"(:)\\s*(\\()\\s*(static member|member)","end":"(\\))\\s*((?=,)|(?=\\=))","patterns":[{"begin":"(\\()","end":"(\\))","patterns":[{"include":"#member_declaration"}],"beginCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"endCaptures":{"1":{"name":"keyword.symbol.fsharp"}}},{"match":"(\\^[[:alpha:]0-9'._]+)","captures":{"1":{"name":"entity.name.type.fsharp"}}},{"include":"#variables"},{"include":"#keywords"}],"beginCaptures":{"1":{"name":"keyword.symbol.fsharp"},"2":{"name":"keyword.symbol.fsharp"},"3":{"name":"keyword.fsharp"}},"endCaptures":{"1":{"name":"keyword.symbol.fsharp"}}},{"match":"(\\^[[:alpha:]0-9'._]+)","captures":{"1":{"name":"entity.name.type.fsharp"}}},{"name":"keyword.fsharp","match":"\\b(and|when|or)\\b"},{"name":"keyword.symbol.fsharp","match":"(\\(|\\))"},{"match":"(\\?{0,1})([[:alpha:]0-9'`^._]+|``[[:alpha:]0-9'`^:,._ ]+``)\\s*(:{0,1})(\\s*([?[:alpha:]0-9'`\u003c\u003e._ ]+)){0,1}","captures":{"1":{"name":"keyword.symbol.fsharp"},"2":{"name":"variable.parameter.fsharp"},"3":{"name":"keyword.symbol.fsharp"},"4":{"name":"entity.name.type.fsharp"}}},{"include":"#keywords"}]},"modules":{"patterns":[{"name":"entity.name.section.fsharp","begin":"\\b(namespace global)|\\b(namespace|module)\\s*(public|internal|private|rec)?\\s+([[:alpha:]][[:alpha:]0-9'_. ]*)","end":"(\\s?=|\\s|$)","patterns":[{"name":"entity.name.section.fsharp","match":"(\\.)([A-Z][[:alpha:]0-9'_]*)","captures":{"1":{"name":"punctuation.separator.namespace-reference.fsharp"},"2":{"name":"entity.name.section.fsharp"}}}],"beginCaptures":{"1":{"name":"keyword.fsharp"},"2":{"name":"keyword.fsharp"},"3":{"name":"storage.modifier.fsharp"},"4":{"name":"entity.name.section.fsharp"}},"endCaptures":{"1":{"name":"keyword.symbol.fsharp"}}},{"name":"namespace.open.fsharp","begin":"\\b(open)\\s+([[:alpha:]][[:alpha:]0-9'_]*)(?=(\\.[A-Z][[:alpha:]0-9_]*)*)","end":"(\\s|$)","patterns":[{"name":"entity.name.section.fsharp","match":"(\\.)([[:alpha:]][[:alpha:]0-9'_]*)","captures":{"1":{"name":"punctuation.separator.namespace-reference.fsharp"},"2":{"name":"entity.name.section.fsharp"}}},{"include":"#comments"}],"beginCaptures":{"1":{"name":"keyword.fsharp"},"2":{"name":"entity.name.section.fsharp"}}},{"name":"namespace.alias.fsharp","begin":"^\\s*(module)\\s+([A-Z][[:alpha:]0-9'_]*)\\s*(=)\\s*([A-Z][[:alpha:]0-9'_]*)","end":"(\\s|$)","patterns":[{"name":"entity.name.section.fsharp","match":"(\\.)([A-Z][[:alpha:]0-9'_]*)","captures":{"1":{"name":"punctuation.separator.namespace-reference.fsharp"},"2":{"name":"entity.name.section.fsharp"}}}],"beginCaptures":{"1":{"name":"keyword.fsharp"},"2":{"name":"entity.name.type.namespace.fsharp"},"3":{"name":"punctuation.separator.namespace-definition.fsharp"},"4":{"name":"entity.name.section.fsharp"}}}]},"record_declaration":{"patterns":[{"begin":"(\\{)","end":"(?\u003c=\\})","patterns":[{"include":"#comments"},{"begin":"(((mutable)\\s[[:alpha:]]+)|[[:alpha:]0-9'`\u003c\u003e^._]*)\\s*((?\u003c!:):(?!:))\\s*","end":"$|(;|\\})","patterns":[{"include":"#comments"},{"match":"([[:alpha:]0-9'`^_ ]+)","captures":{"1":{"name":"entity.name.type.fsharp"}}},{"include":"#keywords"}],"beginCaptures":{"3":{"name":"keyword.fsharp"},"4":{"name":"keyword.symbol.fsharp"}},"endCaptures":{"1":{"name":"keyword.symbol.fsharp"}}},{"include":"#compiler_directives"},{"include":"#constants"},{"include":"#strings"},{"include":"#chars"},{"include":"#double_tick"},{"include":"#definition"},{"include":"#attributes"},{"include":"#anonymous_functions"},{"include":"#keywords"},{"include":"#cexprs"},{"include":"#text"}],"beginCaptures":{"1":{"name":"keyword.symbol.fsharp"}}}]},"record_signature":{"patterns":[{"match":"[[:alpha:]0-9'`^_ ]+(=)([[:alpha:]0-9'`^_ ]+)","captures":{"1":{"name":"keyword.symbol.fsharp"},"2":{"name":"variable.parameter.fsharp"}}},{"begin":"({)","end":"(})","patterns":[{"match":"[[:alpha:]0-9'`^_ ]+(=)([[:alpha:]0-9'`^_ ]+)","captures":{"1":{"name":"keyword.symbol.fsharp"},"2":{"name":"variable.parameter.fsharp"}}},{"include":"#record_signature"}],"beginCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"endCaptures":{"1":{"name":"keyword.symbol.fsharp"}}},{"include":"#keywords"}]},"records":{"patterns":[{"name":"record.fsharp","begin":"\\b(type)[\\s]+(private|internal|public)?\\s*","end":"\\s*((with)|((as)\\s+([[:alpha:]0-9']+))|(=)|[\\n=]|(\\(\\)))","patterns":[{"include":"#comments"},{"include":"#attributes"},{"match":"([[:alpha:]0-9'^._]+|``[[:alpha:]0-9'`^:,._ ]+``)","captures":{"1":{"name":"entity.name.type.fsharp"}}},{"begin":"(\u003c)","end":"((?\u003c!:)\u003e)","patterns":[{"match":"(('|\\^)``[[:alpha:]0-9`^:,._ ]+``|('|\\^)[[:alpha:]0-9`^:._]+)","captures":{"1":{"name":"entity.name.type.fsharp"}}},{"name":"keyword.fsharp","match":"\\b(interface|with|abstract|and|when|or|not|struct|equality|comparison|unmanaged|delegate|enum)\\b"},{"begin":"(\\()","end":"(\\))","patterns":[{"match":"(static member|member|new)","captures":{"1":{"name":"keyword.fsharp"}}},{"include":"#common_binding_definition"}],"beginCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"endCaptures":{"1":{"name":"keyword.symbol.fsharp"}}},{"match":"([\\w0-9'`^._]+)","captures":{"1":{"name":"entity.name.type.fsharp"}}},{"include":"#keywords"}],"beginCaptures":{"1":{"name":"keyword.fsharp"}},"endCaptures":{"1":{"name":"keyword.fsharp"}}},{"match":"\\s*(private|internal|public)","captures":{"1":{"name":"keyword.symbol.fsharp"},"2":{"name":"storage.modifier.fsharp"}}},{"begin":"(\\()","end":"\\s*(?=(=)|[\\n=]|(\\(\\))|(as))","patterns":[{"include":"#member_declaration"}],"beginCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"endCaptures":{"1":{"name":"keyword.symbol.fsharp"}}},{"include":"#keywords"}],"beginCaptures":{"1":{"name":"keyword.fsharp"},"2":{"name":"storage.modifier.fsharp"}},"endCaptures":{"2":{"name":"keyword.fsharp"},"3":{"name":"keyword.fsharp"},"4":{"name":"keyword.fsharp"},"5":{"name":"variable.parameter.fsharp"},"6":{"name":"keyword.symbol.fsharp"},"7":{"name":"constant.language.unit.fsharp"}}}]},"string_formatter":{"patterns":[{"name":"entity.name.type.format.specifier.fsharp","match":"(%0?-?(\\d+)?((a|t)|(\\.\\d+)?(f|F|e|E|g|G|M)|(b|c|s|d|i|x|X|o|u)|(s|b|O)|(\\+?A)))","captures":{"1":{"name":"keyword.format.specifier.fsharp"}}}]},"strings":{"patterns":[{"name":"string.quoted.literal.fsharp","begin":"(?=[^\\\\])(@\")","end":"(\")(?!\")","patterns":[{"name":"constant.character.string.escape.fsharp","match":"\"(\")"}],"beginCaptures":{"1":{"name":"punctuation.definition.string.begin.fsharp"}},"endCaptures":{"1":{"name":"punctuation.definition.string.end.fsharp"}}},{"name":"string.quoted.triple.fsharp","begin":"(?=[^\\\\])(\"\"\")","end":"(\"\"\")","patterns":[{"include":"#string_formatter"}],"beginCaptures":{"1":{"name":"punctuation.definition.string.begin.fsharp"}},"endCaptures":{"1":{"name":"punctuation.definition.string.end.fsharp"}}},{"name":"string.quoted.double.fsharp","begin":"(?=[^\\\\])(\")","end":"(\")","patterns":[{"name":"punctuation.separator.string.ignore-eol.fsharp","match":"\\\\$[ \\t]*"},{"name":"constant.character.string.escape.fsharp","match":"\\\\([\\\\''ntbr]|x[a-fA-F0-9]{2}|u[a-fA-F0-9]{4}|u[a-fA-F0-9]{8})"},{"name":"invalid.illeagal.character.string.fsharp","match":"\\\\(?![\\\\''ntbr]|x[a-fA-F0-9]{2}|u[a-fA-F0-9]{4}|u[a-fA-F0-9]{8})."},{"include":"#string_formatter"}],"beginCaptures":{"1":{"name":"punctuation.definition.string.begin.fsharp"}},"endCaptures":{"1":{"name":"punctuation.definition.string.end.fsharp"}}}]},"strp_inlined":{"patterns":[{"begin":"(\\()","end":"(\\))","patterns":[{"include":"#strp_inlined_body"}],"beginCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"endCaptures":{"1":{"name":"keyword.symbol.fsharp"}}}]},"strp_inlined_body":{"patterns":[{"include":"#comments"},{"include":"#anonymous_functions"},{"match":"(\\^[[:alpha:]0-9'._]+)","captures":{"1":{"name":"entity.name.type.fsharp"}}},{"name":"keyword.fsharp","match":"\\b(and|when|or)\\b"},{"begin":"(\\()","end":"(\\))","patterns":[{"include":"#strp_inlined_body"}],"beginCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"endCaptures":{"1":{"name":"keyword.symbol.fsharp"}}},{"match":"(static member|member)\\s*([[:alpha:]0-9'`\u003c\u003e^._]+|``[[:alpha:]0-9' \u003c\u003e^._]+``)\\s*(:)","captures":{"1":{"name":"keyword.fsharp"},"2":{"name":"variable.fsharp"},"3":{"name":"keyword.symbol.fsharp"}}},{"include":"#compiler_directives"},{"include":"#constants"},{"include":"#strings"},{"include":"#chars"},{"include":"#double_tick"},{"include":"#keywords"},{"include":"#text"},{"include":"#definition"},{"include":"#attributes"},{"include":"#keywords"},{"include":"#cexprs"},{"include":"#text"}]},"text":{"patterns":[{"name":"text.fsharp","match":"\\\\"}]},"tuple_signature":{"patterns":[{"match":"(([?[:alpha:]0-9'`^._ ]+))+","captures":{"1":{"name":"entity.name.type.fsharp"}}},{"begin":"(\\()","end":"(\\))","patterns":[{"match":"(([?[:alpha:]0-9'`^._ ]+))+","captures":{"1":{"name":"entity.name.type.fsharp"}}},{"include":"#tuple_signature"}],"beginCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"endCaptures":{"1":{"name":"keyword.symbol.fsharp"}}},{"include":"#keywords"}]},"variables":{"patterns":[{"name":"constant.language.unit.fsharp","match":"\\(\\)"},{"match":"(\\?{0,1})(``[[:alpha:]0-9'`^:,._ ]+``|(?!private\\b)\\b[\\w[:alpha:]0-9'`\u003c\u003e^._ ]+)","captures":{"1":{"name":"keyword.symbol.fsharp"},"2":{"name":"variable.parameter.fsharp"}}}]}}}
1
+ {"name":"fsharp","scopeName":"source.fsharp","patterns":[{"include":"#compiler_directives"},{"include":"#comments"},{"include":"#constants"},{"include":"#strings"},{"include":"#chars"},{"include":"#double_tick"},{"include":"#definition"},{"include":"#abstract_definition"},{"include":"#attributes"},{"include":"#modules"},{"include":"#anonymous_functions"},{"include":"#du_declaration"},{"include":"#record_declaration"},{"include":"#records"},{"include":"#strp_inlined"},{"include":"#keywords"},{"include":"#cexprs"},{"include":"#text"}],"repository":{"abstract_definition":{"name":"abstract.definition.fsharp","begin":"\\b(abstract)\\s+(member)?(\\s+\\[\\\u003c.*\\\u003e\\])?\\s*([_[:alpha:]0-9,\\._`\\s]+)(:)","end":"\\s*(with)\\b|=|$","patterns":[{"include":"#comments"},{"include":"#common_declaration"},{"match":"(\\?{0,1})([[:alpha:]0-9'`^._ ]+)\\s*(:)((?!with\\b)\\b([\\w0-9'`^._ ]+)){0,1}","captures":{"1":{"name":"keyword.symbol.fsharp"},"2":{"name":"variable.parameter.fsharp"},"3":{"name":"keyword.symbol.fsharp"},"4":{"name":"entity.name.type.fsharp"}}},{"match":"(?!with|get|set\\b)\\b([\\w0-9'`^._]+)","captures":{"1":{"name":"entity.name.type.fsharp"}}},{"include":"#keywords"}],"beginCaptures":{"1":{"name":"keyword.fsharp"},"2":{"name":"keyword.fsharp"},"3":{"name":"support.function.attribute.fsharp"},"5":{"name":"keyword.fsharp"}},"endCaptures":{"1":{"name":"keyword.fsharp"}}},"anonymous_functions":{"patterns":[{"name":"function.anonymous","begin":"\\b(fun)\\b","end":"(-\u003e)","patterns":[{"include":"#comments"},{"begin":"(\\()","end":"\\s*(?=(-\u003e))","patterns":[{"include":"#member_declaration"}],"beginCaptures":{"1":{"name":"keyword.symbol.arrow.fsharp"}},"endCaptures":{"1":{"name":"keyword.symbol.arrow.fsharp"}}},{"include":"#variables"}],"beginCaptures":{"1":{"name":"keyword.fsharp"}},"endCaptures":{"1":{"name":"keyword.symbol.arrow.fsharp"}}}]},"anonymous_record_declaration":{"begin":"(\\{\\|)","end":"(\\|\\})","patterns":[{"match":"[[:alpha:]0-9'`^_ ]+(:)","captures":{"1":{"name":"keyword.symbol.fsharp"}}},{"match":"([[:alpha:]0-9'`^_ ]+)","captures":{"1":{"name":"entity.name.type.fsharp"}}},{"include":"#anonymous_record_declaration"},{"include":"#keywords"}],"beginCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"endCaptures":{"1":{"name":"keyword.symbol.fsharp"}}},"attributes":{"patterns":[{"name":"support.function.attribute.fsharp","begin":"\\[\\\u003c","end":"\\\u003e\\]|\\]","patterns":[{"include":"$self"}]}]},"cexprs":{"patterns":[{"name":"cexpr.fsharp","match":"\\b(async|seq|promise|task|maybe|asyncMaybe|controller|scope|application|pipeline)\\s*\\{","captures":{"0":{"name":"keyword.fsharp"}}}]},"chars":{"patterns":[{"name":"char.fsharp","match":"('\\\\?.')","captures":{"1":{"name":"string.quoted.single.fsharp"}}}]},"comments":{"patterns":[{"name":"comment.literate.command.fsharp","match":"(\\(\\*{3}.*\\*{3}\\))","beginCaptures":{"1":{"name":"comment.block.fsharp"}}},{"name":"comment.block.markdown.fsharp","begin":"^\\s*(\\(\\*\\*(?!\\)))((?!\\*\\)).)*$","while":"^(?!\\s*(\\*)+\\)$)","patterns":[{"include":"source.gfm"}],"beginCaptures":{"1":{"name":"comment.block.fsharp"}},"endCaptures":{"1":{"name":"comment.block.fsharp"}}},{"name":"comment.block.fsharp","begin":"(\\(\\*(?!\\)))","end":"(\\*\\))","patterns":[{"name":"fast-capture.comment.line.double-slash.fsharp","match":"//"},{"include":"#comments"}],"beginCaptures":{"1":{"name":"comment.block.fsharp"}},"endCaptures":{"1":{"name":"comment.block.fsharp"}}},{"name":"comment.block.markdown.fsharp.end","match":"((?\u003c!\\()(\\*)+\\))","captures":{"1":{"name":"comment.block.fsharp"}}},{"name":"comment.line.markdown.fsharp","begin":"///","while":"///","patterns":[{"include":"source.gfm"}]},{"name":"comment.line.double-slash.fsharp","match":"//.*$"}]},"common_binding_definition":{"patterns":[{"include":"#comments"},{"include":"#attributes"},{"begin":"(:)\\s*(\\()\\s*(static member|member)","end":"(\\))\\s*((?=,)|(?=\\=))","patterns":[{"match":"(\\^[[:alpha:]0-9'._]+)","captures":{"1":{"name":"entity.name.type.fsharp"}}},{"include":"#variables"},{"include":"#keywords"}],"beginCaptures":{"1":{"name":"keyword.symbol.fsharp"},"2":{"name":"keyword.symbol.fsharp"},"3":{"name":"keyword.fsharp"}},"endCaptures":{"1":{"name":"keyword.symbol.fsharp"}}},{"begin":"(:)\\s*(\\()","end":"(\\)\\s*(([?[:alpha:]0-9'`^._ ]*)))","patterns":[{"include":"#tuple_signature"}],"beginCaptures":{"1":{"name":"keyword.symbol.fsharp"},"2":{"name":"keyword.symbol.fsharp"}},"endCaptures":{"1":{"name":"keyword.symbol.fsharp"},"2":{"name":"entity.name.type.fsharp"}}},{"begin":"(:)\\s*(\\^[[:alpha:]0-9'._]+)\\s*(when)","end":"(?=:)","patterns":[{"name":"keyword.fsharp","match":"\\b(and|when|or)\\b"},{"match":"([[:alpha:]0-9'^._]+)","captures":{"1":{"name":"entity.name.type.fsharp"}}},{"name":"keyword.symbol.fsharp","match":"(\\(|\\))"}],"beginCaptures":{"1":{"name":"keyword.symbol.fsharp"},"2":{"name":"entity.name.type.fsharp"},"3":{"name":"keyword.fsharp"}},"endCaptures":{"1":{"name":"keyword.symbol.fsharp"}}},{"match":"(:)\\s*([?[:alpha:]0-9'`^._ ]+)","captures":{"1":{"name":"keyword.symbol.fsharp"},"2":{"name":"entity.name.type.fsharp"}}},{"match":"(-\u003e)\\s*(\\()?\\s*([?[:alpha:]0-9'`^._ ]+)*","captures":{"1":{"name":"keyword.symbol.fsharp"},"2":{"name":"keyword.symbol.fsharp"},"3":{"name":"entity.name.type.fsharp"}}},{"begin":"(\\*)\\s*(\\()","end":"(\\)\\s*(([?[:alpha:]0-9'`^._ ]+))+)","patterns":[{"include":"#tuple_signature"}],"beginCaptures":{"1":{"name":"keyword.symbol.fsharp"},"2":{"name":"keyword.symbol.fsharp"}},"endCaptures":{"1":{"name":"keyword.symbol.fsharp"},"2":{"name":"entity.name.type.fsharp"}}},{"begin":"(\\*)(\\s*([?[:alpha:]0-9'`^._ ]+))*","end":"(?==)|(?=\\))","patterns":[{"include":"#tuple_signature"}],"beginCaptures":{"1":{"name":"keyword.symbol.fsharp"},"2":{"name":"entity.name.type.fsharp"}},"endCaptures":{"1":{"name":"keyword.symbol.fsharp"}}},{"begin":"(\u003c+(?![[:space:]]*\\)))","end":"((?\u003c!:)\u003e|\\))","patterns":[{"include":"#generic_declaration"}],"beginCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"endCaptures":{"1":{"name":"keyword.symbol.fsharp"}}},{"include":"#anonymous_record_declaration"},{"begin":"({)","end":"(})","patterns":[{"include":"#record_signature"}],"beginCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"endCaptures":{"1":{"name":"keyword.symbol.fsharp"}}},{"include":"#definition"},{"include":"#variables"},{"include":"#keywords"}]},"common_declaration":{"patterns":[{"begin":"\\s*(-\u003e)\\s*([[:alpha:]0-9'`^._ ]+)(\u003c)","end":"(\u003e)","patterns":[{"match":"([[:alpha:]0-9'`^._ ]+)","captures":{"1":{"name":"entity.name.type.fsharp"}}},{"include":"#keywords"}],"beginCaptures":{"1":{"name":"keyword.symbol.fsharp"},"2":{"name":"entity.name.type.fsharp"},"3":{"name":"keyword.symbol.fsharp"}},"endCaptures":{"1":{"name":"keyword.symbol.fsharp"}}},{"match":"\\s*(-\u003e)\\s*(?!with|get|set\\b)\\b([\\w0-9'`^._]+)","captures":{"1":{"name":"keyword.symbol.fsharp"},"2":{"name":"entity.name.type.fsharp"}}},{"include":"#anonymous_record_declaration"},{"begin":"(\\?{0,1})([[:alpha:]0-9'`^._ ]+)\\s*(:)(\\s*([?[:alpha:]0-9'`^._ ]+)(\u003c))","end":"(\u003e)","patterns":[{"match":"([[:alpha:]0-9'`^._ ]+)","captures":{"1":{"name":"entity.name.type.fsharp"}}},{"include":"#keywords"}],"beginCaptures":{"1":{"name":"keyword.symbol.fsharp"},"2":{"name":"variable.parameter.fsharp"},"3":{"name":"keyword.symbol.fsharp"},"4":{"name":"keyword.symbol.fsharp"},"5":{"name":"entity.name.type.fsharp"}},"endCaptures":{"1":{"name":"keyword.symbol.fsharp"}}}]},"compiler_directives":{"patterns":[{"name":"keyword.control.directive.fsharp","match":"\\s?(#if|#elif|#elseif|#else|#endif|#light|#nowarn)"}]},"constants":{"patterns":[{"name":"constant.language.unit.fsharp","match":"\\(\\)"},{"name":"constant.numeric.float.fsharp","match":"\\b-?[0-9][0-9_]*((\\.([0-9][0-9_]*([eE][+-]??[0-9][0-9_]*)?)?)|([eE][+-]??[0-9][0-9_]*))"},{"name":"constant.numeric.integer.nativeint.fsharp","match":"\\b(-?((0(x|X)[0-9a-fA-F][0-9a-fA-F_]*)|(0(o|O)[0-7][0-7_]*)|(0(b|B)[01][01_]*)|([0-9][0-9_]*)))"},{"name":"constant.language.boolean.fsharp","match":"\\b(true|false)\\b"},{"name":"constant.other.fsharp","match":"\\b(null|unit|void)\\b"}]},"definition":{"patterns":[{"name":"binding.fsharp","begin":"\\b(let mutable|static let mutable|static let|let inline|let|member val|static member inline|static member|default|member|override|let!)(\\s+rec|mutable)?(\\s+\\[\\\u003c.*\\\u003e\\])?\\s*(private|internal|public)?\\s+(\\[[^-=]*\\]|[_[:alpha:]]([_[:alpha:]0-9\\._]+)*|``[_[:alpha:]]([_[:alpha:]0-9\\._`\\s]+|(?\u003c=,)\\s)*)?","end":"\\s*(with\\b|=|\\n+=|(?\u003c=\\=))","patterns":[{"include":"#common_binding_definition"}],"beginCaptures":{"1":{"name":"keyword.fsharp"},"2":{"name":"keyword.fsharp"},"3":{"name":"support.function.attribute.fsharp"},"4":{"name":"storage.modifier.fsharp"},"5":{"name":"variable.fsharp"}},"endCaptures":{"1":{"name":"keyword.fsharp"}}},{"name":"binding.fsharp","begin":"(?\u003c=with|and)\\s*\\b((get|set)\\s*(?=\\())(\\[[^-=]*\\]|[_[:alpha:]]([_[:alpha:]0-9\\._]+)*|``[_[:alpha:]]([_[:alpha:]0-9\\._`\\s]+|(?\u003c=,)\\s)*)?","end":"\\s*(=|\\n+=|(?\u003c=\\=))","patterns":[{"include":"#common_binding_definition"}],"beginCaptures":{"4":{"name":"variable.fsharp"}},"endCaptures":{"1":{"name":"keyword.fsharp"}}},{"name":"binding.fsharp","begin":"\\b(static val mutable|val mutable|val)(\\s+rec|mutable)?(\\s+\\[\\\u003c.*\\\u003e\\])?\\s*(private|internal|public)?\\s+(\\[[^-=]*\\]|[_[:alpha:]]([_[:alpha:]0-9,\\._]+)*|``[_[:alpha:]]([_[:alpha:]0-9,\\._`\\s]+|(?\u003c=,)\\s)*)?","end":"\\n$","patterns":[{"include":"#common_binding_definition"}],"beginCaptures":{"1":{"name":"keyword.fsharp"},"2":{"name":"keyword.fsharp"},"3":{"name":"support.function.attribute.fsharp"},"4":{"name":"storage.modifier.fsharp"},"5":{"name":"variable.fsharp"}}},{"name":"binding.fsharp","begin":"\\b(new)\\b\\s+(\\()","end":"(\\))","patterns":[{"include":"#common_binding_definition"}],"beginCaptures":{"1":{"name":"keyword.fsharp"},"2":{"name":"keyword.fsharp"}},"endCaptures":{"1":{"name":"keyword.fsharp"}}}]},"double_tick":{"patterns":[{"name":"variable.other.binding.fsharp","match":"(``)([^`]*)(``)","captures":{"1":{"name":"string.quoted.single.fsharp"},"2":{"name":"variable.other.binding.fsharp"},"3":{"name":"string.quoted.single.fsharp"}}}]},"du_declaration":{"patterns":[{"name":"du_declaration.fsharp","begin":"\\b(of)\\b","end":"$|(\\|)","patterns":[{"include":"#comments"},{"match":"([[:alpha:]0-9'`\u003c\u003e^._]+|``[[:alpha:]0-9' \u003c\u003e^._]+``)\\s*(:)\\s*([[:alpha:]0-9'`\u003c\u003e^._]+|``[[:alpha:]0-9' \u003c\u003e^._]+``)","captures":{"1":{"name":"variable.parameter.fsharp"},"2":{"name":"keyword.symbol.fsharp"},"3":{"name":"entity.name.type.fsharp"}}},{"match":"(``([[:alpha:]0-9'^._ ]+)``|[[:alpha:]0-9'`^._]+)","captures":{"1":{"name":"entity.name.type.fsharp"}}},{"include":"#anonymous_record_declaration"},{"include":"#keywords"}],"beginCaptures":{"1":{"name":"keyword.fsharp"}},"endCaptures":{"1":{"name":"keyword.symbol.fsharp"}}}]},"generic_declaration":{"patterns":[{"begin":"(:)\\s*(\\()\\s*(static member|member)","end":"(\\))","patterns":[{"begin":"(\\()","end":"(\\))","patterns":[{"include":"#member_declaration"}],"beginCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"endCaptures":{"1":{"name":"keyword.symbol.fsharp"}}},{"match":"(('|\\^)[[:alpha:]0-9'._]+)","captures":{"1":{"name":"entity.name.type.fsharp"}}},{"include":"#variables"},{"include":"#keywords"}],"beginCaptures":{"1":{"name":"keyword.symbol.fsharp"},"2":{"name":"keyword.symbol.fsharp"},"3":{"name":"keyword.fsharp"}},"endCaptures":{"1":{"name":"keyword.symbol.fsharp"}}},{"name":"keyword.fsharp","match":"\\b(private|to|public|internal|function|yield!|yield|class|exception|match|delegate|of|new|in|as|if|then|else|elif|for|begin|end|inherit|do|let\\!|return\\!|return|interface|with|abstract|enum|member|try|finally|and|when|or|use|use\\!|struct|while|mutable|assert|base|done|downcast|downto|extern|fixed|global|lazy|upcast|not)(?!')\\b"},{"name":"keyword.fsharp","match":":"},{"include":"#constants"},{"match":"(('|\\^)[[:alpha:]0-9'._]+)","captures":{"1":{"name":"entity.name.type.fsharp"}}},{"begin":"(\u003c)","end":"(\u003e)","patterns":[{"match":"(('|\\^)[[:alpha:]0-9'._]+)","captures":{"1":{"name":"entity.name.type.fsharp"}}},{"include":"#tuple_signature"},{"include":"#generic_declaration"}],"beginCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"endCaptures":{"1":{"name":"keyword.symbol.fsharp"}}},{"begin":"(\\()","end":"(\\))","patterns":[{"match":"(([?[:alpha:]0-9'`^._ ]+))+","captures":{"1":{"name":"entity.name.type.fsharp"}}},{"include":"#tuple_signature"}],"beginCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"endCaptures":{"1":{"name":"keyword.symbol.fsharp"}}},{"match":"(?!when|and|or\\b)\\b([\\w0-9'`^._]+)","captures":{"1":{"name":"entity.name.type.fsharp"}}},{"match":"(\\|)","captures":{"1":{"name":"keyword.symbol.fsharp"}}},{"include":"#keywords"}]},"keywords":{"patterns":[{"name":"storage.modifier","match":"\\b(private|public|internal)\\b"},{"name":"keyword.fsharp","match":"\\b(private|to|public|internal|function|class|exception|delegate|of|as|begin|end|inherit|let!|interface|abstract|enum|member|and|when|or|use|use\\!|struct|mutable|assert|base|done|downcast|downto|extern|fixed|global|lazy|upcast|not)(?!')\\b"},{"name":"keyword.control","match":"\\b(match|yield|yield!|with|if|then|else|elif|for|in|return!|return|try|finally|while|do)(?!')\\b"},{"name":"keyword.symbol.new","match":"\\b(new)\\b"},{"name":"keyword.symbol.fsharp","match":"(\u0026\u0026\u0026|\\|\\|\\||\\^\\^\\^|~~~|\u003c\u003c\u003c|\u003e\u003e\u003e|\\|\u003e|\\-\u003e|\\\u003c\\-|:\u003e|:\\?\u003e|:|\\[|\\]|\\;|\u003c\u003e|=|@|\\|\\||\u0026\u0026|{|}|\\||_|\\.\\.|\\,|\\+|\\-|\\*|\\/|\\^|\\!|\\\u003e|\\\u003e\\=|\\\u003e\\\u003e|\\\u003c|\\\u003c\\=|\\(|\\)|\\\u003c\\\u003c)"}]},"member_declaration":{"patterns":[{"include":"#comments"},{"include":"#common_declaration"},{"begin":"(:)\\s*(\\()\\s*(static member|member)","end":"(\\))\\s*((?=,)|(?=\\=))","patterns":[{"begin":"(\\()","end":"(\\))","patterns":[{"include":"#member_declaration"}],"beginCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"endCaptures":{"1":{"name":"keyword.symbol.fsharp"}}},{"match":"(\\^[[:alpha:]0-9'._]+)","captures":{"1":{"name":"entity.name.type.fsharp"}}},{"include":"#variables"},{"include":"#keywords"}],"beginCaptures":{"1":{"name":"keyword.symbol.fsharp"},"2":{"name":"keyword.symbol.fsharp"},"3":{"name":"keyword.fsharp"}},"endCaptures":{"1":{"name":"keyword.symbol.fsharp"}}},{"match":"(\\^[[:alpha:]0-9'._]+)","captures":{"1":{"name":"entity.name.type.fsharp"}}},{"name":"keyword.fsharp","match":"\\b(and|when|or)\\b"},{"name":"keyword.symbol.fsharp","match":"(\\(|\\))"},{"match":"(\\?{0,1})([[:alpha:]0-9'`^._]+|``[[:alpha:]0-9'`^:,._ ]+``)\\s*(:{0,1})(\\s*([?[:alpha:]0-9'`\u003c\u003e._ ]+)){0,1}","captures":{"1":{"name":"keyword.symbol.fsharp"},"2":{"name":"variable.parameter.fsharp"},"3":{"name":"keyword.symbol.fsharp"},"4":{"name":"entity.name.type.fsharp"}}},{"include":"#keywords"}]},"modules":{"patterns":[{"name":"entity.name.section.fsharp","begin":"\\b(namespace global)|\\b(namespace|module)\\s*(public|internal|private|rec)?\\s+([[:alpha:]][[:alpha:]0-9'_. ]*)","end":"(\\s?=|\\s|$)","patterns":[{"name":"entity.name.section.fsharp","match":"(\\.)([A-Z][[:alpha:]0-9'_]*)","captures":{"1":{"name":"punctuation.separator.namespace-reference.fsharp"},"2":{"name":"entity.name.section.fsharp"}}}],"beginCaptures":{"1":{"name":"keyword.fsharp"},"2":{"name":"keyword.fsharp"},"3":{"name":"storage.modifier.fsharp"},"4":{"name":"entity.name.section.fsharp"}},"endCaptures":{"1":{"name":"keyword.symbol.fsharp"}}},{"name":"namespace.open.fsharp","begin":"\\b(open)\\s+([[:alpha:]][[:alpha:]0-9'_]*)(?=(\\.[A-Z][[:alpha:]0-9_]*)*)","end":"(\\s|$)","patterns":[{"name":"entity.name.section.fsharp","match":"(\\.)([[:alpha:]][[:alpha:]0-9'_]*)","captures":{"1":{"name":"punctuation.separator.namespace-reference.fsharp"},"2":{"name":"entity.name.section.fsharp"}}},{"include":"#comments"}],"beginCaptures":{"1":{"name":"keyword.fsharp"},"2":{"name":"entity.name.section.fsharp"}}},{"name":"namespace.alias.fsharp","begin":"^\\s*(module)\\s+([A-Z][[:alpha:]0-9'_]*)\\s*(=)\\s*([A-Z][[:alpha:]0-9'_]*)","end":"(\\s|$)","patterns":[{"name":"entity.name.section.fsharp","match":"(\\.)([A-Z][[:alpha:]0-9'_]*)","captures":{"1":{"name":"punctuation.separator.namespace-reference.fsharp"},"2":{"name":"entity.name.section.fsharp"}}}],"beginCaptures":{"1":{"name":"keyword.fsharp"},"2":{"name":"entity.name.type.namespace.fsharp"},"3":{"name":"punctuation.separator.namespace-definition.fsharp"},"4":{"name":"entity.name.section.fsharp"}}}]},"record_declaration":{"patterns":[{"begin":"(\\{)","end":"(?\u003c=\\})","patterns":[{"include":"#comments"},{"begin":"(((mutable)\\s[[:alpha:]]+)|[[:alpha:]0-9'`\u003c\u003e^._]*)\\s*((?\u003c!:):(?!:))\\s*","end":"$|(;|\\})","patterns":[{"include":"#comments"},{"match":"([[:alpha:]0-9'`^_ ]+)","captures":{"1":{"name":"entity.name.type.fsharp"}}},{"include":"#keywords"}],"beginCaptures":{"3":{"name":"keyword.fsharp"},"4":{"name":"keyword.symbol.fsharp"}},"endCaptures":{"1":{"name":"keyword.symbol.fsharp"}}},{"include":"#compiler_directives"},{"include":"#constants"},{"include":"#strings"},{"include":"#chars"},{"include":"#double_tick"},{"include":"#definition"},{"include":"#attributes"},{"include":"#anonymous_functions"},{"include":"#keywords"},{"include":"#cexprs"},{"include":"#text"}],"beginCaptures":{"1":{"name":"keyword.symbol.fsharp"}}}]},"record_signature":{"patterns":[{"match":"[[:alpha:]0-9'`^_ ]+(=)([[:alpha:]0-9'`^_ ]+)","captures":{"1":{"name":"keyword.symbol.fsharp"},"2":{"name":"variable.parameter.fsharp"}}},{"begin":"({)","end":"(})","patterns":[{"match":"[[:alpha:]0-9'`^_ ]+(=)([[:alpha:]0-9'`^_ ]+)","captures":{"1":{"name":"keyword.symbol.fsharp"},"2":{"name":"variable.parameter.fsharp"}}},{"include":"#record_signature"}],"beginCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"endCaptures":{"1":{"name":"keyword.symbol.fsharp"}}},{"include":"#keywords"}]},"records":{"patterns":[{"name":"record.fsharp","begin":"\\b(type)[\\s]+(private|internal|public)?\\s*","end":"\\s*((with)|((as)\\s+([[:alpha:]0-9']+))|(=)|[\\n=]|(\\(\\)))","patterns":[{"include":"#comments"},{"include":"#attributes"},{"match":"([[:alpha:]0-9'^._]+|``[[:alpha:]0-9'`^:,._ ]+``)","captures":{"1":{"name":"entity.name.type.fsharp"}}},{"begin":"(\u003c)","end":"((?\u003c!:)\u003e)","patterns":[{"match":"(('|\\^)``[[:alpha:]0-9`^:,._ ]+``|('|\\^)[[:alpha:]0-9`^:._]+)","captures":{"1":{"name":"entity.name.type.fsharp"}}},{"name":"keyword.fsharp","match":"\\b(interface|with|abstract|and|when|or|not|struct|equality|comparison|unmanaged|delegate|enum)\\b"},{"begin":"(\\()","end":"(\\))","patterns":[{"match":"(static member|member|new)","captures":{"1":{"name":"keyword.fsharp"}}},{"include":"#common_binding_definition"}],"beginCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"endCaptures":{"1":{"name":"keyword.symbol.fsharp"}}},{"match":"([\\w0-9'`^._]+)","captures":{"1":{"name":"entity.name.type.fsharp"}}},{"include":"#keywords"}],"beginCaptures":{"1":{"name":"keyword.fsharp"}},"endCaptures":{"1":{"name":"keyword.fsharp"}}},{"match":"\\s*(private|internal|public)","captures":{"1":{"name":"keyword.symbol.fsharp"},"2":{"name":"storage.modifier.fsharp"}}},{"begin":"(\\()","end":"\\s*(?=(=)|[\\n=]|(\\(\\))|(as))","patterns":[{"include":"#member_declaration"}],"beginCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"endCaptures":{"1":{"name":"keyword.symbol.fsharp"}}},{"include":"#keywords"}],"beginCaptures":{"1":{"name":"keyword.fsharp"},"2":{"name":"storage.modifier.fsharp"}},"endCaptures":{"2":{"name":"keyword.fsharp"},"3":{"name":"keyword.fsharp"},"4":{"name":"keyword.fsharp"},"5":{"name":"variable.parameter.fsharp"},"6":{"name":"keyword.symbol.fsharp"},"7":{"name":"constant.language.unit.fsharp"}}}]},"string_formatter":{"patterns":[{"name":"entity.name.type.format.specifier.fsharp","match":"(%0?-?(\\d+)?((a|t)|(\\.\\d+)?(f|F|e|E|g|G|M)|(b|c|s|d|i|x|X|o|u)|(s|b|O)|(\\+?A)))","captures":{"1":{"name":"keyword.format.specifier.fsharp"}}}]},"strings":{"patterns":[{"name":"string.quoted.literal.fsharp","begin":"(?=[^\\\\])(@\")","end":"(\")(?!\")","patterns":[{"name":"constant.character.string.escape.fsharp","match":"\"(\")"}],"beginCaptures":{"1":{"name":"punctuation.definition.string.begin.fsharp"}},"endCaptures":{"1":{"name":"punctuation.definition.string.end.fsharp"}}},{"name":"string.quoted.triple.fsharp","begin":"(?=[^\\\\])(\"\"\")","end":"(\"\"\")","patterns":[{"include":"#string_formatter"}],"beginCaptures":{"1":{"name":"punctuation.definition.string.begin.fsharp"}},"endCaptures":{"1":{"name":"punctuation.definition.string.end.fsharp"}}},{"name":"string.quoted.double.fsharp","begin":"(?=[^\\\\])(\")","end":"(\")","patterns":[{"name":"punctuation.separator.string.ignore-eol.fsharp","match":"\\\\$[ \\t]*"},{"name":"constant.character.string.escape.fsharp","match":"\\\\([\\\\''ntbr]|x[a-fA-F0-9]{2}|u[a-fA-F0-9]{4}|u[a-fA-F0-9]{8})"},{"name":"invalid.illeagal.character.string.fsharp","match":"\\\\(?![\\\\''ntbr]|x[a-fA-F0-9]{2}|u[a-fA-F0-9]{4}|u[a-fA-F0-9]{8})."},{"include":"#string_formatter"}],"beginCaptures":{"1":{"name":"punctuation.definition.string.begin.fsharp"}},"endCaptures":{"1":{"name":"punctuation.definition.string.end.fsharp"}}}]},"strp_inlined":{"patterns":[{"begin":"(\\()","end":"(\\))","patterns":[{"include":"#strp_inlined_body"}],"beginCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"endCaptures":{"1":{"name":"keyword.symbol.fsharp"}}}]},"strp_inlined_body":{"patterns":[{"include":"#comments"},{"include":"#anonymous_functions"},{"match":"(\\^[[:alpha:]0-9'._]+)","captures":{"1":{"name":"entity.name.type.fsharp"}}},{"name":"keyword.fsharp","match":"\\b(and|when|or)\\b"},{"begin":"(\\()","end":"(\\))","patterns":[{"include":"#strp_inlined_body"}],"beginCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"endCaptures":{"1":{"name":"keyword.symbol.fsharp"}}},{"match":"(static member|member)\\s*([[:alpha:]0-9'`\u003c\u003e^._]+|``[[:alpha:]0-9' \u003c\u003e^._]+``)\\s*(:)","captures":{"1":{"name":"keyword.fsharp"},"2":{"name":"variable.fsharp"},"3":{"name":"keyword.symbol.fsharp"}}},{"include":"#compiler_directives"},{"include":"#constants"},{"include":"#strings"},{"include":"#chars"},{"include":"#double_tick"},{"include":"#keywords"},{"include":"#text"},{"include":"#definition"},{"include":"#attributes"},{"include":"#keywords"},{"include":"#cexprs"},{"include":"#text"}]},"text":{"patterns":[{"name":"text.fsharp","match":"\\\\"}]},"tuple_signature":{"patterns":[{"match":"(([?[:alpha:]0-9'`^._ ]+))+","captures":{"1":{"name":"entity.name.type.fsharp"}}},{"begin":"(\\()","end":"(\\))","patterns":[{"match":"(([?[:alpha:]0-9'`^._ ]+))+","captures":{"1":{"name":"entity.name.type.fsharp"}}},{"include":"#tuple_signature"}],"beginCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"endCaptures":{"1":{"name":"keyword.symbol.fsharp"}}},{"include":"#keywords"}]},"variables":{"patterns":[{"name":"constant.language.unit.fsharp","match":"\\(\\)"},{"match":"(\\?{0,1})(``[[:alpha:]0-9'`^:,._ ]+``|(?!private\\b)\\b[\\w[:alpha:]0-9'`\u003c\u003e^._ ]+)","captures":{"1":{"name":"keyword.symbol.fsharp"},"2":{"name":"variable.parameter.fsharp"}}}]}}}
@@ -1 +1 @@
1
- {"name":".gitignore","scopeName":"source.gitignore","patterns":[{"include":"#main"}],"repository":{"bazaarPrefixes":{"patterns":[{"name":"storage.modifier.bazaar.re-prefix.gitignore","match":"^RE(:)(?=\\S)"},{"name":"keyword.operator.logical.not.negation.elevated.bazaar.gitignore","match":"^!!(?=\\S)"}]},"comment":{"name":"comment.line.number-sign.gitignore","begin":"#","end":"$","beginCaptures":{"0":{"name":"punctuation.definition.comment.gitignore"}}},"cvsSyntax":{"match":"\\A(syntax)(:)\\s+(glob)$","captures":{"1":{"name":"variable.parameter.assignment.glob-syntax.cvs.gitignore"},"2":{"name":"keyword.operator.assignment.separator.key-value.cvs.gitignore"},"3":{"name":"support.constant.language.syntax-type.cvs.gitignore"}}},"escape":{"name":"constant.character.escape.backslash.gitignore","match":"(\\\\).","captures":{"1":{"name":"punctuation.definition.escape.backslash.gitignore"}}},"magic":{"patterns":[{"name":"meta.magic-signature.long.gitignore","begin":"^(:)(\\()(?=.*?\\))","end":"(?\u003c!\\\\)\\)|(?=\\s*$)","patterns":[{"include":"#escape"},{"include":"#magicInnards"}],"beginCaptures":{"1":{"name":"keyword.operator.signature.begin.gitignore"},"2":{"name":"punctuation.section.signature.begin.gitignore"}},"endCaptures":{"0":{"name":"punctuation.section.signature.end.gitignore"}}},{"name":"meta.magic-signature.short.gitignore","match":"^(:)([!^]+)","captures":{"1":{"name":"keyword.operator.signature.begin.gitignore"},"2":{"name":"keyword.operator.mnemonic.gitignore"}}}]},"magicInnards":{"patterns":[{"include":"etc#comma"},{"name":"meta.attribute-list.gitignore","begin":"(?:\\G|(?\u003c=,|\\())(attr)(:)","end":"(?=,|\\)|$)","patterns":[{"name":"meta.attribute.gitignore","match":"(-|!)?((?:[^\\\\\\s=\\(\\),]|\\\\.)++)(?:(=)((?:[^\\\\\\s=\\(\\),]|\\\\.)*+))?","captures":{"1":{"patterns":[{"include":"#magicMnemonic"}]},"2":{"name":"variable.parameter.attribute.gitignore","patterns":[{"include":"#escape"}]},"3":{"name":"punctuation.definition.assignment.equals-sign.gitignore"},"4":{"name":"constant.language.other.gitignore","patterns":[{"include":"#escape"}]}}}],"beginCaptures":{"1":{"name":"keyword.control.magic-signature.$1.gitignore"},"2":{"patterns":[{"include":"etc#colon"}]}}},{"name":"meta.$1-attribute.gitignore","match":"(?:\\G|(?\u003c=,|\\())(-|!)?(attr|exclude|glob|icase|literal|top)(?=,|\\))","captures":{"1":{"patterns":[{"include":"#magicMnemonic"}]},"2":{"name":"keyword.control.magic-signature.$2.gitignore"}}},{"name":"meta.unknown-attribute.gitignore","match":"(?:\\G|(?\u003c=,|\\())(-|!)?((?:[^\\\\=\\s,:\\)]|\\\\.)++)(?=,|\\))","captures":{"1":{"patterns":[{"include":"#magicMnemonic"}]},"2":{"name":"keyword.control.magic-signature.unknown.gitignore"}}}]},"magicMnemonic":{"patterns":[{"name":"keyword.operator.logical.not.negation.gitignore","match":"-"},{"name":"keyword.operator.unset.delete.gitignore","match":"!"}]},"main":{"patterns":[{"include":"#comment"},{"include":"#cvsSyntax"},{"include":"#magic"},{"include":"#pattern"},{"include":"#escape"}]},"pattern":{"name":"meta.pattern.gitignore","begin":"(?=[^#\\s])","end":"$|(?=#)","patterns":[{"include":"#bazaarPrefixes"},{"include":"#patternInnards"}]},"patternInnards":{"patterns":[{"include":"#escape"},{"include":"#range"},{"name":"keyword.operator.logical.not.negation.gitignore","match":"\\G!"},{"name":"keyword.operator.glob.wildcard.globstar.gitignore","match":"\\*\\*"},{"name":"keyword.operator.glob.wildcard.gitignore","match":"[*?]"},{"name":"punctuation.directory.separator.meta.gitignore","match":"/"},{"name":"entity.other.file.name.gitignore","match":"[^\\[\\]\\\\*?#/\\s]+"}]},"range":{"name":"meta.character-range.gitignore","contentName":"constant.character.class.gitignore","begin":"\\[","end":"\\]|(?=$)","patterns":[{"include":"#escape"},{"name":"punctuation.delimiter.range.character-set.gitignore","match":"-"}],"beginCaptures":{"0":{"name":"punctuation.definition.square.bracket.begin.gitignore"}},"endCaptures":{"0":{"name":"punctuation.definition.square.bracket.end.gitignore"}}}}}
1
+ {"name":"Ignore List","scopeName":"source.gitignore","patterns":[{"include":"#main"}],"repository":{"bazaarPrefixes":{"patterns":[{"name":"storage.modifier.bazaar.re-prefix.gitignore","match":"^RE(:)(?=\\S)"},{"name":"keyword.operator.logical.not.negation.elevated.bazaar.gitignore","match":"^!!(?=\\S)"}]},"comment":{"name":"comment.line.number-sign.gitignore","begin":"#","end":"$","beginCaptures":{"0":{"name":"punctuation.definition.comment.gitignore"}}},"cvsSyntax":{"match":"\\A(syntax)(:)\\s+(glob)$","captures":{"1":{"name":"variable.parameter.assignment.glob-syntax.cvs.gitignore"},"2":{"name":"keyword.operator.assignment.separator.key-value.cvs.gitignore"},"3":{"name":"support.constant.language.syntax-type.cvs.gitignore"}}},"escape":{"name":"constant.character.escape.backslash.gitignore","match":"(\\\\).","captures":{"1":{"name":"punctuation.definition.escape.backslash.gitignore"}}},"magic":{"patterns":[{"name":"meta.magic-signature.long.gitignore","begin":"^(:)(\\()(?=.*?\\))","end":"(?\u003c!\\\\)\\)|(?=\\s*$)","patterns":[{"include":"#escape"},{"include":"#magicInnards"}],"beginCaptures":{"1":{"name":"keyword.operator.signature.begin.gitignore"},"2":{"name":"punctuation.section.signature.begin.gitignore"}},"endCaptures":{"0":{"name":"punctuation.section.signature.end.gitignore"}}},{"name":"meta.magic-signature.short.gitignore","match":"^(:)([!^]+)","captures":{"1":{"name":"keyword.operator.signature.begin.gitignore"},"2":{"name":"keyword.operator.mnemonic.gitignore"}}}]},"magicInnards":{"patterns":[{"include":"etc#comma"},{"name":"meta.attribute-list.gitignore","begin":"(?:\\G|(?\u003c=,|\\())(attr)(:)","end":"(?=,|\\)|$)","patterns":[{"name":"meta.attribute.gitignore","match":"(-|!)?((?:[^\\\\\\s=\\(\\),]|\\\\.)++)(?:(=)((?:[^\\\\\\s=\\(\\),]|\\\\.)*+))?","captures":{"1":{"patterns":[{"include":"#magicMnemonic"}]},"2":{"name":"variable.parameter.attribute.gitignore","patterns":[{"include":"#escape"}]},"3":{"name":"punctuation.definition.assignment.equals-sign.gitignore"},"4":{"name":"constant.language.other.gitignore","patterns":[{"include":"#escape"}]}}}],"beginCaptures":{"1":{"name":"keyword.control.magic-signature.$1.gitignore"},"2":{"patterns":[{"include":"etc#colon"}]}}},{"name":"meta.$1-attribute.gitignore","match":"(?:\\G|(?\u003c=,|\\())(-|!)?(attr|exclude|glob|icase|literal|top)(?=,|\\))","captures":{"1":{"patterns":[{"include":"#magicMnemonic"}]},"2":{"name":"keyword.control.magic-signature.$2.gitignore"}}},{"name":"meta.unknown-attribute.gitignore","match":"(?:\\G|(?\u003c=,|\\())(-|!)?((?:[^\\\\=\\s,:\\)]|\\\\.)++)(?=,|\\))","captures":{"1":{"patterns":[{"include":"#magicMnemonic"}]},"2":{"name":"keyword.control.magic-signature.unknown.gitignore"}}}]},"magicMnemonic":{"patterns":[{"name":"keyword.operator.logical.not.negation.gitignore","match":"-"},{"name":"keyword.operator.unset.delete.gitignore","match":"!"}]},"main":{"patterns":[{"include":"#comment"},{"include":"#cvsSyntax"},{"include":"#magic"},{"include":"#pattern"},{"include":"#escape"}]},"pattern":{"name":"meta.pattern.gitignore","begin":"(?=[^#\\s])","end":"$|(?=#)","patterns":[{"include":"#bazaarPrefixes"},{"include":"#patternInnards"}]},"patternInnards":{"patterns":[{"include":"#escape"},{"include":"#range"},{"name":"keyword.operator.logical.not.negation.gitignore","match":"\\G!"},{"name":"keyword.operator.glob.wildcard.globstar.gitignore","match":"\\*\\*"},{"name":"keyword.operator.glob.wildcard.gitignore","match":"[*?]"},{"name":"punctuation.directory.separator.meta.gitignore","match":"/"},{"name":"entity.other.file.name.gitignore","match":"[^\\[\\]\\\\*?#/\\s]+"}]},"range":{"name":"meta.character-range.gitignore","contentName":"constant.character.class.gitignore","begin":"\\[","end":"\\]|(?=$)","patterns":[{"include":"#escape"},{"name":"punctuation.delimiter.range.character-set.gitignore","match":"-"}],"beginCaptures":{"0":{"name":"punctuation.definition.square.bracket.begin.gitignore"}},"endCaptures":{"0":{"name":"punctuation.definition.square.bracket.end.gitignore"}}}}}
@@ -0,0 +1 @@
1
+ {"name":"Gleam","scopeName":"source.gleam","patterns":[{"include":"#comments"},{"include":"#keywords"},{"include":"#strings"},{"include":"#constant"},{"include":"#entity"}],"repository":{"binary_number":{"name":"constant.numeric.binary.gleam","match":"\\b0b[0-1]+\\b"},"boolean":{"name":"constant.language.boolean.gleam","match":"\\b(True|False)\\b"},"comments":{"patterns":[{"name":"comment.line.gleam","match":"//.*"}]},"constant":{"patterns":[{"include":"#binary_number"},{"include":"#octal_number"},{"include":"#hexadecimal_number"},{"include":"#decimal_number"},{"include":"#boolean"},{"name":"entity.name.type.gleam","match":"[[:upper:]][[:word:]]*"}]},"decimal_number":{"name":"constant.numeric.decimal.gleam","match":"\\b[[:digit:]][[:digit:]_]*(\\.[[:digit:]]*)?\\b"},"entity":{"patterns":[{"begin":"\\b([[:lower:]][[:word:]]*)([[:space:]]*)?\\(","end":"\\)","patterns":[{"include":"$self"}],"captures":{"1":{"name":"entity.name.function.gleam"}}},{"name":"variable.parameter.gleam","match":"\\b([[:lower:]][[:word:]]*):\\s"},{"name":"entity.name.namespace.gleam","match":"\\b([[:lower:]][[:word:]]*):"}]},"hexadecimal_number":{"name":"constant.numeric.hexadecimal.gleam","match":"\\b0x[[:xdigit:]]+\\b"},"keywords":{"patterns":[{"name":"keyword.control.gleam","match":"\\b(case|if|external|fn|import|let|assert|try|pub|type|opaque|const|todo)\\b"},{"name":"keyword.operator.arrow.gleam","match":"-\u003e"},{"name":"keyword.operator.pipe.gleam","match":"\\|\u003e"},{"name":"keyword.operator.splat.gleam","match":"\\.\\."},{"name":"keyword.operator.comparison.float.gleam","match":"(\u003c=\\.|\u003e=\\.|==\\.|!=\\.|\u003c\\.|\u003e\\.)"},{"name":"keyword.operator.comparison.int.gleam","match":"(\u003c=|\u003e=|==|!=|\u003c|\u003e)"},{"name":"keyword.operator.logical.gleam","match":"(\u0026\u0026|\\|\\|)"},{"name":"keyword.operator.other.gleam","match":"\\|"},{"name":"keyword.operator.arithmetic.float.gleam","match":"(\\+\\.|\\-\\.|/\\.|\\*\\.|%\\.)"},{"name":"keyword.operator.arithmetic.int.gleam","match":"(\\+|\\-|/|\\*|%)"},{"name":"keyword.operator.assignment.gleam","match":"="}]},"octal_number":{"name":"constant.numeric.octal.gleam","match":"\\b0o[0-7]+\\b"},"strings":{"name":"string.quoted.double.gleam","begin":"\"","end":"\"","patterns":[{"name":"constant.character.escape.gleam","match":"\\\\."}]}}}
@@ -0,0 +1 @@
1
+ {"name":"GSC","scopeName":"source.gsc","patterns":[{"include":"#code"}],"repository":{"block":{"patterns":[{"name":"meta.block.source.gsc","begin":"{","end":"}","patterns":[{"include":"#code"}],"beginCaptures":{"0":{"name":"punctuation.section.block.begin.source.gsc"}},"endCaptures":{"0":{"name":"punctuation.section.block.end.source.gsc"}}},{"name":"meta.devblock.source.gsc","begin":"/#","end":"#/","patterns":[{"include":"#code"}],"beginCaptures":{"0":{"name":"punctuation.section.block.begin.source.gsc"}},"endCaptures":{"0":{"name":"punctuation.section.block.end.source.gsc"}}}]},"code":{"patterns":[{"include":"#block"},{"include":"#comments"},{"include":"#constants"},{"include":"#keywords"},{"include":"#preprocessor"},{"include":"#documentation"},{"include":"#supports"}]},"comments":{"patterns":[{"name":"comment.block.gsc","begin":"/\\*","end":"\\*/\\n?"},{"name":"comment.line.double-slash.gsc","match":"//.*$\\n?"}]},"constants":{"patterns":[{"name":"constant.numeric.source.gsc","match":"\\b((0(x|X)[0-9a-fA-F]*)|(([0-9]+\\.?[0-9]*)|(\\.[0-9]+))((e|E)(\\+|-)?[0-9]+)?)\\b"},{"name":"string.quoted.double.literal.source.gsc","match":"@\"([^\"]|\"\")*\"","captures":{"0":{"name":"punctuation.definition.string.begin.source.gsc"}}},{"name":"string.quoted.double.source.gsc","begin":"\"","end":"\"","patterns":[{"name":"constant.character.escape.source.gsc","match":"\\\\."}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.source.gsc"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.source.gsc"}}},{"name":"constant.language.source.gsc","match":"\\b(undefined|false|true|self|world|classes|level|game|anim|vararg)\\b"}]},"documentation":{"patterns":[{"name":"comment.block.documentation.gsc","begin":"/@","end":"@/"}]},"keywords":{"patterns":[{"name":"keyword.control.source.gsc","match":"\\b(if|else|while|for|foreach|in|do|return|continue|break|switch|case|default)\\b"},{"name":"keyword.operator.source.gsc","match":"\\b(size|assert|assertmsg|notify|endon)\\b"},{"name":"keyword.other.source.gsc","match":"\\b(class|function|var|wait|thread|waittill|waittillmatch|waittillframeend|isdefined|constructor|destructor|autoexec|private|const)\\b"}]},"preprocessor":{"patterns":[{"name":"keyword.preprocessor.source.gsc","match":"^\\s*#\\s*(define)\\b\\s*(\\S*)","captures":{"2":{"name":"entity.name.function.preprocessor.source.gsc"}}},{"name":"keyword.preprocessor.source.gsc","match":"^\\s*#\\s*(if|ifdef|ifndef|else|elif|endif|define|insert|using|precache|using_animtree)\\b","captures":{"2":{"name":"keyword.control.import.source.gsc"}}},{"name":"keyword.preprocessor.source.gsc","match":"^\\s*#\\s*(namespace)\\b","captures":{"2":{"name":"meta.namespace.identifier"}}}]}}}
@@ -0,0 +1 @@
1
+ {"name":"hoon","scopeName":"source.hoon","patterns":[{"name":"comment.line.hoon","begin":"::","end":"\\n"},{"name":"string.double.hoon","begin":"\\s*\"\"\"","end":"\\s*\"\"\""},{"name":"string.double.hoon","begin":"\\s*'''","end":"\\s*'''"},{"name":"string.double.hoon","begin":"\\\"","end":"\\\"","patterns":[{"match":"\\\\.|[^\"]"}]},{"name":"string.single.hoon","begin":"\\'","end":"\\'","patterns":[{"match":"\\\\.|[^']"}]},{"name":"constant.character.hoon","match":"[a-z]([a-z0-9-]*[a-z0-9])?(?=\\=)"},{"contentName":"entity.name.function.hoon","begin":"\\+[-+] (?=[a-z]([a-z0-9-]*[a-z0-9])?)","end":"(?![a-z0-9-])"},{"name":"constant.character.hoon","match":"%[a-z]([a-z0-9-]*[a-z0-9])?"},{"name":"storage.type.hoon","match":"@(?:[a-z0-9-]*[a-z0-9])?|\\*"},{"name":"keyword.control.hoon","match":"\\.[\\^\\+\\*=\\?]|![\u003e\u003c:\\.=\\?!]|=[\u003e|:,\\.\\-\\^\u003c+;/~\\*\\?]|\\?[\u003e|:\\.\\-\\^\u003c\\+\u0026~=@!]|\\|[\\$_%:\\.\\-\\^~\\*=@\\?]|\\+[|\\$\\+\\*]|:[_\\-\\^\\+~\\*]|%[_:\\.\\-\\^\\+~\\*=]|\\^[|:\\.\\-\\+\u0026~\\*=\\?]|\\$[|_%:\u003c\u003e\\-\\^\u0026~@=\\?]|;[:\u003c\\+;\\/~\\*=]|~[\u003e|\\$_%\u003c\\+\\/\u0026=\\?!]|--|=="},{"name":"keyword.control.hoon","begin":";script(type \"text/coffeescript\")","end":"=="}]}
@@ -0,0 +1 @@
1
+ {"name":"Curry Interface","scopeName":"source.icurry","patterns":[{"name":"meta.declaration.interface.icurry","begin":"^(interface)\\b","end":"\\b(where)\\b\\s*{|(^(?!\\s))","patterns":[{"include":"#interface_name"},{"include":"#comments"},{"name":"invalid","match":"[a-z]+"}],"beginCaptures":{"1":{"name":"keyword.other.icurry keyword.interface.icurry"}},"endCaptures":{"1":{"name":"keyword.interface.icurry"}}},{"name":"meta.import.icurry","begin":"^(import)\\b","end":"(^(?!\\s))","patterns":[{"name":"keyword.other.icurry keyword.import.icurry","match":"\\b(qualified|as|hiding)\\b"},{"include":"#interface_name"},{"include":"#module_exports"},{"include":"#comments"}],"beginCaptures":{"1":{"name":"keyword.other.icurry keyword.import.icurry"}}},{"name":"meta.preprocessor.c pragma.preprocessor.icurry","begin":"^\\s*(#)\\s*\\w+","end":"$","beginCaptures":{"1":{"name":"punctuation.definition.preprocessor.c punctuation.pragma.preprocessor.icurry"}}},{"include":"#pragma"},{"name":"meta.function.foreign-declaration.icurry","begin":"^(foreign)\\s+(import|export)((\\s+\\w+))(\\s+\\\"(\\\\.|[^\\\"])*\\\")?\\s*","end":"^(?!\\s)","patterns":[{"include":"#foreign_function_signature"}],"beginCaptures":{"1":{"name":"keyword.declaration.foreign.icurry"},"2":{"name":"keyword.declaration.foreign.icurry"},"3":{"name":"keyword.declaration.foreign.icurry"},"5":{"name":"string.quoted.double.icurry"}}},{"include":"#type_declarations"},{"include":"#function_declarations"},{"include":"#expression_stuff"}],"repository":{"block_comment":{"name":"comment.block.icurry","begin":"\\{-(?!#)","end":"(?\u003c!#)-\\}","patterns":[{"include":"#block_comment"},{"include":"#comments"}],"captures":{"0":{"name":"punctuation.comment.icurry"}},"applyEndPatternLast":true},"class_declaration":{"name":"meta.declaration.class.icurry","begin":"^(\\s*)(class)\\b","end":"\\b(where)\\b|(^(?!\\1\\s))","patterns":[{"include":"#type"}],"beginCaptures":{"2":{"name":"keyword.declaration.class.icurry"}},"endCaptures":{"1":{"name":"keyword.declaration.class.icurry"}}},"comments":{"patterns":[{"name":"comment.line.icurry","match":"(---*(?!([!#\\$%\u0026\\*\\+\\./\u003c=\u003e\\?@\\\\\\^\\|\\-~:]|[^[^\\p{S}\\p{P}]_\"'\\(\\),;\\[\\]`\\{}]))).*$\\n?","captures":{"1":{"name":"punctuation.comment.icurry"}}},{"include":"#block_comment"}]},"common_keywords":{"name":"keyword.other.icurry","match":"\\b(where|case|fcase|of|let|in|default|do|mdo|if|then|else|free)\\b"},"constructor_signature":{"name":"meta.declaration.function.icurry","begin":"^(\\s+)([A-Z][\\w']*|\\(\\W+\\))\\s*((::)|∷)","end":"^(?!\\1\\s)","patterns":[{"include":"#type"}],"beginCaptures":{"2":{"name":"constant.other.icurry entity.name.constructor.icurry"},"3":{"name":"keyword.other.double-colon.icurry"}}},"ctor_names":{"patterns":[{"name":"constant.other.icurry entity.name.constructor.icurry","match":"(?\u003c!')\\b[A-Z][\\w']*"},{"name":"constant.other.icurry entity.name.constructor.icurry","match":"\\(\\)"}]},"data_declaration":{"name":"meta.declaration.data.icurry","begin":"^(\\s*)(data|newtype)\\s+([A-Z][\\w']*)?","end":"^(?!\\1\\s)","patterns":[{"name":"keyword.declaration.data.icurry","match":"where"},{"begin":"([=\\|])","end":"(?\u003c!')\\b([A-Z][\\w']*)","patterns":[{"include":"#comments"}],"beginCaptures":{"1":{"name":"keyword.operator.icurry"}},"endCaptures":{"1":{"name":"constant.other.icurry entity.name.constructor.icurry"}}},{"include":"#deriving"},{"include":"#constructor_signature"},{"include":"#record_declaration"},{"include":"#comments"},{"include":"#type"}],"beginCaptures":{"2":{"name":"keyword.declaration.data.icurry"},"3":{"name":"constant.other.icurry entity.name.type.icurry"}}},"deriving":{"name":"keyword.other.icurry keyword.declaration.data.icurry","match":"\\b(deriving)\\b"},"expression_stuff":{"patterns":[{"name":"storage.interface.icurry entity.name.interface.icurry","match":"([A-Z][\\w']*\\.)+"},{"name":"support.function.prelude.icurry","match":"\\b(abs|acos|acosh|all|and|any|appendFile|asTypeOf|asin|asinh|atan|atan2|atanh|break|ceiling|compare|concat|concatMap|const|cos|cosh|icurry|cycle|decodeFloat|div|divMod|drop|dropWhile|either|elem|encodeFloat|enumFrom|enumFromThen|enumFromThenTo|enumFromTo|even|exp|exponent|fail|filter|flip|floatDigits|floatRadix|floatRange|floor|fmap|foldl|foldl1|foldr|foldr1|fromEnum|fromInteger|fromIntegral|fromRational|fst|gcd|getChar|getContents|getLine|head|id|init|interact|ioError|isDenormalized|isIEEE|isInfinite|isNaN|isNegativeZero|iterate|last|lcm|length|lex|lines|log|logBase|lookup|map|mapM|mapM_|max|maxBound|maximum|maybe|min|minBound|minimum|mod|negate|not|notElem|null|odd|or|otherwise|pi|pred|print|product|properFraction|putChar|putStr|putStrLn|quot|quotRem|read|readFile|readIO|readList|readLn|readParen|reads|readsPrec|realToFrac|recip|rem|repeat|replicate|return|reverse|round|scaleFloat|scanl|scanl1|scanr|scanr1|seq|sequence|sequence_|show|showChar|showList|showParen|showString|shows|showsPrec|significand|signum|sin|sinh|snd|span|splitAt|sqrt|subtract|succ|sum|tail|take|takeWhile|tan|tanh|toEnum|toInteger|toRational|truncate|uncurry|unlines|until|unwords|unzip|unzip3|userError|words|writeFile|zip|zip3|zipWith|zipWith3)\\b"},{"name":"support.function.prelude.icurry invalid.icurry","match":"\\b(error|undefined)\\b"},{"include":"#infix_op"},{"name":"keyword.operator.icurry punctuation.list.icurry","match":"\\[|\\]"},{"name":"punctuation.separator.comma.icurry","match":","},{"name":"keyword.operator.function.infix.icurry","match":"(`)([A-Z][\\w']*\\.)*[a-z][\\w']*(`)","captures":{"1":{"name":"punctuation.definition.entity.icurry"},"3":{"name":"punctuation.definition.entity.icurry"}}},{"name":"record.expression.icurry","begin":"(\\{)(?!-)","end":"(?\u003c!-)(\\})","patterns":[{"match":"(?\u003c!')\\b[a-z][\\w']+\\s+(=)","captures":{"2":{"name":"keyword.operator.icurry"}}},{"include":"#expression_stuff"}],"beginCaptures":{"1":{"name":"keyword.operator.icurry punctuation.record.icurry"}},"endCaptures":{"1":{"name":"keyword.operator.icurry punctuation.record.icurry"}}},{"name":"constant.other.icurry entity.name.constructor.icurry","match":"\\(\\)"},{"name":"constant.other.icurry entity.name.constructor.icurry","match":"\\[\\]"},{"include":"#comments"},{"name":"keyword.operator.icurry","match":"[@|!%$?~+:.\\-*=\u003c/\u003e\\\\∘→⇒⇔←⇐≤≥≡⋮\\[\\]]+"},{"include":"#common_keywords"},{"include":"#literals"},{"include":"#quasi_quote"},{"include":"#ctor_names"}]},"field_signature":{"name":"meta.declaration.field.icurry","begin":"(?=.*?((::)|∷))","end":"(?=[,}])","patterns":[{"name":"meta.declaration.field.signature.icurry","begin":"((::)|∷)","end":"(?=[,}])","patterns":[{"include":"#type"}],"beginCaptures":{"1":{"name":"keyword.other.double-colon.icurry"}}},{"name":"entity.name.function.icurry","match":"((?\u003c!')\\b[a-z_][\\w']*|\\(\\W+\\))"}]},"fixity_declaration":{"name":"keyword.declaration.fixity.icurry","match":"\\binfix[lr]?\\b"},"foreign_function_signature":{"name":"meta.declaration.function.icurry","begin":"(\\s*)([a-z_][\\w']*|\\(\\W+\\))\\s*((::)|∷)","end":"^(?!\\s)","patterns":[{"include":"#type"}],"beginCaptures":{"2":{"name":"entity.name.function.icurry"},"3":{"name":"keyword.other.double-colon.icurry"}}},"function_declarations":{"patterns":[{"include":"#function_signature"},{"include":"#function_definition"},{"include":"#infix_function_definition"},{"include":"#fixity_declaration"}]},"function_definition":{"name":"meta.definition.function.icurry","begin":"^\\s*(?\u003c!')\\b([a-z_][\\w']*|\\(\\W+\\))\\s+(?![^\\w\\s='\"\\(\\[])(?=((([\\w\\.,'\"_]+|(?:\\w+\\@)?\\(.*\\)|\\[.*\\])\\s+)*[=\\|]))","end":"(=)","patterns":[{"include":"#expression_stuff"}],"beginCaptures":{"1":{"name":"entity.name.function.icurry"}},"endCaptures":{"1":{"name":"keyword.operator.icurry"}}},"function_signature":{"name":"meta.declaration.function.icurry","begin":"^(\\s*)(?!--)(?:(\\(\\W\\)|[\\w']+)|[\\(\\[])(?=[\\w',\\s\\[\\]\\(\\)]*((?:::)|∷))","end":"^(?!\\1\\s)|(?=})","patterns":[{"name":"meta.declaration.function.names.icurry","begin":"(?=.*((::)|∷))","end":"((::)|∷)","patterns":[{"name":"entity.name.function.icurry","match":"((?\u003c!')\\b[a-z_][\\w']*|\\(\\W+\\))"}],"endCaptures":{"1":{"name":"keyword.other.double-colon.icurry"}}},{"include":"#type"}],"beginCaptures":{"2":{"name":"entity.name.function.icurry"}}},"infix_function_definition":{"name":"meta.definition.function.icurry","begin":"^\\s*(?=(([\\w'\\.'\"]+|(?:\\w+@)?\\(.*\\)|\\[.*\\])\\s+)+([^\"'_,\\(\\);\\[\\]`\\{\\}\\:\\w\\s]+|`[a-z][\\w']*`)((\\s*[\\w'\\.'\"]+|\\s*(?:\\w+@)?\\(.*\\)|\\s*\\[.*\\]))+\\s*=)","end":"( [^\"'_,\\(\\);\\[\\]`\\{\\}\\:\\w\\s]+|`[a-z][\\w']*`)","patterns":[{"include":"#expression_stuff"}],"endCaptures":{"1":{"name":"entity.name.function.icurry"}}},"infix_op":{"name":"keyword.operator.icurry","match":"(\\([^\\w \\)]+\\)|\\(,+\\))"},"instance_declaration":{"name":"meta.declaration.instance.icurry","begin":"^(\\s*)(instance)\\b","end":"\\b(where)\\s*{\\b|(^(?!\\1\\s))","patterns":[{"include":"#type"},{"include":"#comments"}],"beginCaptures":{"2":{"name":"keyword.declaration.instance.icurry"}},"endCaptures":{"1":{"name":"keyword.declaration.instance.icurry"}}},"interface_name":{"name":"storage.interface.icurry","match":"([A-Z][\\w']*)(\\.[A-Z][\\w']*)*"},"literals":{"patterns":[{"name":"constant.numeric.icurry","match":"\\b([0-9]+\\.[0-9]+([eE][+-]?[0-9]+)?|[0-9]+[eE][+-]?[0-9]+)\\b"},{"name":"constant.numeric.icurry","match":"\\b([0-9]+|0([xX][0-9a-fA-F]+|[oO][0-7]+))\\b"},{"name":"string.quoted.double.icurry","begin":"\"","end":"\"","patterns":[{"name":"constant.character.escape.icurry","match":"\\\\(NUL|SOH|STX|ETX|EOT|ENQ|ACK|BEL|BS|HT|LF|VT|FF|CR|SO|SI|DLE|DC1|DC2|DC3|DC4|NAK|SYN|ETB|CAN|EM|SUB|ESC|FS|GS|RS|US|SP|DEL|[abfnrtv\\\\\\\"'\\\u0026])"},{"name":"constant.character.escape.octal.icurry","match":"\\\\o[0-7]+|\\\\x[0-9A-Fa-f]+|\\\\[0-9]+"},{"name":"constant.character.escape.control.icurry","match":"\\^[A-Z@\\[\\]\\\\\\^_]"}]},{"name":"string.quoted.single.icurry","match":"(?x)\n (')\n (?:\n [\\ -\u0026(-\\[\\]-~\"] # Basic Char\n | (\\\\(?:NUL|SOH|STX|ETX|EOT|ENQ|ACK|BEL|BS|HT|LF|VT|FF|CR|SO|SI|DLE\n |DC1|DC2|DC3|DC4|NAK|SYN|ETB|CAN|EM|SUB|ESC|FS|GS|RS\n |US|SP|DEL|[abfnrtv\\\\\\\"'\\\u0026])) # Escapes\n | (\\\\o[0-7]+) # Octal Escapes\n | (\\\\x[0-9A-Fa-f]+) # Hexadecimal Escapes\n | (\\^[A-Z@\\[\\]\\\\\\^_]) # Control Chars\n )\n (')\n ","captures":{"2":{"name":"constant.character.escape.icurry"},"3":{"name":"constant.character.escape.octal.icurry"},"4":{"name":"constant.character.escape.hexadecimal.icurry"},"5":{"name":"constant.character.escape.control.icurry"}}}]},"pattern_function_definition":{"name":"meta.definition.function.icurry","begin":"^\\s*(?=\\(.*\\)|\\[.*\\]|([A-Z][\\w']*(\\s+([\\w\\s,']*|\\(.*\\)|\\[.*\\]|\\{.*\\}))*)\\s*=)","end":"(=)","patterns":[{"match":"(?\u003c!')\\b([a-z_][\\w']*)\\b","captures":{"1":{"name":"entity.name.function.icurry"}}},{"include":"#expression_stuff"}],"endCaptures":{"1":{"name":"keyword.operator.icurry"}}},"pragma":{"name":"pragma.icurry","begin":"(\\{-#)\\s+([A-Z_]+)\\b","end":"#-\\}","patterns":[{"name":"keyword.other.preprocessor.icurry pragma.support.language.icurry","match":"\\b([A-Z][a-z]*)+\\b"},{"name":"keyword.other.preprocessor.icurry pragma.support.flag.icurry","match":"(-+[a-z]+)+"}],"beginCaptures":{"1":{"name":"punctuation.pragma.icurry"},"2":{"name":"keyword.preprocessor.icurry pragma.name.icurry"}}},"quasi_quote":{"name":"string.quoted.quasi.icurry","begin":"(\\[)([a-z]\\w*)?(\\|)","end":"(\\|\\])","beginCaptures":{"1":{"name":"punctuation.quasi-quoter.icurry keyword.operator.icurry"},"2":{"name":"entity.name.function.icurry"},"3":{"name":"punctuation.quasi-quoter.icurry keyword.operator.icurry"}},"endCaptures":{"1":{"name":"punctuation.quasi-quoter.icurry keyword.operator.icurry"}}},"record_declaration":{"name":"meta.declaration.record.icurry","begin":"(\\{)(?!-)","end":"(?\u003c!-)(\\})","patterns":[{"include":"#field_signature"},{"include":"#comments"}],"beginCaptures":{"1":{"name":"keyword.operator.icurry punctuation.record.icurry"}},"endCaptures":{"1":{"name":"keyword.operator.icurry punctuation.record.icurry"}}},"type":{"patterns":[{"name":"keyword.operator.arrow.icurry","match":"-\u003e|→"},{"name":"keyword.operator.big-arrow.icurry","match":"=\u003e|⇒"},{"name":"storage.type.icurry support.type.icurry","match":"\\b(Int(eger)?|Maybe|Either|Bool|Float|Double|Char|String|Ordering|ShowS|ReadS|FilePath|IO(Error)?)\\b"},{"name":"variable.generic.icurry","match":"(?\u003c!')\\b[a-z][\\w']*\\b"},{"name":"storage.type.icurry","match":"(?\u003c!')\\b[A-Z][\\w']*\\b"},{"name":"storage.type.icurry","match":"\\(\\)"},{"name":"meta.type_signature.brace.icurry","begin":"(\\()","end":"(\\))","patterns":[{"include":"#type"}],"beginCaptures":{"1":{"name":"keyword.operator.icurry"}},"endCaptures":{"1":{"name":"keyword.operator.icurry"}}},{"name":"meta.type_signature.list.icurry","begin":"(\\[)","end":"(\\])","patterns":[{"include":"#type"}],"beginCaptures":{"1":{"name":"keyword.operator.icurry"}},"endCaptures":{"1":{"name":"keyword.operator.icurry"}}},{"include":"#comments"}]},"type_declaration":{"name":"meta.declaration.type.icurry","begin":"^(\\s*)(type)\\s+([A-Z][\\w']*)?","end":"^(?!\\1\\s)","patterns":[{"include":"#comments"},{"name":"keyword.operator.icurry","match":"="},{"include":"#type"}],"beginCaptures":{"2":{"name":"keyword.declaration.data.icurry"},"3":{"name":"constant.other.icurry entity.name.type.icurry"}}},"type_declarations":{"patterns":[{"include":"#data_declaration"},{"include":"#type_declaration"},{"include":"#class_declaration"},{"include":"#instance_declaration"}]}}}
@@ -0,0 +1 @@
1
+ {"name":"Janet","scopeName":"source.janet","patterns":[{"include":"#all"}],"repository":{"all":{"patterns":[{"include":"#comment"},{"include":"#parens"},{"include":"#brackets"},{"include":"#braces"},{"include":"#readermac"},{"include":"#string"},{"include":"#longstring"},{"include":"#literal"},{"include":"#corelib"},{"include":"#r-number"},{"include":"#dec-number"},{"include":"#hex-number"},{"include":"#keysym"},{"include":"#symbol"}]},"braces":{"begin":"(@?{)","end":"(})","patterns":[{"include":"#all"}],"captures":{"1":{"name":"punctuation.definition.braces.end.janet"}}},"brackets":{"begin":"(@?\\[)","end":"(\\])","patterns":[{"include":"#all"}],"captures":{"1":{"name":"punctuation.definition.brackets.end.janet"}}},"comment":{"name":"comment.line.janet","match":"(#).*$","captures":{"1":{"name":"punctuation.definition.comment.janet"}}},"corelib":{"name":"keyword.control.janet","match":"(?\u003c![\\.:\\w_\\-=!@\\$%^\u0026?/\u003c\u003e*])(break|def|do|var|set|fn|while|if|quote|quasiquote|unquote|splice|%|%=|\\*|\\*=|\\+|\\+\\+|\\+=|\\-|\\-\\-|\\-=|\\-\u003e|\\-\u003e\u003e|\\-\\?\u003e|\\-\\?\u003e\u003e|/|/=|\u003c|\u003c=|=|\u003e|\u003e=|abstract\\?|accumulate|accumulate2|all|all\\-bindings|all\\-dynamics|and|any\\?|apply|array|array/concat|array/ensure|array/fill|array/insert|array/new|array/new\\-filled|array/peek|array/pop|array/push|array/remove|array/slice|array/trim|array\\?|as\\-\u003e|as\\?\\-\u003e|asm|assert|bad\\-compile|bad\\-parse|band|blshift|bnot|boolean\\?|bor|brshift|brushift|buffer|buffer/bit|buffer/bit\\-clear|buffer/bit\\-set|buffer/bit\\-toggle|buffer/blit|buffer/clear|buffer/fill|buffer/format|buffer/new|buffer/new\\-filled|buffer/popn|buffer/push|buffer/push\\-byte|buffer/push\\-string|buffer/push\\-word|buffer/slice|buffer/trim|buffer\\?|bxor|bytes\\?|cancel|case|cfunction\\?|chr|cli\\-main|cmp|comment|comp|compare|compare\u003c|compare\u003c=|compare=|compare\u003e|compare\u003e=|compif|compile|complement|comptime|compwhen|cond|coro|count|curenv|debug|debug/arg\\-stack|debug/break|debug/fbreak|debug/lineage|debug/stack|debug/stacktrace|debug/step|debug/unbreak|debug/unfbreak|debugger\\-env|dec|deep\\-not=|deep=|def\\-|default|default\\-peg\\-grammar|defer|defglobal|defmacro|defmacro\\-|defn|defn\\-|describe|dictionary\\?|disasm|distinct|doc|doc\\*|doc\\-format|dofile|drop|drop\\-until|drop\\-while|dyn|each|eachk|eachp|eachy|edefer|eflush|empty\\?|env\\-lookup|eprin|eprinf|eprint|eprintf|error|errorf|ev/call|ev/cancel|ev/capacity|ev/chan|ev/chunk|ev/close|ev/count|ev/deadline|ev/full|ev/give|ev/go|ev/read|ev/rselect|ev/select|ev/sleep|ev/spawn|ev/take|ev/with\\-deadline|ev/write|eval|eval\\-string|even\\?|every\\?|extreme|false\\?|fiber/can\\-resume\\?|fiber/current|fiber/getenv|fiber/maxstack|fiber/new|fiber/root|fiber/setenv|fiber/setmaxstack|fiber/status|fiber\\?|file/close|file/flush|file/open|file/popen|file/read|file/seek|file/temp|file/write|filter|find|find\\-index|first|flatten|flatten\\-into|flush|for|forever|forv|freeze|frequencies|function\\?|gccollect|gcinterval|gcsetinterval|generate|gensym|get|get\\-in|getline|hash|idempotent\\?|identity|if\\-let|if\\-not|if\\-with|import|import\\*|in|inc|index\\-of|indexed\\?|int/s64|int/u64|int\\?|interleave|interpose|invert|janet/build|janet/config\\-bits|janet/version|juxt|juxt\\*|keep|keys|keyword|keyword/slice|keyword\\?|kvs|label|last|length|let|load\\-image|load\\-image\\-dict|loop|macex|macex1|make\\-env|make\\-image|make\\-image\\-dict|map|mapcat|marshal|match|math/\\-inf|math/abs|math/acos|math/acosh|math/asin|math/asinh|math/atan|math/atan2|math/atanh|math/cbrt|math/ceil|math/cos|math/cosh|math/e|math/erf|math/erfc|math/exp|math/exp2|math/expm1|math/floor|math/gamma|math/hypot|math/inf|math/int\\-max|math/int\\-min|math/int32\\-max|math/int32\\-min|math/log|math/log10|math/log1p|math/log2|math/nan|math/next|math/pi|math/pow|math/random|math/rng|math/rng\\-buffer|math/rng\\-int|math/rng\\-uniform|math/round|math/seedrandom|math/sin|math/sinh|math/sqrt|math/tan|math/tanh|math/trunc|max|mean|merge|merge\\-into|merge\\-module|min|mod|module/add\\-paths|module/cache|module/expand\\-path|module/find|module/loaders|module/loading|module/paths|nan\\?|nat\\?|native|neg\\?|net/accept|net/accept\\-loop|net/address|net/chunk|net/close|net/connect|net/flush|net/listen|net/read|net/recv\\-from|net/send\\-to|net/server|net/write|next|nil\\?|not|not=|number\\?|odd\\?|one\\?|or|os/arch|os/cd|os/chmod|os/clock|os/cryptorand|os/cwd|os/date|os/dir|os/environ|os/execute|os/exit|os/getenv|os/link|os/lstat|os/mkdir|os/mktime|os/open|os/perm\\-int|os/perm\\-string|os/pipe|os/proc\\-kill|os/proc\\-wait|os/readlink|os/realpath|os/rename|os/rm|os/rmdir|os/setenv|os/shell|os/sleep|os/spawn|os/stat|os/symlink|os/time|os/touch|os/umask|os/which|pairs|parse|parser/byte|parser/clone|parser/consume|parser/eof|parser/error|parser/flush|parser/has\\-more|parser/insert|parser/new|parser/produce|parser/state|parser/status|parser/where|partial|partition|peg/compile|peg/find|peg/find\\-all|peg/match|peg/replace|peg/replace\\-all|pos\\?|postwalk|pp|prewalk|prin|prinf|print|printf|product|prompt|propagate|protect|put|put\\-in|quit|range|reduce|reduce2|repeat|repl|require|resume|return|reverse|reverse!|root\\-env|run\\-context|scan\\-number|seq|setdyn|short\\-fn|signal|slice|slurp|some|sort|sort\\-by|sorted|sorted\\-by|spit|stderr|stdin|stdout|string|string/ascii\\-lower|string/ascii\\-upper|string/bytes|string/check\\-set|string/find|string/find\\-all|string/format|string/from\\-bytes|string/has\\-prefix\\?|string/has\\-suffix\\?|string/join|string/repeat|string/replace|string/replace\\-all|string/reverse|string/slice|string/split|string/trim|string/triml|string/trimr|string\\?|struct|struct\\?|sum|symbol|symbol/slice|symbol\\?|table|table/clone|table/getproto|table/new|table/rawget|table/setproto|table/to\\-struct|table\\?|take|take\\-until|take\\-while|tarray/buffer|tarray/copy\\-bytes|tarray/length|tarray/new|tarray/properties|tarray/slice|tarray/swap\\-bytes|thread/close|thread/current|thread/exit|thread/new|thread/receive|thread/send|trace|tracev|true\\?|truthy\\?|try|tuple|tuple/brackets|tuple/setmap|tuple/slice|tuple/sourcemap|tuple/type|tuple\\?|type|unless|unmarshal|untrace|update|update\\-in|use|values|var\\-|varfn|varglobal|walk|when|when\\-let|when\\-with|with|with\\-dyns|with\\-syms|with\\-vars|xprin|xprinf|xprint|xprintf|yield|zero\\?|zipcoll)(?![\\.:\\w_\\-=!@\\$%^\u0026?/\u003c\u003e*])"},"dec-number":{"name":"constant.numeric.decimal.janet","match":"(?\u003c![\\.:\\w_\\-=!@\\$%^\u0026?/\u003c\u003e*])[-+]?([_\\d]+|[_\\d]+\\.[_\\d]*|\\.[_\\d]+)([eE\u0026][+-]?[\\d]+)?(?![\\.:\\w_\\-=!@\\$%^\u0026?/\u003c\u003e*])"},"hex-number":{"name":"constant.numeric.hex.janet","match":"(?\u003c![\\.:\\w_\\-=!@\\$%^\u0026?/\u003c\u003e*])[-+]?0x([_\\da-fA-F]+|[_\\da-fA-F]+\\.[_\\da-fA-F]*|\\.[_\\da-fA-F]+)(\u0026[+-]?[\\da-fA-F]+)?(?![\\.:\\w_\\-=!@\\$%^\u0026?/\u003c\u003e*])"},"keysym":{"name":"constant.keyword.janet","match":"(?\u003c![\\.:\\w_\\-=!@\\$%^\u0026?/\u003c\u003e*]):[\\.:\\w_\\-=!@\\$%^\u0026?/\u003c\u003e*]*"},"literal":{"name":"constant.language.janet","match":"(?\u003c![\\.:\\w_\\-=!@\\$%^\u0026?/\u003c\u003e*])(true|false|nil)(?![\\.:\\w_\\-=!@\\$%^\u0026?/\u003c\u003e*])"},"longstring":{"name":"string.quoted.triple.janet","begin":"(@?)(`+)","end":"\\2","beginCaptures":{"1":{"name":"punctuation.definition.string.begin.janet"},"2":{"name":"punctuation.definition.string.begin.janet"}},"endCaptures":{"1":{"name":"punctuation.definition.string.end.janet"}}},"nomatch":{"name":"invalid.illegal.janet","match":"\\S+"},"parens":{"begin":"(@?\\()","end":"(\\))","patterns":[{"include":"#all"}],"captures":{"1":{"name":"punctuation.definition.parens.end.janet"}}},"r-number":{"name":"constant.numeric.decimal.janet","match":"(?\u003c![\\.:\\w_\\-=!@\\$%^\u0026?/\u003c\u003e*])[-+]?\\d\\d?r([_\\w]+|[_\\w]+\\.[_\\w]*|\\.[_\\w]+)(\u0026[+-]?[\\w]+)?(?![\\.:\\w_\\-=!@\\$%^\u0026?/\u003c\u003e*])"},"readermac":{"name":"punctuation.other.janet","match":"[\\'\\~\\;\\,]"},"string":{"name":"string.quoted.double.janet","begin":"(@?\")","end":"(\")","patterns":[{"name":"constant.character.escape.janet","match":"(\\\\[nevr0zft\"\\\\']|\\\\x[0-9a-fA-F]{2}|\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{6})"}],"beginCaptures":{"1":{"name":"punctuation.definition.string.begin.janet"}},"endCaptures":{"1":{"name":"punctuation.definition.string.end.janet"}}},"symbol":{"name":"variable.other.janet","match":"(?\u003c![\\.:\\w_\\-=!@\\$%^\u0026?/\u003c\u003e*])[\\.a-zA-Z_\\-=!@\\$%^\u0026?/\u003c\u003e*][\\.:\\w_\\-=!@\\$%^\u0026?/\u003c\u003e*]*"}}}