const lang = Object.freeze({ "displayName": "Gnuplot", "fileTypes": ["gp", "plt", "plot", "gnuplot"], "name": "gnuplot", "patterns": [{ "match": "(\\\\(?!\\n).*)", "name": "invalid.illegal.backslash.gnuplot" }, { "match": "(;)", "name": "punctuation.separator.statement.gnuplot" }, { "include": "#LineComment" }, { "include": "#DataBlock" }, { "include": "#MacroExpansion" }, { "include": "#VariableDecl" }, { "include": "#ArrayDecl" }, { "include": "#FunctionDecl" }, { "include": "#ShellCommand" }, { "include": "#Command" }], "repository": { "ArrayDecl": { "begin": "\\b(?x:\n (array)\\s+ # 1: array keyword\n ([A-Za-z_]\\w*)? # 2: var name\n # Note: Handle size decl and init expression inside.\n # TODO: Properly annotate brackets.\n )", "beginCaptures": { "1": { "name": "support.type.array.gnuplot" }, "2": { "name": "entity.name.variable.gnuplot", "patterns": [{ "include": "#InvalidVariableDecl" }, { "include": "#BuiltinVariable" }] } }, "end": "(?=(;|#|\\\\(?!\\n)|(?>|&|\\||\\^)", "name": "keyword.operator.bitwise.gnuplot" }, { "match": "(==|!=|<=|<|>=|>)", "name": "keyword.operator.comparison.gnuplot" }, { "match": "(=)", "name": "keyword.operator.assignment.gnuplot" }, { "match": "(\\+|-|~|!)", "name": "keyword.operator.arithmetic.gnuplot" }, { "match": "(\\*\\*|\\+|-|\\*|/|%)", "name": "keyword.operator.arithmetic.gnuplot" }, { "captures": { "2": { "name": "keyword.operator.word.gnuplot" } }, "match": "(\\.|\\b(eq|ne)\\b)", "name": "keyword.operator.strings.gnuplot" }] }, "BuiltinVariable": { "patterns": [{ "match": "\\b(?x:\n FIT_LIMIT |\n FIT_MAXITER |\n FIT_START_LAMBDA |\n FIT_LAMBDA_FACTOR |\n FIT_SKIP |\n FIT_INDEX\n )\\b", "name": "invalid.deprecated.variable.gnuplot" }, { "match": "\\b(GPVAL_\\w*|MOUSE_\\w*)\\b", "name": "support.constant.gnuplot" }, { "match": "\\b(ARG[0-9C]|GPFUN_\\w*|FIT_\\w*|STATS_\\w*|pi|NaN)\\b", "name": "support.variable.gnuplot" }] }, "ColumnIndexLiteral": { "match": "([$][0-9]+)\\b", "name": "support.constant.columnindex.gnuplot" }, "Command": { "patterns": [{ "begin": "\\b(?x:\n update\n )\\b", "end": "(?=(;|#|\\\\(?!\\n)|(?