23 lines
24 KiB
JavaScript
23 lines
24 KiB
JavaScript
|
import c from './c.mjs';
|
||
|
import html from './html.mjs';
|
||
|
import xml from './xml.mjs';
|
||
|
import javascript from './javascript.mjs';
|
||
|
import css from './css.mjs';
|
||
|
import glsl from './glsl.mjs';
|
||
|
import markdown from './markdown.mjs';
|
||
|
import './java.mjs';
|
||
|
|
||
|
const lang = Object.freeze({ "displayName": "Nim", "fileTypes": ["nim"], "name": "nim", "patterns": [{ "begin": "[ \\t]*##\\[", "contentName": "comment.block.doc-comment.content.nim", "end": "\\]##", "name": "comment.block.doc-comment.nim", "patterns": [{ "include": "#multilinedoccomment", "name": "comment.block.doc-comment.nested.nim" }] }, { "begin": "[ \\t]*#\\[", "contentName": "comment.block.content.nim", "end": "\\]#", "name": "comment.block.nim", "patterns": [{ "include": "#multilinecomment", "name": "comment.block.nested.nim" }] }, { "begin": "(^[ \\t]+)?(?=##)", "beginCaptures": { "1": { "name": "punctuation.whitespace.comment.leading.nim" } }, "end": "(?!\\G)", "patterns": [{ "begin": "##", "beginCaptures": { "0": { "name": "punctuation.definition.comment.nim" } }, "end": "\\n", "name": "comment.line.number-sign.doc-comment.nim" }] }, { "begin": "(^[ \\t]+)?(?=#[^\\[])", "beginCaptures": { "1": { "name": "punctuation.whitespace.comment.leading.nim" } }, "end": "(?!\\G)", "patterns": [{ "begin": "#", "beginCaptures": { "0": { "name": "punctuation.definition.comment.nim" } }, "end": "\\n", "name": "comment.line.number-sign.nim" }] }, { "comment": "A nim procedure or method", "name": "meta.proc.nim", "patterns": [{ "begin": "\\b(proc|method|template|macro|iterator|converter|func)\\s+\\`?([^\\:\\{\\s\\`\\*\\(]*)\\`?(\\s*\\*)?\\s*(?=\\(|\\=|:|\\[|\\n|\\{)", "captures": { "1": { "name": "keyword.other" }, "2": { "name": "entity.name.function.nim" }, "3": { "name": "keyword.control.export" } }, "end": "\\)", "patterns": [{ "include": "source.nim" }] }] }, { "begin": 'discard """', "comment": "A discarded triple string literal comment", "end": '"""(?!")', "name": "comment.line.discarded.nim" }, { "include": "#float_literal" }, { "include": "#integer_literal" }, { "comment": "Operator as function name", "match": "(?<=\\`)[^\\` ]+(?=\\`)", "name": "entity.name.function.nim" }, { "captures": { "1": { "name": "keyword.control.export" } }, "comment": "Export qualifier.", "match": "\\b\\s*(\\*)(?:\\s*(?=[,:])|\\s+(?=[=]))" }, { "captures": { "1": { "name": "support.type.nim" }, "2": { "name": "keyword.control.export" } }, "comment": "Export qualifier following a type def.", "match": "\\b([A-Z]\\w+)(\\*)" }, { "include": "#string_literal" }, { "comment": "Language Constants.", "match": "\\b(true|false|Inf|NegInf|NaN|nil)\\b", "name": "constant.language.nim" }, { "comment": "Keywords that affect program control flow or scope.", "match": "\\b(block|break|case|continue|do|elif|else|end|except|finally|for|if|raise|return|try|when|while|yield)\\b", "name": "keyword.control.nim" }, { "comment": "Keyword boolean operators for expressions.", "match": "(\\b(and|in|is|isnot|not|notin|or|xor)\\b)", "name": "keyword.boolean.nim" }, { "comment": "Generic operators for expressions.", "match": "(=|\\+|-|\\*|/|<|>|@|\\$|~|&|%|!|\\?|\\^|\\.|:|\\\\)+", "name": "keyword.operator.nim" }, { "comment": "Other keywords.", "match": "(\\b(addr|as|asm|atomic|bind|cast|const|converter|concept|defer|discard|distinct|div|enum|export|from|import|include|let|mod|mixin|object|of|ptr|ref|shl|shr|static|type|using|var|tuple|iterator|macro|func|method|proc|template)\\b)", "name": "keyword.other.nim" }, { "comment": "Invalid and unused keywords.", "match": "(\\b(generic|interface|lambda|out|shared)\\b)", "name": "invalid.illegal.invalid-keyword.nim" }, { "comment": "Common functions", "match": "\\b(new|await|assert|echo|defined|declared|newException|countup|countdown|high|low)\\b", "name": "keyword.other.common.function.nim" }, { "comment": "Built-in, concrete types.", "match": "\\b(((uint|int)(8|16|32|64)?)|float(32|64)?|bool|string|auto|cstring|char|byte|tobject|typedesc|stmt|expr|any|untyped|typed)\\b", "name": "storage.type.concrete.nim" }, { "comment": "Built-in, generic types.", "match": "\\b(range|array|seq|set|pointer)\\b", "name": "storage.type.generic.nim" }, { "comment": "Special types.", "match": "\\b(openarray|varargs|void)\\b", "name": "storage.type.generic.nim" }, { "comment": "Other constants.", "match": "\\b[A-Z][A-Z0-9_]+\\b", "name": "suppor
|
||
|
var nim = [
|
||
|
...c,
|
||
|
...html,
|
||
|
...xml,
|
||
|
...javascript,
|
||
|
...css,
|
||
|
...glsl,
|
||
|
...markdown,
|
||
|
lang
|
||
|
];
|
||
|
|
||
|
export { nim as default };
|