@speed-highlight/core 1.1.6
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/.gitattributes +2 -0
- package/CODE_OF_CONDUCT.md +128 -0
- package/CONTRIBUTING.md +34 -0
- package/LICENSE +121 -0
- package/README.md +140 -0
- package/assets/screenshot.png +0 -0
- package/dist/common.js +1 -0
- package/dist/detect.js +1 -0
- package/dist/index.js +3 -0
- package/dist/languages/asm.js +1 -0
- package/dist/languages/bash.js +1 -0
- package/dist/languages/bf.js +1 -0
- package/dist/languages/c.js +1 -0
- package/dist/languages/css.js +1 -0
- package/dist/languages/csv.js +1 -0
- package/dist/languages/diff.js +1 -0
- package/dist/languages/docker.js +1 -0
- package/dist/languages/git.js +1 -0
- package/dist/languages/go.js +1 -0
- package/dist/languages/html.js +1 -0
- package/dist/languages/http.js +1 -0
- package/dist/languages/ini.js +1 -0
- package/dist/languages/java.js +1 -0
- package/dist/languages/js.js +1 -0
- package/dist/languages/js_template_literals.js +1 -0
- package/dist/languages/jsdoc.js +1 -0
- package/dist/languages/json.js +1 -0
- package/dist/languages/leanpub-md.js +2 -0
- package/dist/languages/log.js +1 -0
- package/dist/languages/lua.js +1 -0
- package/dist/languages/make.js +1 -0
- package/dist/languages/md.js +2 -0
- package/dist/languages/pl.js +1 -0
- package/dist/languages/plain.js +1 -0
- package/dist/languages/py.js +1 -0
- package/dist/languages/regex.js +1 -0
- package/dist/languages/rs.js +1 -0
- package/dist/languages/sql.js +1 -0
- package/dist/languages/todo.js +1 -0
- package/dist/languages/toml.js +1 -0
- package/dist/languages/ts.js +1 -0
- package/dist/languages/uri.js +1 -0
- package/dist/languages/xml.js +1 -0
- package/dist/languages/yaml.js +1 -0
- package/dist/node/common.js +1 -0
- package/dist/node/detect.js +1 -0
- package/dist/node/index.js +3 -0
- package/dist/node/languages/asm.js +1 -0
- package/dist/node/languages/bash.js +1 -0
- package/dist/node/languages/bf.js +1 -0
- package/dist/node/languages/c.js +1 -0
- package/dist/node/languages/css.js +1 -0
- package/dist/node/languages/csv.js +1 -0
- package/dist/node/languages/diff.js +1 -0
- package/dist/node/languages/docker.js +1 -0
- package/dist/node/languages/git.js +1 -0
- package/dist/node/languages/go.js +1 -0
- package/dist/node/languages/html.js +1 -0
- package/dist/node/languages/http.js +1 -0
- package/dist/node/languages/ini.js +1 -0
- package/dist/node/languages/java.js +1 -0
- package/dist/node/languages/js.js +1 -0
- package/dist/node/languages/js_template_literals.js +1 -0
- package/dist/node/languages/jsdoc.js +1 -0
- package/dist/node/languages/json.js +1 -0
- package/dist/node/languages/leanpub-md.js +2 -0
- package/dist/node/languages/log.js +1 -0
- package/dist/node/languages/lua.js +1 -0
- package/dist/node/languages/make.js +1 -0
- package/dist/node/languages/md.js +2 -0
- package/dist/node/languages/pl.js +1 -0
- package/dist/node/languages/plain.js +1 -0
- package/dist/node/languages/py.js +1 -0
- package/dist/node/languages/regex.js +1 -0
- package/dist/node/languages/rs.js +1 -0
- package/dist/node/languages/sql.js +1 -0
- package/dist/node/languages/todo.js +1 -0
- package/dist/node/languages/toml.js +1 -0
- package/dist/node/languages/ts.js +1 -0
- package/dist/node/languages/uri.js +1 -0
- package/dist/node/languages/xml.js +1 -0
- package/dist/node/languages/yaml.js +1 -0
- package/dist/node/term.js +1 -0
- package/dist/node/themes/default.js +1 -0
- package/dist/term.js +1 -0
- package/dist/themes/atom-dark.css +1 -0
- package/dist/themes/dark.css +1 -0
- package/dist/themes/default.css +1 -0
- package/dist/themes/default.js +1 -0
- package/dist/themes/github-dark.css +1 -0
- package/dist/themes/github-dim.css +1 -0
- package/dist/themes/github-light.css +1 -0
- package/dist/themes/visual-studio-dark.css +1 -0
- package/examples/deno.js +14 -0
- package/examples/dist.html +27 -0
- package/examples/helper/data.js +51 -0
- package/examples/helper/elm.js +58 -0
- package/examples/index.html +52 -0
- package/examples/languages/oneline.bash +1 -0
- package/examples/languages/oneline.http +1 -0
- package/examples/languages/screenshot.js +18 -0
- package/examples/languages/test.asm +17 -0
- package/examples/languages/test.bash +32 -0
- package/examples/languages/test.bf +21 -0
- package/examples/languages/test.c +57 -0
- package/examples/languages/test.css +20 -0
- package/examples/languages/test.csv +4 -0
- package/examples/languages/test.diff +27 -0
- package/examples/languages/test.docker +23 -0
- package/examples/languages/test.git +10 -0
- package/examples/languages/test.go +21 -0
- package/examples/languages/test.html +27 -0
- package/examples/languages/test.http +17 -0
- package/examples/languages/test.ini +6 -0
- package/examples/languages/test.java +52 -0
- package/examples/languages/test.js +34 -0
- package/examples/languages/test.jsdoc +2 -0
- package/examples/languages/test.json +24 -0
- package/examples/languages/test.leanpub-md +21 -0
- package/examples/languages/test.log +32 -0
- package/examples/languages/test.lua +62 -0
- package/examples/languages/test.make +51 -0
- package/examples/languages/test.md +62 -0
- package/examples/languages/test.pl +25 -0
- package/examples/languages/test.plain +3 -0
- package/examples/languages/test.py +38 -0
- package/examples/languages/test.regex +2 -0
- package/examples/languages/test.rs +38 -0
- package/examples/languages/test.sql +6 -0
- package/examples/languages/test.todo +18 -0
- package/examples/languages/test.toml +16 -0
- package/examples/languages/test.ts +43 -0
- package/examples/languages/test.uri +9 -0
- package/examples/languages/test.xml +44 -0
- package/examples/languages/test.yaml +18 -0
- package/examples/node.js +11 -0
- package/examples/style.css +28 -0
- package/examples/worker.html +19 -0
- package/examples/worker.js +6 -0
- package/package.json +40 -0
- package/src/common.js +18 -0
- package/src/detect.js +33 -0
- package/src/index.js +129 -0
- package/src/languages/asm.js +30 -0
- package/src/languages/bash.js +44 -0
- package/src/languages/bf.js +18 -0
- package/src/languages/c.js +52 -0
- package/src/languages/css.js +56 -0
- package/src/languages/csv.js +9 -0
- package/src/languages/diff.js +18 -0
- package/src/languages/docker.js +9 -0
- package/src/languages/git.js +20 -0
- package/src/languages/go.js +28 -0
- package/src/languages/html.js +51 -0
- package/src/languages/http.js +30 -0
- package/src/languages/ini.js +22 -0
- package/src/languages/java.js +28 -0
- package/src/languages/js.js +48 -0
- package/src/languages/js_template_literals.js +34 -0
- package/src/languages/jsdoc.js +18 -0
- package/src/languages/json.js +20 -0
- package/src/languages/leanpub-md.js +34 -0
- package/src/languages/log.js +28 -0
- package/src/languages/lua.js +28 -0
- package/src/languages/make.js +36 -0
- package/src/languages/md.js +48 -0
- package/src/languages/pl.js +25 -0
- package/src/languages/plain.js +5 -0
- package/src/languages/py.js +52 -0
- package/src/languages/regex.js +19 -0
- package/src/languages/rs.js +28 -0
- package/src/languages/sql.js +33 -0
- package/src/languages/todo.js +19 -0
- package/src/languages/toml.js +36 -0
- package/src/languages/ts.js +13 -0
- package/src/languages/uri.js +26 -0
- package/src/languages/xml.js +68 -0
- package/src/languages/yaml.js +32 -0
- package/src/term.js +19 -0
- package/src/themes/atom-dark.css +23 -0
- package/src/themes/dark.css +23 -0
- package/src/themes/default.css +87 -0
- package/src/themes/default.js +26 -0
- package/src/themes/github-dark.css +23 -0
- package/src/themes/github-dim.css +3 -0
- package/src/themes/github-light.css +21 -0
- package/src/themes/visual-studio-dark.css +23 -0
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import diff from './diff.js'
|
|
2
|
+
|
|
3
|
+
export default [
|
|
4
|
+
{
|
|
5
|
+
match: /^#.*/gm,
|
|
6
|
+
sub: 'todo'
|
|
7
|
+
},
|
|
8
|
+
{
|
|
9
|
+
expand: 'str'
|
|
10
|
+
},
|
|
11
|
+
...diff,
|
|
12
|
+
{
|
|
13
|
+
type: 'func',
|
|
14
|
+
match: /^(\$ )?git(\s.*)?$/gm
|
|
15
|
+
},
|
|
16
|
+
{
|
|
17
|
+
type: 'kwd',
|
|
18
|
+
match: /^commit \w+$/gm
|
|
19
|
+
}
|
|
20
|
+
]
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
export default [
|
|
2
|
+
{
|
|
3
|
+
match: /\/\/.*\n?|\/\*((?!\*\/)[^])*(\*\/)?/g,
|
|
4
|
+
sub: 'todo'
|
|
5
|
+
},
|
|
6
|
+
{
|
|
7
|
+
expand: 'str'
|
|
8
|
+
},
|
|
9
|
+
{
|
|
10
|
+
expand: 'num'
|
|
11
|
+
},
|
|
12
|
+
{
|
|
13
|
+
type: 'kwd',
|
|
14
|
+
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
|
|
15
|
+
},
|
|
16
|
+
{
|
|
17
|
+
type: 'func',
|
|
18
|
+
match: /[a-zA-Z_][\w_]*(?=\s*\()/g
|
|
19
|
+
},
|
|
20
|
+
{
|
|
21
|
+
type: 'class',
|
|
22
|
+
match: /[A-Z][\w_]*/g
|
|
23
|
+
},
|
|
24
|
+
{
|
|
25
|
+
type: 'oper',
|
|
26
|
+
match: /[+\-*\/%&|^~=!<>.^-]+/g
|
|
27
|
+
}
|
|
28
|
+
]
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import xml, { property, xmlElement } from './xml.js'
|
|
2
|
+
|
|
3
|
+
export default [
|
|
4
|
+
{
|
|
5
|
+
type: 'class',
|
|
6
|
+
match: /<!DOCTYPE("[^"]*"|'[^']*'|[^"'>])*>/gi,
|
|
7
|
+
sub: [
|
|
8
|
+
{
|
|
9
|
+
type: 'str',
|
|
10
|
+
match: /"[^"]*"|'[^']*'/g
|
|
11
|
+
},
|
|
12
|
+
{
|
|
13
|
+
type: 'oper',
|
|
14
|
+
match: /^<!|>$/g
|
|
15
|
+
},
|
|
16
|
+
{
|
|
17
|
+
type: 'var',
|
|
18
|
+
match: /DOCTYPE/gi
|
|
19
|
+
}
|
|
20
|
+
]
|
|
21
|
+
},
|
|
22
|
+
{
|
|
23
|
+
match: RegExp(`<style${property}>((?!</style>)[^])*</style\\s*>`, 'g'),
|
|
24
|
+
sub: [
|
|
25
|
+
{
|
|
26
|
+
match: RegExp(`^<style${property}>`, 'g'),
|
|
27
|
+
sub: xmlElement.sub
|
|
28
|
+
},
|
|
29
|
+
{
|
|
30
|
+
match: RegExp(`${xmlElement.match}|[^]*(?=</style\\s*>$)`, 'g'),
|
|
31
|
+
sub: 'css'
|
|
32
|
+
},
|
|
33
|
+
xmlElement
|
|
34
|
+
]
|
|
35
|
+
},
|
|
36
|
+
{
|
|
37
|
+
match: RegExp(`<script${property}>((?!</script>)[^])*</script\\s*>`, 'g'),
|
|
38
|
+
sub: [
|
|
39
|
+
{
|
|
40
|
+
match: RegExp(`^<script${property}>`, 'g'),
|
|
41
|
+
sub: xmlElement.sub
|
|
42
|
+
},
|
|
43
|
+
{
|
|
44
|
+
match: RegExp(`${xmlElement.match}|[^]*(?=</script\\s*>$)`, 'g'),
|
|
45
|
+
sub: 'js'
|
|
46
|
+
},
|
|
47
|
+
xmlElement
|
|
48
|
+
]
|
|
49
|
+
},
|
|
50
|
+
...xml
|
|
51
|
+
]
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { detectLanguage } from '../detect.js'
|
|
2
|
+
|
|
3
|
+
export default [
|
|
4
|
+
{
|
|
5
|
+
type: 'kwd',
|
|
6
|
+
match: /^(GET|HEAD|POST|PUT|DELETE|CONNECT|OPTIONS|TRACE|PATCH|PRI|SEARCH)\b/gm
|
|
7
|
+
},
|
|
8
|
+
{
|
|
9
|
+
expand: 'str'
|
|
10
|
+
},
|
|
11
|
+
{
|
|
12
|
+
type: 'section',
|
|
13
|
+
match: /\bHTTP\/[\d.]+\b/g
|
|
14
|
+
},
|
|
15
|
+
{
|
|
16
|
+
expand: 'num'
|
|
17
|
+
},
|
|
18
|
+
{
|
|
19
|
+
type: 'oper',
|
|
20
|
+
match: /[,;:=]/g
|
|
21
|
+
},
|
|
22
|
+
{
|
|
23
|
+
type: 'var',
|
|
24
|
+
match: /[a-zA-Z][\w-]*(?=:)/g
|
|
25
|
+
},
|
|
26
|
+
{
|
|
27
|
+
match: /\n\n[^]*/g,
|
|
28
|
+
sub: detectLanguage
|
|
29
|
+
}
|
|
30
|
+
]
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
export default [
|
|
2
|
+
{
|
|
3
|
+
match: /(^[ \f\t\v]*)[#;].*/gm,
|
|
4
|
+
sub: 'todo'
|
|
5
|
+
},
|
|
6
|
+
{
|
|
7
|
+
type: 'str',
|
|
8
|
+
match: /.*/g
|
|
9
|
+
},
|
|
10
|
+
{
|
|
11
|
+
type: 'var',
|
|
12
|
+
match: /.*(?==)/g
|
|
13
|
+
},
|
|
14
|
+
{
|
|
15
|
+
type: 'section',
|
|
16
|
+
match: /^\s*\[.+\]\s*$/gm
|
|
17
|
+
},
|
|
18
|
+
{
|
|
19
|
+
type: 'oper',
|
|
20
|
+
match: /=/g
|
|
21
|
+
}
|
|
22
|
+
]
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
export default [
|
|
2
|
+
{
|
|
3
|
+
match: /\/\/.*\n?|\/\*((?!\*\/)[^])*(\*\/)?/g,
|
|
4
|
+
sub: 'todo'
|
|
5
|
+
},
|
|
6
|
+
{
|
|
7
|
+
expand: 'str'
|
|
8
|
+
},
|
|
9
|
+
{
|
|
10
|
+
expand: 'num'
|
|
11
|
+
},
|
|
12
|
+
{
|
|
13
|
+
type: 'kwd',
|
|
14
|
+
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
|
|
15
|
+
},
|
|
16
|
+
{
|
|
17
|
+
type: 'oper',
|
|
18
|
+
match: /[/*+:?&|%^~=!,<>.^-]+/g
|
|
19
|
+
},
|
|
20
|
+
{
|
|
21
|
+
type: 'func',
|
|
22
|
+
match: /[a-zA-Z_][\w_]*(?=\s*\()/g
|
|
23
|
+
},
|
|
24
|
+
{
|
|
25
|
+
type: 'class',
|
|
26
|
+
match: /[A-Z][\w_]*/g
|
|
27
|
+
}
|
|
28
|
+
]
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
export default [
|
|
2
|
+
{
|
|
3
|
+
match: /\/\*\*((?!\*\/)[^])*(\*\/)?/g,
|
|
4
|
+
sub: 'jsdoc'
|
|
5
|
+
},
|
|
6
|
+
{
|
|
7
|
+
match: /\/\/.*\n?|\/\*((?!\*\/)[^])*(\*\/)?/g,
|
|
8
|
+
sub: 'todo'
|
|
9
|
+
},
|
|
10
|
+
{
|
|
11
|
+
expand: 'str'
|
|
12
|
+
},
|
|
13
|
+
{
|
|
14
|
+
match: /`((?!`)[^]|\\[^])*`?/g,
|
|
15
|
+
sub: 'js_template_literals'
|
|
16
|
+
},
|
|
17
|
+
{
|
|
18
|
+
type: 'kwd',
|
|
19
|
+
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
|
|
20
|
+
},
|
|
21
|
+
{
|
|
22
|
+
match: /\/((?!\/)[^\r\n\\]|\\.)+\/[dgimsuy]*/g,
|
|
23
|
+
sub: 'regex'
|
|
24
|
+
},
|
|
25
|
+
{
|
|
26
|
+
expand: 'num'
|
|
27
|
+
},
|
|
28
|
+
{
|
|
29
|
+
type: 'num',
|
|
30
|
+
match: /\b(NaN|null|undefined|[A-Z][A-Z_]*)\b/g
|
|
31
|
+
},
|
|
32
|
+
{
|
|
33
|
+
type: 'bool',
|
|
34
|
+
match: /\b(true|false)\b/g
|
|
35
|
+
},
|
|
36
|
+
{
|
|
37
|
+
type: 'oper',
|
|
38
|
+
match: /[/*+:?&|%^~=!,<>.^-]+/g
|
|
39
|
+
},
|
|
40
|
+
{
|
|
41
|
+
type: 'class',
|
|
42
|
+
match: /\b[A-Z]\w*\b/g
|
|
43
|
+
},
|
|
44
|
+
{
|
|
45
|
+
type: 'func',
|
|
46
|
+
match: /[a-zA-Z$_][\w$_]*(?=\s*((\?\.)?\s*\(|=\s*(\(?[\w,{}\[\])]+\)? =>|function\b)))/g
|
|
47
|
+
}
|
|
48
|
+
]
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
export default [
|
|
2
|
+
{
|
|
3
|
+
match: new class {
|
|
4
|
+
exec(str) {
|
|
5
|
+
let i = this.lastIndex,
|
|
6
|
+
j,
|
|
7
|
+
f = _ => {
|
|
8
|
+
while (++i < str.length - 2)
|
|
9
|
+
if (str[i] == '{') f();
|
|
10
|
+
else if (str[i] == '}') return;
|
|
11
|
+
};
|
|
12
|
+
for (; i < str.length; i++)
|
|
13
|
+
if (str[i - 1] != '\\' && str[i] == '$' && str[i + 1] == '{') {
|
|
14
|
+
j = i++;
|
|
15
|
+
f(i);
|
|
16
|
+
this.lastIndex = i + 1;
|
|
17
|
+
return { index: j, 0: str.slice(j, i + 1) };
|
|
18
|
+
}
|
|
19
|
+
return null;
|
|
20
|
+
}
|
|
21
|
+
}(),
|
|
22
|
+
sub: [
|
|
23
|
+
{
|
|
24
|
+
type: 'kwd',
|
|
25
|
+
match: /^\${|}$/g
|
|
26
|
+
},
|
|
27
|
+
{
|
|
28
|
+
match: /(?!^\$|{)[^]+(?=}$)/g,
|
|
29
|
+
sub: 'js'
|
|
30
|
+
},
|
|
31
|
+
],
|
|
32
|
+
},
|
|
33
|
+
];
|
|
34
|
+
export let type = 'str';
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import todo from './todo.js';
|
|
2
|
+
|
|
3
|
+
export default [
|
|
4
|
+
{
|
|
5
|
+
type: 'kwd',
|
|
6
|
+
match: /@\w+/g
|
|
7
|
+
},
|
|
8
|
+
{
|
|
9
|
+
type: 'class',
|
|
10
|
+
match: /{[\w\s|<>,.@\[\]]+}/g
|
|
11
|
+
},
|
|
12
|
+
{
|
|
13
|
+
type: 'var',
|
|
14
|
+
match: /\[[\w\s="']+\]/g
|
|
15
|
+
},
|
|
16
|
+
...todo
|
|
17
|
+
];
|
|
18
|
+
export let type = 'cmnt';
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
export default [
|
|
2
|
+
{
|
|
3
|
+
type: 'var',
|
|
4
|
+
match: /("|')?[a-zA-Z]\w*\1(?=\s*:)/g
|
|
5
|
+
},
|
|
6
|
+
{
|
|
7
|
+
expand: 'str'
|
|
8
|
+
},
|
|
9
|
+
{
|
|
10
|
+
expand: 'num'
|
|
11
|
+
},
|
|
12
|
+
{
|
|
13
|
+
type: 'num',
|
|
14
|
+
match: /\bnull\b/g
|
|
15
|
+
},
|
|
16
|
+
{
|
|
17
|
+
type: 'bool',
|
|
18
|
+
match: /\b(true|false)\b/g
|
|
19
|
+
}
|
|
20
|
+
]
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import md from './md.js'
|
|
2
|
+
import { detectLanguage } from '../detect.js'
|
|
3
|
+
|
|
4
|
+
export default [
|
|
5
|
+
{
|
|
6
|
+
type: 'insert',
|
|
7
|
+
match: /(leanpub-start-insert)((?!leanpub-end-insert)[^])*(leanpub-end-insert)?/g,
|
|
8
|
+
sub: [
|
|
9
|
+
{
|
|
10
|
+
type: 'insert',
|
|
11
|
+
match: /leanpub-(start|end)-insert/g
|
|
12
|
+
},
|
|
13
|
+
{
|
|
14
|
+
match: /(?!leanpub-start-insert)((?!leanpub-end-insert)[^])*/g,
|
|
15
|
+
sub: detectLanguage
|
|
16
|
+
}
|
|
17
|
+
]
|
|
18
|
+
},
|
|
19
|
+
{
|
|
20
|
+
type: 'deleted',
|
|
21
|
+
match: /(leanpub-start-delete)((?!leanpub-end-delete)[^])*(leanpub-end-delete)?/g,
|
|
22
|
+
sub: [
|
|
23
|
+
{
|
|
24
|
+
type: 'deleted',
|
|
25
|
+
match: /leanpub-(start|end)-delete/g
|
|
26
|
+
},
|
|
27
|
+
{
|
|
28
|
+
match: /(?!leanpub-start-delete)((?!leanpub-end-delete)[^])*/g,
|
|
29
|
+
sub: detectLanguage
|
|
30
|
+
}
|
|
31
|
+
]
|
|
32
|
+
},
|
|
33
|
+
...md
|
|
34
|
+
]
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
export default [
|
|
2
|
+
{
|
|
3
|
+
type: 'cmnt',
|
|
4
|
+
match: /^#.*/gm
|
|
5
|
+
},
|
|
6
|
+
{
|
|
7
|
+
expand: 'strDouble'
|
|
8
|
+
},
|
|
9
|
+
{
|
|
10
|
+
expand: 'num'
|
|
11
|
+
},
|
|
12
|
+
{
|
|
13
|
+
type: 'err',
|
|
14
|
+
match: /\b(err(or)?|[a-z_-]*exception|warn|warning|failed|ko|invalid|not ?found|alert|fatal)\b/gi
|
|
15
|
+
},
|
|
16
|
+
{
|
|
17
|
+
type: 'num',
|
|
18
|
+
match: /\b(null|undefined)\b/gi
|
|
19
|
+
},
|
|
20
|
+
{
|
|
21
|
+
type: 'bool',
|
|
22
|
+
match: /\b(false|true|yes|no)\b/gi
|
|
23
|
+
},
|
|
24
|
+
{
|
|
25
|
+
type: 'oper',
|
|
26
|
+
match: /\.|,/g
|
|
27
|
+
}
|
|
28
|
+
]
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
export default [
|
|
2
|
+
{
|
|
3
|
+
match: /^#!.*|--(\[(=*)\[((?!--\]\2\])[^])*--\]\2\]|.*)/g,
|
|
4
|
+
sub: 'todo'
|
|
5
|
+
},
|
|
6
|
+
{
|
|
7
|
+
expand: 'str'
|
|
8
|
+
},
|
|
9
|
+
{
|
|
10
|
+
type: 'kwd',
|
|
11
|
+
match: /\b(and|break|do|else|elseif|end|for|function|if|in|local|not|or|repeat|return|then|until|while)\b/g
|
|
12
|
+
},
|
|
13
|
+
{
|
|
14
|
+
type: 'bool',
|
|
15
|
+
match: /\b(true|false|nil)\b/g
|
|
16
|
+
},
|
|
17
|
+
{
|
|
18
|
+
type: 'oper',
|
|
19
|
+
match: /[+*/%^#=~<>:,.-]+/g
|
|
20
|
+
},
|
|
21
|
+
{
|
|
22
|
+
expand: 'num'
|
|
23
|
+
},
|
|
24
|
+
{
|
|
25
|
+
type: 'func',
|
|
26
|
+
match: /[a-z_]+(?=\s*[({])/g
|
|
27
|
+
}
|
|
28
|
+
]
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
export default [
|
|
2
|
+
{
|
|
3
|
+
match: /^\s*#.*/gm,
|
|
4
|
+
sub: 'todo'
|
|
5
|
+
},
|
|
6
|
+
{
|
|
7
|
+
expand: 'str'
|
|
8
|
+
},
|
|
9
|
+
{
|
|
10
|
+
type: 'oper',
|
|
11
|
+
match: /[${}()]+/g
|
|
12
|
+
},
|
|
13
|
+
{
|
|
14
|
+
type: 'class',
|
|
15
|
+
match: /.PHONY:/gm
|
|
16
|
+
},
|
|
17
|
+
{
|
|
18
|
+
type: 'section',
|
|
19
|
+
match: /^[\w.]+:/gm
|
|
20
|
+
},
|
|
21
|
+
{
|
|
22
|
+
type: 'kwd',
|
|
23
|
+
match: /\b(ifneq|endif)\b/g
|
|
24
|
+
},
|
|
25
|
+
{
|
|
26
|
+
expand: 'num'
|
|
27
|
+
},
|
|
28
|
+
{
|
|
29
|
+
type: 'var',
|
|
30
|
+
match: /[A-Z_]+(?=\s*=)/g
|
|
31
|
+
},
|
|
32
|
+
{
|
|
33
|
+
match: /^.*$/gm,
|
|
34
|
+
sub: 'bash'
|
|
35
|
+
}
|
|
36
|
+
]
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import { detectLanguage } from '../detect.js'
|
|
2
|
+
|
|
3
|
+
export default [
|
|
4
|
+
{
|
|
5
|
+
type: 'cmnt',
|
|
6
|
+
match: /^>.*|(=|-)\1+/gm
|
|
7
|
+
},
|
|
8
|
+
{
|
|
9
|
+
type: 'class',
|
|
10
|
+
match: /\*\*((?!\*\*).)*\*\*/g
|
|
11
|
+
},
|
|
12
|
+
{
|
|
13
|
+
match: /```((?!```)[^])*\n```/g,
|
|
14
|
+
sub: code => ({
|
|
15
|
+
type: 'kwd',
|
|
16
|
+
sub: [
|
|
17
|
+
{
|
|
18
|
+
match: /\n[^]*(?=```)/g,
|
|
19
|
+
sub: code.split('\n')[0].slice(3) || detectLanguage(code)
|
|
20
|
+
}
|
|
21
|
+
]
|
|
22
|
+
})
|
|
23
|
+
},
|
|
24
|
+
{
|
|
25
|
+
type: 'str',
|
|
26
|
+
match: /`[^`]*`/g
|
|
27
|
+
},
|
|
28
|
+
{
|
|
29
|
+
type: 'var',
|
|
30
|
+
match: /~~((?!~~).)*~~/g
|
|
31
|
+
},
|
|
32
|
+
{
|
|
33
|
+
type: 'kwd',
|
|
34
|
+
match: /_[^_]*_|\*[^*]*\*/g
|
|
35
|
+
},
|
|
36
|
+
{
|
|
37
|
+
type: 'kwd',
|
|
38
|
+
match: /^\s*(\*|\d+\.)\s/gm
|
|
39
|
+
},
|
|
40
|
+
{
|
|
41
|
+
type: 'oper',
|
|
42
|
+
match: /\[[^\]]*]/g
|
|
43
|
+
},
|
|
44
|
+
{
|
|
45
|
+
type: 'func',
|
|
46
|
+
match: /\([^)]*\)/g
|
|
47
|
+
}
|
|
48
|
+
]
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
export default [
|
|
2
|
+
{
|
|
3
|
+
match: /#.*/g,
|
|
4
|
+
sub: 'todo'
|
|
5
|
+
},
|
|
6
|
+
{
|
|
7
|
+
type: 'str',
|
|
8
|
+
match: /(["'])(\\[^]|(?!\1)[^])*\1?/g
|
|
9
|
+
},
|
|
10
|
+
{
|
|
11
|
+
expand: 'num'
|
|
12
|
+
},
|
|
13
|
+
{
|
|
14
|
+
type: 'kwd',
|
|
15
|
+
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
|
|
16
|
+
},
|
|
17
|
+
{
|
|
18
|
+
type: 'oper',
|
|
19
|
+
match: /[-+*/%~!&<>|=?,]+/g
|
|
20
|
+
},
|
|
21
|
+
{
|
|
22
|
+
type: 'func',
|
|
23
|
+
match: /[a-z_]+(?=\s*\()/g
|
|
24
|
+
}
|
|
25
|
+
]
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
export default [
|
|
2
|
+
{
|
|
3
|
+
match: /#.*/g,
|
|
4
|
+
sub: 'todo'
|
|
5
|
+
},
|
|
6
|
+
{
|
|
7
|
+
match: /("""|''')(\\[^]|(?!\1)[^])*\1?/g,
|
|
8
|
+
sub: 'todo'
|
|
9
|
+
},
|
|
10
|
+
{
|
|
11
|
+
type: 'str',
|
|
12
|
+
match: /f("|')(\\[^]|(?!\1).)*\1?|f((["'])\4\4)(\\[^]|(?!\3)[^])*\3?/gi,
|
|
13
|
+
sub: [
|
|
14
|
+
{
|
|
15
|
+
type: 'var',
|
|
16
|
+
match: /{[^{}]*}/g,
|
|
17
|
+
sub: [
|
|
18
|
+
{
|
|
19
|
+
match: /(?!^{)[^]*(?=}$)/g,
|
|
20
|
+
sub: 'py'
|
|
21
|
+
}
|
|
22
|
+
]
|
|
23
|
+
}
|
|
24
|
+
]
|
|
25
|
+
},
|
|
26
|
+
{
|
|
27
|
+
expand: 'str'
|
|
28
|
+
},
|
|
29
|
+
{
|
|
30
|
+
type: 'kwd',
|
|
31
|
+
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
|
|
32
|
+
},
|
|
33
|
+
{
|
|
34
|
+
type: 'bool',
|
|
35
|
+
match: /\b(False|True|None)\b/g
|
|
36
|
+
},
|
|
37
|
+
{
|
|
38
|
+
expand: 'num'
|
|
39
|
+
},
|
|
40
|
+
{
|
|
41
|
+
type: 'func',
|
|
42
|
+
match: /[a-z_]+(?=\s*\()/g
|
|
43
|
+
},
|
|
44
|
+
{
|
|
45
|
+
type: 'oper',
|
|
46
|
+
match: /[-/*+<>,=!&|^%]+/g
|
|
47
|
+
},
|
|
48
|
+
{
|
|
49
|
+
type: 'class',
|
|
50
|
+
match: /\b[A-Z]\w*\b/g
|
|
51
|
+
}
|
|
52
|
+
]
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
export default [
|
|
2
|
+
{
|
|
3
|
+
match: /^(?!\/).*/gm,
|
|
4
|
+
sub: 'todo'
|
|
5
|
+
},
|
|
6
|
+
{
|
|
7
|
+
type: 'num',
|
|
8
|
+
match: /\[((?!\])[^\\]|\\.)*\]/g
|
|
9
|
+
},
|
|
10
|
+
{
|
|
11
|
+
type: 'kwd',
|
|
12
|
+
match: /\||\^|\$|\\.|\w+($|\r|\n)/g
|
|
13
|
+
},
|
|
14
|
+
{
|
|
15
|
+
type: 'var',
|
|
16
|
+
match: /\*|\+|\{\d+,\d+\}/g
|
|
17
|
+
}
|
|
18
|
+
];
|
|
19
|
+
export let type = 'oper';
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
export default [
|
|
2
|
+
{
|
|
3
|
+
match: /\/\/.*\n?|\/\*((?!\*\/)[^])*(\*\/)?/g,
|
|
4
|
+
sub: 'todo'
|
|
5
|
+
},
|
|
6
|
+
{
|
|
7
|
+
expand: 'str'
|
|
8
|
+
},
|
|
9
|
+
{
|
|
10
|
+
expand: 'num'
|
|
11
|
+
},
|
|
12
|
+
{
|
|
13
|
+
type: 'kwd',
|
|
14
|
+
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
|
|
15
|
+
},
|
|
16
|
+
{
|
|
17
|
+
type: 'oper',
|
|
18
|
+
match: /[/*+:?&|%^~=!,<>.^-]+/g
|
|
19
|
+
},
|
|
20
|
+
{
|
|
21
|
+
type: 'class',
|
|
22
|
+
match: /\b[A-Z]\w*\b/g
|
|
23
|
+
},
|
|
24
|
+
{
|
|
25
|
+
type: 'func',
|
|
26
|
+
match: /[a-zA-Z_][\w_]*(?=\s*!?\s*\()/g
|
|
27
|
+
}
|
|
28
|
+
]
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
export default [
|
|
2
|
+
{
|
|
3
|
+
match: /--.*\n?|\/\*((?!\*\/)[^])*(\*\/)?/g,
|
|
4
|
+
sub: 'todo'
|
|
5
|
+
},
|
|
6
|
+
{
|
|
7
|
+
expand: 'str'
|
|
8
|
+
},
|
|
9
|
+
{
|
|
10
|
+
type: 'func',
|
|
11
|
+
match: /\b(AVG|COUNT|FIRST|FORMAT|LAST|LCASE|LEN|MAX|MID|MIN|MOD|NOW|ROUND|SUM|UCASE)(?=\s*\()/g
|
|
12
|
+
},
|
|
13
|
+
{
|
|
14
|
+
type: 'kwd',
|
|
15
|
+
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
|
|
16
|
+
},
|
|
17
|
+
{
|
|
18
|
+
type: 'num',
|
|
19
|
+
match: /\.?\d[\d.oxa-fA-F-]*|\bNULL\b/g
|
|
20
|
+
},
|
|
21
|
+
{
|
|
22
|
+
type: 'bool',
|
|
23
|
+
match: /\b(TRUE|FALSE)\b/g
|
|
24
|
+
},
|
|
25
|
+
{
|
|
26
|
+
type: 'oper',
|
|
27
|
+
match: /[-+*\/=%^~]|&&?|\|\|?|!=?|<(?:=>?|<|>)?|>[>=]?|\b(?:AND|BETWEEN|DIV|IN|ILIKE|IS|LIKE|NOT|OR|REGEXP|RLIKE|SOUNDS LIKE|XOR)\b/g
|
|
28
|
+
},
|
|
29
|
+
{
|
|
30
|
+
type: 'var',
|
|
31
|
+
match: /@\S+/g
|
|
32
|
+
}
|
|
33
|
+
]
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
export default [
|
|
2
|
+
{
|
|
3
|
+
type: 'err',
|
|
4
|
+
match: /\b(TODO|FIXME|DEBUG|OPTIMIZE|WARNING|XXX|BUG)\b/g
|
|
5
|
+
},
|
|
6
|
+
{
|
|
7
|
+
type: 'class',
|
|
8
|
+
match: /\bIDEA\b/g
|
|
9
|
+
},
|
|
10
|
+
{
|
|
11
|
+
type: 'insert',
|
|
12
|
+
match: /\b(CHANGED|FIX|CHANGE)\b/g
|
|
13
|
+
},
|
|
14
|
+
{
|
|
15
|
+
type: 'oper',
|
|
16
|
+
match: /\bQUESTION\b/g
|
|
17
|
+
}
|
|
18
|
+
];
|
|
19
|
+
export let type = 'cmnt';
|