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