UNPKG

@wolf-scope/wolf-ui

Version:

UI library for web applications using Lit

220 lines (219 loc) 4.48 kB
function g(n) { const e = n.regex, a = e.concat(/[\p{L}_]/u, e.optional(/[\p{L}0-9_.-]*:/u), /[\p{L}0-9_.-]*/u), o = /[\p{L}0-9._:-]+/u, s = { className: "symbol", begin: /&[a-z]+;|&#[0-9]+;|&#x[a-f0-9]+;/ }, t = { begin: /\s/, contains: [ { className: "keyword", begin: /#?[a-z_][a-z1-9_-]+/, illegal: /\n/ } ] }, r = n.inherit(t, { begin: /\(/, end: /\)/ }), l = n.inherit(n.APOS_STRING_MODE, { className: "string" }), c = n.inherit(n.QUOTE_STRING_MODE, { className: "string" }), i = { endsWithParent: !0, illegal: /</, relevance: 0, contains: [ { className: "attr", begin: o, relevance: 0 }, { begin: /=\s*/, relevance: 0, contains: [ { className: "string", endsParent: !0, variants: [ { begin: /"/, end: /"/, contains: [s] }, { begin: /'/, end: /'/, contains: [s] }, { begin: /[^\s"'=<>`]+/ } ] } ] } ] }; return { name: "HTML, XML", aliases: [ "html", "xhtml", "rss", "atom", "xjb", "xsd", "xsl", "plist", "wsf", "svg" ], case_insensitive: !0, unicodeRegex: !0, contains: [ { className: "meta", begin: /<![a-z]/, end: />/, relevance: 10, contains: [ t, c, l, r, { begin: /\[/, end: /\]/, contains: [ { className: "meta", begin: /<![a-z]/, end: />/, contains: [ t, r, c, l ] } ] } ] }, n.COMMENT( /<!--/, /-->/, { relevance: 10 } ), { begin: /<!\[CDATA\[/, end: /\]\]>/, relevance: 10 }, s, // xml processing instructions { className: "meta", end: /\?>/, variants: [ { begin: /<\?xml/, relevance: 10, contains: [ c ] }, { begin: /<\?[a-z][a-z0-9]+/ } ] }, { className: "tag", /* The lookahead pattern (?=...) ensures that 'begin' only matches '<style' as a single word, followed by a whitespace or an ending bracket. */ begin: /<style(?=\s|>)/, end: />/, keywords: { name: "style" }, contains: [i], starts: { end: /<\/style>/, returnEnd: !0, subLanguage: [ "css", "xml" ] } }, { className: "tag", // See the comment in the <style tag about the lookahead pattern begin: /<script(?=\s|>)/, end: />/, keywords: { name: "script" }, contains: [i], starts: { end: /<\/script>/, returnEnd: !0, subLanguage: [ "javascript", "handlebars", "xml" ] } }, // we need this for now for jSX { className: "tag", begin: /<>|<\/>/ }, // open tag { className: "tag", begin: e.concat( /</, e.lookahead(e.concat( a, // <tag/> // <tag> // <tag ... e.either(/\/>/, />/, /\s/) )) ), end: /\/?>/, contains: [ { className: "name", begin: a, relevance: 0, starts: i } ] }, // close tag { className: "tag", begin: e.concat( /<\//, e.lookahead(e.concat( a, />/ )) ), contains: [ { className: "name", begin: a, relevance: 0 }, { begin: />/, relevance: 0, endsParent: !0 } ] } ] }; } export { g as default };