@speed-highlight/core 1.1.11 → 1.1.12

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (189) hide show
  1. package/dist/detect.d.ts +8 -0
  2. package/dist/detect.js +1 -1
  3. package/dist/index.d.ts +111 -0
  4. package/dist/index.js +1 -3
  5. package/dist/languages/bash.js +1 -1
  6. package/dist/languages/docker.js +1 -1
  7. package/dist/languages/git.js +1 -1
  8. package/dist/languages/html.js +1 -1
  9. package/dist/languages/http.js +1 -1
  10. package/dist/languages/js_template_literals.js +1 -1
  11. package/dist/languages/jsdoc.js +1 -1
  12. package/dist/languages/json.js +1 -1
  13. package/dist/languages/leanpub-md.js +1 -2
  14. package/dist/languages/md.js +1 -2
  15. package/dist/languages/plain.js +1 -1
  16. package/dist/languages/py.js +1 -1
  17. package/dist/languages/regex.js +1 -1
  18. package/dist/languages/todo.js +1 -1
  19. package/dist/languages/ts.js +1 -1
  20. package/dist/languages/xml.js +1 -1
  21. package/dist/node/common.js +1 -1
  22. package/dist/node/detect.d.ts +8 -0
  23. package/dist/node/detect.js +1 -1
  24. package/dist/node/index.d.ts +111 -0
  25. package/dist/node/index.js +1 -3
  26. package/dist/node/languages/asm.js +1 -1
  27. package/dist/node/languages/bash.js +1 -1
  28. package/dist/node/languages/bf.js +1 -1
  29. package/dist/node/languages/c.js +1 -1
  30. package/dist/node/languages/css.js +1 -1
  31. package/dist/node/languages/csv.js +1 -1
  32. package/dist/node/languages/diff.js +1 -1
  33. package/dist/node/languages/docker.js +1 -1
  34. package/dist/node/languages/git.js +1 -1
  35. package/dist/node/languages/go.js +1 -1
  36. package/dist/node/languages/html.js +1 -1
  37. package/dist/node/languages/http.js +1 -1
  38. package/dist/node/languages/ini.js +1 -1
  39. package/dist/node/languages/java.js +1 -1
  40. package/dist/node/languages/js.js +1 -1
  41. package/dist/node/languages/js_template_literals.js +1 -1
  42. package/dist/node/languages/jsdoc.js +1 -1
  43. package/dist/node/languages/json.js +1 -1
  44. package/dist/node/languages/leanpub-md.js +1 -2
  45. package/dist/node/languages/log.js +1 -1
  46. package/dist/node/languages/lua.js +1 -1
  47. package/dist/node/languages/make.js +1 -1
  48. package/dist/node/languages/md.js +1 -2
  49. package/dist/node/languages/pl.js +1 -1
  50. package/dist/node/languages/plain.js +1 -1
  51. package/dist/node/languages/py.js +1 -1
  52. package/dist/node/languages/regex.js +1 -1
  53. package/dist/node/languages/rs.js +1 -1
  54. package/dist/node/languages/sql.js +1 -1
  55. package/dist/node/languages/todo.js +1 -1
  56. package/dist/node/languages/toml.js +1 -1
  57. package/dist/node/languages/ts.js +1 -1
  58. package/dist/node/languages/uri.js +1 -1
  59. package/dist/node/languages/xml.js +1 -1
  60. package/dist/node/languages/yaml.js +1 -1
  61. package/dist/node/terminal.d.ts +26 -0
  62. package/dist/terminal.d.ts +26 -0
  63. package/package.json +12 -3
  64. package/.gitattributes +0 -2
  65. package/CODE_OF_CONDUCT.md +0 -128
  66. package/CONTRIBUTING.md +0 -34
  67. package/dist/node/terminal.js +0 -1
  68. package/dist/node/themes/atom-dark.js +0 -1
  69. package/dist/node/themes/default.js +0 -1
  70. package/dist/node/themes/termcolor.js +0 -1
  71. package/dist/terminal.js +0 -1
  72. package/dist/themes/atom-dark.css +0 -1
  73. package/dist/themes/atom-dark.js +0 -1
  74. package/dist/themes/dark.css +0 -1
  75. package/dist/themes/default.css +0 -1
  76. package/dist/themes/default.js +0 -1
  77. package/dist/themes/github-dark.css +0 -1
  78. package/dist/themes/github-dim.css +0 -1
  79. package/dist/themes/github-light.css +0 -1
  80. package/dist/themes/termcolor.js +0 -1
  81. package/dist/themes/visual-studio-dark.css +0 -1
  82. package/doc/common.js.html +0 -87
  83. package/doc/css/jsdoc-template.css +0 -1
  84. package/doc/css/tomorrow.min.css +0 -2
  85. package/doc/detect%0ALanguage%20detectormodule_.html +0 -309
  86. package/doc/detect.js.html +0 -113
  87. package/doc/global.html +0 -1826
  88. package/doc/index%0ABase%20scriptmodule_.html +0 -1179
  89. package/doc/index.html +0 -402
  90. package/doc/index.js.html +0 -209
  91. package/doc/js/jsdoc-template.js +0 -2
  92. package/doc/js/jsdoc-template.js.map +0 -1
  93. package/doc/js/prettify.min.js +0 -47
  94. package/doc/term%0ATerminal%20adaptormodule_.html +0 -596
  95. package/doc/term.js.html +0 -108
  96. package/examples/data.js +0 -63
  97. package/examples/deno.js +0 -60
  98. package/examples/index.html +0 -118
  99. package/examples/languages/oneline.bash +0 -1
  100. package/examples/languages/oneline.http +0 -1
  101. package/examples/languages/screenshot.js +0 -18
  102. package/examples/languages/test.asm +0 -17
  103. package/examples/languages/test.bash +0 -32
  104. package/examples/languages/test.bf +0 -21
  105. package/examples/languages/test.c +0 -57
  106. package/examples/languages/test.css +0 -20
  107. package/examples/languages/test.csv +0 -4
  108. package/examples/languages/test.diff +0 -27
  109. package/examples/languages/test.docker +0 -23
  110. package/examples/languages/test.git +0 -10
  111. package/examples/languages/test.go +0 -21
  112. package/examples/languages/test.html +0 -27
  113. package/examples/languages/test.http +0 -17
  114. package/examples/languages/test.ini +0 -6
  115. package/examples/languages/test.java +0 -52
  116. package/examples/languages/test.js +0 -34
  117. package/examples/languages/test.jsdoc +0 -2
  118. package/examples/languages/test.json +0 -24
  119. package/examples/languages/test.leanpub-md +0 -21
  120. package/examples/languages/test.log +0 -32
  121. package/examples/languages/test.lua +0 -62
  122. package/examples/languages/test.make +0 -51
  123. package/examples/languages/test.md +0 -62
  124. package/examples/languages/test.pl +0 -25
  125. package/examples/languages/test.plain +0 -3
  126. package/examples/languages/test.py +0 -38
  127. package/examples/languages/test.regex +0 -2
  128. package/examples/languages/test.rs +0 -38
  129. package/examples/languages/test.sql +0 -6
  130. package/examples/languages/test.todo +0 -18
  131. package/examples/languages/test.toml +0 -16
  132. package/examples/languages/test.ts +0 -43
  133. package/examples/languages/test.uri +0 -9
  134. package/examples/languages/test.xml +0 -44
  135. package/examples/languages/test.yaml +0 -18
  136. package/examples/node.js +0 -11
  137. package/examples/worker.html +0 -20
  138. package/examples/worker.js +0 -6
  139. package/jsdoc.json +0 -16
  140. package/src/common.js +0 -18
  141. package/src/detect.js +0 -49
  142. package/src/index.js +0 -144
  143. package/src/languages/asm.js +0 -30
  144. package/src/languages/bash.js +0 -44
  145. package/src/languages/bf.js +0 -18
  146. package/src/languages/c.js +0 -52
  147. package/src/languages/css.js +0 -56
  148. package/src/languages/csv.js +0 -9
  149. package/src/languages/diff.js +0 -18
  150. package/src/languages/docker.js +0 -9
  151. package/src/languages/git.js +0 -20
  152. package/src/languages/go.js +0 -28
  153. package/src/languages/html.js +0 -51
  154. package/src/languages/http.js +0 -30
  155. package/src/languages/ini.js +0 -22
  156. package/src/languages/java.js +0 -28
  157. package/src/languages/js.js +0 -48
  158. package/src/languages/js_template_literals.js +0 -34
  159. package/src/languages/jsdoc.js +0 -18
  160. package/src/languages/json.js +0 -20
  161. package/src/languages/leanpub-md.js +0 -34
  162. package/src/languages/log.js +0 -28
  163. package/src/languages/lua.js +0 -28
  164. package/src/languages/make.js +0 -36
  165. package/src/languages/md.js +0 -48
  166. package/src/languages/pl.js +0 -25
  167. package/src/languages/plain.js +0 -5
  168. package/src/languages/py.js +0 -52
  169. package/src/languages/regex.js +0 -19
  170. package/src/languages/rs.js +0 -28
  171. package/src/languages/sql.js +0 -33
  172. package/src/languages/todo.js +0 -19
  173. package/src/languages/toml.js +0 -36
  174. package/src/languages/ts.js +0 -13
  175. package/src/languages/uri.js +0 -26
  176. package/src/languages/xml.js +0 -68
  177. package/src/languages/yaml.js +0 -32
  178. package/src/terminal.js +0 -42
  179. package/src/themes/atom-dark.css +0 -23
  180. package/src/themes/atom-dark.js +0 -18
  181. package/src/themes/dark.css +0 -23
  182. package/src/themes/default.css +0 -82
  183. package/src/themes/default.js +0 -18
  184. package/src/themes/github-dark.css +0 -23
  185. package/src/themes/github-dim.css +0 -3
  186. package/src/themes/github-light.css +0 -21
  187. package/src/themes/termcolor.js +0 -11
  188. package/src/themes/visual-studio-dark.css +0 -23
  189. package/typedef.js +0 -34
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Try to find the language the given code belong to
3
+ * @param code The code
4
+ * @returns The language of the code
5
+ */
6
+ export declare function detectLanguage(
7
+ code: string
8
+ ): Promise<import('.').ShjLanguage>
package/dist/detect.js CHANGED
@@ -1 +1 @@
1
- var m=[["bash",[/#!(\/usr)?\/bin\/bash/g,500],[/\b(if|elif|then|fi|echo)\b|\$/g,10]],["html",[/<\/?[a-z-]+[^\n>]*>/g,10],[/^\s+<!DOCTYPE\s+html/g,500]],["http",[/^(GET|HEAD|POST|PUT|DELETE|PATCH|HTTP)\b/g,500]],["js",[/\b(console|await|async|function|export|import|this|class|for|let|const|map|join|require)\b/g,10]],["ts",[/\b(console|await|async|function|export|import|this|class|for|let|const|map|join|require|implements|interface|namespace)\b/g,10]],["py",[/\b(def|print|class|and|or|lambda)\b/g,10]],["sql",[/\b(SELECT|INSERT|FROM)\b/g,50]],["pl",[/#!(\/usr)?\/bin\/perl/g,500],[/\b(use|print)\b|\$/g,10]],["lua",[/#!(\/usr)?\/bin\/lua/g,500]],["make",[/\b(ifneq|endif|if|elif|then|fi|echo|.PHONY|^[a-z]+ ?:$)\b|\$/gm,10]],["uri",[/https?:|mailto:|tel:|ftp:/g,30]],["css",[/^(@import|@page|@media|(\.|#)[a-z]+)/gm,20]],["diff",[/^[+><-]/gm,10],[/^@@ ?[-+,0-9 ]+ ?@@/gm,25]],["md",[/^(>|\t\*|\t\d+.)/gm,10],[/\[.*\](.*)/g,10]],["docker",[/^(FROM|ENTRYPOINT|RUN)/gm,500]],["xml",[/<\/?[a-z-]+[^\n>]*>/g,10],[/^<\?xml/g,500]],["c",[/#include\b|\bprintf\s+\(/g,100]],["rs",[/^\s+(use|fn|mut|match)\b/gm,100]],["go",[/\b(func|fmt|package)\b/g,100]],["java",[/^import\s+java/gm,500]],["asm",[/^(section|global main|extern|\t(call|mov|ret))/gm,100]]],l=n=>{var a;return((a=m.map(([e,...t])=>[e,t.reduce((s,[i,g])=>s+[...n.matchAll(i)].length*g,0)]).filter(([e,t])=>t>20).sort((e,t)=>t[1]-e[1])[0])==null?void 0:a[0])||"plain"};export{l as detectLanguage};
1
+ const t=[["bash",[/#!(\/usr)?\/bin\/bash/g,500],[/\b(if|elif|then|fi|echo)\b|\$/g,10]],["html",[/<\/?[a-z-]+[^\n>]*>/g,10],[/^\s+<!DOCTYPE\s+html/g,500]],["http",[/^(GET|HEAD|POST|PUT|DELETE|PATCH|HTTP)\b/g,500]],["js",[/\b(console|await|async|function|export|import|this|class|for|let|const|map|join|require)\b/g,10]],["ts",[/\b(console|await|async|function|export|import|this|class|for|let|const|map|join|require|implements|interface|namespace)\b/g,10]],["py",[/\b(def|print|class|and|or|lambda)\b/g,10]],["sql",[/\b(SELECT|INSERT|FROM)\b/g,50]],["pl",[/#!(\/usr)?\/bin\/perl/g,500],[/\b(use|print)\b|\$/g,10]],["lua",[/#!(\/usr)?\/bin\/lua/g,500]],["make",[/\b(ifneq|endif|if|elif|then|fi|echo|.PHONY|^[a-z]+ ?:$)\b|\$/gm,10]],["uri",[/https?:|mailto:|tel:|ftp:/g,30]],["css",[/^(@import|@page|@media|(\.|#)[a-z]+)/gm,20]],["diff",[/^[+><-]/gm,10],[/^@@ ?[-+,0-9 ]+ ?@@/gm,25]],["md",[/^(>|\t\*|\t\d+.)/gm,10],[/\[.*\](.*)/g,10]],["docker",[/^(FROM|ENTRYPOINT|RUN)/gm,500]],["xml",[/<\/?[a-z-]+[^\n>]*>/g,10],[/^<\?xml/g,500]],["c",[/#include\b|\bprintf\s+\(/g,100]],["rs",[/^\s+(use|fn|mut|match)\b/gm,100]],["go",[/\b(func|fmt|package)\b/g,100]],["java",[/^import\s+java/gm,500]],["asm",[/^(section|global main|extern|\t(call|mov|ret))/gm,100]],["css",[/^(@import|@page|@media|(\.|#)[a-z]+)/gm,20]],["json",[/\b(true|false|null)\b/g,10]],["yaml",[/^(\s+)?[a-z]+:/gm,10]]],a=a=>t.map((([t,...e])=>[t,e.reduce(((t,[e,s])=>t+[...a.matchAll(e)].length*s),0)])).filter((([t,a])=>a>20)).sort(((t,a)=>a[1]-t[1]))[0]?.[0]||"plain";export{a as detectLanguage};
@@ -0,0 +1,111 @@
1
+ /////////// typedef.js ///////////
2
+
3
+ /**
4
+ * Supported languages.
5
+ */
6
+ export type ShjLanguage = 'asm'|'bash'|'bf'|'c'|'css'|'csv'|'diff'|'docker'|'git'|'go'|'html'|'http'|'ini'|'java'|'js'|'jsdoc'|'json'|'leanpub-md'|'log'|'lua'|'make'|'md'|'pl'|'plain'|'py'|'regex'|'rs'|'sql'|'todo'|'toml'|'ts'|'uri'|'xml'|'yaml';
7
+
8
+ /**
9
+ * Themes supported in the browser.
10
+ */
11
+ export type ShjBrowserTheme = 'atom-dark'|'github-dark'|'github-dim'|'dark'|'default'|'github-light'|'visual-studio-dark';
12
+
13
+ /**
14
+ * Languages supported in the terminal.
15
+ */
16
+ export type ShjTerminalTheme = 'default'|'atom-dark';
17
+
18
+ /**
19
+ * * `inline` inside `code` element
20
+ * * `oneline` inside `div` element and containing only one line
21
+ * * `multiline` inside `div` element
22
+ */
23
+ export type ShjDisplayMode = 'inline'|'oneline'|'multiline';
24
+
25
+ export type ShjToken = 'deleted'|'err'|'var'|'section'|'kwd'|'class'|'cmnt'|'insert'|'type'|'func'|'bool'|'num'|'oper'|'str'|'esc';
26
+
27
+ export interface ShjOptions {
28
+ /**
29
+ * Indicates whether to hide line numbers.
30
+ * @default false
31
+ */
32
+ hideLineNumbers: boolean;
33
+ }
34
+
35
+ /////////// Custom Types ///////////
36
+
37
+ export type ShjLanguageComponent =
38
+ | { type: string; match: RegExp }
39
+ | { extand: string }
40
+ | {
41
+ match: RegExp;
42
+ sub:
43
+ | string
44
+ | ((code: string) => { type: string; sub: Array<{ match: RegExp; sub: string }> });
45
+ };
46
+
47
+ export type ShjLanguageDefinition = Array<ShjLanguageComponent>;
48
+
49
+ /////////// index.js ///////////
50
+
51
+ /**
52
+ * Find the tokens in the given code and call the callback
53
+ * @param src The code
54
+ * @param lang The language of the code
55
+ * @param callback The callback function
56
+ * this function will be given
57
+ * * the text of the token
58
+ * * the type of the token
59
+ */
60
+ export declare function tokenize<T extends string = ShjLanguage>(
61
+ src: string,
62
+ lang: T,
63
+ callback: (value: string, token: ShjToken) => void
64
+ ): Promise<void>;
65
+
66
+ /**
67
+ * Highlight a string passed as argument and return it
68
+ * @example
69
+ * elm.innerHTML = await highlightText(code, 'js');
70
+ * @param src The code
71
+ * @param lang The language of the code
72
+ * @param multiline If it is multiline, it will add a wrapper for the line numbering and header
73
+ * @param Customization options
74
+ * @returns The highlighted string
75
+ */
76
+ export declare function highlightText<T extends string = ShjLanguage>(
77
+ src: string,
78
+ lang: T,
79
+ multiline?: boolean,
80
+ opt?: ShjOptions
81
+ ): Promise<string>;
82
+
83
+ /**
84
+ * Highlight a DOM element by getting the new innerHTML with highlightText
85
+ * @param elm The DOM element
86
+ * @param lang The language of the code (seaching by default on `elm` for a 'shj-lang-' class)
87
+ * @param mode The display mode (guessed by default)
88
+ * @param opt Customization options
89
+ */
90
+ export declare function highlightElement<T extends string = ShjLanguage>(
91
+ elm: Element,
92
+ lang?: T,
93
+ mode?: ShjDisplayMode,
94
+ opt?: ShjOptions
95
+ ): Promise<void>;
96
+
97
+ /**
98
+ * Call highlightElement on element with a css class starting with `shj-lang-`
99
+ * @param opt Customization options
100
+ */
101
+ export declare function HighlightAll(opt?: ShjOptions): Promise<void>;
102
+
103
+ /**
104
+ * Load a language and add it to the langs object
105
+ * @param name The name of the language
106
+ * @param module Module that has the language as the default export
107
+ */
108
+ export declare function loadLanguage(
109
+ name: string,
110
+ module: { default: ShjLanguageDefinition }
111
+ ): void;
package/dist/index.js CHANGED
@@ -1,3 +1 @@
1
- var x={num:{type:"num",match:/(\.e?|\b)\d(e-|[\d.oxa-fA-F_])*(\.|\b)/g},str:{type:"str",match:/(["'])(\\[^]|(?!\1)[^\r\n\\])*\1?/g},strDouble:{type:"str",match:/"((?!")[^\r\n\\]|\\[^])*"?/g}};var c={},m=(t="")=>{var e,n,l,a;return(a=(n=(e=t.replaceAll("&","&#38;")).replaceAll)==null?void 0:(l=n.call(e,"<","&lt;")).replaceAll)==null?void 0:a.call(l,">","&gt;")},o=(t,e)=>e?`<span class="shj-syn-${e}">${t}</span>`:t;async function f(t,e,n){var l;try{let a,s,i={},d,h=[],p=0,u=typeof e=="string"?await((l=c[e])!=null?l:c[e]=import(`./languages/${e}.js`)):e,r=[...typeof e=="string"?u.default:e.sub];for(;p<t.length;){for(i.index=null,a=r.length;a-- >0;){if(s=r[a].expand?x[r[a].expand]:r[a],h[a]===void 0||h[a].match.index<p){if(s.match.lastIndex=p,d=s.match.exec(t),d===null){r.splice(a,1),h.splice(a,1);continue}h[a]={match:d,lastIndex:s.match.lastIndex}}h[a].match[0]&&(h[a].match.index<=i.index||i.index===null)&&(i={part:s,index:h[a].match.index,match:h[a].match[0],end:h[a].lastIndex})}if(i.index===null)break;n(t.slice(p,i.index),u.type),p=i.end,i.part.sub?await f(i.match,typeof i.part.sub=="string"?i.part.sub:typeof i.part.sub=="function"?i.part.sub(i.match):i.part,n):n(i.match,i.part.type)}n(t.slice(p,t.length),u.type)}catch{n(t)}}async function y(t,e,n=!0,l={}){let a="";return await f(t,e,(s,i)=>a+=o(m(s),i)),n?`<div><div class="shj-numbers">${"<div></div>".repeat(!l.hideLineNumbers&&t.split(`
2
- `).length)}</div><div>${a}</div></div>`:a}async function g(t,e=(a=>(a=t.className.match(/shj-lang-([\w-]+)/))==null?void 0:a[1])(),n,l){let s=t.textContent;n!=null||(n=`${t.tagName=="CODE"?"in":s.split(`
3
- `).length<2?"one":"multi"}line`),t.dataset.lang=e,t.className=`${[...t.classList].filter(i=>!i.startsWith("shj-")||i.startsWith("shj-mode-")).join(" ")} shj-lang-${e} shj-${n}`,t.innerHTML=await y(s,e,n=="multiline",l)}var $=async t=>document.querySelectorAll('[class*="shj-lang-"]').forEach(e=>g(e,void 0,void 0,t)),v=(t,e)=>{c[t]=e};export{$ as highlightAll,g as highlightElement,y as highlightText,v as loadLanguage,f as tokenize};
1
+ import a from"./common.js";const s={},e=(a="")=>a.replaceAll("&","&#38;").replaceAll?.("<","&lt;").replaceAll?.(">","&gt;"),n=(a,s)=>s?`<span class="shj-syn-${s}">${a}</span>`:a;async function t(e,n,g){try{let r,l,u,i={},c=[],j=0,o="string"==typeof n?await(s[n]??=function(a){switch(a){case"./languages/asm.js":return import("./languages/asm.js");case"./languages/bash.js":return import("./languages/bash.js");case"./languages/bf.js":return import("./languages/bf.js");case"./languages/c.js":return import("./languages/c.js");case"./languages/css.js":return import("./languages/css.js");case"./languages/csv.js":return import("./languages/csv.js");case"./languages/diff.js":return import("./languages/diff.js");case"./languages/docker.js":return import("./languages/docker.js");case"./languages/git.js":return import("./languages/git.js");case"./languages/go.js":return import("./languages/go.js");case"./languages/html.js":return import("./languages/html.js");case"./languages/http.js":return import("./languages/http.js");case"./languages/ini.js":return import("./languages/ini.js");case"./languages/java.js":return import("./languages/java.js");case"./languages/js.js":return import("./languages/js.js");case"./languages/js_template_literals.js":return import("./languages/js_template_literals.js");case"./languages/jsdoc.js":return import("./languages/jsdoc.js");case"./languages/json.js":return import("./languages/json.js");case"./languages/leanpub-md.js":return import("./languages/leanpub-md.js");case"./languages/log.js":return import("./languages/log.js");case"./languages/lua.js":return import("./languages/lua.js");case"./languages/make.js":return import("./languages/make.js");case"./languages/md.js":return import("./languages/md.js");case"./languages/pl.js":return import("./languages/pl.js");case"./languages/plain.js":return import("./languages/plain.js");case"./languages/py.js":return import("./languages/py.js");case"./languages/regex.js":return import("./languages/regex.js");case"./languages/rs.js":return import("./languages/rs.js");case"./languages/sql.js":return import("./languages/sql.js");case"./languages/todo.js":return import("./languages/todo.js");case"./languages/toml.js":return import("./languages/toml.js");case"./languages/ts.js":return import("./languages/ts.js");case"./languages/uri.js":return import("./languages/uri.js");case"./languages/xml.js":return import("./languages/xml.js");case"./languages/yaml.js":return import("./languages/yaml.js");default:return new Promise((function(s,e){("function"==typeof queueMicrotask?queueMicrotask:setTimeout)(e.bind(null,new Error("Unknown variable dynamic import: "+a)))}))}}(`./languages/${n}.js`)):n,m=[..."string"==typeof n?o.default:n.sub];for(;j<e.length;){for(i.index=null,r=m.length;r-- >0;){if(l=m[r].expand?a[m[r].expand]:m[r],void 0===c[r]||c[r].match.index<j){if(l.match.lastIndex=j,u=l.match.exec(e),null===u){m.splice(r,1),c.splice(r,1);continue}c[r]={match:u,lastIndex:l.match.lastIndex}}c[r].match[0]&&(c[r].match.index<=i.index||null===i.index)&&(i={part:l,index:c[r].match.index,match:c[r].match[0],end:c[r].lastIndex})}if(null===i.index)break;g(e.slice(j,i.index),o.type),j=i.end,i.part.sub?await t(i.match,"string"==typeof i.part.sub?i.part.sub:"function"==typeof i.part.sub?i.part.sub(i.match):i.part,g):g(i.match,i.part.type)}g(e.slice(j,e.length),o.type)}catch{g(e)}}async function g(a,s,g=!0,r={}){let l="";return await t(a,s,((a,s)=>l+=n(e(a),s))),g?`<div><div class="shj-numbers">${"<div></div>".repeat(!r.hideLineNumbers&&a.split("\n").length)}</div><div>${l}</div></div>`:l}async function r(a,s=a.className.match(/shj-lang-([\w-]+)/)?.[1],e,n){let t=a.textContent;e??=("CODE"==a.tagName?"in":t.split("\n").length<2?"one":"multi")+"line",a.dataset.lang=s,a.className=`${[...a.classList].filter((a=>!a.startsWith("shj-")||a.startsWith("shj-mode-"))).join(" ")} shj-lang-${s} shj-${e}`,a.innerHTML=await g(t,s,"multiline"==e,n)}let l=async a=>document.querySelectorAll('[class*="shj-lang-"]').forEach((s=>r(s,void 0,void 0,a))),u=(a,e)=>{s[a]=e};export{l as highlightAll,r as highlightElement,g as highlightText,u as loadLanguage,t as tokenize};
@@ -1 +1 @@
1
- var e={type:"var",match:/\$\w+|\${[^}]*}|\$\([^)]*\)/g},t=[{sub:"todo",match:/#.*/g},{type:"str",match:/(["'])((?!\1)[^\r\n\\]|\\[^])*\1?/g,sub:[e]},{type:"kwd",match:/-[a-zA-Z]+|$<|[&|;]+|\b(unset|readonly|shift|export|if|fi|else|elif|while|do|done|for|until|case|esac|break|continue|exit|return|trap|wait|eval|exec|then|declare|enable|local|select|typeset|time|add|remove|install|update|delete)\b/g},{expand:"num"},{type:"func",match:/\b(set|alias|bg|bind|builtin|caller|command|compgen|complete|dirs|disown|echo|enable|eval|exec|exit|fc|fg|getopts|hash|help|history|jobs|kill|let|logout|popd|printf|pushd|pwd|read|set|shift|shopt|source|suspend|test|times|trap|type|ulimit|umask|unalias|unset)\b/g},{type:"bool",match:/\b(true|false)\b/g},{type:"func",match:/[a-z_]+(?=\s*\()/g},{type:"oper",match:/[=(){}<>+*/!?~^-]+/g},{type:"var",match:/\w+(?=\s*=)/g},e];export{t as default};
1
+ let e={type:"var",match:/\$\w+|\${[^}]*}|\$\([^)]*\)/g};var t=[{sub:"todo",match:/#.*/g},{type:"str",match:/(["'])((?!\1)[^\r\n\\]|\\[^])*\1?/g,sub:[e]},{type:"kwd",match:/-[a-zA-Z]+|$<|[&|;]+|\b(unset|readonly|shift|export|if|fi|else|elif|while|do|done|for|until|case|esac|break|continue|exit|return|trap|wait|eval|exec|then|declare|enable|local|select|typeset|time|add|remove|install|update|delete)\b/g},{expand:"num"},{type:"func",match:/\b(set|alias|bg|bind|builtin|caller|command|compgen|complete|dirs|disown|echo|enable|eval|exec|exit|fc|fg|getopts|hash|help|history|jobs|kill|let|logout|popd|printf|pushd|pwd|read|set|shift|shopt|source|suspend|test|times|trap|type|ulimit|umask|unalias|unset)\b/g},{type:"bool",match:/\b(true|false)\b/g},{type:"func",match:/[a-z_]+(?=\s*\()/g},{type:"oper",match:/[=(){}<>+*/!?~^-]+/g},{type:"var",match:/\w+(?=\s*=)/g},e];export{t as default};
@@ -1 +1 @@
1
- var e={type:"var",match:/\$\w+|\${[^}]*}|\$\([^)]*\)/g},t=[{sub:"todo",match:/#.*/g},{type:"str",match:/(["'])((?!\1)[^\r\n\\]|\\[^])*\1?/g,sub:[e]},{type:"kwd",match:/-[a-zA-Z]+|$<|[&|;]+|\b(unset|readonly|shift|export|if|fi|else|elif|while|do|done|for|until|case|esac|break|continue|exit|return|trap|wait|eval|exec|then|declare|enable|local|select|typeset|time|add|remove|install|update|delete)\b/g},{expand:"num"},{type:"func",match:/\b(set|alias|bg|bind|builtin|caller|command|compgen|complete|dirs|disown|echo|enable|eval|exec|exit|fc|fg|getopts|hash|help|history|jobs|kill|let|logout|popd|printf|pushd|pwd|read|set|shift|shopt|source|suspend|test|times|trap|type|ulimit|umask|unalias|unset)\b/g},{type:"bool",match:/\b(true|false)\b/g},{type:"func",match:/[a-z_]+(?=\s*\()/g},{type:"oper",match:/[=(){}<>+*/!?~^-]+/g},{type:"var",match:/\w+(?=\s*=)/g},e];var l=[{type:"kwd",match:/^(FROM|RUN|CMD|LABEL|MAINTAINER|EXPOSE|ENV|ADD|COPY|ENTRYPOINT|VOLUME|USER|WORKDIR|ARG|ONBUILD|STOPSIGNAL|HEALTHCHECK|SHELL)\b/gmi},...t];export{l as default};
1
+ import E from"./bash.js";var L=[{type:"kwd",match:/^(FROM|RUN|CMD|LABEL|MAINTAINER|EXPOSE|ENV|ADD|COPY|ENTRYPOINT|VOLUME|USER|WORKDIR|ARG|ONBUILD|STOPSIGNAL|HEALTHCHECK|SHELL)\b/gim},...E];export{L as default};
@@ -1 +1 @@
1
- var t=[{type:"deleted",match:/^[-<].*/gm},{type:"insert",match:/^[+>].*/gm},{type:"kwd",match:/!.*/gm},{type:"section",match:/^@@.*@@$|^\d.*|^([*-+])\1\1.*/gm}];var a=[{match:/^#.*/gm,sub:"todo"},{expand:"str"},...t,{type:"func",match:/^(\$ )?git(\s.*)?$/gm},{type:"kwd",match:/^commit \w+$/gm}];export{a as default};
1
+ import t from"./diff.js";var m=[{match:/^#.*/gm,sub:"todo"},{expand:"str"},...t,{type:"func",match:/^(\$ )?git(\s.*)?$/gm},{type:"kwd",match:/^commit \w+$/gm}];export{m as default};
@@ -1 +1 @@
1
- var s=`\\s*(\\s+[a-z-]+\\s*(=\\s*([^"']\\S*|("|')(\\\\[^]|(?!\\4)[^])*\\4?)?)?\\s*)*`,t={match:RegExp(`</?[a-z_-]+${s}/?>`,"g"),sub:[{type:"var",match:/^<\/?[^\s>\/]+/g,sub:[{type:"oper",match:/^<\/?/g}]},{type:"str",match:/=\s*([^"']\S*|("|')(\\[^]|(?!\2)[^])*\2?)/g,sub:[{type:"oper",match:/^=/g}]},{type:"oper",match:/\/?>/g},{type:"class",match:/[a-z-]+/gi}]},e=[{match:/<!--((?!-->)[^])*-->/g,sub:"todo"},{type:"class",match:RegExp(`<\\?xml${s}\\?>`,"gi"),sub:[{type:"oper",match:/^<\?|\?>$/g},{type:"str",match:/"[^"]*"|'[^']*'/g},{type:"var",match:/xml/gi}]},{type:"class",match:/<!\[CDATA\[[\s\S]*?\]\]>/gi},t,{type:"var",match:/&(#x?)?[\da-z]{1,8};/gi}];var c=[{type:"class",match:/<!DOCTYPE("[^"]*"|'[^']*'|[^"'>])*>/gi,sub:[{type:"str",match:/"[^"]*"|'[^']*'/g},{type:"oper",match:/^<!|>$/g},{type:"var",match:/DOCTYPE/gi}]},{match:RegExp(`<style${s}>((?!</style>)[^])*</style\\s*>`,"g"),sub:[{match:RegExp(`^<style${s}>`,"g"),sub:t.sub},{match:RegExp(`${t.match}|[^]*(?=</style\\s*>$)`,"g"),sub:"css"},t]},{match:RegExp(`<script${s}>((?!<\/script>)[^])*<\/script\\s*>`,"g"),sub:[{match:RegExp(`^<script${s}>`,"g"),sub:t.sub},{match:RegExp(`${t.match}|[^]*(?=<\/script\\s*>$)`,"g"),sub:"js"},t]},...e];export{c as default};
1
+ import s,{property as t,xmlElement as c}from"./xml.js";var e=[{type:"class",match:/<!DOCTYPE("[^"]*"|'[^']*'|[^"'>])*>/gi,sub:[{type:"str",match:/"[^"]*"|'[^']*'/g},{type:"oper",match:/^<!|>$/g},{type:"var",match:/DOCTYPE/gi}]},{match:RegExp(`<style${t}>((?!</style>)[^])*</style\\s*>`,"g"),sub:[{match:RegExp(`^<style${t}>`,"g"),sub:c.sub},{match:RegExp(`${c.match}|[^]*(?=</style\\s*>$)`,"g"),sub:"css"},c]},{match:RegExp(`<script${t}>((?!<\/script>)[^])*</script\\s*>`,"g"),sub:[{match:RegExp(`^<script${t}>`,"g"),sub:c.sub},{match:RegExp(`${c.match}|[^]*(?=</script\\s*>$)`,"g"),sub:"js"},c]},...s];export{e as default};
@@ -1 +1 @@
1
- var r=[["bash",[/#!(\/usr)?\/bin\/bash/g,500],[/\b(if|elif|then|fi|echo)\b|\$/g,10]],["html",[/<\/?[a-z-]+[^\n>]*>/g,10],[/^\s+<!DOCTYPE\s+html/g,500]],["http",[/^(GET|HEAD|POST|PUT|DELETE|PATCH|HTTP)\b/g,500]],["js",[/\b(console|await|async|function|export|import|this|class|for|let|const|map|join|require)\b/g,10]],["ts",[/\b(console|await|async|function|export|import|this|class|for|let|const|map|join|require|implements|interface|namespace)\b/g,10]],["py",[/\b(def|print|class|and|or|lambda)\b/g,10]],["sql",[/\b(SELECT|INSERT|FROM)\b/g,50]],["pl",[/#!(\/usr)?\/bin\/perl/g,500],[/\b(use|print)\b|\$/g,10]],["lua",[/#!(\/usr)?\/bin\/lua/g,500]],["make",[/\b(ifneq|endif|if|elif|then|fi|echo|.PHONY|^[a-z]+ ?:$)\b|\$/gm,10]],["uri",[/https?:|mailto:|tel:|ftp:/g,30]],["css",[/^(@import|@page|@media|(\.|#)[a-z]+)/gm,20]],["diff",[/^[+><-]/gm,10],[/^@@ ?[-+,0-9 ]+ ?@@/gm,25]],["md",[/^(>|\t\*|\t\d+.)/gm,10],[/\[.*\](.*)/g,10]],["docker",[/^(FROM|ENTRYPOINT|RUN)/gm,500]],["xml",[/<\/?[a-z-]+[^\n>]*>/g,10],[/^<\?xml/g,500]],["c",[/#include\b|\bprintf\s+\(/g,100]],["rs",[/^\s+(use|fn|mut|match)\b/gm,100]],["go",[/\b(func|fmt|package)\b/g,100]],["java",[/^import\s+java/gm,500]],["asm",[/^(section|global main|extern|\t(call|mov|ret))/gm,100]]],n=m=>{var a;return((a=r.map(([e,...t])=>[e,t.reduce((g,[s,i])=>g+[...m.matchAll(s)].length*i,0)]).filter(([e,t])=>t>20).sort((e,t)=>t[1]-e[1])[0])==null?void 0:a[0])||"plain"};var l=[{type:"kwd",match:/^(GET|HEAD|POST|PUT|DELETE|CONNECT|OPTIONS|TRACE|PATCH|PRI|SEARCH)\b/gm},{expand:"str"},{type:"section",match:/\bHTTP\/[\d.]+\b/g},{expand:"num"},{type:"oper",match:/[,;:=]/g},{type:"var",match:/[a-zA-Z][\w-]*(?=:)/g},{match:/\n\n[^]*/g,sub:n}];export{l as default};
1
+ import{detectLanguage as t}from"../detect.js";var a=[{type:"kwd",match:/^(GET|HEAD|POST|PUT|DELETE|CONNECT|OPTIONS|TRACE|PATCH|PRI|SEARCH)\b/gm},{expand:"str"},{type:"section",match:/\bHTTP\/[\d.]+\b/g},{expand:"num"},{type:"oper",match:/[,;:=]/g},{type:"var",match:/[a-zA-Z][\w-]*(?=:)/g},{match:/\n\n[^]*/g,sub:t}];export{a as default};
@@ -1 +1 @@
1
- var h=[{match:new class{exec(l){let e=this.lastIndex,t,n=i=>{for(;++e<l.length-2;)if(l[e]=="{")n();else if(l[e]=="}")return};for(;e<l.length;e++)if(l[e-1]!="\\"&&l[e]=="$"&&l[e+1]=="{")return t=e++,n(e),this.lastIndex=e+1,{index:t,0:l.slice(t,e+1)};return null}},sub:[{type:"kwd",match:/^\${|}$/g},{match:/(?!^\$|{)[^]+(?=}$)/g,sub:"js"}]}],a="str";export{h as default,a as type};
1
+ var e=[{match:new class{exec(e){let t,s=this.lastIndex,l=t=>{for(;++s<e.length-2;)if("{"==e[s])l();else if("}"==e[s])return};for(;s<e.length;s++)if("\\"!=e[s-1]&&"$"==e[s]&&"{"==e[s+1])return t=s++,l(),this.lastIndex=s+1,{index:t,0:e.slice(t,s+1)};return null}},sub:[{type:"kwd",match:/^\${|}$/g},{match:/(?!^\$|{)[^]+(?=}$)/g,sub:"js"}]}];let t="str";export{e as default,t as type};
@@ -1 +1 @@
1
- var t=[{type:"err",match:/\b(TODO|FIXME|DEBUG|OPTIMIZE|WARNING|XXX|BUG)\b/g},{type:"class",match:/\bIDEA\b/g},{type:"insert",match:/\b(CHANGED|FIX|CHANGE)\b/g},{type:"oper",match:/\bQUESTION\b/g}];var a=[{type:"kwd",match:/@\w+/g},{type:"class",match:/{[\w\s|<>,.@\[\]]+}/g},{type:"var",match:/\[[\w\s="']+\]/g},...t],c="cmnt";export{a as default,c as type};
1
+ import t from"./todo.js";var a=[{type:"kwd",match:/@\w+/g},{type:"class",match:/{[\w\s|<>,.@\[\]]+}/g},{type:"var",match:/\[[\w\s="']+\]/g},...t];let e="cmnt";export{a as default,e as type};
@@ -1 +1 @@
1
- var t=[{type:"var",match:/("|')?[a-zA-Z]\w*\1(?=\s*:)/g},{expand:"str"},{expand:"num"},{type:"num",match:/\bnull\b/g},{type:"bool",match:/\b(true|false)\b/g}];export{t as default};
1
+ var a=[{type:"var",match:/("|')?[a-zA-Z]\w*\1(?=\s*:)/g},{expand:"str"},{expand:"num"},{type:"num",match:/\bnull\b/g},{type:"bool",match:/\b(true|false)\b/g}];export{a as default};
@@ -1,2 +1 @@
1
- var p=[["bash",[/#!(\/usr)?\/bin\/bash/g,500],[/\b(if|elif|then|fi|echo)\b|\$/g,10]],["html",[/<\/?[a-z-]+[^\n>]*>/g,10],[/^\s+<!DOCTYPE\s+html/g,500]],["http",[/^(GET|HEAD|POST|PUT|DELETE|PATCH|HTTP)\b/g,500]],["js",[/\b(console|await|async|function|export|import|this|class|for|let|const|map|join|require)\b/g,10]],["ts",[/\b(console|await|async|function|export|import|this|class|for|let|const|map|join|require|implements|interface|namespace)\b/g,10]],["py",[/\b(def|print|class|and|or|lambda)\b/g,10]],["sql",[/\b(SELECT|INSERT|FROM)\b/g,50]],["pl",[/#!(\/usr)?\/bin\/perl/g,500],[/\b(use|print)\b|\$/g,10]],["lua",[/#!(\/usr)?\/bin\/lua/g,500]],["make",[/\b(ifneq|endif|if|elif|then|fi|echo|.PHONY|^[a-z]+ ?:$)\b|\$/gm,10]],["uri",[/https?:|mailto:|tel:|ftp:/g,30]],["css",[/^(@import|@page|@media|(\.|#)[a-z]+)/gm,20]],["diff",[/^[+><-]/gm,10],[/^@@ ?[-+,0-9 ]+ ?@@/gm,25]],["md",[/^(>|\t\*|\t\d+.)/gm,10],[/\[.*\](.*)/g,10]],["docker",[/^(FROM|ENTRYPOINT|RUN)/gm,500]],["xml",[/<\/?[a-z-]+[^\n>]*>/g,10],[/^<\?xml/g,500]],["c",[/#include\b|\bprintf\s+\(/g,100]],["rs",[/^\s+(use|fn|mut|match)\b/gm,100]],["go",[/\b(func|fmt|package)\b/g,100]],["java",[/^import\s+java/gm,500]],["asm",[/^(section|global main|extern|\t(call|mov|ret))/gm,100]]],t=a=>{var s;return((s=p.map(([n,...e])=>[n,e.reduce((l,[r,g])=>l+[...a.matchAll(r)].length*g,0)]).filter(([n,e])=>e>20).sort((n,e)=>e[1]-n[1])[0])==null?void 0:s[0])||"plain"};var m=[{type:"cmnt",match:/^>.*|(=|-)\1+/gm},{type:"class",match:/\*\*((?!\*\*).)*\*\*/g},{match:/```((?!```)[^])*\n```/g,sub:a=>({type:"kwd",sub:[{match:/\n[^]*(?=```)/g,sub:a.split(`
2
- `)[0].slice(3)||t(a)}]})},{type:"str",match:/`[^`]*`/g},{type:"var",match:/~~((?!~~).)*~~/g},{type:"kwd",match:/_[^_]*_|\*[^*]*\*/g},{type:"kwd",match:/^\s*(\*|\d+\.)\s/gm},{type:"oper",match:/\[[^\]]*]/g},{type:"func",match:/\([^)]*\)/g}];var d=[{type:"insert",match:/(leanpub-start-insert)((?!leanpub-end-insert)[^])*(leanpub-end-insert)?/g,sub:[{type:"insert",match:/leanpub-(start|end)-insert/g},{match:/(?!leanpub-start-insert)((?!leanpub-end-insert)[^])*/g,sub:t}]},{type:"deleted",match:/(leanpub-start-delete)((?!leanpub-end-delete)[^])*(leanpub-end-delete)?/g,sub:[{type:"deleted",match:/leanpub-(start|end)-delete/g},{match:/(?!leanpub-start-delete)((?!leanpub-end-delete)[^])*/g,sub:t}]},...m];export{d as default};
1
+ import e from"./md.js";import{detectLanguage as t}from"../detect.js";var n=[{type:"insert",match:/(leanpub-start-insert)((?!leanpub-end-insert)[^])*(leanpub-end-insert)?/g,sub:[{type:"insert",match:/leanpub-(start|end)-insert/g},{match:/(?!leanpub-start-insert)((?!leanpub-end-insert)[^])*/g,sub:t}]},{type:"deleted",match:/(leanpub-start-delete)((?!leanpub-end-delete)[^])*(leanpub-end-delete)?/g,sub:[{type:"deleted",match:/leanpub-(start|end)-delete/g},{match:/(?!leanpub-start-delete)((?!leanpub-end-delete)[^])*/g,sub:t}]},...e];export{n as default};
@@ -1,2 +1 @@
1
- var i=[["bash",[/#!(\/usr)?\/bin\/bash/g,500],[/\b(if|elif|then|fi|echo)\b|\$/g,10]],["html",[/<\/?[a-z-]+[^\n>]*>/g,10],[/^\s+<!DOCTYPE\s+html/g,500]],["http",[/^(GET|HEAD|POST|PUT|DELETE|PATCH|HTTP)\b/g,500]],["js",[/\b(console|await|async|function|export|import|this|class|for|let|const|map|join|require)\b/g,10]],["ts",[/\b(console|await|async|function|export|import|this|class|for|let|const|map|join|require|implements|interface|namespace)\b/g,10]],["py",[/\b(def|print|class|and|or|lambda)\b/g,10]],["sql",[/\b(SELECT|INSERT|FROM)\b/g,50]],["pl",[/#!(\/usr)?\/bin\/perl/g,500],[/\b(use|print)\b|\$/g,10]],["lua",[/#!(\/usr)?\/bin\/lua/g,500]],["make",[/\b(ifneq|endif|if|elif|then|fi|echo|.PHONY|^[a-z]+ ?:$)\b|\$/gm,10]],["uri",[/https?:|mailto:|tel:|ftp:/g,30]],["css",[/^(@import|@page|@media|(\.|#)[a-z]+)/gm,20]],["diff",[/^[+><-]/gm,10],[/^@@ ?[-+,0-9 ]+ ?@@/gm,25]],["md",[/^(>|\t\*|\t\d+.)/gm,10],[/\[.*\](.*)/g,10]],["docker",[/^(FROM|ENTRYPOINT|RUN)/gm,500]],["xml",[/<\/?[a-z-]+[^\n>]*>/g,10],[/^<\?xml/g,500]],["c",[/#include\b|\bprintf\s+\(/g,100]],["rs",[/^\s+(use|fn|mut|match)\b/gm,100]],["go",[/\b(func|fmt|package)\b/g,100]],["java",[/^import\s+java/gm,500]],["asm",[/^(section|global main|extern|\t(call|mov|ret))/gm,100]]],s=e=>{var m;return((m=i.map(([a,...t])=>[a,t.reduce((g,[n,c])=>g+[...e.matchAll(n)].length*c,0)]).filter(([a,t])=>t>20).sort((a,t)=>t[1]-a[1])[0])==null?void 0:m[0])||"plain"};var p=[{type:"cmnt",match:/^>.*|(=|-)\1+/gm},{type:"class",match:/\*\*((?!\*\*).)*\*\*/g},{match:/```((?!```)[^])*\n```/g,sub:e=>({type:"kwd",sub:[{match:/\n[^]*(?=```)/g,sub:e.split(`
2
- `)[0].slice(3)||s(e)}]})},{type:"str",match:/`[^`]*`/g},{type:"var",match:/~~((?!~~).)*~~/g},{type:"kwd",match:/_[^_]*_|\*[^*]*\*/g},{type:"kwd",match:/^\s*(\*|\d+\.)\s/gm},{type:"oper",match:/\[[^\]]*]/g},{type:"func",match:/\([^)]*\)/g}];export{p as default};
1
+ import{detectLanguage as t}from"../detect.js";var a=[{type:"cmnt",match:/^>.*|(=|-)\1+/gm},{type:"class",match:/\*\*((?!\*\*).)*\*\*/g},{match:/```((?!```)[^])*\n```/g,sub:a=>({type:"kwd",sub:[{match:/\n[^]*(?=```)/g,sub:a.split("\n")[0].slice(3)||t(a)}]})},{type:"str",match:/`[^`]*`/g},{type:"var",match:/~~((?!~~).)*~~/g},{type:"kwd",match:/_[^_]*_|\*[^*]*\*/g},{type:"kwd",match:/^\s*(\*|\d+\.)\s/gm},{type:"oper",match:/\[[^\]]*]/g},{type:"func",match:/\([^)]*\)/g}];export{a as default};
@@ -1 +1 @@
1
- var e=[{expand:"strDouble"}];export{e as default};
1
+ var a=[{expand:"strDouble"}];export{a as default};
@@ -1 +1 @@
1
- var t=[{match:/#.*/g,sub:"todo"},{match:/("""|''')(\\[^]|(?!\1)[^])*\1?/g,sub:"todo"},{type:"str",match:/f("|')(\\[^]|(?!\1).)*\1?|f((["'])\4\4)(\\[^]|(?!\3)[^])*\3?/gi,sub:[{type:"var",match:/{[^{}]*}/g,sub:[{match:/(?!^{)[^]*(?=}$)/g,sub:"py"}]}]},{expand:"str"},{type:"kwd",match:/\b(and|as|assert|break|class|continue|def|del|elif|else|except|finally|for|from|global|if|import|in|is|lambda|nonlocal|not|or|pass|raise|return|try|while|with|yield)\b/g},{type:"bool",match:/\b(False|True|None)\b/g},{expand:"num"},{type:"func",match:/[a-z_]+(?=\s*\()/g},{type:"oper",match:/[-/*+<>,=!&|^%]+/g},{type:"class",match:/\b[A-Z][\w_]*\b/g}];export{t as default};
1
+ var a=[{match:/#.*/g,sub:"todo"},{match:/("""|''')(\\[^]|(?!\1)[^])*\1?/g,sub:"todo"},{type:"str",match:/f("|')(\\[^]|(?!\1).)*\1?|f((["'])\4\4)(\\[^]|(?!\3)[^])*\3?/gi,sub:[{type:"var",match:/{[^{}]*}/g,sub:[{match:/(?!^{)[^]*(?=}$)/g,sub:"py"}]}]},{expand:"str"},{type:"kwd",match:/\b(and|as|assert|break|class|continue|def|del|elif|else|except|finally|for|from|global|if|import|in|is|lambda|nonlocal|not|or|pass|raise|return|try|while|with|yield)\b/g},{type:"bool",match:/\b(False|True|None)\b/g},{expand:"num"},{type:"func",match:/[a-z_]+(?=\s*\()/g},{type:"oper",match:/[-/*+<>,=!&|^%]+/g},{type:"class",match:/\b[A-Z][\w_]*\b/g}];export{a as default};
@@ -1 +1 @@
1
- var t=[{match:/^(?!\/).*/gm,sub:"todo"},{type:"num",match:/\[((?!\])[^\\]|\\.)*\]/g},{type:"kwd",match:/\||\^|\$|\\.|\w+($|\r|\n)/g},{type:"var",match:/\*|\+|\{\d+,\d+\}/g}],e="oper";export{t as default,e as type};
1
+ var t=[{match:/^(?!\/).*/gm,sub:"todo"},{type:"num",match:/\[((?!\])[^\\]|\\.)*\]/g},{type:"kwd",match:/\||\^|\$|\\.|\w+($|\r|\n)/g},{type:"var",match:/\*|\+|\{\d+,\d+\}/g}];let a="oper";export{t as default,a as type};
@@ -1 +1 @@
1
- var t=[{type:"err",match:/\b(TODO|FIXME|DEBUG|OPTIMIZE|WARNING|XXX|BUG)\b/g},{type:"class",match:/\bIDEA\b/g},{type:"insert",match:/\b(CHANGED|FIX|CHANGE)\b/g},{type:"oper",match:/\bQUESTION\b/g}],e="cmnt";export{t as default,e as type};
1
+ var t=[{type:"err",match:/\b(TODO|FIXME|DEBUG|OPTIMIZE|WARNING|XXX|BUG)\b/g},{type:"class",match:/\bIDEA\b/g},{type:"insert",match:/\b(CHANGED|FIX|CHANGE)\b/g},{type:"oper",match:/\bQUESTION\b/g}];let e="cmnt";export{t as default,e as type};
@@ -1 +1 @@
1
- var e=[{match:/\/\*\*((?!\*\/)[^])*(\*\/)?/g,sub:"jsdoc"},{match:/\/\/.*\n?|\/\*((?!\*\/)[^])*(\*\/)?/g,sub:"todo"},{expand:"str"},{match:/`((?!`)[^]|\\[^])*`?/g,sub:"js_template_literals"},{type:"kwd",match:/=>|\b(this|set|get|as|async|await|break|case|catch|class|const|constructor|continue|debugger|default|delete|do|else|enum|export|extends|finally|for|from|function|if|implements|import|in|instanceof|interface|let|var|of|new|package|private|protected|public|return|static|super|switch|throw|throws|try|typeof|void|while|with|yield)\b/g},{match:/\/((?!\/)[^\r\n\\]|\\.)+\/[dgimsuy]*/g,sub:"regex"},{expand:"num"},{type:"num",match:/\b(NaN|null|undefined|[A-Z][A-Z_]*)\b/g},{type:"bool",match:/\b(true|false)\b/g},{type:"oper",match:/[/*+:?&|%^~=!,<>.^-]+/g},{type:"class",match:/\b[A-Z][\w_]*\b/g},{type:"func",match:/[a-zA-Z$_][\w$_]*(?=\s*((\?\.)?\s*\(|=\s*(\(?[\w,{}\[\])]+\)? =>|function\b)))/g}];var c=[{type:"type",match:/:\s*(any|void|number|boolean|string|object|never|enum)\b/g},{type:"kwd",match:/\b(type|namespace|typedef|interface|public|private|protected|implements|declare|abstract|readonly)\b/g},...e];export{c as default};
1
+ import e from"./js.js";var t=[{type:"type",match:/:\s*(any|void|number|boolean|string|object|never|enum)\b/g},{type:"kwd",match:/\b(type|namespace|typedef|interface|public|private|protected|implements|declare|abstract|readonly)\b/g},...e];export{t as default};
@@ -1 +1 @@
1
- var t=`\\s*(\\s+[a-z-]+\\s*(=\\s*([^"']\\S*|("|')(\\\\[^]|(?!\\4)[^])*\\4?)?)?\\s*)*`,a={match:RegExp(`</?[a-z_-]+${t}/?>`,"g"),sub:[{type:"var",match:/^<\/?[^\s>\/]+/g,sub:[{type:"oper",match:/^<\/?/g}]},{type:"str",match:/=\s*([^"']\S*|("|')(\\[^]|(?!\2)[^])*\2?)/g,sub:[{type:"oper",match:/^=/g}]},{type:"oper",match:/\/?>/g},{type:"class",match:/[a-z-]+/gi}]},e=[{match:/<!--((?!-->)[^])*-->/g,sub:"todo"},{type:"class",match:RegExp(`<\\?xml${t}\\?>`,"gi"),sub:[{type:"oper",match:/^<\?|\?>$/g},{type:"str",match:/"[^"]*"|'[^']*'/g},{type:"var",match:/xml/gi}]},{type:"class",match:/<!\[CDATA\[[\s\S]*?\]\]>/gi},a,{type:"var",match:/&(#x?)?[\da-z]{1,8};/gi}];export{e as default,t as property,a as xmlElement};
1
+ let t="\\s*(\\s+[a-z-]+\\s*(=\\s*([^\"']\\S*|(\"|')(\\\\[^]|(?!\\4)[^])*\\4?)?)?\\s*)*",a={match:RegExp(`</?[a-z_-]+${t}/?>`,"g"),sub:[{type:"var",match:/^<\/?[^\s>\/]+/g,sub:[{type:"oper",match:/^<\/?/g}]},{type:"str",match:/=\s*([^"']\S*|("|')(\\[^]|(?!\2)[^])*\2?)/g,sub:[{type:"oper",match:/^=/g}]},{type:"oper",match:/\/?>/g},{type:"class",match:/[a-z-]+/gi}]};var s=[{match:/<!--((?!-->)[^])*-->/g,sub:"todo"},{type:"class",match:RegExp(`<\\?xml${t}\\?>`,"gi"),sub:[{type:"oper",match:/^<\?|\?>$/g},{type:"str",match:/"[^"]*"|'[^']*'/g},{type:"var",match:/xml/gi}]},{type:"class",match:/<!\[CDATA\[[\s\S]*?\]\]>/gi},a,{type:"var",match:/&(#x?)?[\da-z]{1,8};/gi}];export{s as default,t as property,a as xmlElement};
@@ -1 +1 @@
1
- var m=Object.defineProperty;var p=Object.getOwnPropertyDescriptor;var s=Object.getOwnPropertyNames;var u=Object.prototype.hasOwnProperty;var b=(e,t)=>{for(var a in t)m(e,a,{get:t[a],enumerable:!0})},c=(e,t,a,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let r of s(t))!u.call(e,r)&&r!==a&&m(e,r,{get:()=>t[r],enumerable:!(n=p(t,r))||n.enumerable});return e};var d=e=>c(m({},"__esModule",{value:!0}),e);var h={};b(h,{default:()=>g});module.exports=d(h);var g={num:{type:"num",match:/(\.e?|\b)\d(e-|[\d.oxa-fA-F_])*(\.|\b)/g},str:{type:"str",match:/(["'])(\\[^]|(?!\1)[^\r\n\\])*\1?/g},strDouble:{type:"str",match:/"((?!")[^\r\n\\]|\\[^])*"?/g}};0&&(module.exports={});
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});exports.default={num:{type:"num",match:/(\.e?|\b)\d(e-|[\d.oxa-fA-F_])*(\.|\b)/g},str:{type:"str",match:/(["'])(\\[^]|(?!\1)[^\r\n\\])*\1?/g},strDouble:{type:"str",match:/"((?!")[^\r\n\\]|\\[^])*"?/g}};
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Try to find the language the given code belong to
3
+ * @param code The code
4
+ * @returns The language of the code
5
+ */
6
+ export declare function detectLanguage(
7
+ code: string
8
+ ): Promise<import('.').ShjLanguage>
@@ -1 +1 @@
1
- var i=Object.defineProperty;var l=Object.getOwnPropertyDescriptor;var r=Object.getOwnPropertyNames;var o=Object.prototype.hasOwnProperty;var c=(e,t)=>{for(var a in t)i(e,a,{get:t[a],enumerable:!0})},b=(e,t,a,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let s of r(t))!o.call(e,s)&&s!==a&&i(e,s,{get:()=>t[s],enumerable:!(n=l(t,s))||n.enumerable});return e};var p=e=>b(i({},"__esModule",{value:!0}),e);var h={};c(h,{detectLanguage:()=>u});module.exports=p(h);var f=[["bash",[/#!(\/usr)?\/bin\/bash/g,500],[/\b(if|elif|then|fi|echo)\b|\$/g,10]],["html",[/<\/?[a-z-]+[^\n>]*>/g,10],[/^\s+<!DOCTYPE\s+html/g,500]],["http",[/^(GET|HEAD|POST|PUT|DELETE|PATCH|HTTP)\b/g,500]],["js",[/\b(console|await|async|function|export|import|this|class|for|let|const|map|join|require)\b/g,10]],["ts",[/\b(console|await|async|function|export|import|this|class|for|let|const|map|join|require|implements|interface|namespace)\b/g,10]],["py",[/\b(def|print|class|and|or|lambda)\b/g,10]],["sql",[/\b(SELECT|INSERT|FROM)\b/g,50]],["pl",[/#!(\/usr)?\/bin\/perl/g,500],[/\b(use|print)\b|\$/g,10]],["lua",[/#!(\/usr)?\/bin\/lua/g,500]],["make",[/\b(ifneq|endif|if|elif|then|fi|echo|.PHONY|^[a-z]+ ?:$)\b|\$/gm,10]],["uri",[/https?:|mailto:|tel:|ftp:/g,30]],["css",[/^(@import|@page|@media|(\.|#)[a-z]+)/gm,20]],["diff",[/^[+><-]/gm,10],[/^@@ ?[-+,0-9 ]+ ?@@/gm,25]],["md",[/^(>|\t\*|\t\d+.)/gm,10],[/\[.*\](.*)/g,10]],["docker",[/^(FROM|ENTRYPOINT|RUN)/gm,500]],["xml",[/<\/?[a-z-]+[^\n>]*>/g,10],[/^<\?xml/g,500]],["c",[/#include\b|\bprintf\s+\(/g,100]],["rs",[/^\s+(use|fn|mut|match)\b/gm,100]],["go",[/\b(func|fmt|package)\b/g,100]],["java",[/^import\s+java/gm,500]],["asm",[/^(section|global main|extern|\t(call|mov|ret))/gm,100]]],u=e=>{var t;return((t=f.map(([a,...n])=>[a,n.reduce((s,[g,m])=>s+[...e.matchAll(g)].length*m,0)]).filter(([a,n])=>n>20).sort((a,n)=>n[1]-a[1])[0])==null?void 0:t[0])||"plain"};0&&(module.exports={detectLanguage});
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});const e=[["bash",[/#!(\/usr)?\/bin\/bash/g,500],[/\b(if|elif|then|fi|echo)\b|\$/g,10]],["html",[/<\/?[a-z-]+[^\n>]*>/g,10],[/^\s+<!DOCTYPE\s+html/g,500]],["http",[/^(GET|HEAD|POST|PUT|DELETE|PATCH|HTTP)\b/g,500]],["js",[/\b(console|await|async|function|export|import|this|class|for|let|const|map|join|require)\b/g,10]],["ts",[/\b(console|await|async|function|export|import|this|class|for|let|const|map|join|require|implements|interface|namespace)\b/g,10]],["py",[/\b(def|print|class|and|or|lambda)\b/g,10]],["sql",[/\b(SELECT|INSERT|FROM)\b/g,50]],["pl",[/#!(\/usr)?\/bin\/perl/g,500],[/\b(use|print)\b|\$/g,10]],["lua",[/#!(\/usr)?\/bin\/lua/g,500]],["make",[/\b(ifneq|endif|if|elif|then|fi|echo|.PHONY|^[a-z]+ ?:$)\b|\$/gm,10]],["uri",[/https?:|mailto:|tel:|ftp:/g,30]],["css",[/^(@import|@page|@media|(\.|#)[a-z]+)/gm,20]],["diff",[/^[+><-]/gm,10],[/^@@ ?[-+,0-9 ]+ ?@@/gm,25]],["md",[/^(>|\t\*|\t\d+.)/gm,10],[/\[.*\](.*)/g,10]],["docker",[/^(FROM|ENTRYPOINT|RUN)/gm,500]],["xml",[/<\/?[a-z-]+[^\n>]*>/g,10],[/^<\?xml/g,500]],["c",[/#include\b|\bprintf\s+\(/g,100]],["rs",[/^\s+(use|fn|mut|match)\b/gm,100]],["go",[/\b(func|fmt|package)\b/g,100]],["java",[/^import\s+java/gm,500]],["asm",[/^(section|global main|extern|\t(call|mov|ret))/gm,100]],["css",[/^(@import|@page|@media|(\.|#)[a-z]+)/gm,20]],["json",[/\b(true|false|null)\b/g,10]],["yaml",[/^(\s+)?[a-z]+:/gm,10]]];exports.detectLanguage=t=>e.map((([e,...a])=>[e,a.reduce(((e,[a,s])=>e+[...t.matchAll(a)].length*s),0)])).filter((([e,t])=>t>20)).sort(((e,t)=>t[1]-e[1]))[0]?.[0]||"plain";
@@ -0,0 +1,111 @@
1
+ /////////// typedef.js ///////////
2
+
3
+ /**
4
+ * Supported languages.
5
+ */
6
+ export type ShjLanguage = 'asm'|'bash'|'bf'|'c'|'css'|'csv'|'diff'|'docker'|'git'|'go'|'html'|'http'|'ini'|'java'|'js'|'jsdoc'|'json'|'leanpub-md'|'log'|'lua'|'make'|'md'|'pl'|'plain'|'py'|'regex'|'rs'|'sql'|'todo'|'toml'|'ts'|'uri'|'xml'|'yaml';
7
+
8
+ /**
9
+ * Themes supported in the browser.
10
+ */
11
+ export type ShjBrowserTheme = 'atom-dark'|'github-dark'|'github-dim'|'dark'|'default'|'github-light'|'visual-studio-dark';
12
+
13
+ /**
14
+ * Languages supported in the terminal.
15
+ */
16
+ export type ShjTerminalTheme = 'default'|'atom-dark';
17
+
18
+ /**
19
+ * * `inline` inside `code` element
20
+ * * `oneline` inside `div` element and containing only one line
21
+ * * `multiline` inside `div` element
22
+ */
23
+ export type ShjDisplayMode = 'inline'|'oneline'|'multiline';
24
+
25
+ export type ShjToken = 'deleted'|'err'|'var'|'section'|'kwd'|'class'|'cmnt'|'insert'|'type'|'func'|'bool'|'num'|'oper'|'str'|'esc';
26
+
27
+ export interface ShjOptions {
28
+ /**
29
+ * Indicates whether to hide line numbers.
30
+ * @default false
31
+ */
32
+ hideLineNumbers: boolean;
33
+ }
34
+
35
+ /////////// Custom Types ///////////
36
+
37
+ export type ShjLanguageComponent =
38
+ | { type: string; match: RegExp }
39
+ | { extand: string }
40
+ | {
41
+ match: RegExp;
42
+ sub:
43
+ | string
44
+ | ((code: string) => { type: string; sub: Array<{ match: RegExp; sub: string }> });
45
+ };
46
+
47
+ export type ShjLanguageDefinition = Array<ShjLanguageComponent>;
48
+
49
+ /////////// index.js ///////////
50
+
51
+ /**
52
+ * Find the tokens in the given code and call the callback
53
+ * @param src The code
54
+ * @param lang The language of the code
55
+ * @param callback The callback function
56
+ * this function will be given
57
+ * * the text of the token
58
+ * * the type of the token
59
+ */
60
+ export declare function tokenize<T extends string = ShjLanguage>(
61
+ src: string,
62
+ lang: T,
63
+ callback: (value: string, token: ShjToken) => void
64
+ ): Promise<void>;
65
+
66
+ /**
67
+ * Highlight a string passed as argument and return it
68
+ * @example
69
+ * elm.innerHTML = await highlightText(code, 'js');
70
+ * @param src The code
71
+ * @param lang The language of the code
72
+ * @param multiline If it is multiline, it will add a wrapper for the line numbering and header
73
+ * @param Customization options
74
+ * @returns The highlighted string
75
+ */
76
+ export declare function highlightText<T extends string = ShjLanguage>(
77
+ src: string,
78
+ lang: T,
79
+ multiline?: boolean,
80
+ opt?: ShjOptions
81
+ ): Promise<string>;
82
+
83
+ /**
84
+ * Highlight a DOM element by getting the new innerHTML with highlightText
85
+ * @param elm The DOM element
86
+ * @param lang The language of the code (seaching by default on `elm` for a 'shj-lang-' class)
87
+ * @param mode The display mode (guessed by default)
88
+ * @param opt Customization options
89
+ */
90
+ export declare function highlightElement<T extends string = ShjLanguage>(
91
+ elm: Element,
92
+ lang?: T,
93
+ mode?: ShjDisplayMode,
94
+ opt?: ShjOptions
95
+ ): Promise<void>;
96
+
97
+ /**
98
+ * Call highlightElement on element with a css class starting with `shj-lang-`
99
+ * @param opt Customization options
100
+ */
101
+ export declare function HighlightAll(opt?: ShjOptions): Promise<void>;
102
+
103
+ /**
104
+ * Load a language and add it to the langs object
105
+ * @param name The name of the language
106
+ * @param module Module that has the language as the default export
107
+ */
108
+ export declare function loadLanguage(
109
+ name: string,
110
+ module: { default: ShjLanguageDefinition }
111
+ ): void;
@@ -1,3 +1 @@
1
- var j=Object.create;var c=Object.defineProperty;var $=Object.getOwnPropertyDescriptor;var v=Object.getOwnPropertyNames;var w=Object.getPrototypeOf,A=Object.prototype.hasOwnProperty;var I=(t,e)=>{for(var i in e)c(t,i,{get:e[i],enumerable:!0})},m=(t,e,i,s)=>{if(e&&typeof e=="object"||typeof e=="function")for(let a of v(e))!A.call(t,a)&&a!==i&&c(t,a,{get:()=>e[a],enumerable:!(s=$(e,a))||s.enumerable});return t};var o=(t,e,i)=>(i=t!=null?j(w(t)):{},m(e||!t||!t.__esModule?c(i,"default",{value:t,enumerable:!0}):i,t)),L=t=>m(c({},"__esModule",{value:!0}),t);var C={};I(C,{highlightAll:()=>N,highlightElement:()=>b,highlightText:()=>g,loadLanguage:()=>z,tokenize:()=>f});module.exports=L(C);var y={num:{type:"num",match:/(\.e?|\b)\d(e-|[\d.oxa-fA-F_])*(\.|\b)/g},str:{type:"str",match:/(["'])(\\[^]|(?!\1)[^\r\n\\])*\1?/g},strDouble:{type:"str",match:/"((?!")[^\r\n\\]|\\[^])*"?/g}};var d={},D=(t="")=>{var e,i,s,a;return(a=(i=(e=t.replaceAll("&","&#38;")).replaceAll)==null?void 0:(s=i.call(e,"<","&lt;")).replaceAll)==null?void 0:a.call(s,">","&gt;")},E=(t,e)=>e?`<span class="shj-syn-${e}">${t}</span>`:t;async function f(t,e,i){var s;try{let a,l,n={},u,h=[],p=0,x=typeof e=="string"?await((s=d[e])!=null?s:d[e]=Promise.resolve().then(()=>o(require(`./languages/${e}.js`)))):e,r=[...typeof e=="string"?x.default:e.sub];for(;p<t.length;){for(n.index=null,a=r.length;a-- >0;){if(l=r[a].expand?y[r[a].expand]:r[a],h[a]===void 0||h[a].match.index<p){if(l.match.lastIndex=p,u=l.match.exec(t),u===null){r.splice(a,1),h.splice(a,1);continue}h[a]={match:u,lastIndex:l.match.lastIndex}}h[a].match[0]&&(h[a].match.index<=n.index||n.index===null)&&(n={part:l,index:h[a].match.index,match:h[a].match[0],end:h[a].lastIndex})}if(n.index===null)break;i(t.slice(p,n.index),x.type),p=n.end,n.part.sub?await f(n.match,typeof n.part.sub=="string"?n.part.sub:typeof n.part.sub=="function"?n.part.sub(n.match):n.part,i):i(n.match,n.part.type)}i(t.slice(p,t.length),x.type)}catch{i(t)}}async function g(t,e,i=!0,s={}){let a="";return await f(t,e,(l,n)=>a+=E(D(l),n)),i?`<div><div class="shj-numbers">${"<div></div>".repeat(!s.hideLineNumbers&&t.split(`
2
- `).length)}</div><div>${a}</div></div>`:a}async function b(t,e=(a=>(a=t.className.match(/shj-lang-([\w-]+)/))==null?void 0:a[1])(),i,s){let l=t.textContent;i!=null||(i=`${t.tagName=="CODE"?"in":l.split(`
3
- `).length<2?"one":"multi"}line`),t.dataset.lang=e,t.className=`${[...t.classList].filter(n=>!n.startsWith("shj-")||n.startsWith("shj-mode-")).join(" ")} shj-lang-${e} shj-${i}`,t.innerHTML=await g(l,e,i=="multiline",s)}var N=async t=>document.querySelectorAll('[class*="shj-lang-"]').forEach(e=>b(e,void 0,void 0,t)),z=(t,e)=>{d[t]=e};0&&(module.exports={highlightAll,highlightElement,highlightText,loadLanguage,tokenize});
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("./common.js");const s={},r=(e="")=>e.replaceAll("&","&#38;").replaceAll?.("<","&lt;").replaceAll?.(">","&gt;"),n=(e,s)=>s?`<span class="shj-syn-${s}">${e}</span>`:e;async function a(r,n,t){try{let u,l,i,g={},o=[],c=0,j="string"==typeof n?await(s[n]??=function(e){switch(e){case"./languages/asm.js":return Promise.resolve().then((function(){return require("./languages/asm.js")}));case"./languages/bash.js":return Promise.resolve().then((function(){return require("./languages/bash.js")}));case"./languages/bf.js":return Promise.resolve().then((function(){return require("./languages/bf.js")}));case"./languages/c.js":return Promise.resolve().then((function(){return require("./languages/c.js")}));case"./languages/css.js":return Promise.resolve().then((function(){return require("./languages/css.js")}));case"./languages/csv.js":return Promise.resolve().then((function(){return require("./languages/csv.js")}));case"./languages/diff.js":return Promise.resolve().then((function(){return require("./languages/diff.js")}));case"./languages/docker.js":return Promise.resolve().then((function(){return require("./languages/docker.js")}));case"./languages/git.js":return Promise.resolve().then((function(){return require("./languages/git.js")}));case"./languages/go.js":return Promise.resolve().then((function(){return require("./languages/go.js")}));case"./languages/html.js":return Promise.resolve().then((function(){return require("./languages/html.js")}));case"./languages/http.js":return Promise.resolve().then((function(){return require("./languages/http.js")}));case"./languages/ini.js":return Promise.resolve().then((function(){return require("./languages/ini.js")}));case"./languages/java.js":return Promise.resolve().then((function(){return require("./languages/java.js")}));case"./languages/js.js":return Promise.resolve().then((function(){return require("./languages/js.js")}));case"./languages/js_template_literals.js":return Promise.resolve().then((function(){return require("./languages/js_template_literals.js")}));case"./languages/jsdoc.js":return Promise.resolve().then((function(){return require("./languages/jsdoc.js")}));case"./languages/json.js":return Promise.resolve().then((function(){return require("./languages/json.js")}));case"./languages/leanpub-md.js":return Promise.resolve().then((function(){return require("./languages/leanpub-md.js")}));case"./languages/log.js":return Promise.resolve().then((function(){return require("./languages/log.js")}));case"./languages/lua.js":return Promise.resolve().then((function(){return require("./languages/lua.js")}));case"./languages/make.js":return Promise.resolve().then((function(){return require("./languages/make.js")}));case"./languages/md.js":return Promise.resolve().then((function(){return require("./languages/md.js")}));case"./languages/pl.js":return Promise.resolve().then((function(){return require("./languages/pl.js")}));case"./languages/plain.js":return Promise.resolve().then((function(){return require("./languages/plain.js")}));case"./languages/py.js":return Promise.resolve().then((function(){return require("./languages/py.js")}));case"./languages/regex.js":return Promise.resolve().then((function(){return require("./languages/regex.js")}));case"./languages/rs.js":return Promise.resolve().then((function(){return require("./languages/rs.js")}));case"./languages/sql.js":return Promise.resolve().then((function(){return require("./languages/sql.js")}));case"./languages/todo.js":return Promise.resolve().then((function(){return require("./languages/todo.js")}));case"./languages/toml.js":return Promise.resolve().then((function(){return require("./languages/toml.js")}));case"./languages/ts.js":return Promise.resolve().then((function(){return require("./languages/ts.js")}));case"./languages/uri.js":return Promise.resolve().then((function(){return require("./languages/uri.js")}));case"./languages/xml.js":return Promise.resolve().then((function(){return require("./languages/xml.js")}));case"./languages/yaml.js":return Promise.resolve().then((function(){return require("./languages/yaml.js")}));default:return new Promise((function(s,r){("function"==typeof queueMicrotask?queueMicrotask:setTimeout)(r.bind(null,new Error("Unknown variable dynamic import: "+e)))}))}}(`./languages/${n}.js`)):n,h=[..."string"==typeof n?j.default:n.sub];for(;c<r.length;){for(g.index=null,u=h.length;u-- >0;){if(l=h[u].expand?e.default[h[u].expand]:h[u],void 0===o[u]||o[u].match.index<c){if(l.match.lastIndex=c,i=l.match.exec(r),null===i){h.splice(u,1),o.splice(u,1);continue}o[u]={match:i,lastIndex:l.match.lastIndex}}o[u].match[0]&&(o[u].match.index<=g.index||null===g.index)&&(g={part:l,index:o[u].match.index,match:o[u].match[0],end:o[u].lastIndex})}if(null===g.index)break;t(r.slice(c,g.index),j.type),c=g.end,g.part.sub?await a(g.match,"string"==typeof g.part.sub?g.part.sub:"function"==typeof g.part.sub?g.part.sub(g.match):g.part,t):t(g.match,g.part.type)}t(r.slice(c,r.length),j.type)}catch{t(r)}}async function t(e,s,t=!0,u={}){let l="";return await a(e,s,((e,s)=>l+=n(r(e),s))),t?`<div><div class="shj-numbers">${"<div></div>".repeat(!u.hideLineNumbers&&e.split("\n").length)}</div><div>${l}</div></div>`:l}async function u(e,s=e.className.match(/shj-lang-([\w-]+)/)?.[1],r,n){let a=e.textContent;r??=("CODE"==e.tagName?"in":a.split("\n").length<2?"one":"multi")+"line",e.dataset.lang=s,e.className=`${[...e.classList].filter((e=>!e.startsWith("shj-")||e.startsWith("shj-mode-"))).join(" ")} shj-lang-${s} shj-${r}`,e.innerHTML=await t(a,s,"multiline"==r,n)}exports.highlightAll=async e=>document.querySelectorAll('[class*="shj-lang-"]').forEach((s=>u(s,void 0,void 0,e))),exports.highlightElement=u,exports.highlightText=t,exports.loadLanguage=(e,r)=>{s[e]=r},exports.tokenize=a;
@@ -1 +1 @@
1
- var p=Object.defineProperty;var d=Object.getOwnPropertyDescriptor;var g=Object.getOwnPropertyNames;var h=Object.prototype.hasOwnProperty;var n=(a,t)=>{for(var m in t)p(a,m,{get:t[m],enumerable:!0})},y=(a,t,m,c)=>{if(t&&typeof t=="object"||typeof t=="function")for(let e of g(t))!h.call(a,e)&&e!==m&&p(a,e,{get:()=>t[e],enumerable:!(c=d(t,e))||c.enumerable});return a};var u=a=>y(p({},"__esModule",{value:!0}),a);var r={};n(r,{default:()=>z});module.exports=u(r);var z=[{type:"cmnt",match:/;.*/gm},{expand:"str"},{expand:"num"},{type:"kwd",match:/^[a-z]+\s+[a-z.]+/gm,sub:[{type:"func",match:/^[a-z]+/g}]},{type:"kwd",match:/^\t*[a-z]+/gm},{match:/%|\$/g,type:"oper"}];0&&(module.exports={});
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});exports.default=[{type:"cmnt",match:/;.*/gm},{expand:"str"},{expand:"num"},{type:"kwd",match:/^[a-z]+\s+[a-z.]+/gm,sub:[{type:"func",match:/^[a-z]+/g}]},{type:"kwd",match:/^\t*[a-z]+/gm},{match:/%|\$/g,type:"oper"}];
@@ -1 +1 @@
1
- var l=Object.defineProperty;var o=Object.getOwnPropertyDescriptor;var c=Object.getOwnPropertyNames;var n=Object.prototype.hasOwnProperty;var r=(t,e)=>{for(var s in e)l(t,s,{get:e[s],enumerable:!0})},d=(t,e,s,p)=>{if(e&&typeof e=="object"||typeof e=="function")for(let a of c(e))!n.call(t,a)&&a!==s&&l(t,a,{get:()=>e[a],enumerable:!(p=o(e,a))||p.enumerable});return t};var u=t=>d(l({},"__esModule",{value:!0}),t);var m={};r(m,{default:()=>h});module.exports=u(m);var i={type:"var",match:/\$\w+|\${[^}]*}|\$\([^)]*\)/g},h=[{sub:"todo",match:/#.*/g},{type:"str",match:/(["'])((?!\1)[^\r\n\\]|\\[^])*\1?/g,sub:[i]},{type:"kwd",match:/-[a-zA-Z]+|$<|[&|;]+|\b(unset|readonly|shift|export|if|fi|else|elif|while|do|done|for|until|case|esac|break|continue|exit|return|trap|wait|eval|exec|then|declare|enable|local|select|typeset|time|add|remove|install|update|delete)\b/g},{expand:"num"},{type:"func",match:/\b(set|alias|bg|bind|builtin|caller|command|compgen|complete|dirs|disown|echo|enable|eval|exec|exit|fc|fg|getopts|hash|help|history|jobs|kill|let|logout|popd|printf|pushd|pwd|read|set|shift|shopt|source|suspend|test|times|trap|type|ulimit|umask|unalias|unset)\b/g},{type:"bool",match:/\b(true|false)\b/g},{type:"func",match:/[a-z_]+(?=\s*\()/g},{type:"oper",match:/[=(){}<>+*/!?~^-]+/g},{type:"var",match:/\w+(?=\s*=)/g},i];0&&(module.exports={});
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});let e={type:"var",match:/\$\w+|\${[^}]*}|\$\([^)]*\)/g};var t=[{sub:"todo",match:/#.*/g},{type:"str",match:/(["'])((?!\1)[^\r\n\\]|\\[^])*\1?/g,sub:[e]},{type:"kwd",match:/-[a-zA-Z]+|$<|[&|;]+|\b(unset|readonly|shift|export|if|fi|else|elif|while|do|done|for|until|case|esac|break|continue|exit|return|trap|wait|eval|exec|then|declare|enable|local|select|typeset|time|add|remove|install|update|delete)\b/g},{expand:"num"},{type:"func",match:/\b(set|alias|bg|bind|builtin|caller|command|compgen|complete|dirs|disown|echo|enable|eval|exec|exit|fc|fg|getopts|hash|help|history|jobs|kill|let|logout|popd|printf|pushd|pwd|read|set|shift|shopt|source|suspend|test|times|trap|type|ulimit|umask|unalias|unset)\b/g},{type:"bool",match:/\b(true|false)\b/g},{type:"func",match:/[a-z_]+(?=\s*\()/g},{type:"oper",match:/[=(){}<>+*/!?~^-]+/g},{type:"var",match:/\w+(?=\s*=)/g},e];exports.default=t;
@@ -1 +1 @@
1
- var p=Object.defineProperty;var h=Object.getOwnPropertyDescriptor;var m=Object.getOwnPropertyNames;var o=Object.prototype.hasOwnProperty;var d=(e,t)=>{for(var c in t)p(e,c,{get:t[c],enumerable:!0})},u=(e,t,c,g)=>{if(t&&typeof t=="object"||typeof t=="function")for(let a of m(t))!o.call(e,a)&&a!==c&&p(e,a,{get:()=>t[a],enumerable:!(g=h(t,a))||g.enumerable});return e};var y=e=>u(p({},"__esModule",{value:!0}),e);var r={};d(r,{default:()=>f});module.exports=y(r);var f=[{match:/[^\[\->+.<\]\s].*/g,sub:"todo"},{type:"func",match:/\.+/g},{type:"kwd",match:/[<>]+/g},{type:"oper",match:/[+-]+/g}];0&&(module.exports={});
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});exports.default=[{match:/[^\[\->+.<\]\s].*/g,sub:"todo"},{type:"func",match:/\.+/g},{type:"kwd",match:/[<>]+/g},{type:"oper",match:/[+-]+/g}];
@@ -1 +1 @@
1
- var c=Object.defineProperty;var o=Object.getOwnPropertyDescriptor;var u=Object.getOwnPropertyNames;var m=Object.prototype.hasOwnProperty;var d=(e,t)=>{for(var s in t)c(e,s,{get:t[s],enumerable:!0})},g=(e,t,s,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let a of u(t))!m.call(e,a)&&a!==s&&c(e,a,{get:()=>t[a],enumerable:!(n=o(t,a))||n.enumerable});return e};var h=e=>g(c({},"__esModule",{value:!0}),e);var r={};d(r,{default:()=>i});module.exports=h(r);var i=[{match:/\/\/.*\n?|\/\*((?!\*\/)[^])*(\*\/)?/g,sub:"todo"},{expand:"str"},{expand:"num"},{type:"kwd",match:/#\s*include (<.*>|".*")/g,sub:[{type:"str",match:/(<|").*/g}]},{match:/asm\s*{[^}]*}/g,sub:[{type:"kwd",match:/^asm/g},{match:/[^{}]*(?=}$)/g,sub:"asm"}]},{type:"kwd",match:/\*|&|#[a-z]+\b|\b(asm|auto|double|int|struct|break|else|long|switch|case|enum|register|typedef|char|extern|return|union|const|float|short|unsigned|continue|for|signed|void|default|goto|sizeof|volatile|do|if|static|while)\b/g},{type:"oper",match:/[/*+:?&|%^~=!,<>.^-]+/g},{type:"func",match:/[a-zA-Z_][\w_]*(?=\s*\()/g},{type:"class",match:/\b[A-Z][\w_]*\b/g}];0&&(module.exports={});
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});exports.default=[{match:/\/\/.*\n?|\/\*((?!\*\/)[^])*(\*\/)?/g,sub:"todo"},{expand:"str"},{expand:"num"},{type:"kwd",match:/#\s*include (<.*>|".*")/g,sub:[{type:"str",match:/(<|").*/g}]},{match:/asm\s*{[^}]*}/g,sub:[{type:"kwd",match:/^asm/g},{match:/[^{}]*(?=}$)/g,sub:"asm"}]},{type:"kwd",match:/\*|&|#[a-z]+\b|\b(asm|auto|double|int|struct|break|else|long|switch|case|enum|register|typedef|char|extern|return|union|const|float|short|unsigned|continue|for|signed|void|default|goto|sizeof|volatile|do|if|static|while)\b/g},{type:"oper",match:/[/*+:?&|%^~=!,<>.^-]+/g},{type:"func",match:/[a-zA-Z_][\w_]*(?=\s*\()/g},{type:"class",match:/\b[A-Z][\w_]*\b/g}];
@@ -1 +1 @@
1
- var e=Object.defineProperty;var h=Object.getOwnPropertyDescriptor;var g=Object.getOwnPropertyNames;var n=Object.prototype.hasOwnProperty;var u=(a,t)=>{for(var c in t)e(a,c,{get:t[c],enumerable:!0})},b=(a,t,c,p)=>{if(t&&typeof t=="object"||typeof t=="function")for(let m of g(t))!n.call(a,m)&&m!==c&&e(a,m,{get:()=>t[m],enumerable:!(p=h(t,m))||p.enumerable});return a};var y=a=>b(e({},"__esModule",{value:!0}),a);var d={};u(d,{default:()=>r});module.exports=y(d);var r=[{match:/\/\*((?!\*\/)[^])*(\*\/)?/g,sub:"todo"},{expand:"str"},{type:"kwd",match:/@\w+\b|\b(and|not|only|or)\b|\b[a-z-]+(?=[^{}]*{)/g},{type:"var",match:/\b[\w-]+(?=\s*:)|(::?|\.)[\w-]+(?=[^{}]*{)/g},{type:"func",match:/#[\w-]+(?=[^{}]*{)/g},{type:"num",match:/#[\da-f]{3,8}/g},{type:"num",match:/\d+(\.\d+)?(cm|mm|in|px|pt|pc|em|ex|ch|rem|vm|vh|vmin|vmax|%)?/g,sub:[{type:"var",match:/[a-z]+|%/g}]},{match:/url\([^)]*\)/g,sub:[{type:"func",match:/url(?=\()/g},{type:"str",match:/[^()]+/g}]},{type:"func",match:/\b[a-zA-Z]\w*(?=\s*\()/g},{type:"num",match:/\b[a-z-]+\b/g}];0&&(module.exports={});
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});exports.default=[{match:/\/\*((?!\*\/)[^])*(\*\/)?/g,sub:"todo"},{expand:"str"},{type:"kwd",match:/@\w+\b|\b(and|not|only|or)\b|\b[a-z-]+(?=[^{}]*{)/g},{type:"var",match:/\b[\w-]+(?=\s*:)|(::?|\.)[\w-]+(?=[^{}]*{)/g},{type:"func",match:/#[\w-]+(?=[^{}]*{)/g},{type:"num",match:/#[\da-f]{3,8}/g},{type:"num",match:/\d+(\.\d+)?(cm|mm|in|px|pt|pc|em|ex|ch|rem|vm|vh|vmin|vmax|%)?/g,sub:[{type:"var",match:/[a-z]+|%/g}]},{match:/url\([^)]*\)/g,sub:[{type:"func",match:/url(?=\()/g},{type:"str",match:/[^()]+/g}]},{type:"func",match:/\b[a-zA-Z]\w*(?=\s*\()/g},{type:"num",match:/\b[a-z-]+\b/g}];
@@ -1 +1 @@
1
- var o=Object.defineProperty;var d=Object.getOwnPropertyDescriptor;var l=Object.getOwnPropertyNames;var u=Object.prototype.hasOwnProperty;var x=(t,e)=>{for(var a in e)o(t,a,{get:e[a],enumerable:!0})},b=(t,e,a,r)=>{if(e&&typeof e=="object"||typeof e=="function")for(let p of l(e))!u.call(t,p)&&p!==a&&o(t,p,{get:()=>e[p],enumerable:!(r=d(e,p))||r.enumerable});return t};var c=t=>b(o({},"__esModule",{value:!0}),t);var g={};x(g,{default:()=>f});module.exports=c(g);var f=[{expand:"strDouble"},{type:"oper",match:/,/g}];0&&(module.exports={});
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});exports.default=[{expand:"strDouble"},{type:"oper",match:/,/g}];
@@ -1 +1 @@
1
- var c=Object.defineProperty;var p=Object.getOwnPropertyDescriptor;var g=Object.getOwnPropertyNames;var h=Object.prototype.hasOwnProperty;var y=(e,t)=>{for(var a in t)c(e,a,{get:t[a],enumerable:!0})},i=(e,t,a,d)=>{if(t&&typeof t=="object"||typeof t=="function")for(let m of g(t))!h.call(e,m)&&m!==a&&c(e,m,{get:()=>t[m],enumerable:!(d=p(t,m))||d.enumerable});return e};var l=e=>i(c({},"__esModule",{value:!0}),e);var o={};y(o,{default:()=>n});module.exports=l(o);var n=[{type:"deleted",match:/^[-<].*/gm},{type:"insert",match:/^[+>].*/gm},{type:"kwd",match:/!.*/gm},{type:"section",match:/^@@.*@@$|^\d.*|^([*-+])\1\1.*/gm}];0&&(module.exports={});
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});exports.default=[{type:"deleted",match:/^[-<].*/gm},{type:"insert",match:/^[+>].*/gm},{type:"kwd",match:/!.*/gm},{type:"section",match:/^@@.*@@$|^\d.*|^([*-+])\1\1.*/gm}];
@@ -1 +1 @@
1
- var l=Object.defineProperty;var c=Object.getOwnPropertyDescriptor;var r=Object.getOwnPropertyNames;var n=Object.prototype.hasOwnProperty;var d=(t,e)=>{for(var s in e)l(t,s,{get:e[s],enumerable:!0})},m=(t,e,s,p)=>{if(e&&typeof e=="object"||typeof e=="function")for(let a of r(e))!n.call(t,a)&&a!==s&&l(t,a,{get:()=>e[a],enumerable:!(p=c(e,a))||p.enumerable});return t};var h=t=>m(l({},"__esModule",{value:!0}),t);var b={};d(b,{default:()=>u});module.exports=h(b);var o={type:"var",match:/\$\w+|\${[^}]*}|\$\([^)]*\)/g},i=[{sub:"todo",match:/#.*/g},{type:"str",match:/(["'])((?!\1)[^\r\n\\]|\\[^])*\1?/g,sub:[o]},{type:"kwd",match:/-[a-zA-Z]+|$<|[&|;]+|\b(unset|readonly|shift|export|if|fi|else|elif|while|do|done|for|until|case|esac|break|continue|exit|return|trap|wait|eval|exec|then|declare|enable|local|select|typeset|time|add|remove|install|update|delete)\b/g},{expand:"num"},{type:"func",match:/\b(set|alias|bg|bind|builtin|caller|command|compgen|complete|dirs|disown|echo|enable|eval|exec|exit|fc|fg|getopts|hash|help|history|jobs|kill|let|logout|popd|printf|pushd|pwd|read|set|shift|shopt|source|suspend|test|times|trap|type|ulimit|umask|unalias|unset)\b/g},{type:"bool",match:/\b(true|false)\b/g},{type:"func",match:/[a-z_]+(?=\s*\()/g},{type:"oper",match:/[=(){}<>+*/!?~^-]+/g},{type:"var",match:/\w+(?=\s*=)/g},o];var u=[{type:"kwd",match:/^(FROM|RUN|CMD|LABEL|MAINTAINER|EXPOSE|ENV|ADD|COPY|ENTRYPOINT|VOLUME|USER|WORKDIR|ARG|ONBUILD|STOPSIGNAL|HEALTHCHECK|SHELL)\b/gmi},...i];0&&(module.exports={});
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=[{type:"kwd",match:/^(FROM|RUN|CMD|LABEL|MAINTAINER|EXPOSE|ENV|ADD|COPY|ENTRYPOINT|VOLUME|USER|WORKDIR|ARG|ONBUILD|STOPSIGNAL|HEALTHCHECK|SHELL)\b/gim},...require("./bash.js").default];exports.default=e;
@@ -1 +1 @@
1
- var c=Object.defineProperty;var g=Object.getOwnPropertyDescriptor;var o=Object.getOwnPropertyNames;var h=Object.prototype.hasOwnProperty;var f=(m,t)=>{for(var a in t)c(m,a,{get:t[a],enumerable:!0})},i=(m,t,a,d)=>{if(t&&typeof t=="object"||typeof t=="function")for(let e of o(t))!h.call(m,e)&&e!==a&&c(m,e,{get:()=>t[e],enumerable:!(d=g(t,e))||d.enumerable});return m};var r=m=>i(c({},"__esModule",{value:!0}),m);var s={};f(s,{default:()=>y});module.exports=r(s);var p=[{type:"deleted",match:/^[-<].*/gm},{type:"insert",match:/^[+>].*/gm},{type:"kwd",match:/!.*/gm},{type:"section",match:/^@@.*@@$|^\d.*|^([*-+])\1\1.*/gm}];var y=[{match:/^#.*/gm,sub:"todo"},{expand:"str"},...p,{type:"func",match:/^(\$ )?git(\s.*)?$/gm},{type:"kwd",match:/^commit \w+$/gm}];0&&(module.exports={});
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=[{match:/^#.*/gm,sub:"todo"},{expand:"str"},...require("./diff.js").default,{type:"func",match:/^(\$ )?git(\s.*)?$/gm},{type:"kwd",match:/^commit \w+$/gm}];exports.default=e;
@@ -1 +1 @@
1
- var r=Object.defineProperty;var o=Object.getOwnPropertyDescriptor;var p=Object.getOwnPropertyNames;var s=Object.prototype.hasOwnProperty;var g=(e,t)=>{for(var c in t)r(e,c,{get:t[c],enumerable:!0})},u=(e,t,c,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let a of p(t))!s.call(e,a)&&a!==c&&r(e,a,{get:()=>t[a],enumerable:!(n=o(t,a))||n.enumerable});return e};var f=e=>u(r({},"__esModule",{value:!0}),e);var m={};g(m,{default:()=>h});module.exports=f(m);var h=[{match:/\/\/.*\n?|\/\*((?!\*\/)[^])*(\*\/)?/g,sub:"todo"},{expand:"str"},{expand:"num"},{type:"kwd",match:/\*|&|\b(break|case|chan|const|continue|default|defer|else|fallthrough|for|func|go|goto|if|import|interface|map|package|range|return|select|struct|switch|type|var)\b/g},{type:"func",match:/[a-zA-Z_][\w_]*(?=\s*\()/g},{type:"class",match:/\b[A-Z][\w_]*\b/g},{type:"oper",match:/[+\-*\/%&|^~=!<>.^-]+/g}];0&&(module.exports={});
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});exports.default=[{match:/\/\/.*\n?|\/\*((?!\*\/)[^])*(\*\/)?/g,sub:"todo"},{expand:"str"},{expand:"num"},{type:"kwd",match:/\*|&|\b(break|case|chan|const|continue|default|defer|else|fallthrough|for|func|go|goto|if|import|interface|map|package|range|return|select|struct|switch|type|var)\b/g},{type:"func",match:/[a-zA-Z_][\w_]*(?=\s*\()/g},{type:"class",match:/\b[A-Z][\w_]*\b/g},{type:"oper",match:/[+\-*\/%&|^~=!<>.^-]+/g}];
@@ -1 +1 @@
1
- var m=Object.defineProperty;var r=Object.getOwnPropertyDescriptor;var y=Object.getOwnPropertyNames;var l=Object.prototype.hasOwnProperty;var x=(e,t)=>{for(var c in t)m(e,c,{get:t[c],enumerable:!0})},u=(e,t,c,g)=>{if(t&&typeof t=="object"||typeof t=="function")for(let a of y(t))!l.call(e,a)&&a!==c&&m(e,a,{get:()=>t[a],enumerable:!(g=r(t,a))||g.enumerable});return e};var b=e=>u(m({},"__esModule",{value:!0}),e);var i={};x(i,{default:()=>o});module.exports=b(i);var p=`\\s*(\\s+[a-z-]+\\s*(=\\s*([^"']\\S*|("|')(\\\\[^]|(?!\\4)[^])*\\4?)?)?\\s*)*`,s={match:RegExp(`</?[a-z_-]+${p}/?>`,"g"),sub:[{type:"var",match:/^<\/?[^\s>\/]+/g,sub:[{type:"oper",match:/^<\/?/g}]},{type:"str",match:/=\s*([^"']\S*|("|')(\\[^]|(?!\2)[^])*\2?)/g,sub:[{type:"oper",match:/^=/g}]},{type:"oper",match:/\/?>/g},{type:"class",match:/[a-z-]+/gi}]},h=[{match:/<!--((?!-->)[^])*-->/g,sub:"todo"},{type:"class",match:RegExp(`<\\?xml${p}\\?>`,"gi"),sub:[{type:"oper",match:/^<\?|\?>$/g},{type:"str",match:/"[^"]*"|'[^']*'/g},{type:"var",match:/xml/gi}]},{type:"class",match:/<!\[CDATA\[[\s\S]*?\]\]>/gi},s,{type:"var",match:/&(#x?)?[\da-z]{1,8};/gi}];var o=[{type:"class",match:/<!DOCTYPE("[^"]*"|'[^']*'|[^"'>])*>/gi,sub:[{type:"str",match:/"[^"]*"|'[^']*'/g},{type:"oper",match:/^<!|>$/g},{type:"var",match:/DOCTYPE/gi}]},{match:RegExp(`<style${p}>((?!</style>)[^])*</style\\s*>`,"g"),sub:[{match:RegExp(`^<style${p}>`,"g"),sub:s.sub},{match:RegExp(`${s.match}|[^]*(?=</style\\s*>$)`,"g"),sub:"css"},s]},{match:RegExp(`<script${p}>((?!<\/script>)[^])*<\/script\\s*>`,"g"),sub:[{match:RegExp(`^<script${p}>`,"g"),sub:s.sub},{match:RegExp(`${s.match}|[^]*(?=<\/script\\s*>$)`,"g"),sub:"js"},s]},...h];0&&(module.exports={});
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("./xml.js"),t=[{type:"class",match:/<!DOCTYPE("[^"]*"|'[^']*'|[^"'>])*>/gi,sub:[{type:"str",match:/"[^"]*"|'[^']*'/g},{type:"oper",match:/^<!|>$/g},{type:"var",match:/DOCTYPE/gi}]},{match:RegExp(`<style${e.property}>((?!</style>)[^])*</style\\s*>`,"g"),sub:[{match:RegExp(`^<style${e.property}>`,"g"),sub:e.xmlElement.sub},{match:RegExp(`${e.xmlElement.match}|[^]*(?=</style\\s*>$)`,"g"),sub:"css"},e.xmlElement]},{match:RegExp(`<script${e.property}>((?!<\/script>)[^])*</script\\s*>`,"g"),sub:[{match:RegExp(`^<script${e.property}>`,"g"),sub:e.xmlElement.sub},{match:RegExp(`${e.xmlElement.match}|[^]*(?=</script\\s*>$)`,"g"),sub:"js"},e.xmlElement]},...e.default];exports.default=t;
@@ -1 +1 @@
1
- var g=Object.defineProperty;var o=Object.getOwnPropertyDescriptor;var c=Object.getOwnPropertyNames;var l=Object.prototype.hasOwnProperty;var p=(e,t)=>{for(var a in t)g(e,a,{get:t[a],enumerable:!0})},b=(e,t,a,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let m of c(t))!l.call(e,m)&&m!==a&&g(e,m,{get:()=>t[m],enumerable:!(n=o(t,m))||n.enumerable});return e};var f=e=>b(g({},"__esModule",{value:!0}),e);var h={};p(h,{default:()=>T});module.exports=f(h);var u=[["bash",[/#!(\/usr)?\/bin\/bash/g,500],[/\b(if|elif|then|fi|echo)\b|\$/g,10]],["html",[/<\/?[a-z-]+[^\n>]*>/g,10],[/^\s+<!DOCTYPE\s+html/g,500]],["http",[/^(GET|HEAD|POST|PUT|DELETE|PATCH|HTTP)\b/g,500]],["js",[/\b(console|await|async|function|export|import|this|class|for|let|const|map|join|require)\b/g,10]],["ts",[/\b(console|await|async|function|export|import|this|class|for|let|const|map|join|require|implements|interface|namespace)\b/g,10]],["py",[/\b(def|print|class|and|or|lambda)\b/g,10]],["sql",[/\b(SELECT|INSERT|FROM)\b/g,50]],["pl",[/#!(\/usr)?\/bin\/perl/g,500],[/\b(use|print)\b|\$/g,10]],["lua",[/#!(\/usr)?\/bin\/lua/g,500]],["make",[/\b(ifneq|endif|if|elif|then|fi|echo|.PHONY|^[a-z]+ ?:$)\b|\$/gm,10]],["uri",[/https?:|mailto:|tel:|ftp:/g,30]],["css",[/^(@import|@page|@media|(\.|#)[a-z]+)/gm,20]],["diff",[/^[+><-]/gm,10],[/^@@ ?[-+,0-9 ]+ ?@@/gm,25]],["md",[/^(>|\t\*|\t\d+.)/gm,10],[/\[.*\](.*)/g,10]],["docker",[/^(FROM|ENTRYPOINT|RUN)/gm,500]],["xml",[/<\/?[a-z-]+[^\n>]*>/g,10],[/^<\?xml/g,500]],["c",[/#include\b|\bprintf\s+\(/g,100]],["rs",[/^\s+(use|fn|mut|match)\b/gm,100]],["go",[/\b(func|fmt|package)\b/g,100]],["java",[/^import\s+java/gm,500]],["asm",[/^(section|global main|extern|\t(call|mov|ret))/gm,100]]],s=e=>{var t;return((t=u.map(([a,...n])=>[a,n.reduce((m,[i,r])=>m+[...e.matchAll(i)].length*r,0)]).filter(([a,n])=>n>20).sort((a,n)=>n[1]-a[1])[0])==null?void 0:t[0])||"plain"};var T=[{type:"kwd",match:/^(GET|HEAD|POST|PUT|DELETE|CONNECT|OPTIONS|TRACE|PATCH|PRI|SEARCH)\b/gm},{expand:"str"},{type:"section",match:/\bHTTP\/[\d.]+\b/g},{expand:"num"},{type:"oper",match:/[,;:=]/g},{type:"var",match:/[a-zA-Z][\w-]*(?=:)/g},{match:/\n\n[^]*/g,sub:s}];0&&(module.exports={});
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=[{type:"kwd",match:/^(GET|HEAD|POST|PUT|DELETE|CONNECT|OPTIONS|TRACE|PATCH|PRI|SEARCH)\b/gm},{expand:"str"},{type:"section",match:/\bHTTP\/[\d.]+\b/g},{expand:"num"},{type:"oper",match:/[,;:=]/g},{type:"var",match:/[a-zA-Z][\w-]*(?=:)/g},{match:/\n\n[^]*/g,sub:require("../detect.js").detectLanguage}];exports.default=e;
@@ -1 +1 @@
1
- var c=Object.defineProperty;var g=Object.getOwnPropertyDescriptor;var h=Object.getOwnPropertyNames;var o=Object.prototype.hasOwnProperty;var s=(e,t)=>{for(var m in t)c(e,m,{get:t[m],enumerable:!0})},r=(e,t,m,p)=>{if(t&&typeof t=="object"||typeof t=="function")for(let a of h(t))!o.call(e,a)&&a!==m&&c(e,a,{get:()=>t[a],enumerable:!(p=g(t,a))||p.enumerable});return e};var y=e=>r(c({},"__esModule",{value:!0}),e);var f={};s(f,{default:()=>d});module.exports=y(f);var d=[{match:/(^[ \f\t\v]*)[#;].*/gm,sub:"todo"},{type:"str",match:/.*/g},{type:"var",match:/.*(?==)/g},{type:"section",match:/^\s*\[.+\]\s*$/gm},{type:"oper",match:/=/g}];0&&(module.exports={});
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});exports.default=[{match:/(^[ \f\t\v]*)[#;].*/gm,sub:"todo"},{type:"str",match:/.*/g},{type:"var",match:/.*(?==)/g},{type:"section",match:/^\s*\[.+\]\s*$/gm},{type:"oper",match:/=/g}];