vue-files-preview-inno
Version:
A tool for previewing files such as doc, excel, pdf, image, markdown, txt, audio, and video and so on.
132 lines (131 loc) • 2.56 kB
JavaScript
var o, s;
function g() {
if (s) return o;
s = 1;
function a(e) {
const n = { variants: [
e.COMMENT("--", "$"),
e.COMMENT(
/\{-/,
/-\}/,
{ contains: ["self"] }
)
] }, t = {
className: "type",
begin: "\\b[A-Z][\\w']*",
// TODO: other constructors (built-in, infix).
relevance: 0
}, i = {
begin: "\\(",
end: "\\)",
illegal: '"',
contains: [
{
className: "type",
begin: "\\b[A-Z][\\w]*(\\((\\.\\.|,|\\w+)\\))?"
},
n
]
}, r = {
begin: /\{/,
end: /\}/,
contains: i.contains
}, c = {
className: "string",
begin: "'\\\\?.",
end: "'",
illegal: "."
};
return {
name: "Elm",
keywords: [
"let",
"in",
"if",
"then",
"else",
"case",
"of",
"where",
"module",
"import",
"exposing",
"type",
"alias",
"as",
"infix",
"infixl",
"infixr",
"port",
"effect",
"command",
"subscription"
],
contains: [
// Top-level constructions.
{
beginKeywords: "port effect module",
end: "exposing",
keywords: "port effect module where command subscription exposing",
contains: [
i,
n
],
illegal: "\\W\\.|;"
},
{
begin: "import",
end: "$",
keywords: "import as exposing",
contains: [
i,
n
],
illegal: "\\W\\.|;"
},
{
begin: "type",
end: "$",
keywords: "type alias",
contains: [
t,
i,
r,
n
]
},
{
beginKeywords: "infix infixl infixr",
end: "$",
contains: [
e.C_NUMBER_MODE,
n
]
},
{
begin: "port",
end: "$",
keywords: "port",
contains: [n]
},
// Literals and names.
c,
e.QUOTE_STRING_MODE,
e.C_NUMBER_MODE,
t,
e.inherit(e.TITLE_MODE, { begin: "^[_a-z][\\w']*" }),
n,
{
// No markup, relevance booster
begin: "->|<-"
}
],
illegal: /;/
};
}
return o = a, o;
}
export {
g as __require
};
//# sourceMappingURL=elm.mjs.map