@speed-highlight/core 1.2.6 → 1.2.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.
- package/README.md +55 -45
- package/dist/detect.d.ts +1 -1
- package/dist/detect.d.ts.map +1 -1
- package/dist/detect.js +1 -1
- package/dist/index.d.ts +22 -10
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +4 -3
- package/dist/languages/bash.js +1 -1
- package/dist/languages/docker.js +1 -1
- package/dist/languages/html.js +1 -1
- package/dist/languages/http.d.ts +1 -1
- package/dist/languages/http.js +1 -1
- package/dist/languages/js_template_literals.js +1 -1
- package/dist/languages/leanpub-md.d.ts +1 -1
- package/dist/languages/leanpub-md.js +2 -2
- package/dist/languages/md.js +2 -2
- package/dist/languages/py.js +1 -1
- package/dist/languages/ts.d.ts +2 -0
- package/dist/languages/xml.d.ts +2 -1
- package/dist/languages/xml.d.ts.map +1 -1
- package/dist/languages/xml.js +1 -1
- package/dist/node/common.js +1 -1
- package/dist/node/detect.d.ts +1 -1
- package/dist/node/detect.d.ts.map +1 -1
- package/dist/node/index.d.ts +22 -10
- package/dist/node/index.d.ts.map +1 -1
- package/dist/node/index.js +4 -3
- package/dist/node/languages/asm.js +1 -1
- package/dist/node/languages/bash.js +1 -1
- package/dist/node/languages/bf.js +1 -1
- package/dist/node/languages/c.js +1 -1
- package/dist/node/languages/css.js +1 -1
- package/dist/node/languages/csv.js +1 -1
- package/dist/node/languages/diff.js +1 -1
- package/dist/node/languages/docker.js +1 -1
- package/dist/node/languages/git.js +1 -1
- package/dist/node/languages/go.js +1 -1
- package/dist/node/languages/html.js +1 -1
- package/dist/node/languages/http.d.ts +1 -1
- package/dist/node/languages/http.js +1 -1
- package/dist/node/languages/ini.js +1 -1
- package/dist/node/languages/java.js +1 -1
- package/dist/node/languages/js.js +1 -1
- package/dist/node/languages/js_template_literals.js +1 -1
- package/dist/node/languages/json.js +1 -1
- package/dist/node/languages/leanpub-md.d.ts +1 -1
- package/dist/node/languages/leanpub-md.js +1 -1
- package/dist/node/languages/log.js +1 -1
- package/dist/node/languages/lua.js +1 -1
- package/dist/node/languages/make.js +1 -1
- package/dist/node/languages/md.js +1 -1
- package/dist/node/languages/pl.js +1 -1
- package/dist/node/languages/plain.js +1 -1
- package/dist/node/languages/py.js +1 -1
- package/dist/node/languages/rs.js +1 -1
- package/dist/node/languages/sql.js +1 -1
- package/dist/node/languages/toml.js +1 -1
- package/dist/node/languages/ts.d.ts +2 -0
- package/dist/node/languages/ts.js +1 -1
- package/dist/node/languages/uri.js +1 -1
- package/dist/node/languages/xml.d.ts +2 -1
- package/dist/node/languages/xml.d.ts.map +1 -1
- package/dist/node/languages/xml.js +1 -1
- package/dist/node/languages/yaml.js +1 -1
- package/dist/node/terminal.d.ts +2 -2
- package/dist/node/terminal.d.ts.map +1 -1
- package/dist/node/terminal.js +2 -1
- package/dist/node/themes/atom-dark.js +1 -1
- package/dist/node/themes/default.js +1 -1
- package/dist/node/themes/termcolor.js +1 -1
- package/dist/terminal.d.ts +2 -2
- package/dist/terminal.d.ts.map +1 -1
- package/dist/terminal.js +2 -1
- package/dist/themes/atom-dark.css +1 -1
- package/dist/themes/dark.css +1 -1
- package/dist/themes/default.css +1 -1
- package/dist/themes/github-dark.css +1 -1
- package/dist/themes/github-dim.css +1 -1
- package/dist/themes/github-light.css +1 -1
- package/dist/themes/visual-studio-dark.css +1 -1
- package/package.json +9 -3
package/README.md
CHANGED
|
@@ -1,30 +1,29 @@
|
|
|
1
|
-
# Speed
|
|
1
|
+
# Speed Highlight JS
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
<p align="center">
|
|
4
|
+
<a href="https://speed-highlight.github.io/core/examples">Demo</a> |
|
|
5
|
+
<a href="https://github.com/speed-highlight/core/wiki">Wiki</a> |
|
|
6
|
+
<a href="https://speed-highlight.github.io/core/docs">Docs</a>
|
|
7
|
+
</p>
|
|
4
8
|
|
|
5
|
-

|
|
9
|
+

|
|
6
10
|
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
* Languages definition are from **a few bytes** to **1kB**
|
|
11
|
-
* Themes are about **1kB**
|
|
12
|
-
* Language rules needed are automatically loaded
|
|
13
|
-
|
|
14
|
-
## Fast ⚡
|
|
15
|
-
|
|
16
|
-
Blazing fast highlighting using regex
|
|
11
|
+
- 🪶 Lightweight (**~2kB** for the core + **~1kB** by language)
|
|
12
|
+
- ⚡ Fast (faster than prism and highlight.js on average)
|
|
13
|
+
- 🧹 Minimal Codebase
|
|
17
14
|
|
|
18
15
|
## Simple setup 🚀
|
|
19
16
|
|
|
20
17
|
### Web
|
|
21
18
|
|
|
22
19
|
Style/theme (in the header of your html file):
|
|
20
|
+
|
|
23
21
|
```html
|
|
24
22
|
<link rel="stylesheet" href="/path/dist/themes/default.css">
|
|
25
23
|
```
|
|
26
24
|
|
|
27
25
|
In the body of your html file:
|
|
26
|
+
|
|
28
27
|
```html
|
|
29
28
|
<div class='shj-lang-[code-language]'>[code]</div>
|
|
30
29
|
or
|
|
@@ -32,50 +31,60 @@ or
|
|
|
32
31
|
```
|
|
33
32
|
|
|
34
33
|
Highlight the code (in your javascript):
|
|
34
|
+
|
|
35
35
|
```js
|
|
36
|
-
import { highlightAll } from '/path/dist/index.js'
|
|
36
|
+
import { highlightAll } from '/path/dist/index.js';
|
|
37
37
|
highlightAll();
|
|
38
38
|
```
|
|
39
39
|
|
|
40
40
|
Auto language detection
|
|
41
|
+
|
|
41
42
|
```js
|
|
42
|
-
import { highlightElement } from '../
|
|
43
|
-
import { detectLanguage } from '../
|
|
43
|
+
import { highlightElement } from '../dist/index.js';
|
|
44
|
+
import { detectLanguage } from '../dist/detect.js';
|
|
44
45
|
|
|
45
46
|
elm.textContent = code;
|
|
46
47
|
highlightElement(elm, detectLanguage(code));
|
|
47
48
|
```
|
|
48
49
|
|
|
49
50
|
Load custom language
|
|
51
|
+
|
|
50
52
|
```js
|
|
51
|
-
import { loadLanguage } from '../
|
|
53
|
+
import { loadLanguage } from '../dist/index.js';
|
|
52
54
|
|
|
53
55
|
loadLanguage('language-name', customLanguage);
|
|
54
56
|
```
|
|
55
57
|
|
|
58
|
+
---
|
|
59
|
+
|
|
56
60
|
#### CDN
|
|
57
61
|
|
|
58
62
|
```html
|
|
59
63
|
<link rel="stylesheet" href="https://unpkg.com/@speed-highlight/core/dist/themes/default.css">
|
|
60
64
|
<link rel="stylesheet" href="https://cdn.jsdelivr.net/gh/speed-highlight/core/dist/themes/default.css">
|
|
61
65
|
```
|
|
66
|
+
|
|
62
67
|
```js
|
|
63
|
-
import ... from 'https://unpkg.com/@speed-highlight/core/dist/index.js'
|
|
64
|
-
import ... from 'https://cdn.jsdelivr.net/gh/speed-highlight/core/dist/index.js'
|
|
68
|
+
import ... from 'https://unpkg.com/@speed-highlight/core/dist/index.js';
|
|
69
|
+
import ... from 'https://cdn.jsdelivr.net/gh/speed-highlight/core/dist/index.js';
|
|
65
70
|
```
|
|
66
71
|
|
|
72
|
+
---
|
|
73
|
+
|
|
67
74
|
### Deno
|
|
68
75
|
|
|
69
76
|
Use the [deno module](https://deno.land/x/speed_highlight_js)
|
|
70
77
|
|
|
71
78
|
```js
|
|
72
|
-
import { setTheme, printHighlight } from 'https://
|
|
79
|
+
import { setTheme, printHighlight } from 'https://deno.land/x/speed_highlight_js/dist/terminal.js';
|
|
73
80
|
|
|
74
|
-
await setTheme('[theme-name]')
|
|
75
|
-
printHighlight('console.log("hello")', 'js')
|
|
81
|
+
await setTheme('[theme-name]');
|
|
82
|
+
printHighlight('console.log("hello")', 'js');
|
|
76
83
|
```
|
|
77
84
|
|
|
78
|
-
|
|
85
|
+
---
|
|
86
|
+
|
|
87
|
+
### Node
|
|
79
88
|
|
|
80
89
|
Use the [npm package](https://www.npmjs.com/package/@speed-highlight/core)
|
|
81
90
|
|
|
@@ -86,8 +95,8 @@ npm i @speed-highlight/core
|
|
|
86
95
|
```js
|
|
87
96
|
const { setTheme, printHighlight } = require('@speed-highlight/core/terminal');
|
|
88
97
|
|
|
89
|
-
setTheme('[theme-name]')
|
|
90
|
-
printHighlight('console.log("hello")', 'js')
|
|
98
|
+
setTheme('[theme-name]');
|
|
99
|
+
printHighlight('console.log("hello")', 'js');
|
|
91
100
|
```
|
|
92
101
|
|
|
93
102
|
## Migrating from prism
|
|
@@ -95,36 +104,45 @@ printHighlight('console.log("hello")', 'js')
|
|
|
95
104
|
Speed-highlight JS is a lighter and faster version of prism that share a similar API
|
|
96
105
|
|
|
97
106
|
### Style
|
|
107
|
+
|
|
98
108
|
Remove the prism stylesheet in the head of your html file
|
|
99
109
|
Clone this repository or use a cdn to load our stylesheet
|
|
110
|
+
|
|
100
111
|
```diff
|
|
101
112
|
<head>
|
|
102
|
-
-
|
|
103
|
-
+
|
|
113
|
+
- <link href="themes/prism.css" rel="stylesheet" />
|
|
114
|
+
+ <link rel="stylesheet" href="https://unpkg.com/@speed-highlight/core/dist/themes/default.css">
|
|
104
115
|
</head>
|
|
105
116
|
```
|
|
106
117
|
|
|
107
118
|
### Script
|
|
119
|
+
|
|
108
120
|
For the script part remove the prism.js script and replace it by a import and a call to `highlightAll`
|
|
121
|
+
|
|
109
122
|
```diff
|
|
110
123
|
<body>
|
|
111
|
-
-
|
|
124
|
+
- <script src="prism.js"></script>
|
|
112
125
|
+<script>
|
|
113
|
-
+
|
|
114
|
-
+
|
|
126
|
+
+ import { highlightAll } from 'https://unpkg.com/@speed-highlight/core/dist/index.js';
|
|
127
|
+
+ highlightAll();
|
|
115
128
|
+</script>
|
|
116
129
|
</body>
|
|
117
130
|
```
|
|
131
|
+
|
|
118
132
|
If you want to highlight only a specific element you can use the `highlightElement` function instead
|
|
119
133
|
|
|
120
134
|
### Code block
|
|
135
|
+
|
|
121
136
|
For the code blocks replace the `<pre><code>` by only one `<div>`
|
|
122
137
|
And use `shj-lang-` prefix instead of `language-` for the class property
|
|
138
|
+
|
|
123
139
|
```diff
|
|
124
140
|
-<pre><code class="language-css">p { color: red }</code></pre>
|
|
125
141
|
+<div class="shj-lang-css">p { color: red }</div>
|
|
126
142
|
```
|
|
143
|
+
|
|
127
144
|
And for inline code block you just have to change the class property
|
|
145
|
+
|
|
128
146
|
```diff
|
|
129
147
|
-<code class="language-css">p { color: red }</code>
|
|
130
148
|
+<code class="shj-lang-css">p { color: red }</code>
|
|
@@ -134,15 +152,20 @@ And for inline code block you just have to change the class property
|
|
|
134
152
|
|
|
135
153
|
| Name | Class name | Support | Language detection |
|
|
136
154
|
| ---------- | ------------------- | --------------------------------------------------- | ------------------ |
|
|
155
|
+
| asm | shj-lang-asm | | ✅ |
|
|
137
156
|
| bash | shj-lang-bash | | ✅ |
|
|
138
157
|
| brainfuck | shj-lang-bf | increment, operator, print, comment | ❌ |
|
|
158
|
+
| c | shj-lang-c | | ✅ |
|
|
139
159
|
| css | shj-lang-css | comment, str, selector, units, function, ... | ✅ |
|
|
140
160
|
| csv | shj-lang-csv | punctuation, ... | ❌ |
|
|
141
161
|
| diff | shj-lang-diff | | ✅ |
|
|
162
|
+
| docker | shj-lang-docker | | ✅ |
|
|
142
163
|
| git | shj-lang-git | comment, insert, deleted, string, ... | ❌ |
|
|
164
|
+
| go | shj-lang-go | | ✅ |
|
|
143
165
|
| html | shj-lang-html | | ✅ |
|
|
144
166
|
| http | shj-lang-http | keywork, string, punctuation, variable, version | ✅ |
|
|
145
167
|
| ini | shj-lang-ini | | ❌ |
|
|
168
|
+
| java | shj-lang-java | | ✅ |
|
|
146
169
|
| javascipt | shj-lang-js | basic syntax, regex, jsdoc, json, template literals | ✅ |
|
|
147
170
|
| jsdoc | shj-lang-jsdoc | | ❌ |
|
|
148
171
|
| json | shj-lang-json | string, number, bool, ... | ❌ |
|
|
@@ -155,19 +178,14 @@ And for inline code block you just have to change the class property
|
|
|
155
178
|
| plain | shj-lang-plain | | ❌ |
|
|
156
179
|
| python | shj-lang-py | | ✅ |
|
|
157
180
|
| regex | shj-lang-regex | count, set, ... | ❌ |
|
|
181
|
+
| rust | shj-lang-rs | | ✅ |
|
|
158
182
|
| sql | shj-lang-sql | number, string, function, ... | ✅ |
|
|
159
183
|
| todo | shj-lang-todo | | ❌ |
|
|
160
184
|
| toml | shj-lang-toml | comment, table, string, bool, variable | ❌ |
|
|
161
185
|
| typescript | shj-lang-ts | js syntax, ts keyword, types | ✅ |
|
|
162
186
|
| uri | shj-lang-uri | | ✅ |
|
|
163
|
-
| yaml | shj-lang-yaml | comment, numbers, variable, string, bool | ❌ |
|
|
164
|
-
| docker | shj-lang-docker | | ✅ |
|
|
165
|
-
| c | shj-lang-c | | ✅ |
|
|
166
187
|
| xml | shj-lang-xml | | ✅ |
|
|
167
|
-
|
|
|
168
|
-
| go | shj-lang-go | | ✅ |
|
|
169
|
-
| java | shj-lang-java | | ✅ |
|
|
170
|
-
| asm | shj-lang-asm | | ✅ |
|
|
188
|
+
| yaml | shj-lang-yaml | comment, numbers, variable, string, bool | ❌ |
|
|
171
189
|
|
|
172
190
|
## Themes 🌈
|
|
173
191
|
|
|
@@ -181,11 +199,3 @@ A modern theme by default
|
|
|
181
199
|
| github-dim | ❌ | ✅ |
|
|
182
200
|
| atom-dark | ✅ | ✅ |
|
|
183
201
|
| visual-studio-dark | ❌ | ✅ |
|
|
184
|
-
|
|
185
|
-
## Documentation 👀
|
|
186
|
-
|
|
187
|
-
Further in-depth documentation for the API and other topics is in our [Wiki](https://github.com/speed-highlight/core/wiki) and our [Documentation](https://speed-highlight.github.io/core/docs/)
|
|
188
|
-
|
|
189
|
-
## License 📃
|
|
190
|
-
|
|
191
|
-
Shj is released under the Creative Commons Zero License. See our [LICENSE](https://github.com/speed-highlight/core/blob/main/LICENSE) file for details.
|
package/dist/detect.d.ts
CHANGED
package/dist/detect.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"detect.d.ts","sourceRoot":"","sources":["../src/detect.js"],"names":[],"mappings":"AA8CO,
|
|
1
|
+
{"version":3,"file":"detect.d.ts","sourceRoot":"","sources":["../src/detect.js"],"names":[],"mappings":"AA8CO,qCAHI,MAAM,GACJ,WAAW,CAUvB;0BAhDY,OAAO,YAAY,EAAE,WAAW"}
|
package/dist/detect.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
var
|
|
1
|
+
var g=[["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][a-z0-9]*:/gmi,10]]],m=e=>g.map(([t,...a])=>[t,a.reduce((s,[n,i])=>s+[...e.matchAll(n)].length*i,0)]).filter(([t,a])=>a>20).sort((t,a)=>a[1]-t[1])[0]?.[0]||"plain";export{m as detectLanguage};
|
package/dist/index.d.ts
CHANGED
|
@@ -2,9 +2,9 @@
|
|
|
2
2
|
* Find the tokens in the given code and call the given callback
|
|
3
3
|
*
|
|
4
4
|
* @function tokenize
|
|
5
|
-
* @param {
|
|
5
|
+
* @param {string} src The code
|
|
6
6
|
* @param {ShjLanguage|Array} lang The language of the code
|
|
7
|
-
* @param {function(
|
|
7
|
+
* @param {function(string, ShjToken=):void} token The callback function
|
|
8
8
|
* this function will be given
|
|
9
9
|
* * the text of the token
|
|
10
10
|
* * the type of the token
|
|
@@ -17,11 +17,11 @@ export function tokenize(src: string, lang: ShjLanguage | any[], token: (arg0: s
|
|
|
17
17
|
*
|
|
18
18
|
* @async
|
|
19
19
|
* @function highlightText
|
|
20
|
-
* @param {
|
|
20
|
+
* @param {string} src The code
|
|
21
21
|
* @param {ShjLanguage} lang The language of the code
|
|
22
22
|
* @param {Boolean} [multiline=true] If it is multiline, it will add a wrapper for the line numbering and header
|
|
23
23
|
* @param {ShjOptions} [opt={}] Customization options
|
|
24
|
-
* @returns {Promise<
|
|
24
|
+
* @returns {Promise<string>} The highlighted string
|
|
25
25
|
*/
|
|
26
26
|
export function highlightText(src: string, lang: ShjLanguage, multiline?: boolean, opt?: ShjOptions): Promise<string>;
|
|
27
27
|
/**
|
|
@@ -35,16 +35,18 @@ export function highlightText(src: string, lang: ShjLanguage, multiline?: boolea
|
|
|
35
35
|
* @param {ShjOptions} [opt={}] Customization options
|
|
36
36
|
*/
|
|
37
37
|
export function highlightElement(elm: Element, lang?: ShjLanguage, mode?: ShjDisplayMode, opt?: ShjOptions): Promise<void>;
|
|
38
|
-
export function highlightAll(opt?: ShjOptions): Promise<
|
|
39
|
-
export function loadLanguage(languageName: string, language:
|
|
38
|
+
export function highlightAll(opt?: ShjOptions): Promise<void[]>;
|
|
39
|
+
export function loadLanguage(languageName: string, language: {
|
|
40
|
+
default: ShjLanguageDefinition;
|
|
41
|
+
}): void;
|
|
40
42
|
/**
|
|
41
43
|
* Default languages supported
|
|
42
44
|
*/
|
|
43
|
-
export type ShjLanguage = (
|
|
45
|
+
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");
|
|
44
46
|
/**
|
|
45
47
|
* Themes supported in the browser
|
|
46
48
|
*/
|
|
47
|
-
export type ShjBrowserTheme = (
|
|
49
|
+
export type ShjBrowserTheme = ("atom-dark" | "github-dark" | "github-dim" | "dark" | "default" | "github-light" | "visual-studio-dark");
|
|
48
50
|
export type ShjOptions = {
|
|
49
51
|
/**
|
|
50
52
|
* Indicates whether to hide line numbers
|
|
@@ -56,9 +58,19 @@ export type ShjOptions = {
|
|
|
56
58
|
* * `oneline` inside `div` element and containing only one line
|
|
57
59
|
* * `multiline` inside `div` element
|
|
58
60
|
*/
|
|
59
|
-
export type ShjDisplayMode = (
|
|
61
|
+
export type ShjDisplayMode = ("inline" | "oneline" | "multiline");
|
|
60
62
|
/**
|
|
61
63
|
* Token types
|
|
62
64
|
*/
|
|
63
|
-
export type ShjToken = (
|
|
65
|
+
export type ShjToken = ("deleted" | "err" | "var" | "section" | "kwd" | "class" | "cmnt" | "insert" | "type" | "func" | "bool" | "num" | "oper" | "str" | "esc");
|
|
66
|
+
export type ShjLanguageComponent = {
|
|
67
|
+
match: RegExp;
|
|
68
|
+
type: string;
|
|
69
|
+
} | {
|
|
70
|
+
match: RegExp;
|
|
71
|
+
sub: string | ShjLanguageDefinition | ((code: string) => ShjLanguageComponent);
|
|
72
|
+
} | {
|
|
73
|
+
expand: string;
|
|
74
|
+
};
|
|
75
|
+
export type ShjLanguageDefinition = ShjLanguageComponent[];
|
|
64
76
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.js"],"names":[],"mappings":"AAgDA;;;;;;;;;;GAUG;AACH,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.js"],"names":[],"mappings":"AAgDA;;;;;;;;;;GAUG;AACH,8BAPW,MAAM,QACN,WAAW,QAAM,SACjB,CAAS,IAAM,EAAN,MAAM,EAAE,IAAS,EAAT,QAAQ,YAAC,KAAE,IAAI,iBAyD1C;AAED;;;;;;;;;;;;GAYG;AACH,mCANW,MAAM,QACN,WAAW,6BAEX,UAAU,GACR,OAAO,CAAC,MAAM,CAAC,CAS3B;AAED;;;;;;;;;GASG;AACH,sCALW,OAAO,SACP,WAAW,SACX,cAAc,QACd,UAAU,iBAQpB;AASM,mCAFI,UAAU,mBAK2C;AAoBzD,2CAHI,MAAM,YACN;IAAE,OAAO,EAAE,qBAAqB,CAAA;CAAE,QAI5C;;;;0BAlLY,CAAC,KAAK,GAAC,MAAM,GAAC,IAAI,GAAC,GAAG,GAAC,KAAK,GAAC,KAAK,GAAC,MAAM,GAAC,QAAQ,GAAC,KAAK,GAAC,IAAI,GAAC,MAAM,GAAC,MAAM,GAAC,KAAK,GAAC,MAAM,GAAC,IAAI,GAAC,OAAO,GAAC,MAAM,GAAC,YAAY,GAAC,KAAK,GAAC,KAAK,GAAC,MAAM,GAAC,IAAI,GAAC,IAAI,GAAC,OAAO,GAAC,IAAI,GAAC,OAAO,GAAC,IAAI,GAAC,KAAK,GAAC,MAAM,GAAC,MAAM,GAAC,IAAI,GAAC,KAAK,GAAC,KAAK,GAAC,MAAM,CAAC;;;;8BAK7N,CAAC,WAAW,GAAC,aAAa,GAAC,YAAY,GAAC,MAAM,GAAC,SAAS,GAAC,cAAc,GAAC,oBAAoB,CAAC;;;;;;;;;;;;6BAS7F,CAAC,QAAQ,GAAC,SAAS,GAAC,WAAW,CAAC;;;;uBAQhC,CAAC,SAAS,GAAC,KAAK,GAAC,KAAK,GAAC,SAAS,GAAC,KAAK,GAAC,OAAO,GAAC,MAAM,GAAC,QAAQ,GAAC,MAAM,GAAC,MAAM,GAAC,MAAM,GAAC,KAAK,GAAC,MAAM,GAAC,KAAK,GAAC,KAAK,CAAC;mCAyI7G;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GACrC;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,GAAG,qBAAqB,IAAG,CAAC,IAAI,EAAC,MAAM,KAAK,oBAAoB,CAAA,CAAA;CAAE,GAC9F;IAAE,MAAM,EAAE,MAAM,CAAA;CAAE;oCAKZ,oBAAoB,EAAE"}
|
package/dist/index.js
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
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("&","&")).replaceAll)==null?void 0:(l=n.call(e,"<","<")).replaceAll)==null?void 0:a.call(l,">",">")},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
|
|
1
|
+
var Xt=Object.defineProperty;var w=t=>e=>{var s=t[e];if(s)return s();throw new Error("Module not found in bundle: "+e)};var a=(t,e)=>()=>(t&&(e=t(t=0)),e);var p=(t,e)=>{for(var s in e)Xt(t,s,{get:e[s],enumerable:!0})};var P={};p(P,{default:()=>Wt});var Wt,F=a(()=>{Wt=[{type:"cmnt",match:/(;|#).*/gm},{expand:"str"},{expand:"num"},{type:"num",match:/\$[\da-fA-F]*\b/g},{type:"kwd",match:/^[a-z]+\s+[a-z.]+\b/gm,sub:[{type:"func",match:/^[a-z]+/g}]},{type:"kwd",match:/^\t*[a-z][a-z\d]*\b/gm},{match:/%|\$/g,type:"oper"}]});var $={};p($,{default:()=>T});var M,T,f=a(()=>{M={type:"var",match:/\$\w+|\${[^}]*}|\$\([^)]*\)/g},T=[{sub:"todo",match:/#.*/g},{type:"str",match:/(["'])((?!\1)[^\r\n\\]|\\[^])*\1?/g,sub:[M]},{type:"oper",match:/(?<=\s|^)\.*\/[a-z/_.-]+/gi},{type:"kwd",match:/\s-[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)(?=\s|$)/g},{expand:"num"},{type:"func",match:/(?<=(^|\||\&\&|\;)\s*)[a-z_.-]+(?=\s|$)/gmi},{type:"bool",match:/(?<=\s|^)(true|false)(?=\s|$)/g},{type:"oper",match:/[=(){}<>!]+/g},{type:"var",match:/(?<=\s|^)[\w_]+(?=\s*=)/g},M]});var v={};p(v,{default:()=>jt});var jt,B=a(()=>{jt=[{match:/[^\[\->+.<\]\s].*/g,sub:"todo"},{type:"func",match:/\.+/g},{type:"kwd",match:/[<>]+/g},{type:"oper",match:/[+-]+/g}]});var G={};p(G,{default:()=>Kt});var Kt,H=a(()=>{Kt=[{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}]});var k={};p(k,{default:()=>Vt});var Vt,_=a(()=>{Vt=[{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}]});var z={};p(z,{default:()=>qt});var qt,Y=a(()=>{qt=[{expand:"strDouble"},{type:"oper",match:/,/g}]});var Z={};p(Z,{default:()=>I});var I,N=a(()=>{I=[{type:"deleted",match:/^[-<].*/gm},{type:"insert",match:/^[+>].*/gm},{type:"kwd",match:/!.*/gm},{type:"section",match:/^@@.*@@$|^\d.*|^([*-+])\1\1.*/gm}]});var X={};p(X,{default:()=>Qt});var Qt,W=a(()=>{f();Qt=[{type:"kwd",match:/^(FROM|RUN|CMD|LABEL|MAINTAINER|EXPOSE|ENV|ADD|COPY|ENTRYPOINT|VOLUME|USER|WORKDIR|ARG|ONBUILD|STOPSIGNAL|HEALTHCHECK|SHELL)\b/gmi},...T]});var j={};p(j,{default:()=>Jt});var Jt,K=a(()=>{N();Jt=[{match:/^#.*/gm,sub:"todo"},{expand:"str"},...I,{type:"func",match:/^(\$ )?git(\s.*)?$/gm},{type:"kwd",match:/^commit \w+$/gm}]});var V={};p(V,{default:()=>te});var te,q=a(()=>{te=[{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}]});var J={};p(J,{default:()=>A,name:()=>E,properties:()=>l,xmlElement:()=>o});var Q,ee,E,l,o,A,R=a(()=>{Q=":A-Z_a-z\xC0-\xD6\xD8-\xF6\xF8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD",ee=Q+"\\-\\.0-9\xB7\u0300-\u036F\u203F-\u2040",E=`[${Q}][${ee}]*`,l=`\\s*(\\s+${E}\\s*(=\\s*([^"']\\S*|("|')(\\\\[^]|(?!\\4)[^])*\\4?)?)?\\s*)*`,o={match:RegExp(`<[/!?]?${E}${l}[/!?]?>`,"g"),sub:[{type:"var",match:RegExp(`^<[/!?]?${E}`,"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:RegExp(E,"g")}]},A=[{match:/<!--((?!-->)[^])*-->/g,sub:"todo"},{type:"class",match:/<!\[CDATA\[[\s\S]*?\]\]>/gi},o,{type:"str",match:RegExp(`<\\?${E}([^?]|\\?[^?>])*\\?+>`,"g"),sub:[{type:"var",match:RegExp(`^<\\?${E}`,"g"),sub:[{type:"oper",match:/^<\?/g}]},{type:"oper",match:/\?+>$/g}]},{type:"var",match:/&(#x?)?[\da-z]{1,8};/gi}]});var tt={};p(tt,{default:()=>ae});var ae,et=a(()=>{R();ae=[{type:"class",match:/<!DOCTYPE("[^"]*"|'[^']*'|[^"'>])*>/gi,sub:[{type:"str",match:/"[^"]*"|'[^']*'/g},{type:"oper",match:/^<!|>$/g},{type:"var",match:/DOCTYPE/gi}]},{match:RegExp(`<style${l}>((?!</style>)[^])*</style\\s*>`,"g"),sub:[{match:RegExp(`^<style${l}>`,"g"),sub:o.sub},{match:RegExp(`${o.match}|[^]*(?=</style\\s*>$)`,"g"),sub:"css"},o]},{match:RegExp(`<script${l}>((?!<\/script>)[^])*<\/script\\s*>`,"g"),sub:[{match:RegExp(`^<script${l}>`,"g"),sub:o.sub},{match:RegExp(`${o.match}|[^]*(?=<\/script\\s*>$)`,"g"),sub:"js"},o]},...A]});var pe,u,d=a(()=>{pe=[["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][a-z0-9]*:/gmi,10]]],u=t=>pe.map(([e,...s])=>[e,s.reduce((c,[m,n])=>c+[...t.matchAll(m)].length*n,0)]).filter(([e,s])=>s>20).sort((e,s)=>s[1]-e[1])[0]?.[0]||"plain"});var at={};p(at,{default:()=>se});var se,pt=a(()=>{d();se=[{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:u}]});var st={};p(st,{default:()=>ce});var ce,ct=a(()=>{ce=[{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}]});var nt={};p(nt,{default:()=>ne});var ne,mt=a(()=>{ne=[{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:/\b[A-Z][\w_]*\b/g}]});var rt={};p(rt,{default:()=>O});var O,L=a(()=>{O=[{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 ot={};p(ot,{default:()=>me,type:()=>re});var me,re,Et=a(()=>{me=[{match:new class{exec(t){let e=this.lastIndex,s,c=m=>{for(;++e<t.length-2;)if(t[e]=="{")c();else if(t[e]=="}")return};for(;e<t.length;++e)if(t[e-1]!="\\"&&t[e]=="$"&&t[e+1]=="{")return s=e++,c(e),this.lastIndex=e+1,{index:s,0:t.slice(s,e+1)};return null}},sub:[{type:"kwd",match:/^\${|}$/g},{match:/(?!^\$|{)[^]+(?=}$)/g,sub:"js"}]}],re="str"});var lt={};p(lt,{default:()=>x,type:()=>oe});var x,oe,S=a(()=>{x=[{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}],oe="cmnt"});var ut={};p(ut,{default:()=>Ee,type:()=>le});var Ee,le,ht=a(()=>{S();Ee=[{type:"kwd",match:/@\w+/g},{type:"class",match:/{[\w\s|<>,.@\[\]]+}/g},{type:"var",match:/\[[\w\s="']+\]/g},...x],le="cmnt"});var it={};p(it,{default:()=>ue});var ue,gt=a(()=>{ue=[{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}]});var dt={};p(dt,{default:()=>C});var C,D=a(()=>{d();C=[{type:"cmnt",match:/^>.*|(=|-)\1+/gm},{type:"class",match:/\*\*((?!\*\*).)*\*\*/g},{match:/```((?!```)[^])*\n```/g,sub:t=>({type:"kwd",sub:[{match:/\n[^]*(?=```)/g,sub:t.split(`
|
|
2
|
+
`)[0].slice(3)||u(t)}]})},{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 bt={};p(bt,{default:()=>he});var he,yt=a(()=>{D();d();he=[{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:u}]},{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:u}]},...C]});var Tt={};p(Tt,{default:()=>ie});var ie,ft=a(()=>{ie=[{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}]});var It={};p(It,{default:()=>ge});var ge,Nt=a(()=>{ge=[{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}]});var At={};p(At,{default:()=>de});var de,Rt=a(()=>{de=[{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"}]});var Ot={};p(Ot,{default:()=>be});var be,Lt=a(()=>{be=[{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}]});var xt={};p(xt,{default:()=>ye});var ye,St=a(()=>{ye=[{expand:"strDouble"}]});var Ct={};p(Ct,{default:()=>Te});var Te,Dt=a(()=>{Te=[{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_]\w*(?=\s*\()/gi},{type:"oper",match:/[-/*+<>,=!&|^%]+/g},{type:"class",match:/\b[A-Z][\w_]*\b/g}]});var wt={};p(wt,{default:()=>fe,type:()=>Ie});var fe,Ie,Ut=a(()=>{fe=[{match:/^(?!\/).*/gm,sub:"todo"},{type:"num",match:/\[((?!\])[^\\]|\\.)*\]/g},{type:"kwd",match:/\||\^|\$|\\.|\w+($|\r|\n)/g},{type:"var",match:/\*|\+|\{\d+,\d+\}/g}],Ie="oper"});var Pt={};p(Pt,{default:()=>Ne});var Ne,Ft=a(()=>{Ne=[{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}]});var Mt={};p(Mt,{default:()=>Ae});var Ae,$t=a(()=>{Ae=[{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}]});var vt={};p(vt,{default:()=>Re});var Re,Bt=a(()=>{Re=[{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}]});var Gt={};p(Gt,{default:()=>Oe});var Oe,Ht=a(()=>{L();Oe=[{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},...O]});var kt={};p(kt,{default:()=>Le});var Le,_t=a(()=>{Le=[{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}]});var zt={};p(zt,{default:()=>xe});var xe,Yt=a(()=>{xe=[{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}]});var U={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 Se=w({"./languages/asm.js":()=>Promise.resolve().then(()=>(F(),P)),"./languages/bash.js":()=>Promise.resolve().then(()=>(f(),$)),"./languages/bf.js":()=>Promise.resolve().then(()=>(B(),v)),"./languages/c.js":()=>Promise.resolve().then(()=>(H(),G)),"./languages/css.js":()=>Promise.resolve().then(()=>(_(),k)),"./languages/csv.js":()=>Promise.resolve().then(()=>(Y(),z)),"./languages/diff.js":()=>Promise.resolve().then(()=>(N(),Z)),"./languages/docker.js":()=>Promise.resolve().then(()=>(W(),X)),"./languages/git.js":()=>Promise.resolve().then(()=>(K(),j)),"./languages/go.js":()=>Promise.resolve().then(()=>(q(),V)),"./languages/html.js":()=>Promise.resolve().then(()=>(et(),tt)),"./languages/http.js":()=>Promise.resolve().then(()=>(pt(),at)),"./languages/ini.js":()=>Promise.resolve().then(()=>(ct(),st)),"./languages/java.js":()=>Promise.resolve().then(()=>(mt(),nt)),"./languages/js.js":()=>Promise.resolve().then(()=>(L(),rt)),"./languages/js_template_literals.js":()=>Promise.resolve().then(()=>(Et(),ot)),"./languages/jsdoc.js":()=>Promise.resolve().then(()=>(ht(),ut)),"./languages/json.js":()=>Promise.resolve().then(()=>(gt(),it)),"./languages/leanpub-md.js":()=>Promise.resolve().then(()=>(yt(),bt)),"./languages/log.js":()=>Promise.resolve().then(()=>(ft(),Tt)),"./languages/lua.js":()=>Promise.resolve().then(()=>(Nt(),It)),"./languages/make.js":()=>Promise.resolve().then(()=>(Rt(),At)),"./languages/md.js":()=>Promise.resolve().then(()=>(D(),dt)),"./languages/pl.js":()=>Promise.resolve().then(()=>(Lt(),Ot)),"./languages/plain.js":()=>Promise.resolve().then(()=>(St(),xt)),"./languages/py.js":()=>Promise.resolve().then(()=>(Dt(),Ct)),"./languages/regex.js":()=>Promise.resolve().then(()=>(Ut(),wt)),"./languages/rs.js":()=>Promise.resolve().then(()=>(Ft(),Pt)),"./languages/sql.js":()=>Promise.resolve().then(()=>($t(),Mt)),"./languages/todo.js":()=>Promise.resolve().then(()=>(S(),lt)),"./languages/toml.js":()=>Promise.resolve().then(()=>(Bt(),vt)),"./languages/ts.js":()=>Promise.resolve().then(()=>(Ht(),Gt)),"./languages/uri.js":()=>Promise.resolve().then(()=>(_t(),kt)),"./languages/xml.js":()=>Promise.resolve().then(()=>(R(),J)),"./languages/yaml.js":()=>Promise.resolve().then(()=>(Yt(),zt))});var b={},Ce=(t="")=>t.replaceAll("&","&").replaceAll?.("<","<").replaceAll?.(">",">"),De=(t,e)=>e?`<span class="shj-syn-${e}">${t}</span>`:t;async function Zt(t,e,s){try{let c,m,n={},i,r=[],h=0,y=typeof e=="string"?await(b[e]??(b[e]=Se(`./languages/${e}.js`))):e,g=[...typeof e=="string"?y.default:e.sub];for(;h<t.length;){for(n.index=null,c=g.length;c-- >0;){if(m=g[c].expand?U[g[c].expand]:g[c],r[c]===void 0||r[c].match.index<h){if(m.match.lastIndex=h,i=m.match.exec(t),i===null){g.splice(c,1),r.splice(c,1);continue}r[c]={match:i,lastIndex:m.match.lastIndex}}r[c].match[0]&&(r[c].match.index<=n.index||n.index===null)&&(n={part:m,index:r[c].match.index,match:r[c].match[0],end:r[c].lastIndex})}if(n.index===null)break;s(t.slice(h,n.index),y.type),h=n.end,n.part.sub?await Zt(n.match,typeof n.part.sub=="string"?n.part.sub:typeof n.part.sub=="function"?n.part.sub(n.match):n.part,s):s(n.match,n.part.type)}s(t.slice(h,t.length),y.type)}catch{s(t)}}async function we(t,e,s=!0,c={}){let m="";return await Zt(t,e,(n,i)=>m+=De(Ce(n),i)),s?`<div><div class="shj-numbers">${"<div></div>".repeat(!c.hideLineNumbers&&t.split(`
|
|
3
|
+
`).length)}</div><div>${m}</div></div>`:m}async function Ue(t,e=t.className.match(/shj-lang-([\w-]+)/)?.[1],s,c){let m=t.textContent;s??(s=`${t.tagName=="CODE"?"in":m.split(`
|
|
4
|
+
`).length<2?"one":"multi"}line`),t.dataset.lang=e,t.className=`${[...t.classList].filter(n=>!n.startsWith("shj-")).join(" ")} shj-lang-${e} shj-${s}`,t.innerHTML=await we(m,e,s=="multiline",c)}var Ke=async t=>Promise.all(Array.from(document.querySelectorAll('[class*="shj-lang-"]')).map(e=>Ue(e,void 0,void 0,t))),Ve=(t,e)=>{b[t]=e};export{Ke as highlightAll,Ue as highlightElement,we as highlightText,Ve as loadLanguage,Zt as tokenize};
|
package/dist/languages/bash.js
CHANGED
|
@@ -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
|
|
1
|
+
var e={type:"var",match:/\$\w+|\${[^}]*}|\$\([^)]*\)/g},t=[{sub:"todo",match:/#.*/g},{type:"str",match:/(["'])((?!\1)[^\r\n\\]|\\[^])*\1?/g,sub:[e]},{type:"oper",match:/(?<=\s|^)\.*\/[a-z/_.-]+/gi},{type:"kwd",match:/\s-[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)(?=\s|$)/g},{expand:"num"},{type:"func",match:/(?<=(^|\||\&\&|\;)\s*)[a-z_.-]+(?=\s|$)/gmi},{type:"bool",match:/(?<=\s|^)(true|false)(?=\s|$)/g},{type:"oper",match:/[=(){}<>!]+/g},{type:"var",match:/(?<=\s|^)[\w_]+(?=\s*=)/g},e];export{t as default};
|
package/dist/languages/docker.js
CHANGED
|
@@ -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
|
|
1
|
+
var e={type:"var",match:/\$\w+|\${[^}]*}|\$\([^)]*\)/g},t=[{sub:"todo",match:/#.*/g},{type:"str",match:/(["'])((?!\1)[^\r\n\\]|\\[^])*\1?/g,sub:[e]},{type:"oper",match:/(?<=\s|^)\.*\/[a-z/_.-]+/gi},{type:"kwd",match:/\s-[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)(?=\s|$)/g},{expand:"num"},{type:"func",match:/(?<=(^|\||\&\&|\;)\s*)[a-z_.-]+(?=\s|$)/gmi},{type:"bool",match:/(?<=\s|^)(true|false)(?=\s|$)/g},{type:"oper",match:/[=(){}<>!]+/g},{type:"var",match:/(?<=\s|^)[\w_]+(?=\s*=)/g},e];var r=[{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{r as default};
|
package/dist/languages/html.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
var s=`\\s*(\\s
|
|
1
|
+
var p=":A-Z_a-z\xC0-\xD6\xD8-\xF6\xF8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD",a=p+"\\-\\.0-9\xB7\u0300-\u036F\u203F-\u2040",e=`[${p}][${a}]*`,s=`\\s*(\\s+${e}\\s*(=\\s*([^"']\\S*|("|')(\\\\[^]|(?!\\4)[^])*\\4?)?)?\\s*)*`,t={match:RegExp(`<[/!?]?${e}${s}[/!?]?>`,"g"),sub:[{type:"var",match:RegExp(`^<[/!?]?${e}`,"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:RegExp(e,"g")}]},u=[{match:/<!--((?!-->)[^])*-->/g,sub:"todo"},{type:"class",match:/<!\[CDATA\[[\s\S]*?\]\]>/gi},t,{type:"str",match:RegExp(`<\\?${e}([^?]|\\?[^?>])*\\?+>`,"g"),sub:[{type:"var",match:RegExp(`^<\\?${e}`,"g"),sub:[{type:"oper",match:/^<\?/g}]},{type:"oper",match:/\?+>$/g}]},{type:"var",match:/&(#x?)?[\da-z]{1,8};/gi}];var g=[{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]},...u];export{g as default};
|
package/dist/languages/http.d.ts
CHANGED
package/dist/languages/http.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
var
|
|
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]],["css",[/^(@import|@page|@media|(\.|#)[a-z]+)/gm,20]],["json",[/\b(true|false|null|\{})\b|\"[^"]+\":/g,10]],["yaml",[/^(\s+)?[a-z][a-z0-9]*:/gmi,10]]],e=n=>i.map(([a,...t])=>[a,t.reduce((m,[s,g])=>m+[...n.matchAll(s)].length*g,0)]).filter(([a,t])=>t>20).sort((a,t)=>t[1]-a[1])[0]?.[0]||"plain";var o=[{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:e}];export{o 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
|
|
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,2 +1,2 @@
|
|
|
1
|
-
var
|
|
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
|
|
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]],["css",[/^(@import|@page|@media|(\.|#)[a-z]+)/gm,20]],["json",[/\b(true|false|null|\{})\b|\"[^"]+\":/g,10]],["yaml",[/^(\s+)?[a-z][a-z0-9]*:/gmi,10]]],t=a=>r.map(([n,...e])=>[n,e.reduce((m,[l,g])=>m+[...a.matchAll(l)].length*g,0)]).filter(([n,e])=>e>20).sort((n,e)=>e[1]-n[1])[0]?.[0]||"plain";var s=[{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}]},...s];export{o as default};
|
package/dist/languages/md.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
var
|
|
2
|
-
`)[0].slice(3)||
|
|
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]],["css",[/^(@import|@page|@media|(\.|#)[a-z]+)/gm,20]],["json",[/\b(true|false|null|\{})\b|\"[^"]+\":/g,10]],["yaml",[/^(\s+)?[a-z][a-z0-9]*:/gmi,10]]],s=a=>i.map(([e,...t])=>[e,t.reduce((m,[g,n])=>m+[...a.matchAll(g)].length*n,0)]).filter(([e,t])=>t>20).sort((e,t)=>t[1]-e[1])[0]?.[0]||"plain";var r=[{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)||s(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{r as default};
|
package/dist/languages/py.js
CHANGED
|
@@ -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_]
|
|
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_]\w*(?=\s*\()/gi},{type:"oper",match:/[-/*+<>,=!&|^%]+/g},{type:"class",match:/\b[A-Z][\w_]*\b/g}];export{t as default};
|
package/dist/languages/ts.d.ts
CHANGED
package/dist/languages/xml.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"xml.d.ts","sourceRoot":"","sources":["../../src/languages/xml.js"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"xml.d.ts","sourceRoot":"","sources":["../../src/languages/xml.js"],"names":[],"mappings":"AAIC,wBAAyC;AACzC,8BAA4F"}
|
package/dist/languages/xml.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
var t=`\\s*(\\s
|
|
1
|
+
var e=":A-Z_a-z\xC0-\xD6\xD8-\xF6\xF8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD",u=e+"\\-\\.0-9\xB7\u0300-\u036F\u203F-\u2040",t=`[${e}][${u}]*`,a=`\\s*(\\s+${t}\\s*(=\\s*([^"']\\S*|("|')(\\\\[^]|(?!\\4)[^])*\\4?)?)?\\s*)*`,p={match:RegExp(`<[/!?]?${t}${a}[/!?]?>`,"g"),sub:[{type:"var",match:RegExp(`^<[/!?]?${t}`,"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:RegExp(t,"g")}]},F=[{match:/<!--((?!-->)[^])*-->/g,sub:"todo"},{type:"class",match:/<!\[CDATA\[[\s\S]*?\]\]>/gi},p,{type:"str",match:RegExp(`<\\?${t}([^?]|\\?[^?>])*\\?+>`,"g"),sub:[{type:"var",match:RegExp(`^<\\?${t}`,"g"),sub:[{type:"oper",match:/^<\?/g}]},{type:"oper",match:/\?+>$/g}]},{type:"var",match:/&(#x?)?[\da-z]{1,8};/gi}];export{F as default,t as name,a as properties,p as xmlElement};
|
package/dist/node/common.js
CHANGED
|
@@ -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}};
|
|
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}};
|
package/dist/node/detect.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"detect.d.ts","sourceRoot":"","sources":["../../src/detect.js"],"names":[],"mappings":"AA8CO,
|
|
1
|
+
{"version":3,"file":"detect.d.ts","sourceRoot":"","sources":["../../src/detect.js"],"names":[],"mappings":"AA8CO,qCAHI,MAAM,GACJ,WAAW,CAUvB;0BAhDY,OAAO,YAAY,EAAE,WAAW"}
|