UNPKG

@bhsd/codemirror-mediawiki

Version:

Modified CodeMirror mode based on wikimedia/mediawiki-extensions-CodeMirror

179 lines (176 loc) 4.3 kB
// src/config.ts import { tags, Tag } from "@lezer/highlight"; // ../wikiparser-node/config/default.json var html = [ [ "b", "bdi", "del", "i", "ins", "u", "font", "big", "small", "sub", "sup", "h1", "h2", "h3", "h4", "h5", "h6", "cite", "code", "em", "s", "strike", "strong", "tt", "var", "div", "center", "blockquote", "ol", "ul", "dl", "table", "caption", "pre", "ruby", "rb", "rp", "rt", "rtc", "p", "span", "abbr", "dfn", "kbd", "samp", "data", "time", "mark", "tr", "td", "th", "q", "bdo" ], [ "li", "dt", "dd" ], [ "br", "wbr", "hr", "meta", "link" ] ]; // src/config.ts /** * @file Configuration for the MediaWiki highlighting mode for CodeMirror. * @author MusikAnimal and others * @license GPL-2.0-or-later * @see https://gerrit.wikimedia.org/g/mediawiki/extensions/CodeMirror */ var htmlTags = /* @__PURE__ */ html.flat(); var voidHtmlTags = /* @__PURE__ */ (() => html[2])(); var selfClosingTags = /* @__PURE__ */ (() => html[1])(); var tokens = { apostrophes: "mw-apostrophes", comment: "mw-comment", convertBracket: "mw-convert-bracket", convertDelimiter: "mw-convert-delimiter", convertFlag: "mw-convert-flag", convertLang: "mw-convert-lang", doubleUnderscore: "mw-double-underscore", em: "mw-em", error: "mw-error", extLink: "mw-extlink", extLinkBracket: "mw-extlink-bracket", extLinkProtocol: "mw-extlink-protocol", extLinkText: "mw-extlink-text", extTag: "mw-exttag", extTagAttribute: "mw-exttag-attribute", extTagAttributeValue: "mw-exttag-attribute-value", extTagBracket: "mw-exttag-bracket", extTagName: "mw-exttag-name", fileDelimiter: "mw-file-delimiter", fileText: "mw-file-text", freeExtLink: "mw-free-extlink", freeExtLinkProtocol: "mw-free-extlink-protocol", hr: "mw-hr", htmlEntity: "mw-entity", htmlTagAttribute: "mw-htmltag-attribute", htmlTagAttributeValue: "mw-htmltag-attribute-value", htmlTagBracket: "mw-htmltag-bracket", htmlTagName: "mw-htmltag-name", ignored: "mw-ignored", imageParameter: "mw-image-parameter", linkBracket: "mw-link-bracket", linkDelimiter: "mw-link-delimiter", linkPageName: "mw-link-pagename", linkText: "mw-link-text", linkToSection: "mw-link-tosection", list: "mw-list", magicLink: "mw-magic-link", pageName: "mw-pagename", parserFunction: "mw-parserfunction", parserFunctionBracket: "mw-parserfunction-bracket", parserFunctionDelimiter: "mw-parserfunction-delimiter", parserFunctionName: "mw-parserfunction-name", redirect: "mw-redirect", section: "mw-section", sectionHeader: "mw-section-header", signature: "mw-signature", skipFormatting: "mw-skipformatting", strong: "mw-strong", tableBracket: "mw-table-bracket", tableCaption: "mw-table-caption", tableDefinition: "mw-table-definition", tableDefinitionValue: "mw-table-definition-value", tableDelimiter: "mw-table-delimiter", tableDelimiter2: "mw-table-delimiter2", tableTd: "mw-table-td", tableTh: "mw-table-th", template: "mw-template", templateArgumentName: "mw-template-argument-name", templateBracket: "mw-template-bracket", templateDelimiter: "mw-template-delimiter", templateName: "mw-template-name", templateVariable: "mw-templatevariable", templateVariableBracket: "mw-templatevariable-bracket", templateVariableDelimiter: "mw-templatevariable-delimiter", templateVariableName: "mw-templatevariable-name" }; var tokenTable = /* @__PURE__ */ (() => { const table = { variable: tags.variableName, "variable-2": tags.special(tags.variableName), "string-2": tags.special(tags.string), def: tags.definition(tags.variableName), tag: tags.tagName, attribute: tags.attributeName, type: tags.typeName, builtin: tags.standard(tags.variableName), qualifier: tags.modifier, error: tags.invalid, header: tags.heading, property: tags.propertyName }; for (const className of Object.values(tokens)) { table[className] = Tag.define(); } return table; })(); export { htmlTags, selfClosingTags, tokenTable, tokens, voidHtmlTags };