UNPKG

highlightjs-snbt

Version:

Minecraft SNBT (Stringified NamedBinary Tags) highlighting for highlight.js

57 lines (56 loc) 1.36 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = default_1; const snbt_1 = require("./lib/snbt"); function default_1() { const ATTRIBUTE = { className: "attr", begin: /("(?:\\"|[^"])*"|'(?:\\'|[^"])*'|[a-zA-Z_.0-9+\-]+)(?=\s*:)/, relevance: 1.01, }; const PUNCTUATION = { match: /([{}()\[\],:;])/, className: "punctuation", relevance: 0, }; const QUOTED_STRING = { className: "string", begin: /("(?:\\"|[^"])*"|'(?:\\'|[^"])*')/, relevance: 0, }; const UNQUOTED_STRING = { className: "string", begin: /([a-zA-Z_.0-9+\-]*)/, relevance: 0, }; const ARRAY_TYPE = { className: "keyword", begin: /(?<=\[\s*)([BIL])(?=\s*;)/, relevance: 0, }; const LITERALS = [ "true", "false", "bool", "uuid", ]; const LITERALS_MODE = { scope: "literal", beginKeywords: LITERALS.join(" "), }; return { name: "snbt", keywords: { literal: LITERALS, }, contains: [ ATTRIBUTE, PUNCTUATION, snbt_1.NUMERIC, QUOTED_STRING, LITERALS_MODE, ARRAY_TYPE, UNQUOTED_STRING, ], }; }