vue-files-preview-inno
Version:
A tool for previewing files such as doc, excel, pdf, image, markdown, txt, audio, and video and so on.
227 lines (226 loc) • 5.02 kB
JavaScript
var r, g;
function b() {
if (g) return r;
g = 1;
function m(n) {
const e = n.regex, a = e.concat(/[\p{L}_]/u, e.optional(/[\p{L}0-9_.-]*:/u), /[\p{L}0-9_.-]*/u), _ = /[\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/
}
]
}, l = n.inherit(t, {
begin: /\(/,
end: /\)/
}), o = n.inherit(n.APOS_STRING_MODE, { className: "string" }), i = n.inherit(n.QUOTE_STRING_MODE, { className: "string" }), c = {
endsWithParent: !0,
illegal: /</,
relevance: 0,
contains: [
{
className: "attr",
begin: _,
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,
i,
o,
l,
{
begin: /\[/,
end: /\]/,
contains: [
{
className: "meta",
begin: /<![a-z]/,
end: />/,
contains: [
t,
l,
i,
o
]
}
]
}
]
},
n.COMMENT(
/<!--/,
/-->/,
{ relevance: 10 }
),
{
begin: /<!\[CDATA\[/,
end: /\]\]>/,
relevance: 10
},
s,
// xml processing instructions
{
className: "meta",
end: /\?>/,
variants: [
{
begin: /<\?xml/,
relevance: 10,
contains: [
i
]
},
{
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: [c],
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: [c],
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: c
}
]
},
// close tag
{
className: "tag",
begin: e.concat(
/<\//,
e.lookahead(e.concat(
a,
/>/
))
),
contains: [
{
className: "name",
begin: a,
relevance: 0
},
{
begin: />/,
relevance: 0,
endsParent: !0
}
]
}
]
};
}
return r = m, r;
}
export {
b as __require
};
//# sourceMappingURL=xml.mjs.map