6 lines
5.2 KiB
JavaScript
6 lines
5.2 KiB
JavaScript
const lang = Object.freeze(JSON.parse("{\"displayName\":\"Polar\",\"name\":\"polar\",\"patterns\":[{\"include\":\"#comment\"},{\"include\":\"#rule\"},{\"include\":\"#rule-type\"},{\"include\":\"#inline-query\"},{\"include\":\"#resource-block\"},{\"include\":\"#test-block\"},{\"include\":\"#fixture\"}],\"repository\":{\"boolean\":{\"match\":\"\\\\b(true|false)\\\\b\",\"name\":\"constant.language.boolean\"},\"comment\":{\"match\":\"#.*\",\"name\":\"comment.line.number-sign\"},\"fixture\":{\"patterns\":[{\"match\":\"\\\\bfixture\\\\b\",\"name\":\"keyword.control\"},{\"begin\":\"\\\\btest\\\\b\",\"beginCaptures\":{\"0\":{\"name\":\"keyword.control\"}},\"end\":\"\\\\bfixture\\\\b\",\"endCaptures\":{\"0\":{\"name\":\"keyword.control\"}}}]},\"inline-query\":{\"begin\":\"\\\\?=\",\"beginCaptures\":{\"0\":{\"name\":\"keyword.control\"}},\"end\":\";\",\"name\":\"meta.inline-query\",\"patterns\":[{\"include\":\"#term\"}]},\"keyword\":{\"patterns\":[{\"match\":\"\\\\b(cut|or|debug|print|in|forall|if|and|of|not|matches|type|on|global)\\\\b\",\"name\":\"constant.character\"}]},\"number\":{\"patterns\":[{\"match\":\"\\\\b[-+]?\\\\d+(?:(\\\\.)\\\\d+(?:e[-+]?\\\\d+)?|e[-+]?\\\\d+)\\\\b\",\"name\":\"constant.numeric.float\"},{\"match\":\"\\\\b([-+])\\\\d+\\\\b\",\"name\":\"constant.numeric.integer\"},{\"match\":\"\\\\b\\\\d+\\\\b\",\"name\":\"constant.numeric.natural\"}]},\"object-literal\":{\"begin\":\"([A-Z_a-z][0-9A-Z_a-z]*(?:::[0-9A-Z_a-z]+)*)\\\\s*\\\\{\",\"beginCaptures\":{\"1\":{\"name\":\"entity.name.type.resource\"}},\"end\":\"}\",\"name\":\"constant.other.object-literal\",\"patterns\":[{\"include\":\"#string\"},{\"include\":\"#number\"},{\"include\":\"#boolean\"}]},\"operator\":{\"captures\":{\"1\":{\"name\":\"keyword.control\"}},\"match\":\"([-!*+/<=>])\"},\"resource-block\":{\"begin\":\"(?<resourceType>[A-Z_a-z][0-9A-Z_a-z]*(?:::[0-9A-Z_a-z]+)*){0}((resource|actor)\\\\s+(\\\\g<resourceType>)(?:\\\\s+(extends)\\\\s+(\\\\g<resourceType>(?:\\\\s*,\\\\s*\\\\g<resourceType>)*)\\\\s*,?\\\\s*)?|(global))\\\\s*\\\\{\",\"beginCaptures\":{\"3\":{\"name\":\"keyword.control\"},\"4\":{\"name\":\"entity.name.type\"},\"5\":{\"name\":\"keyword.control\"},\"6\":{\"patterns\":[{\"match\":\"([A-Z_a-z][0-9A-Z_a-z]*(?:::[0-9A-Z_a-z]+)*)\",\"name\":\"entity.name.type\"}]},\"7\":{\"name\":\"keyword.control\"}},\"end\":\"}\",\"name\":\"meta.resource-block\",\"patterns\":[{\"match\":\";\",\"name\":\"punctuation.separator.sequence.declarations\"},{\"begin\":\"\\\\{\",\"end\":\"}\",\"name\":\"meta.relation-declaration\",\"patterns\":[{\"include\":\"#specializer\"},{\"include\":\"#comment\"},{\"match\":\",\",\"name\":\"punctuation.separator.sequence.dict\"}]},{\"include\":\"#term\"}]},\"rule\":{\"name\":\"meta.rule\",\"patterns\":[{\"include\":\"#rule-functor\"},{\"begin\":\"\\\\bif\\\\b\",\"beginCaptures\":{\"0\":{\"name\":\"keyword.control.if\"}},\"end\":\";\",\"patterns\":[{\"include\":\"#term\"}]},{\"match\":\";\"}]},\"rule-functor\":{\"begin\":\"([A-Z_a-z][0-9A-Z_a-z]*(?:::[0-9A-Z_a-z]+)*)\\\\s*\\\\(\",\"beginCaptures\":{\"1\":{\"name\":\"support.function.rule\"}},\"end\":\"\\\\)\",\"patterns\":[{\"include\":\"#specializer\"},{\"match\":\",\",\"name\":\"punctuation.separator.sequence.list\"},{\"include\":\"#term\"}]},\"rule-type\":{\"begin\":\"\\\\btype\\\\b\",\"beginCaptures\":{\"0\":{\"name\":\"keyword.other.type-decl\"}},\"end\":\";\",\"name\":\"meta.rule-type\",\"patterns\":[{\"include\":\"#rule-functor\"}]},\"specializer\":{\"captures\":{\"1\":{\"name\":\"entity.name.type.resource\"}},\"match\":\"[A-Z_a-z][0-9A-Z_a-z]*(?:::[0-9A-Z_a-z]+)*\\\\s*:\\\\s*([A-Z_a-z][0-9A-Z_a-z]*(?:::[0-9A-Z_a-z]+)*)\"},\"string\":{\"begin\":\"\\\"\",\"end\":\"\\\"\",\"name\":\"string.quoted.double\",\"patterns\":[{\"match\":\"\\\\\\\\.\",\"name\":\"constant.character.escape\"}]},\"term\":{\"patterns\":[{\"include\":\"#comment\"},{\"include\":\"#string\"},{\"include\":\"#number\"},{\"include\":\"#keyword\"},{\"include\":\"#operator\"},{\"include\":\"#boolean\"},{\"include\":\"#object-literal\"},{\"begin\":\"\\\\[\",\"end\":\"]\",\"name\":\"meta.bracket.list\",\"patterns\":[{\"include\":\"#term\"},{\"match\":\",\",\"name\":\"punctuation.separator.sequence.list\"}]},{\"begin\":\"\\\\{\",\"end\":\"}\",\"name\":\"meta.bracket.dict\",\"patterns\":[{\"include\":\"#term\"},{\"match\":\",\",\"name\":\"punctuation.separator.sequence.dict\"}]},{\"begin\":\"\\\\(\",\"end\":\"\\\\)\",\"name\":\"meta.parens\",\"patterns\":[{\"include\":\"#term\"}]}]},\"test-block\":{\"begin\":\"(test)\\\\s+(\\\"[^\\\"]*\\\")\\\\s*\\\\{\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.control\"},\"2\":{\"name\":\"string.quoted.double\"}},\"end\":\"}\",\"name\":\"meta.test-block\",\"patterns\":[{\"begin\":\"(setup)\\\\s*\\\\{\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.control\"}},\"end\":\"}\",\"name\":\"meta.test-setup\",\"patterns\":[{\"include\":\"#rule\"},{\"include\":\"#comment\"},{\"include\":\"#fixture\"}]},{\"include\":\"#rule\"},{\"match\":\"\\\\b(assert(?:|_not))\\\\b\",\"name\":\"keyword.other\"},{\"include\":\"#comment\"},{\"name\":\"meta.iff-rule\",\"patterns\":[{\"include\":\"#rule-functor\"},{\"begin\":\"\\\\biff\\\\b\",\"beginCaptures\":{\"0\":{\"name\":\"keyword.control\"}},\"end\":\";\",\"patterns\":[{\"include\":\"#term\"}]},{\"match\":\";\"}]}]}},\"scopeName\":\"source.polar\"}"))
|
|
|
|
export default [
|
|
lang
|
|
]
|