UNPKG

vue-files-preview-inno

Version:

A tool for previewing files such as doc, excel, pdf, image, markdown, txt, audio, and video and so on.

477 lines (476 loc) 9.67 kB
var g, v; function h() { if (v) return g; v = 1; function E(e) { const n = e.regex, _ = [ "abs", "accept", "alarm", "and", "atan2", "bind", "binmode", "bless", "break", "caller", "chdir", "chmod", "chomp", "chop", "chown", "chr", "chroot", "class", "close", "closedir", "connect", "continue", "cos", "crypt", "dbmclose", "dbmopen", "defined", "delete", "die", "do", "dump", "each", "else", "elsif", "endgrent", "endhostent", "endnetent", "endprotoent", "endpwent", "endservent", "eof", "eval", "exec", "exists", "exit", "exp", "fcntl", "field", "fileno", "flock", "for", "foreach", "fork", "format", "formline", "getc", "getgrent", "getgrgid", "getgrnam", "gethostbyaddr", "gethostbyname", "gethostent", "getlogin", "getnetbyaddr", "getnetbyname", "getnetent", "getpeername", "getpgrp", "getpriority", "getprotobyname", "getprotobynumber", "getprotoent", "getpwent", "getpwnam", "getpwuid", "getservbyname", "getservbyport", "getservent", "getsockname", "getsockopt", "given", "glob", "gmtime", "goto", "grep", "gt", "hex", "if", "index", "int", "ioctl", "join", "keys", "kill", "last", "lc", "lcfirst", "length", "link", "listen", "local", "localtime", "log", "lstat", "lt", "ma", "map", "method", "mkdir", "msgctl", "msgget", "msgrcv", "msgsnd", "my", "ne", "next", "no", "not", "oct", "open", "opendir", "or", "ord", "our", "pack", "package", "pipe", "pop", "pos", "print", "printf", "prototype", "push", "q|0", "qq", "quotemeta", "qw", "qx", "rand", "read", "readdir", "readline", "readlink", "readpipe", "recv", "redo", "ref", "rename", "require", "reset", "return", "reverse", "rewinddir", "rindex", "rmdir", "say", "scalar", "seek", "seekdir", "select", "semctl", "semget", "semop", "send", "setgrent", "sethostent", "setnetent", "setpgrp", "setpriority", "setprotoent", "setpwent", "setservent", "setsockopt", "shift", "shmctl", "shmget", "shmread", "shmwrite", "shutdown", "sin", "sleep", "socket", "socketpair", "sort", "splice", "split", "sprintf", "sqrt", "srand", "stat", "state", "study", "sub", "substr", "symlink", "syscall", "sysopen", "sysread", "sysseek", "system", "syswrite", "tell", "telldir", "tie", "tied", "time", "times", "tr", "truncate", "uc", "ucfirst", "umask", "undef", "unless", "unlink", "unpack", "unshift", "untie", "until", "use", "utime", "values", "vec", "wait", "waitpid", "wantarray", "warn", "when", "while", "write", "x|0", "xor", "y|0" ], d = /[dualxmsipngr]{0,12}/, l = { $pattern: /[\w.]+/, keyword: _.join(" ") }, m = { className: "subst", begin: "[$@]\\{", end: "\\}", keywords: l }, p = { begin: /->\{/, end: /\}/ // contains defined later }, i = { scope: "attr", match: /\s+:\s*\w+(\s*\(.*?\))?/ }, b = { scope: "variable", variants: [ { begin: /\$\d/ }, { begin: n.concat( /[$%@](?!")(\^\w\b|#\w+(::\w+)*|\{\w+\}|\w+(::\w*)*)/, // negative look-ahead tries to avoid matching patterns that are not // Perl at all like $ident$, @ident@, etc. "(?![A-Za-z])(?![@$%])" ) }, { // Only $= is a special Perl variable and one can't declare @= or %=. begin: /[$%@](?!")[^\s\w{=]|\$=/, relevance: 0 } ], contains: [i] }, u = { className: "number", variants: [ // decimal numbers: // include the case where a number starts with a dot (eg. .9), and // the leading 0? avoids mixing the first and second match on 0.x cases { match: /0?\.[0-9][0-9_]+\b/ }, // include the special versioned number (eg. v5.38) { match: /\bv?(0|[1-9][0-9_]*(\.[0-9_]+)?|[1-9][0-9_]*)\b/ }, // non-decimal numbers: { match: /\b0[0-7][0-7_]*\b/ }, { match: /\b0x[0-9a-fA-F][0-9a-fA-F_]*\b/ }, { match: /\b0b[0-1][0-1_]*\b/ } ], relevance: 0 }, y = [ e.BACKSLASH_ESCAPE, m, b ], w = [ /!/, /\//, /\|/, /\?/, /'/, /"/, // valid but infrequent and weird /#/ // valid but infrequent and weird ], s = (o, a, t = "\\1") => { const q = t === "\\1" ? t : n.concat(t, a); return n.concat( n.concat("(?:", o, ")"), a, /(?:\\.|[^\\\/])*?/, q, /(?:\\.|[^\\\/])*?/, t, d ); }, r = (o, a, t) => n.concat( n.concat("(?:", o, ")"), a, /(?:\\.|[^\\\/])*?/, t, d ), c = [ b, e.HASH_COMMENT_MODE, e.COMMENT( /^=\w/, /=cut/, { endsWithParent: !0 } ), p, { className: "string", contains: y, variants: [ { begin: "q[qwxr]?\\s*\\(", end: "\\)", relevance: 5 }, { begin: "q[qwxr]?\\s*\\[", end: "\\]", relevance: 5 }, { begin: "q[qwxr]?\\s*\\{", end: "\\}", relevance: 5 }, { begin: "q[qwxr]?\\s*\\|", end: "\\|", relevance: 5 }, { begin: "q[qwxr]?\\s*<", end: ">", relevance: 5 }, { begin: "qw\\s+q", end: "q", relevance: 5 }, { begin: "'", end: "'", contains: [e.BACKSLASH_ESCAPE] }, { begin: '"', end: '"' }, { begin: "`", end: "`", contains: [e.BACKSLASH_ESCAPE] }, { begin: /\{\w+\}/, relevance: 0 }, { begin: "-?\\w+\\s*=>", relevance: 0 } ] }, u, { // regexp container begin: "(\\/\\/|" + e.RE_STARTERS_RE + "|\\b(split|return|print|reverse|grep)\\b)\\s*", keywords: "split return print reverse grep", relevance: 0, contains: [ e.HASH_COMMENT_MODE, { className: "regexp", variants: [ // allow matching common delimiters { begin: s("s|tr|y", n.either(...w, { capture: !0 })) }, // and then paired delmis { begin: s("s|tr|y", "\\(", "\\)") }, { begin: s("s|tr|y", "\\[", "\\]") }, { begin: s("s|tr|y", "\\{", "\\}") } ], relevance: 2 }, { className: "regexp", variants: [ { // could be a comment in many languages so do not count // as relevant begin: /(m|qr)\/\//, relevance: 0 }, // prefix is optional with /regex/ { begin: r("(?:m|qr)?", /\//, /\//) }, // allow matching common delimiters { begin: r("m|qr", n.either(...w, { capture: !0 }), /\1/) }, // allow common paired delmins { begin: r("m|qr", /\(/, /\)/) }, { begin: r("m|qr", /\[/, /\]/) }, { begin: r("m|qr", /\{/, /\}/) } ] } ] }, { className: "function", beginKeywords: "sub method", end: "(\\s*\\(.*?\\))?[;{]", excludeEnd: !0, relevance: 5, contains: [e.TITLE_MODE, i] }, { className: "class", beginKeywords: "class", end: "[;{]", excludeEnd: !0, relevance: 5, contains: [e.TITLE_MODE, i, u] }, { begin: "-\\w\\b", relevance: 0 }, { begin: "^__DATA__$", end: "^__END__$", subLanguage: "mojolicious", contains: [ { begin: "^@@.*", end: "$", className: "comment" } ] } ]; return m.contains = c, p.contains = c, { name: "Perl", aliases: [ "pl", "pm" ], keywords: l, contains: c }; } return g = E, g; } export { h as __require }; //# sourceMappingURL=perl.mjs.map