4 lines
17 KiB
JavaScript
4 lines
17 KiB
JavaScript
var purescript_tmLanguage = {fileTypes:["purs"],name:"purescript",scopeName:"source.purescript",macros:{functionNameOne:"[\\p{Ll}_][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*",classNameOne:"[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*",functionName:"(?:[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*(?:\\.[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*)*\\.)?[\\p{Ll}_][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*",className:"[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*(?:\\.[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*)*",operatorChar:"[\\p{S}\\p{P}&&[^(),;\\[\\]`{}_\"']]",operator:"[\\p{S}\\p{P}&&[^(),;\\[\\]`{}_\"']]+",operatorFun:"(?:\\((?!--+\\))[\\p{S}\\p{P}&&[^(),;\\[\\]`{}_\"']]+\\))",character:"(?:[ -\\[\\]-~]|(\\\\(?: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\\\\\\\"'\\&]))|(\\\\o[0-7]+)|(\\\\x[0-9A-Fa-f]+)|(\\^[A-Z@\\[\\]\\\\\\^_]))",classConstraint:"(?:(?:([\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*(?:\\.[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*)*)\\s+)(?:(?<classConstraint>(?:[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*(?:\\.[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*)*|(?:[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*(?:\\.[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*)*\\.)?[\\p{Ll}_][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*)(?:\\s*(?:\\s+)\\s*\\g<classConstraint>)?)))",functionTypeDeclaration:"([\\p{Ll}_][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*)\\s*(::|∷)",ctorArgs:"(?:[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*(?:\\.[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*)*|(?:[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*(?:\\.[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*)*\\.)?[\\p{Ll}_][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*|(?:(?:[\\w()'→⇒\\[\\],]|->|=>)+\\s*)+)",ctor:"(?:(?:\\b([\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*(?:\\.[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*)*)\\s+)(?:(?<ctorArgs>(?:(?:[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*(?:\\.[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*)*|(?:[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*(?:\\.[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*)*\\.)?[\\p{Ll}_][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*|(?:(?:[\\w()'→⇒\\[\\],]|->|=>)+\\s*)+))(?:\\s*(?:\\s+)\\s*\\g<ctorArgs>)?)?))",typeDecl:".+?",indentChar:"[ \\t]",indentBlockEnd:"^(?!\\1[ \\t]|[ \\t]*$)",maybeBirdTrack:"^"},patterns:[{name:"keyword.operator.function.infix.purescript",match:"(`)(?:[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*(?:\\.[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*)*\\.)?[\\p{Ll}_][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*(`)",captures:{"1":{name:"punctuation.definition.entity.purescript"},"2":{name:"punctuation.definition.entity.purescript"}}},{name:"meta.declaration.module.purescript",begin:"^\\s*\\b(module)(?!')\\b",end:"(where)",beginCaptures:{"1":{name:"keyword.other.purescript"}},endCaptures:{"1":{name:"keyword.other.purescript"}},patterns:[{include:"#comments"},{include:"#module_name"},{include:"#module_exports"},{name:"invalid.purescript",match:"[a-z]+"}]},{name:"meta.declaration.typeclass.purescript",begin:"^\\s*\\b(class)(?!')\\b",end:"\\b(where)\\b|$",beginCaptures:{"1":{name:"storage.type.class.purescript"}},endCaptures:{"1":{name:"keyword.other.purescript"}},patterns:[{include:"#type_signature"}]},{name:"meta.declaration.instance.purescript",begin:"^\\s*\\b(else\\s+)?(derive\\s+)?(newtype\\s+)?(instance)(?!')\\b",end:"\\b(where)\\b|$",contentName:"meta.type-signature.purescript",beginCaptures:{"1":{name:"keyword.other.purescript"},"2":{name:"keyword.other.purescript"},"3":{name:"keyword.other.purescript"},"4":{name:"keyword.other.purescript"}},endCaptures:{"1":{name:"keyword.other.purescript"}},patterns:[{include:"#type_signature"}]},{name:"meta.foreign.data.purescript",begin:"^(\\s*)(foreign)\\s+(import)\\s+(data)\\s+([\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*)",end:"^(?!\\1[ \\t]|[ \\t]*$)",contentName:"meta.kind-signature.purescript",beginCaptures:{"2":{name:"keyword.other.purescript"},"3":{name:"keyword.other.purescript"},"4":{name:"keyword.other.purescript"},"5":{name:"entity.name.type.purescript"},"6":{name:"keyword.other.double-colon.purescript"}},patterns:[{include:"#double_colon"},{include:"#kind_signature"}]},{name:"meta.foreign.purescript",begin:"^(\\s*)(foreign)\\s+(import)\\s+([\\p{Ll}_][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*)",end:"^(?!\\1[ \\t]|[ \\t]*$)",contentName:"meta.type-signature.purescript",beginCaptures:{"2":{name:"keyword.other.purescript"},"3":{name:"keyword.other.purescript"},"4":{name:"entity.name.function.purescript"}},patterns:[{include:"#double_colon"},{include:"#type_signature"}]},{name:"meta.import.purescript",begin:"^\\s*\\b(import)(?!')\\b",end:"($|(?=--))",beginCaptures:{"1":{name:"keyword.other.purescript"}},patterns:[{include:"#module_name"},{include:"#module_exports"},{match:"\\b(as|hiding)\\b",captures:{"1":{name:"keyword.other.purescript"}}}]},{name:"meta.declaration.type.data.purescript",begin:"^(\\s)*(data|newtype)\\s+(.+?)\\s*(?=\\=|$)",end:"^(?!\\1[ \\t]|[ \\t]*$)",beginCaptures:{"2":{name:"storage.type.data.purescript"},"3":{name:"meta.type-signature.purescript",patterns:[{include:"#type_signature"}]}},patterns:[{include:"#comments"},{match:"=",captures:{"0":{name:"keyword.operator.assignment.purescript"}}},{match:"(?:(?:\\b([\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*(?:\\.[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*)*)\\s+)(?:(?<ctorArgs>(?:(?:[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*(?:\\.[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*)*|(?:[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*(?:\\.[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*)*\\.)?[\\p{Ll}_][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*|(?:(?:[\\w()'→⇒\\[\\],]|->|=>)+\\s*)+))(?:\\s*(?:\\s+)\\s*\\g<ctorArgs>)?)?))",captures:{"1":{patterns:[{include:"#data_ctor"}]},"2":{name:"meta.type-signature.purescript",patterns:[{include:"#type_signature"}]}}},{match:"\\|",captures:{"0":{name:"punctuation.separator.pipe.purescript"}}},{include:"#record_types"}]},{name:"meta.declaration.type.type.purescript",begin:"^(\\s)*(type)\\s+(.+?)\\s*(?=\\=|$)",end:"^(?!\\1[ \\t]|[ \\t]*$)",contentName:"meta.type-signature.purescript",beginCaptures:{"2":{name:"storage.type.data.purescript"},"3":{name:"meta.type-signature.purescript",patterns:[{include:"#type_signature"}]}},patterns:[{match:"=",captures:{"0":{name:"keyword.operator.assignment.purescript"}}},{include:"#type_signature"},{include:"#record_types"},{include:"#comments"}]},{name:"keyword.other.purescript",match:"^\\s*\\b(derive|where|data|type|newtype|infix[lr]?|foreign(\\s+import)?(\\s+data)?)(?!')\\b"},{name:"entity.name.function.typed-hole.purescript",match:"\\?(?:[\\p{Ll}_][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*|[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*)"},{name:"storage.type.purescript",match:"^\\s*\\b(data|type|newtype)(?!')\\b"},{name:"keyword.control.purescript",match:"\\b(do|ado|if|then|else|case|of|let|in)(?!('|\\s*(:|=)))\\b"},{name:"constant.numeric.hex.purescript",match:"\\b(?<!\\$)0(x|X)[0-9a-fA-F]+\\b(?!\\$)"},{name:"constant.numeric.decimal.purescript",match:"(?x)\n(?<!\\$)(?:\n (?:\\b[0-9]+(\\.)[0-9]+[eE][+-]?[0-9]+\\b)| # 1.1E+3\n (?:\\b[0-9]+[eE][+-]?[0-9]+\\b)| # 1E+3\n (?:\\b[0-9]+(\\.)[0-9]+\\b)| # 1.1\n (?:\\b[0-9]+\\b(?!\\.)) # 1\n)(?!\\$)",captures:{"0":{name:"constant.numeric.decimal.purescript"},"1":{name:"meta.delimiter.decimal.period.purescript"},"2":{name:"meta.delimiter.decimal.period.purescript"},"3":{name:"meta.delimiter.decimal.period.purescript"},"4":{name:"meta.delimiter.decimal.period.purescript"},"5":{name:"meta.delimiter.decimal.period.purescript"},"6":{name:"meta.delimiter.decimal.period.purescript"}}},{name:"constant.language.boolean.purescript",match:"\\b(true|false)\\b"},{name:"constant.numeric.purescript",match:"\\b(([0-9]+_?)*[0-9]+|0([xX][0-9a-fA-F]+|[oO][0-7]+))\\b"},{name:"string.quoted.triple.purescript",begin:"\"\"\"",end:"\"\"\"",beginCaptures:{"0":{name:"punctuation.definition.string.begin.purescript"}},endCaptures:{"0":{name:"punctuation.definition.string.end.purescript"}}},{name:"string.quoted.double.purescript",begin:"\"",end:"\"",beginCaptures:{"0":{name:"punctuation.definition.string.begin.purescript"}},endCaptures:{"0":{name:"punctuation.definition.string.end.purescript"}},patterns:[{include:"#characters"},{begin:"\\\\\\s",end:"\\\\",beginCaptures:{"0":{name:"markup.other.escape.newline.begin.purescript"}},endCaptures:{"0":{name:"markup.other.escape.newline.end.purescript"}},patterns:[{match:"\\S+",name:"invalid.illegal.character-not-allowed-here.purescript"}]}]},{name:"markup.other.escape.newline.purescript",match:"\\\\$"},{name:"string.quoted.single.purescript",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\\\\\\\"'\\&]))|(\\\\o[0-7]+)|(\\\\x[0-9A-Fa-f]+)|(\\^[A-Z@\\[\\]\\\\\\^_])))(')",captures:{"1":{name:"punctuation.definition.string.begin.purescript"},"2":{patterns:[{include:"#characters"}]},"7":{name:"punctuation.definition.string.end.purescript"}}},{include:"#function_type_declaration"},{match:"\\((?<paren>(?:[^()]|\\(\\g<paren>\\))*)(::|∷)(?<paren2>(?:[^()]|\\(\\g<paren2>\\))*)\\)",captures:{"1":{patterns:[{include:"$self"}]},"2":{name:"keyword.other.double-colon.purescript"},"3":{name:"meta.type-signature.purescript",patterns:[{include:"#type_signature"}]}}},{begin:"^(\\s*)(?:(::|∷))",beginCaptures:{"2":{name:"keyword.other.double-colon.purescript"}},end:"^(?!\\1[ \\t]*|[ \\t]*$)",patterns:[{include:"#type_signature"}]},{include:"#data_ctor"},{include:"#comments"},{include:"#infix_op"},{name:"keyword.other.arrow.purescript",match:"\\<-|-\\>"},{name:"keyword.operator.purescript",match:"[\\p{S}\\p{P}&&[^(),;\\[\\]`{}_\"']]+"},{name:"punctuation.separator.comma.purescript",match:","}],repository:{block_comment:{patterns:[{name:"comment.block.documentation.purescript",begin:"\\{-\\s*\\|",end:"-\\}",applyEndPatternLast:1,beginCaptures:{"0":{name:"punctuation.definition.comment.documentation.purescript"}},endCaptures:{"0":{name:"punctuation.definition.comment.documentation.purescript"}},patterns:[{include:"#block_comment"}]},{name:"comment.block.purescript",begin:"\\{-",end:"-\\}",applyEndPatternLast:1,beginCaptures:{"0":{name:"punctuation.definition.comment.purescript"}},patterns:[{include:"#block_comment"}]}]},record_types:{patterns:[{name:"meta.type.record.purescript",begin:"\\{",beginCaptures:{"0":{name:"keyword.operator.type.record.begin.purescript"}},end:"\\}",endCaptures:{"0":{name:"keyword.operator.type.record.end.purescript"}},patterns:[{name:"punctuation.separator.comma.purescript",match:","},{include:"#record_field_declaration"},{include:"#comments"}]}]},comments:{patterns:[{begin:"(^[ \\t]+)?(?=--+\\s+\\|)",end:"(?!\\G)",beginCaptures:{"1":{name:"punctuation.whitespace.comment.leading.purescript"}},patterns:[{name:"comment.line.double-dash.documentation.purescript",begin:"(--+)\\s+(\\|)",end:"\\n",beginCaptures:{"1":{name:"punctuation.definition.comment.purescript"},"2":{name:"punctuation.definition.comment.documentation.purescript"}}}]},{begin:"(^[ \\t]+)?(?=--+(?![\\p{S}\\p{P}&&[^(),;\\[\\]`{}_\"']]))",end:"(?!\\G)",beginCaptures:{"1":{name:"punctuation.whitespace.comment.leading.purescript"}},patterns:[{name:"comment.line.double-dash.purescript",begin:"--",end:"\\n",beginCaptures:{"0":{name:"punctuation.definition.comment.purescript"}}}]},{include:"#block_comment"}]},characters:{patterns:[{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\\\\\\\"'\\&]))|(\\\\o[0-7]+)|(\\\\x[0-9A-Fa-f]+)|(\\^[A-Z@\\[\\]\\\\\\^_]))",captures:{"1":{name:"constant.character.escape.purescript"},"2":{name:"constant.character.escape.octal.purescript"},"3":{name:"constant.character.escape.hexadecimal.purescript"},"4":{name:"constant.character.escape.control.purescript"}}}]},infix_op:{patterns:[{name:"entity.name.function.infix.purescript",match:"(?:\\((?!--+\\))[\\p{S}\\p{P}&&[^(),;\\[\\]`{}_\"']]+\\))"}]},module_exports:{patterns:[{name:"meta.declaration.exports.purescript",begin:"\\(",end:"\\)",patterns:[{include:"#comments"},{name:"entity.name.function.purescript",match:"\\b(?:[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*(?:\\.[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*)*\\.)?[\\p{Ll}_][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*"},{include:"#type_name"},{name:"punctuation.separator.comma.purescript",match:","},{include:"#infix_op"},{name:"meta.other.constructor-list.purescript",match:"\\(.*?\\)"}]}]},module_name:{patterns:[{name:"support.other.module.purescript",match:"(?:[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*(?:\\.[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*)*\\.)*[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*(?:\\.[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*)*\\.?"}]},function_type_declaration:{patterns:[{name:"meta.function.type-declaration.purescript",begin:"^(\\s*)([\\p{Ll}_][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*)\\s*(?:(::|∷)(?!.*<-))",end:"^(?!\\1[ \\t]|[ \\t]*$)",contentName:"meta.type-signature.purescript",beginCaptures:{"2":{name:"entity.name.function.purescript"},"3":{name:"keyword.other.double-colon.purescript"}},patterns:[{include:"#double_colon"},{include:"#type_signature"}]}]},record_field_declaration:{patterns:[{name:"meta.record-field.type-declaration.purescript",begin:"([\\p{Ll}_][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*)\\s*(::|∷)",end:"(?=([\\p{Ll}_][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*)\\s*(::|∷)|})",contentName:"meta.type-signature.purescript",beginCaptures:{"1":{patterns:[{name:"entity.other.attribute-name.purescript",match:"(?:[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*(?:\\.[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*)*\\.)?[\\p{Ll}_][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*"}]},"2":{name:"keyword.other.double-colon.purescript"}},patterns:[{include:"#type_signature"},{include:"#record_types"}]}]},kind_signature:{patterns:[{name:"keyword.other.star.purescript",match:"\\*"},{name:"keyword.other.exclaimation-point.purescript",match:"!"},{name:"keyword.other.pound-sign.purescript",match:"#"},{name:"keyword.other.arrow.purescript",match:"->|→"}]},type_signature:{patterns:[{name:"meta.class-constraints.purescript",match:"(?:(?:\\()(?:(?<classConstraints>(?:(?:(?:([\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*(?:\\.[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*)*)\\s+)(?:(?<classConstraint>(?:[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*(?:\\.[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*)*|(?:[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*(?:\\.[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*)*\\.)?[\\p{Ll}_][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*)(?:\\s*(?:\\s+)\\s*\\g<classConstraint>)?))))(?:\\s*(?:,)\\s*\\g<classConstraints>)?))(?:\\))(?:\\s*(=>|<=|⇐|⇒)))",captures:{"1":{patterns:[{include:"#class_constraint"}]},"4":{name:"keyword.other.big-arrow.purescript"}}},{name:"meta.class-constraints.purescript",match:"((?:(?:([\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*(?:\\.[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*)*)\\s+)(?:(?<classConstraint>(?:[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*(?:\\.[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*)*|(?:[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*(?:\\.[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*)*\\.)?[\\p{Ll}_][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*)(?:\\s*(?:\\s+)\\s*\\g<classConstraint>)?))))\\s*(=>|<=|⇐|⇒)",captures:{"1":{patterns:[{include:"#class_constraint"}]},"4":{name:"keyword.other.big-arrow.purescript"}}},{name:"keyword.other.arrow.purescript",match:"->|→"},{name:"keyword.other.big-arrow.purescript",match:"=>|⇒"},{name:"keyword.other.big-arrow-left.purescript",match:"<=|⇐"},{name:"keyword.other.forall.purescript",match:"forall|∀"},{include:"#generic_type"},{include:"#type_name"},{include:"#comments"}]},type_name:{patterns:[{name:"entity.name.type.purescript",match:"\\b[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*(?:\\.[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*)*"}]},data_ctor:{patterns:[{name:"entity.name.tag.purescript",match:"\\b[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*(?:\\.[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*)*"}]},generic_type:{patterns:[{name:"variable.other.generic-type.purescript",match:"\\b(?:[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*(?:\\.[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*)*\\.)?[\\p{Ll}_][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*"}]},double_colon:{patterns:[{name:"keyword.other.double-colon.purescript",match:"(?:::|∷)"}]},class_constraint:{patterns:[{name:"meta.class-constraint.purescript",match:"(?:(?:([\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*(?:\\.[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*)*)\\s+)(?:(?<classConstraint>(?:[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*(?:\\.[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*)*|(?:[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*(?:\\.[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*)*\\.)?[\\p{Ll}_][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*)(?:\\s*(?:\\s+)\\s*\\g<classConstraint>)?)))",captures:{"1":{patterns:[{name:"entity.name.type.purescript",match:"\\b[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*(?:\\.[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*)*"}]},"2":{patterns:[{include:"#type_name"},{include:"#generic_type"}]}}}]}}};
|
|
|
|
export { purescript_tmLanguage as default };
|