11 lines
12 KiB
JavaScript
11 lines
12 KiB
JavaScript
|
import glsl from './glsl.mjs';
|
||
|
import './c.mjs';
|
||
|
|
||
|
const lang = Object.freeze({ "displayName": "Elm", "fileTypes": ["elm"], "name": "elm", "patterns": [{ "include": "#import" }, { "include": "#module" }, { "include": "#debug" }, { "include": "#comments" }, { "match": "\\b(_)\\b", "name": "keyword.unused.elm" }, { "include": "#type-signature" }, { "include": "#type-declaration" }, { "include": "#type-alias-declaration" }, { "include": "#string-triple" }, { "include": "#string-quote" }, { "include": "#char" }, { "comment": "Floats are always decimal", "match": "\\b([0-9]+\\.[0-9]+([eE][+-]?[0-9]+)?|[0-9]+[eE][+-]?[0-9]+)\\b", "name": "constant.numeric.float.elm" }, { "match": "\\b([0-9]+)\\b", "name": "constant.numeric.elm" }, { "match": "\\b(0x[0-9a-fA-F]+)\\b", "name": "constant.numeric.elm" }, { "include": "#glsl" }, { "include": "#record-prefix" }, { "include": "#module-prefix" }, { "include": "#constructor" }, { "captures": { "1": { "name": "punctuation.bracket.elm" }, "2": { "name": "record.name.elm" }, "3": { "name": "keyword.pipe.elm" }, "4": { "name": "entity.name.record.field.elm" } }, "match": "(\\{)\\s+([a-z][a-zA-Z0-9_]*)\\s+(\\|)\\s+([a-z][a-zA-Z0-9_]*)", "name": "meta.record.field.update.elm" }, { "captures": { "1": { "name": "keyword.pipe.elm" }, "2": { "name": "entity.name.record.field.elm" }, "3": { "name": "keyword.operator.assignment.elm" } }, "match": "(\\|)\\s+([a-z][a-zA-Z0-9_]*)\\s+(\\=)", "name": "meta.record.field.update.elm" }, { "captures": { "1": { "name": "punctuation.bracket.elm" }, "2": { "name": "record.name.elm" } }, "match": "(\\{)\\s+([a-z][a-zA-Z0-9_]*)\\s+$", "name": "meta.record.field.update.elm" }, { "captures": { "1": { "name": "punctuation.bracket.elm" }, "2": { "name": "entity.name.record.field.elm" }, "3": { "name": "keyword.operator.assignment.elm" } }, "match": "(\\{)\\s+([a-z][a-zA-Z0-9_]*)\\s+(\\=)", "name": "meta.record.field.elm" }, { "captures": { "1": { "name": "punctuation.separator.comma.elm" }, "2": { "name": "entity.name.record.field.elm" }, "3": { "name": "keyword.operator.assignment.elm" } }, "match": "(,)\\s+([a-z][a-zA-Z0-9_]*)\\s+(\\=)", "name": "meta.record.field.elm" }, { "match": "(\\}|\\{)", "name": "punctuation.bracket.elm" }, { "include": "#unit" }, { "include": "#comma" }, { "include": "#parens" }, { "match": "(->)", "name": "keyword.operator.arrow.elm" }, { "include": "#infix_op" }, { "match": "(\\=|\\:|\\||\\\\)", "name": "keyword.other.elm" }, { "match": "\\b(type|as|port|exposing|alias|infixl|infixr|infix)\\s+", "name": "keyword.other.elm" }, { "match": "\\b(if|then|else|case|of|let|in)\\s+", "name": "keyword.control.elm" }, { "include": "#record-accessor" }, { "include": "#top_level_value" }, { "include": "#value" }, { "include": "#period" }, { "include": "#square_brackets" }], "repository": { "block_comment": { "applyEndPatternLast": 1, "begin": "\\{-(?!#)", "captures": { "0": { "name": "punctuation.definition.comment.elm" } }, "end": "-\\}", "name": "comment.block.elm", "patterns": [{ "include": "#block_comment" }] }, "char": { "begin": "'", "beginCaptures": { "0": { "name": "punctuation.definition.char.begin.elm" } }, "end": "'", "endCaptures": { "0": { "name": "punctuation.definition.char.end.elm" } }, "name": "string.quoted.single.elm", "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\\\\\\"'\\&]|x[0-9a-fA-F]{1,5})`, "name": "constant.character.escape.elm" }, { "match": "\\^[A-Z@\\[\\]\\\\\\^_]", "name": "constant.character.escape.control.elm" }] }, "comma": { "match": "(,)", "name": "punctuation.separator.comma.elm" }, "comments": { "patterns": [{ "begin": "--", "captures": { "1": { "name": "punctuation.definition.comment.elm" } }, "end": "$", "name": "comment.line.double-dash.elm" }, { "include": "#block_comment" }] }, "constructor": { "match": "\\b[A-Z][a-zA-Z0-9_]*\\b", "name": "constant.type-constructor.elm" }, "debug": { "match": "\\b(Debug)\\b", "name": "invalid.illegal.debug.elm" }, "glsl": { "begin": "(\\[)(glsl)(\\|)", "beginCaptures": { "1": { "name": "entity.glsl.bracket.el
|
||
|
var elm = [
|
||
|
...glsl,
|
||
|
lang
|
||
|
];
|
||
|
|
||
|
export { elm as default };
|