@speed-highlight/core 1.1.6 → 1.1.8

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 (133) hide show
  1. package/README.md +65 -14
  2. package/doc/common.js.html +87 -0
  3. package/doc/css/jsdoc-template.css +1 -0
  4. package/doc/css/tomorrow.min.css +2 -0
  5. package/doc/detect%0ALanguage%20detectormodule_.html +309 -0
  6. package/doc/detect.js.html +113 -0
  7. package/doc/global.html +1826 -0
  8. package/doc/index%0ABase%20scriptmodule_.html +1179 -0
  9. package/doc/index.html +402 -0
  10. package/doc/index.js.html +209 -0
  11. package/doc/js/jsdoc-template.js +2 -0
  12. package/doc/js/jsdoc-template.js.map +1 -0
  13. package/doc/js/prettify.min.js +47 -0
  14. package/doc/term%0ATerminal%20adaptormodule_.html +596 -0
  15. package/doc/term.js.html +108 -0
  16. package/examples/{helper/data.js → data.js} +28 -16
  17. package/examples/deno.js +53 -7
  18. package/examples/index.html +103 -37
  19. package/examples/languages/test.c +1 -1
  20. package/examples/languages/test.go +4 -4
  21. package/examples/languages/test.html +1 -1
  22. package/examples/languages/test.java +3 -3
  23. package/examples/node.js +1 -1
  24. package/examples/worker.html +1 -0
  25. package/jsdoc.json +16 -0
  26. package/package.json +42 -38
  27. package/src/color.js +11 -0
  28. package/src/detect.js +21 -5
  29. package/src/index.js +55 -40
  30. package/src/languages/c.js +1 -1
  31. package/src/languages/go.js +1 -1
  32. package/src/languages/java.js +1 -1
  33. package/src/languages/js.js +1 -1
  34. package/src/languages/py.js +1 -1
  35. package/src/languages/rs.js +1 -1
  36. package/src/terminal.js +42 -0
  37. package/src/themes/atom-dark.css +1 -1
  38. package/src/themes/atom-dark.js +18 -0
  39. package/src/themes/default.css +4 -9
  40. package/src/themes/default.js +16 -24
  41. package/typedef.js +34 -0
  42. package/assets/screenshot.png +0 -0
  43. package/dist/common.js +0 -1
  44. package/dist/detect.js +0 -1
  45. package/dist/index.js +0 -3
  46. package/dist/languages/asm.js +0 -1
  47. package/dist/languages/bash.js +0 -1
  48. package/dist/languages/bf.js +0 -1
  49. package/dist/languages/c.js +0 -1
  50. package/dist/languages/css.js +0 -1
  51. package/dist/languages/csv.js +0 -1
  52. package/dist/languages/diff.js +0 -1
  53. package/dist/languages/docker.js +0 -1
  54. package/dist/languages/git.js +0 -1
  55. package/dist/languages/go.js +0 -1
  56. package/dist/languages/html.js +0 -1
  57. package/dist/languages/http.js +0 -1
  58. package/dist/languages/ini.js +0 -1
  59. package/dist/languages/java.js +0 -1
  60. package/dist/languages/js.js +0 -1
  61. package/dist/languages/js_template_literals.js +0 -1
  62. package/dist/languages/jsdoc.js +0 -1
  63. package/dist/languages/json.js +0 -1
  64. package/dist/languages/leanpub-md.js +0 -2
  65. package/dist/languages/log.js +0 -1
  66. package/dist/languages/lua.js +0 -1
  67. package/dist/languages/make.js +0 -1
  68. package/dist/languages/md.js +0 -2
  69. package/dist/languages/pl.js +0 -1
  70. package/dist/languages/plain.js +0 -1
  71. package/dist/languages/py.js +0 -1
  72. package/dist/languages/regex.js +0 -1
  73. package/dist/languages/rs.js +0 -1
  74. package/dist/languages/sql.js +0 -1
  75. package/dist/languages/todo.js +0 -1
  76. package/dist/languages/toml.js +0 -1
  77. package/dist/languages/ts.js +0 -1
  78. package/dist/languages/uri.js +0 -1
  79. package/dist/languages/xml.js +0 -1
  80. package/dist/languages/yaml.js +0 -1
  81. package/dist/node/common.js +0 -1
  82. package/dist/node/detect.js +0 -1
  83. package/dist/node/index.js +0 -3
  84. package/dist/node/languages/asm.js +0 -1
  85. package/dist/node/languages/bash.js +0 -1
  86. package/dist/node/languages/bf.js +0 -1
  87. package/dist/node/languages/c.js +0 -1
  88. package/dist/node/languages/css.js +0 -1
  89. package/dist/node/languages/csv.js +0 -1
  90. package/dist/node/languages/diff.js +0 -1
  91. package/dist/node/languages/docker.js +0 -1
  92. package/dist/node/languages/git.js +0 -1
  93. package/dist/node/languages/go.js +0 -1
  94. package/dist/node/languages/html.js +0 -1
  95. package/dist/node/languages/http.js +0 -1
  96. package/dist/node/languages/ini.js +0 -1
  97. package/dist/node/languages/java.js +0 -1
  98. package/dist/node/languages/js.js +0 -1
  99. package/dist/node/languages/js_template_literals.js +0 -1
  100. package/dist/node/languages/jsdoc.js +0 -1
  101. package/dist/node/languages/json.js +0 -1
  102. package/dist/node/languages/leanpub-md.js +0 -2
  103. package/dist/node/languages/log.js +0 -1
  104. package/dist/node/languages/lua.js +0 -1
  105. package/dist/node/languages/make.js +0 -1
  106. package/dist/node/languages/md.js +0 -2
  107. package/dist/node/languages/pl.js +0 -1
  108. package/dist/node/languages/plain.js +0 -1
  109. package/dist/node/languages/py.js +0 -1
  110. package/dist/node/languages/regex.js +0 -1
  111. package/dist/node/languages/rs.js +0 -1
  112. package/dist/node/languages/sql.js +0 -1
  113. package/dist/node/languages/todo.js +0 -1
  114. package/dist/node/languages/toml.js +0 -1
  115. package/dist/node/languages/ts.js +0 -1
  116. package/dist/node/languages/uri.js +0 -1
  117. package/dist/node/languages/xml.js +0 -1
  118. package/dist/node/languages/yaml.js +0 -1
  119. package/dist/node/term.js +0 -1
  120. package/dist/node/themes/default.js +0 -1
  121. package/dist/term.js +0 -1
  122. package/dist/themes/atom-dark.css +0 -1
  123. package/dist/themes/dark.css +0 -1
  124. package/dist/themes/default.css +0 -1
  125. package/dist/themes/default.js +0 -1
  126. package/dist/themes/github-dark.css +0 -1
  127. package/dist/themes/github-dim.css +0 -1
  128. package/dist/themes/github-light.css +0 -1
  129. package/dist/themes/visual-studio-dark.css +0 -1
  130. package/examples/dist.html +0 -27
  131. package/examples/helper/elm.js +0 -58
  132. package/examples/style.css +0 -28
  133. package/src/term.js +0 -19
package/src/index.js CHANGED
@@ -1,28 +1,34 @@
1
1
  /**
2
- * Base script
2
+ * @module index
3
+ * (Base script)
3
4
  */
4
5
 
6
+ import '../typedef.js'
7
+
5
8
  import expandData from './common.js';
6
9
 
7
10
  const langs = {},
8
11
  sanitize = (str = '') =>
9
12
  str.replaceAll('&', '&#38;').replaceAll?.('<', '&lt;').replaceAll?.('>', '&gt;'),
10
13
  /**
11
- * A function that turn text in HTML to apply a class to it
12
- * @param {String} str need to be sanitize to be safe
13
- * @param {String} [token] token type
14
- * @returns A string with HTML semantics
14
+ * @function
15
+ * @ignore
16
+ * Create a HTML element with the right token styling
17
+ * @param {String} str The content (need to be sanitized)
18
+ * @param {ShjToken} [token] The type of token
19
+ * @returns A HMTL string
15
20
  */
16
21
  toSpan = (str, token) => token ? `<span class="shj-syn-${token}">${str}</span>` : str;
17
22
 
18
23
  /**
19
- * A
20
- * @param {String} src
21
- * @param {String|Object} lang
22
- * @param {Function} token the callback that will be call for every token found.
23
- * the arguments pass will be:
24
- * * the token as a string (can be an empty string)
25
- * * the token type also as a string like 'err', 'cmnt', ...
24
+ * @function tokenize
25
+ * Find the tokens in the given code and call the callback
26
+ * @param {String} src The code
27
+ * @param {ShjLanguage|Array} lang The language of the code
28
+ * @param {function(String, ShjToken=):void} token The callback function
29
+ * this function will be given
30
+ * * the text of the token
31
+ * * the type of the token
26
32
  */
27
33
  export async function tokenize(src, lang, token) {
28
34
  try {
@@ -79,51 +85,60 @@ export async function tokenize(src, lang, token) {
79
85
  }
80
86
 
81
87
  /**
88
+ * @function highlightText
82
89
  * @async
83
- * @function highlightText A function that highlight a string text and return it
90
+ * Highlight a string passed as argument and return it
84
91
  * @example
85
92
  * elm.innerHTML = await highlightText(code, 'js');
86
- * @param {String} src the text content to be highlighted
87
- * @param {String} lang the lang name ex: 'js'
88
- * @param {Boolean} [multiline=true] inline mode
89
- * @returns {String} the highlighted as String text
93
+ * @param {String} src The code
94
+ * @param {ShjLanguage} lang The language of the code
95
+ * @param {Boolean} [multiline=true] If it is multiline, it will add a wrapper for the line numbering and header
96
+ * @param {ShjOptions} [opt={}] Customization options
97
+ * @returns {Promise<String>} The highlighted string
90
98
  */
91
- export async function highlightText(src, lang, multiline = true) {
92
- let res = multiline ? `<div><div class="shj-numbers">${'<div></div>'.repeat(src.split('\n').length)}</div><div>` : '';
93
-
94
- await tokenize(src, lang, (str, type) => res += toSpan(sanitize(str), type))
99
+ export async function highlightText(src, lang, multiline = true, opt = {}) {
100
+ let tmp = ''
101
+ await tokenize(src, lang, (str, type) => tmp += toSpan(sanitize(str), type))
95
102
 
96
- if (multiline)
97
- res += '</div></div>';
98
- return res;
103
+ return multiline
104
+ ? `<div><div class="shj-numbers">${'<div></div>'.repeat(!opt.hideLineNumbers && src.split('\n').length)}</div><div>${tmp}</div></div>`
105
+ : tmp;
99
106
  }
100
107
 
101
108
  /**
109
+ * @function highlightElement
102
110
  * @async
103
- * @function highlightElement highlight a element code with a 'pre' parent
104
- * @param {HTMLElement} elm the code elm
105
- * @param {String} [lang] the lang used for syntax highlighting by default is found in the className of the parent or the elm it self
106
- * @param {String} [mode] can be set to inline multiline or oneline by default it's auto detected: inline if `code` tag else depends of the number of lines
111
+ * Highlight a DOM element by getting the new innerHTML with highlightText
112
+ * @param {Element} elm The DOM element
113
+ * @param {ShjLanguage} [lang] The language of the code (seaching by default on `elm` for a 'shj-lang-' class)
114
+ * @param {ShjDisplayMode} [mode] The display mode (guessed by default)
115
+ * @param {ShjOptions} [opt={}] Customization options
107
116
  */
108
- export async function highlightElement(elm, lang = elm.className.match(/shj-lang-([\w-]+)/)?.[1], mode) {
117
+ export async function highlightElement(elm, lang = elm.className.match(/shj-lang-([\w-]+)/)?.[1], mode, opt) {
109
118
  let txt = elm.textContent;
110
119
  mode ??= `${elm.tagName == 'CODE' ? 'in' : (txt.split('\n').length < 2 ? 'one' : 'multi')}line`;
111
120
  elm.dataset.lang = lang;
112
121
  elm.className = `${[...elm.classList].filter(className => !className.startsWith('shj-') || className.startsWith('shj-mode-')).join(' ')} shj-lang-${lang} shj-${mode}`;
113
- elm.innerHTML = await highlightText(txt, lang, mode == 'multiline');
122
+ elm.innerHTML = await highlightText(txt, lang, mode == 'multiline', opt);
114
123
  }
115
124
 
116
125
  /**
117
- * for all element that have a class name starting with "shj-lang-"
118
- * this function will call highlightElement with the html element as argument
119
- * The function will select those scheme for example:
120
- * ```html
121
- * <div class='shj-lang-[code-language]'>[code]</div>
122
- * or
123
- * <code class='shj-lang-[code-language]'>[inline code]</code>
124
- * ```
126
+ * @function highlightAll
127
+ * @async
128
+ * Call highlightElement on element with a css class starting with `shj-lang-`
129
+ * @param {ShjOptions} [opt={}] Customization options
125
130
  */
126
- export let highlightAll = async () =>
131
+ export let highlightAll = async (opt) =>
127
132
  document
128
133
  .querySelectorAll('[class*="shj-lang-"]')
129
- .forEach(elm => highlightElement(elm));
134
+ .forEach(elm => highlightElement(elm, undefined, undefined, opt))
135
+
136
+ /**
137
+ * @function loadLanguage
138
+ * Load a language and add it to the langs object
139
+ * @param {String} languageName The name of the language
140
+ * @param {ShjLanguage} language The language
141
+ */
142
+ export let loadLanguage = (languageName, language) => {
143
+ langs[languageName] = language;
144
+ }
@@ -47,6 +47,6 @@ export default [
47
47
  },
48
48
  {
49
49
  type: 'class',
50
- match: /[A-Z][\w_]*/g
50
+ match: /\b[A-Z][\w_]*\b/g
51
51
  }
52
52
  ]
@@ -19,7 +19,7 @@ export default [
19
19
  },
20
20
  {
21
21
  type: 'class',
22
- match: /[A-Z][\w_]*/g
22
+ match: /\b[A-Z][\w_]*\b/g
23
23
  },
24
24
  {
25
25
  type: 'oper',
@@ -23,6 +23,6 @@ export default [
23
23
  },
24
24
  {
25
25
  type: 'class',
26
- match: /[A-Z][\w_]*/g
26
+ match: /\b[A-Z][\w_]*\b/g
27
27
  }
28
28
  ]
@@ -39,7 +39,7 @@ export default [
39
39
  },
40
40
  {
41
41
  type: 'class',
42
- match: /\b[A-Z]\w*\b/g
42
+ match: /\b[A-Z][\w_]*\b/g
43
43
  },
44
44
  {
45
45
  type: 'func',
@@ -47,6 +47,6 @@ export default [
47
47
  },
48
48
  {
49
49
  type: 'class',
50
- match: /\b[A-Z]\w*\b/g
50
+ match: /\b[A-Z][\w_]*\b/g
51
51
  }
52
52
  ]
@@ -19,7 +19,7 @@ export default [
19
19
  },
20
20
  {
21
21
  type: 'class',
22
- match: /\b[A-Z]\w*\b/g
22
+ match: /\b[A-Z][\w_]*\b/g
23
23
  },
24
24
  {
25
25
  type: 'func',
@@ -0,0 +1,42 @@
1
+ /**
2
+ * @module terminal
3
+ * (Terminal adaptor)
4
+ */
5
+
6
+ import '../typedef.js'
7
+
8
+ import { tokenize } from './index.js';
9
+
10
+ let theme = import('./themes/default.js');
11
+
12
+ /**
13
+ * @function highlightText
14
+ * @async
15
+ * Highlight a string passed as argument and return a string that can directly be printed
16
+ * @param {String} src The code
17
+ * @param {ShjLanguage} lang The language of the code
18
+ * @returns {Promise<String>} The highlighted string
19
+ */
20
+ export const highlightText = async (src, lang) => {
21
+ let res = '', themeMap = (await theme).default;
22
+
23
+ await tokenize(src, lang, (str, token) => res += token ? `${themeMap[token] ?? ''}${str}\x1b[0m` : str);
24
+
25
+ return res;
26
+ };
27
+
28
+ /**
29
+ * @function printHighlight
30
+ * @async
31
+ * Highlight and print a given string
32
+ * @param {String} src The code
33
+ * @param {ShjLanguage} lang The language of the code
34
+ */
35
+ export const printHighlight = async (src, lang) => console.log(await highlightText(src, lang));
36
+
37
+ /**
38
+ * @function setTheme
39
+ * Change the current used theme for highlighting
40
+ * @param {ShjTerminalTheme} name The name of the theme
41
+ */
42
+ export const setTheme = async name => theme = import(`./themes/${name}.js`);
@@ -14,7 +14,7 @@
14
14
  .shj-syn-kwd {color: #c678dd}
15
15
  .shj-syn-class {color: #e5c07b}
16
16
  .shj-numbers,
17
- .shj-syn-cmnt {color: #5c6370}
17
+ .shj-syn-cmnt {color: #76839a}
18
18
  .shj-syn-insert {color: #98c379}
19
19
  .shj-syn-type {color: #56b6c2}
20
20
  .shj-syn-num,
@@ -0,0 +1,18 @@
1
+ import col from '../color.js'
2
+
3
+ export default {
4
+ deleted: col.red,
5
+ var: col.red,
6
+ err: col.red,
7
+ kwd: col.magenta,
8
+ num: col.yellow,
9
+ class: col.yellow,
10
+ cmnt: col.gray,
11
+ insert: col.green,
12
+ str: col.green,
13
+ bool: col.cyan,
14
+ type: col.blue,
15
+ oper: col.blue,
16
+ section: col.magenta,
17
+ func: col.blue
18
+ }
@@ -7,10 +7,8 @@
7
7
  color: #112;
8
8
  box-shadow: 0 0 5px #0001;
9
9
  text-shadow: none;
10
- font-size: 14px;
11
- font-weight: normal;
12
- line-height: 19px;
13
- font-family: Consolas, "Courier New", Monaco, 'Andale Mono', 'Ubuntu Mono', monospace;
10
+ font: normal 18px Consolas, "Courier New", Monaco, 'Andale Mono', 'Ubuntu Mono', monospace;
11
+ line-height: 24px;
14
12
  box-sizing: border-box;
15
13
  max-width: min(100%, 100vw)
16
14
  }
@@ -76,12 +74,9 @@
76
74
  .shj-multiline.shj-mode-header:before {
77
75
  content: attr(data-lang);
78
76
  color: #58f;
79
- height: 32px;
80
77
  display: block;
81
- padding: 2px 12px;
82
- overflow: hidden;
78
+ padding: 10px 20px;
83
79
  background: #58f3;
84
- line-height: 32px;
85
80
  border-radius: 5px;
86
- margin-bottom: 10px
81
+ margin-bottom: 20px
87
82
  }
@@ -1,26 +1,18 @@
1
- const black = '\x1b[30m',
2
- red = '\x1b[31m',
3
- green = '\x1b[32m',
4
- gray = '\x1b[90m',
5
- yellow = '\x1b[33m',
6
- blue = '\x1b[34m',
7
- magenta = '\x1b[35m',
8
- cyan = '\x1b[36m',
9
- white = '\x1b[37m';
1
+ import col from '../color.js'
10
2
 
11
3
  export default {
12
- deleted: red,
13
- var: red,
14
- err: red,
15
- kwd: red,
16
- num: yellow,
17
- class: yellow,
18
- cmnt: gray,
19
- insert: green,
20
- str: green,
21
- bool: cyan,
22
- type: blue,
23
- oper: blue,
24
- section: magenta,
25
- func: magenta
26
- };
4
+ deleted: col.red,
5
+ var: col.red,
6
+ err: col.red,
7
+ kwd: col.red,
8
+ num: col.yellow,
9
+ class: col.yellow,
10
+ cmnt: col.gray,
11
+ insert: col.green,
12
+ str: col.green,
13
+ bool: col.cyan,
14
+ type: col.blue,
15
+ oper: col.blue,
16
+ section: col.magenta,
17
+ func: col.magenta
18
+ }
package/typedef.js ADDED
@@ -0,0 +1,34 @@
1
+ /**
2
+ * @module _type
3
+ */
4
+
5
+ /**
6
+ * Languages supported
7
+ * @typedef {('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')} ShjLanguage
8
+ */
9
+
10
+ /**
11
+ * Themes supported in the browser
12
+ * @typedef {('atom-dark'|'github-dark'|'github-dim'|'dark'|'default'|'github-light'|'visual-studio-dark')} ShjBrowserTheme
13
+ */
14
+
15
+ /**
16
+ * Languages supported
17
+ * @typedef {('default'|'atom-dark')} ShjTerminalTheme
18
+ */
19
+
20
+ /**
21
+ * @typedef {('inline'|'oneline'|'multiline')} ShjDisplayMode
22
+ * * `inline` inside `code` element
23
+ * * `oneline` inside `div` element and containing only one line
24
+ * * `multiline` inside `div` element
25
+ */
26
+
27
+ /**
28
+ * @typedef {('deleted'|'err'|'var'|'section'|'kwd'|'class'|'cmnt'|'insert'|'type'|'func'|'bool'|'num'|'oper'|'str'|'esc')} ShjToken
29
+ */
30
+
31
+ /**
32
+ * @typedef {Object} ShjOptions
33
+ * @property {Boolean} [hideLineNumbers=false] Indicates whether to hide line numbers
34
+ */
Binary file
package/dist/common.js DELETED
@@ -1 +0,0 @@
1
- var t={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}};export{t as default};
package/dist/detect.js DELETED
@@ -1 +0,0 @@
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(([t,...e])=>[e.reduce((s,[i,g])=>s+[...n.matchAll(i)].length*g,0),t]).filter(([t,e])=>t>10).sort((t,e)=>e[0]-t[0])[0])==null?void 0:a[1])||"plain"};export{l as detectLanguage};
package/dist/index.js DELETED
@@ -1,3 +0,0 @@
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 u={},o=(t="")=>{var a,i,s,e;return(e=(i=(a=t.replaceAll("&","&#38;")).replaceAll)==null?void 0:(s=i.call(a,"<","&lt;")).replaceAll)==null?void 0:e.call(s,">","&gt;")},m=(t,a)=>a?`<span class="shj-syn-${a}">${t}</span>`:t;async function f(t,a,i){var s;try{let e,l,n={},p,h=[],c=0,d=typeof a=="string"?await((s=u[a])!=null?s:u[a]=import(`./languages/${a}.js`)):a,r=[...typeof a=="string"?d.default:a.sub];for(;c<t.length;){for(n.index=null,e=r.length;e-- >0;){if(l=r[e].expand?x[r[e].expand]:r[e],h[e]===void 0||h[e].match.index<c){if(l.match.lastIndex=c,p=l.match.exec(t),p===null){r.splice(e,1),h.splice(e,1);continue}h[e]={match:p,lastIndex:l.match.lastIndex}}h[e].match[0]&&(h[e].match.index<=n.index||n.index===null)&&(n={part:l,index:h[e].match.index,match:h[e].match[0],end:h[e].lastIndex})}if(n.index===null)break;i(t.slice(c,n.index),d.type),c=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(c,t.length),d.type)}catch{i(t)}}async function y(t,a,i=!0){let s=i?`<div><div class="shj-numbers">${"<div></div>".repeat(t.split(`
2
- `).length)}</div><div>`:"";return await f(t,a,(e,l)=>s+=m(o(e),l)),i&&(s+="</div></div>"),s}async function g(t,a=(s=>(s=t.className.match(/shj-lang-([\w-]+)/))==null?void 0:s[1])(),i){let e=t.textContent;i!=null||(i=`${t.tagName=="CODE"?"in":e.split(`
3
- `).length<2?"one":"multi"}line`),t.dataset.lang=a,t.className=`${[...t.classList].filter(l=>!l.startsWith("shj-")||l.startsWith("shj-mode-")).join(" ")} shj-lang-${a} shj-${i}`,t.innerHTML=await y(e,a,i=="multiline")}var v=async()=>document.querySelectorAll('[class*="shj-lang-"]').forEach(t=>g(t));export{v as highlightAll,g as highlightElement,y as highlightText,f as tokenize};
@@ -1 +0,0 @@
1
- var t=[{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"}];export{t as default};
@@ -1 +0,0 @@
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 +0,0 @@
1
- var t=[{match:/[^\[\->+.<\]\s].*/g,sub:"todo"},{type:"func",match:/\.+/g},{type:"kwd",match:/[<>]+/g},{type:"oper",match:/[+-]+/g}];export{t as default};
@@ -1 +0,0 @@
1
- var t=[{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:/[A-Z][\w_]*/g}];export{t as default};
@@ -1 +0,0 @@
1
- var t=[{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}];export{t as default};
@@ -1 +0,0 @@
1
- var e=[{expand:"strDouble"},{type:"oper",match:/,/g}];export{e as default};
@@ -1 +0,0 @@
1
- var t=[{type:"deleted",match:/^[-<].*/gm},{type:"insert",match:/^[+>].*/gm},{type:"kwd",match:/!.*/gm},{type:"section",match:/^@@.*@@$|^\d.*|^([*-+])\1\1.*/gm}];export{t as default};
@@ -1 +0,0 @@
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 +0,0 @@
1
- var t=[{type:"deleted",match:/^[-<].*/gm},{type:"insert",match:/^[+>].*/gm},{type:"kwd",match:/!.*/gm},{type:"section",match:/^@@.*@@$|^\d.*|^([*-+])\1\1.*/gm}];var d=[{match:/^#.*/gm,sub:"todo"},{expand:"str"},...t,{type:"func",match:/^(\$ )?git(\s.*)?$/gm},{type:"kwd",match:/^commit \w+$/gm}];export{d as default};
@@ -1 +0,0 @@
1
- var t=[{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:/[A-Z][\w_]*/g},{type:"oper",match:/[+\-*\/%&|^~=!<>.^-]+/g}];export{t as default};
@@ -1 +0,0 @@
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 +0,0 @@
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=s=>{var a;return((a=r.map(([t,...e])=>[e.reduce((g,[m,i])=>g+[...s.matchAll(m)].length*i,0),t]).filter(([t,e])=>t>10).sort((t,e)=>e[0]-t[0])[0])==null?void 0:a[1])||"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 +0,0 @@
1
- var t=[{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}];export{t as default};
@@ -1 +0,0 @@
1
- var t=[{match:/\/\/.*\n?|\/\*((?!\*\/)[^])*(\*\/)?/g,sub:"todo"},{expand:"str"},{expand:"num"},{type:"kwd",match:/\b(abstract|assert|boolean|break|byte|case|catch|char|class|continue|const|default|do|double|else|enum|exports|extends|final|finally|float|for|goto|if|implements|import|instanceof|int|interface|long|module|native|new|package|private|protected|public|requires|return|short|static|strictfp|super|switch|synchronized|this|throw|throws|transient|try|var|void|volatile|while)\b/g},{type:"oper",match:/[/*+:?&|%^~=!,<>.^-]+/g},{type:"func",match:/[a-zA-Z_][\w_]*(?=\s*\()/g},{type:"class",match:/[A-Z][\w_]*/g}];export{t as default};
@@ -1 +0,0 @@
1
- var t=[{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}];export{t as default};
@@ -1 +0,0 @@
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 +0,0 @@
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 +0,0 @@
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,2 +0,0 @@
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(([e,...n])=>[n.reduce((l,[g,r])=>l+[...a.matchAll(g)].length*r,0),e]).filter(([e,n])=>e>10).sort((e,n)=>n[0]-e[0])[0])==null?void 0:s[1])||"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 o=[{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{o as default};
@@ -1 +0,0 @@
1
- var e=[{type:"cmnt",match:/^#.*/gm},{expand:"strDouble"},{expand:"num"},{type:"err",match:/\b(err(or)?|[a-z_-]*exception|warn|warning|failed|ko|invalid|not ?found|alert|fatal)\b/gi},{type:"num",match:/\b(null|undefined)\b/gi},{type:"bool",match:/\b(false|true|yes|no)\b/gi},{type:"oper",match:/\.|,/g}];export{e as default};
@@ -1 +0,0 @@
1
- var e=[{match:/^#!.*|--(\[(=*)\[((?!--\]\2\])[^])*--\]\2\]|.*)/g,sub:"todo"},{expand:"str"},{type:"kwd",match:/\b(and|break|do|else|elseif|end|for|function|if|in|local|not|or|repeat|return|then|until|while)\b/g},{type:"bool",match:/\b(true|false|nil)\b/g},{type:"oper",match:/[+*/%^#=~<>:,.-]+/g},{expand:"num"},{type:"func",match:/[a-z_]+(?=\s*[({])/g}];export{e as default};
@@ -1 +0,0 @@
1
- var t=[{match:/^\s*#.*/gm,sub:"todo"},{expand:"str"},{type:"oper",match:/[${}()]+/g},{type:"class",match:/.PHONY:/gm},{type:"section",match:/^[\w.]+:/gm},{type:"kwd",match:/\b(ifneq|endif)\b/g},{expand:"num"},{type:"var",match:/[A-Z_]+(?=\s*=)/g},{match:/^.*$/gm,sub:"bash"}];export{t as default};
@@ -1,2 +0,0 @@
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]]],m=e=>{var s;return((s=i.map(([t,...a])=>[a.reduce((g,[n,c])=>g+[...e.matchAll(n)].length*c,0),t]).filter(([t,a])=>t>10).sort((t,a)=>a[0]-t[0])[0])==null?void 0:s[1])||"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)||m(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 +0,0 @@
1
- var e=[{match:/#.*/g,sub:"todo"},{type:"str",match:/(["'])(\\[^]|(?!\1)[^])*\1?/g},{expand:"num"},{type:"kwd",match:/\b(any|break|continue|default|delete|die|do|else|elsif|eval|for|foreach|given|goto|if|last|local|my|next|our|package|print|redo|require|return|say|state|sub|switch|undef|unless|until|use|when|while|not|and|or|xor)\b/g},{type:"oper",match:/[-+*/%~!&<>|=?,]+/g},{type:"func",match:/[a-z_]+(?=\s*\()/g}];export{e as default};
@@ -1 +0,0 @@
1
- var e=[{expand:"strDouble"}];export{e as default};
@@ -1 +0,0 @@
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 +0,0 @@
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 +0,0 @@
1
- var e=[{match:/\/\/.*\n?|\/\*((?!\*\/)[^])*(\*\/)?/g,sub:"todo"},{expand:"str"},{expand:"num"},{type:"kwd",match:/\b(as|break|const|continue|crate|else|enum|extern|false|fn|for|if|impl|in|let|loop|match|mod|move|mut|pub|ref|return|self|Self|static|struct|super|trait|true|type|unsafe|use|where|while|async|await|dyn|abstract|become|box|do|final|macro|override|priv|typeof|unsized|virtual|yield|try)\b/g},{type:"oper",match:/[/*+:?&|%^~=!,<>.^-]+/g},{type:"class",match:/\b[A-Z]\w*\b/g},{type:"func",match:/[a-zA-Z_][\w_]*(?=\s*!?\s*\()/g}];export{e as default};
@@ -1 +0,0 @@
1
- var E=[{match:/--.*\n?|\/\*((?!\*\/)[^])*(\*\/)?/g,sub:"todo"},{expand:"str"},{type:"func",match:/\b(AVG|COUNT|FIRST|FORMAT|LAST|LCASE|LEN|MAX|MID|MIN|MOD|NOW|ROUND|SUM|UCASE)(?=\s*\()/g},{type:"kwd",match:/\b(ACTION|ADD|AFTER|ALGORITHM|ALL|ALTER|ANALYZE|ANY|APPLY|AS|ASC|AUTHORIZATION|AUTO_INCREMENT|BACKUP|BDB|BEGIN|BERKELEYDB|BIGINT|BINARY|BIT|BLOB|BOOL|BOOLEAN|BREAK|BROWSE|BTREE|BULK|BY|CALL|CASCADED?|CASE|CHAIN|CHAR(?:ACTER|SET)?|CHECK(?:POINT)?|CLOSE|CLUSTERED|COALESCE|COLLATE|COLUMNS?|COMMENT|COMMIT(?:TED)?|COMPUTE|CONNECT|CONSISTENT|CONSTRAINT|CONTAINS(?:TABLE)?|CONTINUE|CONVERT|CREATE|CROSS|CURRENT(?:_DATE|_TIME|_TIMESTAMP|_USER)?|CURSOR|CYCLE|DATA(?:BASES?)?|DATE(?:TIME)?|DAY|DBCC|DEALLOCATE|DEC|DECIMAL|DECLARE|DEFAULT|DEFINER|DELAYED|DELETE|DELIMITERS?|DENY|DESC|DESCRIBE|DETERMINISTIC|DISABLE|DISCARD|DISK|DISTINCT|DISTINCTROW|DISTRIBUTED|DO|DOUBLE|DROP|DUMMY|DUMP(?:FILE)?|DUPLICATE|ELSE(?:IF)?|ENABLE|ENCLOSED|END|ENGINE|ENUM|ERRLVL|ERRORS|ESCAPED?|EXCEPT|EXEC(?:UTE)?|EXISTS|EXIT|EXPLAIN|EXTENDED|FETCH|FIELDS|FILE|FILLFACTOR|FIRST|FIXED|FLOAT|FOLLOWING|FOR(?: EACH ROW)?|FORCE|FOREIGN|FREETEXT(?:TABLE)?|FROM|FULL|FUNCTION|GEOMETRY(?:COLLECTION)?|GLOBAL|GOTO|GRANT|GROUP|HANDLER|HASH|HAVING|HOLDLOCK|HOUR|IDENTITY(?:_INSERT|COL)?|IF|IGNORE|IMPORT|INDEX|INFILE|INNER|INNODB|INOUT|INSERT|INT|INTEGER|INTERSECT|INTERVAL|INTO|INVOKER|ISOLATION|ITERATE|JOIN|kwdS?|KILL|LANGUAGE|LAST|LEAVE|LEFT|LEVEL|LIMIT|LINENO|LINES|LINESTRING|LOAD|LOCAL|LOCK|LONG(?:BLOB|TEXT)|LOOP|MATCH(?:ED)?|MEDIUM(?:BLOB|INT|TEXT)|MERGE|MIDDLEINT|MINUTE|MODE|MODIFIES|MODIFY|MONTH|MULTI(?:LINESTRING|POINT|POLYGON)|NATIONAL|NATURAL|NCHAR|NEXT|NO|NONCLUSTERED|NULLIF|NUMERIC|OFF?|OFFSETS?|ON|OPEN(?:DATASOURCE|QUERY|ROWSET)?|OPTIMIZE|OPTION(?:ALLY)?|ORDER|OUT(?:ER|FILE)?|OVER|PARTIAL|PARTITION|PERCENT|PIVOT|PLAN|POINT|POLYGON|PRECEDING|PRECISION|PREPARE|PREV|PRIMARY|PRINT|PRIVILEGES|PROC(?:EDURE)?|PUBLIC|PURGE|QUICK|RAISERROR|READS?|REAL|RECONFIGURE|REFERENCES|RELEASE|RENAME|REPEAT(?:ABLE)?|REPLACE|REPLICATION|REQUIRE|RESIGNAL|RESTORE|RESTRICT|RETURN(?:S|ING)?|REVOKE|RIGHT|ROLLBACK|ROUTINE|ROW(?:COUNT|GUIDCOL|S)?|RTREE|RULE|SAVE(?:POINT)?|SCHEMA|SECOND|SELECT|SERIAL(?:IZABLE)?|SESSION(?:_USER)?|SET(?:USER)?|SHARE|SHOW|SHUTDOWN|SIMPLE|SMALLINT|SNAPSHOT|SOME|SONAME|SQL|START(?:ING)?|STATISTICS|STATUS|STRIPED|SYSTEM_USER|TABLES?|TABLESPACE|TEMP(?:ORARY|TABLE)?|TERMINATED|TEXT(?:SIZE)?|THEN|TIME(?:STAMP)?|TINY(?:BLOB|INT|TEXT)|TOP?|TRAN(?:SACTIONS?)?|TRIGGER|TRUNCATE|TSEQUAL|TYPES?|UNBOUNDED|UNCOMMITTED|UNDEFINED|UNION|UNIQUE|UNLOCK|UNPIVOT|UNSIGNED|UPDATE(?:TEXT)?|USAGE|USE|USER|USING|VALUES?|VAR(?:BINARY|CHAR|CHARACTER|YING)|VIEW|WAITFOR|WARNINGS|WHEN|WHERE|WHILE|WITH(?: ROLLUP|IN)?|WORK|WRITE(?:TEXT)?|YEAR)\b/g},{type:"num",match:/\.?\d[\d.oxa-fA-F-]*|\bNULL\b/g},{type:"bool",match:/\b(TRUE|FALSE)\b/g},{type:"oper",match:/[-+*\/=%^~]|&&?|\|\|?|!=?|<(?:=>?|<|>)?|>[>=]?|\b(?:AND|BETWEEN|DIV|IN|ILIKE|IS|LIKE|NOT|OR|REGEXP|RLIKE|SOUNDS LIKE|XOR)\b/g},{type:"var",match:/@\S+/g}];export{E as default};
@@ -1 +0,0 @@
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 +0,0 @@
1
- var t=[{match:/#.*/g,sub:"todo"},{type:"str",match:/("""|''')((?!\1)[^]|\\[^])*\1?/g},{expand:"str"},{type:"section",match:/^\[.+\]\s*$/gm},{type:"num",match:/\b(inf|nan)\b|\d[\d:ZT.-]*/g},{expand:"num"},{type:"bool",match:/\b(true|false)\b/g},{type:"oper",match:/[+,.=-]/g},{type:"var",match:/\w+(?= \=)/g}];export{t as default};
@@ -1 +0,0 @@
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 +0,0 @@
1
- var t=[{match:/^#.*/gm,sub:"todo"},{type:"class",match:/^\w+(?=:?)/gm},{type:"num",match:/:\d+/g},{type:"oper",match:/[:/&?]|\w+=/g},{type:"func",match:/[.\w]+@|#[\w]+$/gm},{type:"var",match:/\w+\.\w+(\.\w+)*/g}];export{t as default};
@@ -1 +0,0 @@
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 +0,0 @@
1
- var t=[{match:/#.*/g,sub:"todo"},{expand:"str"},{type:"str",match:/(>|\|)\r?\n((\s[^\n]*)?(\r?\n|$))*/g},{type:"type",match:/!![a-z]+/g},{type:"bool",match:/\b(Yes|No)\b/g},{type:"oper",match:/[+:-]/g},{expand:"num"},{type:"var",match:/[a-zA-Z]\w*(?=:)/g}];export{t as default};
@@ -1 +0,0 @@
1
- var a=Object.defineProperty;var m=t=>a(t,"__esModule",{value:!0});var n=(t,e)=>{m(t);for(var r in e)a(t,r,{get:e[r],enumerable:!0})};n(exports,{default:()=>p});var p={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 +0,0 @@
1
- var s=Object.defineProperty;var l=e=>s(e,"__esModule",{value:!0});var r=(e,a)=>{l(e);for(var t in a)s(e,t,{get:a[t],enumerable:!0})};r(exports,{detectLanguage:()=>c});var o=[["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]]],c=e=>{var a;return((a=o.map(([t,...n])=>[n.reduce((i,[g,m])=>i+[...e.matchAll(g)].length*m,0),t]).filter(([t,n])=>t>10).sort((t,n)=>n[0]-t[0])[0])==null?void 0:a[1])||"plain"};0&&(module.exports={detectLanguage});
@@ -1,3 +0,0 @@
1
- var j=Object.create;var p=Object.defineProperty;var v=Object.getOwnPropertyDescriptor;var $=Object.getOwnPropertyNames;var w=Object.getPrototypeOf,A=Object.prototype.hasOwnProperty;var o=t=>p(t,"__esModule",{value:!0});var I=(t,e)=>{o(t);for(var a in e)p(t,a,{get:e[a],enumerable:!0})},D=(t,e,a)=>{if(e&&typeof e=="object"||typeof e=="function")for(let n of $(e))!A.call(t,n)&&n!=="default"&&p(t,n,{get:()=>e[n],enumerable:!(a=v(e,n))||a.enumerable});return t},m=t=>D(o(p(t!=null?j(w(t)):{},"default",t&&t.__esModule&&"default"in t?{get:()=>t.default,enumerable:!0}:{value:t,enumerable:!0})),t);I(exports,{highlightAll:()=>C,highlightElement:()=>b,highlightText:()=>g,tokenize:()=>f});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 x={},E=(t="")=>{var e,a,n,i;return(i=(a=(e=t.replaceAll("&","&#38;")).replaceAll)==null?void 0:(n=a.call(e,"<","&lt;")).replaceAll)==null?void 0:i.call(n,">","&gt;")},z=(t,e)=>e?`<span class="shj-syn-${e}">${t}</span>`:t;async function f(t,e,a){var n;try{let i,l,s={},d,h=[],c=0,u=typeof e=="string"?await((n=x[e])!=null?n:x[e]=Promise.resolve().then(()=>m(require(`./languages/${e}.js`)))):e,r=[...typeof e=="string"?u.default:e.sub];for(;c<t.length;){for(s.index=null,i=r.length;i-- >0;){if(l=r[i].expand?y[r[i].expand]:r[i],h[i]===void 0||h[i].match.index<c){if(l.match.lastIndex=c,d=l.match.exec(t),d===null){r.splice(i,1),h.splice(i,1);continue}h[i]={match:d,lastIndex:l.match.lastIndex}}h[i].match[0]&&(h[i].match.index<=s.index||s.index===null)&&(s={part:l,index:h[i].match.index,match:h[i].match[0],end:h[i].lastIndex})}if(s.index===null)break;a(t.slice(c,s.index),u.type),c=s.end,s.part.sub?await f(s.match,typeof s.part.sub=="string"?s.part.sub:typeof s.part.sub=="function"?s.part.sub(s.match):s.part,a):a(s.match,s.part.type)}a(t.slice(c,t.length),u.type)}catch{a(t)}}async function g(t,e,a=!0){let n=a?`<div><div class="shj-numbers">${"<div></div>".repeat(t.split(`
2
- `).length)}</div><div>`:"";return await f(t,e,(i,l)=>n+=z(E(i),l)),a&&(n+="</div></div>"),n}async function b(t,e=(n=>(n=t.className.match(/shj-lang-([\w-]+)/))==null?void 0:n[1])(),a){let i=t.textContent;a!=null||(a=`${t.tagName=="CODE"?"in":i.split(`
3
- `).length<2?"one":"multi"}line`),t.dataset.lang=e,t.className=`${[...t.classList].filter(l=>!l.startsWith("shj-")||l.startsWith("shj-mode-")).join(" ")} shj-lang-${e} shj-${a}`,t.innerHTML=await g(i,e,a=="multiline")}var C=async()=>document.querySelectorAll('[class*="shj-lang-"]').forEach(t=>b(t));0&&(module.exports={highlightAll,highlightElement,highlightText,tokenize});
@@ -1 +0,0 @@
1
- var m=Object.defineProperty;var p=t=>m(t,"__esModule",{value:!0});var c=(t,a)=>{p(t);for(var e in a)m(t,e,{get:a[e],enumerable:!0})};c(exports,{default:()=>d});var d=[{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 +0,0 @@
1
- var s=Object.defineProperty;var p=e=>s(e,"__esModule",{value:!0});var i=(e,t)=>{p(e);for(var a in t)s(e,a,{get:t[a],enumerable:!0})};i(exports,{default:()=>o});var l={type:"var",match:/\$\w+|\${[^}]*}|\$\([^)]*\)/g},o=[{sub:"todo",match:/#.*/g},{type:"str",match:/(["'])((?!\1)[^\r\n\\]|\\[^])*\1?/g,sub:[l]},{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},l];0&&(module.exports={});
@@ -1 +0,0 @@
1
- var c=Object.defineProperty;var p=t=>c(t,"__esModule",{value:!0});var g=(t,e)=>{p(t);for(var a in e)c(t,a,{get:e[a],enumerable:!0})};g(exports,{default:()=>h});var h=[{match:/[^\[\->+.<\]\s].*/g,sub:"todo"},{type:"func",match:/\.+/g},{type:"kwd",match:/[<>]+/g},{type:"oper",match:/[+-]+/g}];0&&(module.exports={});