@speed-highlight/core 1.1.7 → 1.1.9
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 +56 -9
- package/dist/color.js +1 -0
- package/dist/detect.js +1 -1
- package/dist/index.js +3 -3
- package/dist/languages/c.js +1 -1
- package/dist/languages/go.js +1 -1
- package/dist/languages/http.js +1 -1
- package/dist/languages/java.js +1 -1
- package/dist/languages/js.js +1 -1
- package/dist/languages/leanpub-md.js +1 -1
- package/dist/languages/md.js +2 -2
- package/dist/languages/py.js +1 -1
- package/dist/languages/rs.js +1 -1
- package/dist/languages/ts.js +1 -1
- package/dist/node/color.js +1 -0
- package/dist/node/common.js +1 -1
- package/dist/node/detect.js +1 -1
- package/dist/node/index.js +3 -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 +2 -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 +2 -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.js +1 -0
- package/dist/node/themes/atom-dark.js +1 -0
- package/dist/node/themes/default.js +1 -1
- package/dist/terminal.js +1 -0
- package/dist/themes/atom-dark.js +1 -0
- package/dist/themes/default.js +1 -1
- package/doc/common.js.html +87 -0
- package/doc/css/jsdoc-template.css +1 -0
- package/doc/css/tomorrow.min.css +2 -0
- package/doc/detect%0ALanguage%20detectormodule_.html +309 -0
- package/doc/detect.js.html +113 -0
- package/doc/global.html +1826 -0
- package/doc/index%0ABase%20scriptmodule_.html +1179 -0
- package/doc/index.html +402 -0
- package/doc/index.js.html +209 -0
- package/doc/js/jsdoc-template.js +2 -0
- package/doc/js/jsdoc-template.js.map +1 -0
- package/doc/js/prettify.min.js +47 -0
- package/doc/term%0ATerminal%20adaptormodule_.html +596 -0
- package/doc/term.js.html +108 -0
- package/examples/{helper/data.js → data.js} +28 -16
- package/examples/deno.js +53 -7
- package/examples/index.html +10 -7
- package/examples/languages/test.c +1 -1
- package/examples/languages/test.go +4 -4
- package/examples/languages/test.java +3 -3
- package/examples/node.js +1 -1
- package/jsdoc.json +16 -0
- package/package.json +42 -38
- package/src/color.js +11 -0
- package/src/detect.js +21 -5
- package/src/index.js +44 -38
- package/src/languages/c.js +1 -1
- package/src/languages/go.js +1 -1
- package/src/languages/java.js +1 -1
- package/src/languages/js.js +1 -1
- package/src/languages/py.js +1 -1
- package/src/languages/rs.js +1 -1
- package/src/terminal.js +42 -0
- package/src/themes/atom-dark.js +18 -0
- package/src/themes/default.js +16 -24
- package/typedef.js +34 -0
- package/assets/screenshot.png +0 -0
- package/dist/node/term.js +0 -1
- package/dist/term.js +0 -1
- package/examples/dist.html +0 -26
- package/src/term.js +0 -19
package/src/themes/default.js
CHANGED
|
@@ -1,26 +1,18 @@
|
|
|
1
|
-
|
|
2
|
-
red = '\x1b[31m',
|
|
3
|
-
green = '\x1b[32m',
|
|
4
|
-
gray = '\x1b[90m',
|
|
5
|
-
yellow = '\x1b[33m',
|
|
6
|
-
blue = '\x1b[34m',
|
|
7
|
-
magenta = '\x1b[35m',
|
|
8
|
-
cyan = '\x1b[36m',
|
|
9
|
-
white = '\x1b[37m';
|
|
1
|
+
import col from '../color.js'
|
|
10
2
|
|
|
11
3
|
export default {
|
|
12
|
-
deleted: red,
|
|
13
|
-
var: red,
|
|
14
|
-
err: red,
|
|
15
|
-
kwd: red,
|
|
16
|
-
num: yellow,
|
|
17
|
-
class: yellow,
|
|
18
|
-
cmnt: gray,
|
|
19
|
-
insert: green,
|
|
20
|
-
str: green,
|
|
21
|
-
bool: cyan,
|
|
22
|
-
type: blue,
|
|
23
|
-
oper: blue,
|
|
24
|
-
section: magenta,
|
|
25
|
-
func: magenta
|
|
26
|
-
}
|
|
4
|
+
deleted: col.red,
|
|
5
|
+
var: col.red,
|
|
6
|
+
err: col.red,
|
|
7
|
+
kwd: col.red,
|
|
8
|
+
num: col.yellow,
|
|
9
|
+
class: col.yellow,
|
|
10
|
+
cmnt: col.gray,
|
|
11
|
+
insert: col.green,
|
|
12
|
+
str: col.green,
|
|
13
|
+
bool: col.cyan,
|
|
14
|
+
type: col.blue,
|
|
15
|
+
oper: col.blue,
|
|
16
|
+
section: col.magenta,
|
|
17
|
+
func: col.magenta
|
|
18
|
+
}
|
package/typedef.js
ADDED
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @module _type
|
|
3
|
+
*/
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
* Languages supported
|
|
7
|
+
* @typedef {('asm'|'bash'|'bf'|'c'|'css'|'csv'|'diff'|'docker'|'git'|'go'|'html'|'http'|'ini'|'java'|'js'|'jsdoc'|'json'|'leanpub-md'|'log'|'lua'|'make'|'md'|'pl'|'plain'|'py'|'regex'|'rs'|'sql'|'todo'|'toml'|'ts'|'uri'|'xml'|'yaml')} ShjLanguage
|
|
8
|
+
*/
|
|
9
|
+
|
|
10
|
+
/**
|
|
11
|
+
* Themes supported in the browser
|
|
12
|
+
* @typedef {('atom-dark'|'github-dark'|'github-dim'|'dark'|'default'|'github-light'|'visual-studio-dark')} ShjBrowserTheme
|
|
13
|
+
*/
|
|
14
|
+
|
|
15
|
+
/**
|
|
16
|
+
* Languages supported
|
|
17
|
+
* @typedef {('default'|'atom-dark')} ShjTerminalTheme
|
|
18
|
+
*/
|
|
19
|
+
|
|
20
|
+
/**
|
|
21
|
+
* @typedef {('inline'|'oneline'|'multiline')} ShjDisplayMode
|
|
22
|
+
* * `inline` inside `code` element
|
|
23
|
+
* * `oneline` inside `div` element and containing only one line
|
|
24
|
+
* * `multiline` inside `div` element
|
|
25
|
+
*/
|
|
26
|
+
|
|
27
|
+
/**
|
|
28
|
+
* @typedef {('deleted'|'err'|'var'|'section'|'kwd'|'class'|'cmnt'|'insert'|'type'|'func'|'bool'|'num'|'oper'|'str'|'esc')} ShjToken
|
|
29
|
+
*/
|
|
30
|
+
|
|
31
|
+
/**
|
|
32
|
+
* @typedef {Object} ShjOptions
|
|
33
|
+
* @property {Boolean} [hideLineNumbers=false] Indicates whether to hide line numbers
|
|
34
|
+
*/
|
package/assets/screenshot.png
DELETED
|
Binary file
|
package/dist/node/term.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
var E=Object.create;var p=Object.defineProperty;var L=Object.getOwnPropertyDescriptor;var N=Object.getOwnPropertyNames;var C=Object.getPrototypeOf,H=Object.prototype.hasOwnProperty;var b=t=>p(t,"__esModule",{value:!0});var M=(t,e)=>()=>(t&&(e=t(t=0)),e);var y=(t,e)=>{for(var n in e)p(t,n,{get:e[n],enumerable:!0})},g=(t,e,n,r)=>{if(e&&typeof e=="object"||typeof e=="function")for(let a of N(e))!H.call(t,a)&&(n||a!=="default")&&p(t,a,{get:()=>e[a],enumerable:!(r=L(e,a))||r.enumerable});return t},m=(t,e)=>g(b(p(t!=null?E(C(t)):{},"default",!e&&t&&t.__esModule?{get:()=>t.default,enumerable:!0}:{value:t,enumerable:!0})),t),S=(t=>(e,n)=>t&&t.get(e)||(n=g(b({}),e,1),t&&t.set(e,n),n))(typeof WeakMap!="undefined"?new WeakMap:0);var I={};y(I,{default:()=>F});var d,$,W,j,v,A,q,F,T=M(()=>{d="\x1B[31m",$="\x1B[32m",W="\x1B[90m",j="\x1B[33m",v="\x1B[34m",A="\x1B[35m",q="\x1B[36m",F={deleted:d,var:d,err:d,kwd:d,num:j,class:j,cmnt:W,insert:$,str:$,bool:q,type:v,oper:v,section:A,func:A}});var B={};y(B,{highlightText:()=>D,printHighlight:()=>O,setTheme:()=>_});var w={num:{type:"num",match:/(\.e?|\b)\d(e-|[\d.oxa-fA-F_])*(\.|\b)/g},str:{type:"str",match:/(["'])(\\[^]|(?!\1)[^\r\n\\])*\1?/g},strDouble:{type:"str",match:/"((?!")[^\r\n\\]|\\[^])*"?/g}};var u={};async function f(t,e,n){var r;try{let a,l,i={},x,s=[],h=0,o=typeof e=="string"?await((r=u[e])!=null?r:u[e]=Promise.resolve().then(()=>m(require(`./languages/${e}.js`)))):e,c=[...typeof e=="string"?o.default:e.sub];for(;h<t.length;){for(i.index=null,a=c.length;a-- >0;){if(l=c[a].expand?w[c[a].expand]:c[a],s[a]===void 0||s[a].match.index<h){if(l.match.lastIndex=h,x=l.match.exec(t),x===null){c.splice(a,1),s.splice(a,1);continue}s[a]={match:x,lastIndex:l.match.lastIndex}}s[a].match[0]&&(s[a].match.index<=i.index||i.index===null)&&(i={part:l,index:s[a].match.index,match:s[a].match[0],end:s[a].lastIndex})}if(i.index===null)break;n(t.slice(h,i.index),o.type),h=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(h,t.length),o.type)}catch{n(t)}}var z=Promise.resolve().then(()=>(T(),I)),D=async(t,e)=>{let n="",r=(await z).default;return await f(t,e,(a,l)=>{var i;return n+=l?`${(i=r[l])!=null?i:""}${a}\x1B[0m`:a}),n},O=async(...t)=>console.log(await D(...t)),_=async t=>z=Promise.resolve().then(()=>m(require(`./themes/${t}.js`)));module.exports=S(B);0&&(module.exports={highlightText,printHighlight,setTheme});
|
package/dist/term.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
var v=Object.defineProperty;var A=(e,i)=>()=>(e&&(i=e(e=0)),i);var I=(e,i)=>{for(var n in i)v(e,n,{get:i[n],enumerable:!0})};var w={};I(w,{default:()=>D});var p,f,T,b,y,g,z,D,$=A(()=>{p="\x1B[31m",f="\x1B[32m",T="\x1B[90m",b="\x1B[33m",y="\x1B[34m",g="\x1B[35m",z="\x1B[36m",D={deleted:p,var:p,err:p,kwd:p,num:b,class:b,cmnt:T,insert:f,str:f,bool:z,type:y,oper:y,section:g,func: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 x={};async function o(e,i,n){var c;try{let a,l,t={},m,s=[],r=0,d=typeof i=="string"?await((c=x[i])!=null?c:x[i]=import(`./languages/${i}.js`)):i,h=[...typeof i=="string"?d.default:i.sub];for(;r<e.length;){for(t.index=null,a=h.length;a-- >0;){if(l=h[a].expand?u[h[a].expand]:h[a],s[a]===void 0||s[a].match.index<r){if(l.match.lastIndex=r,m=l.match.exec(e),m===null){h.splice(a,1),s.splice(a,1);continue}s[a]={match:m,lastIndex:l.match.lastIndex}}s[a].match[0]&&(s[a].match.index<=t.index||t.index===null)&&(t={part:l,index:s[a].match.index,match:s[a].match[0],end:s[a].lastIndex})}if(t.index===null)break;n(e.slice(r,t.index),d.type),r=t.end,t.part.sub?await o(t.match,typeof t.part.sub=="string"?t.part.sub:typeof t.part.sub=="function"?t.part.sub(t.match):t.part,n):n(t.match,t.part.type)}n(e.slice(r,e.length),d.type)}catch{n(e)}}var j=Promise.resolve().then(()=>($(),w)),E=async(e,i)=>{let n="",c=(await j).default;return await o(e,i,(a,l)=>{var t;return n+=l?`${(t=c[l])!=null?t:""}${a}\x1B[0m`:a}),n},S=async(...e)=>console.log(await E(...e)),W=async e=>j=import(`./themes/${e}.js`);export{E as highlightText,S as printHighlight,W as setTheme};
|
package/examples/dist.html
DELETED
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
<!DOCTYPE html>
|
|
2
|
-
<html lang="en">
|
|
3
|
-
<head>
|
|
4
|
-
<meta charset="UTF-8">
|
|
5
|
-
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
6
|
-
<link rel="stylesheet" href="../dist/themes/atom-dark.css">
|
|
7
|
-
<title>Highlight all | Speed highlight JS</title>
|
|
8
|
-
<style>
|
|
9
|
-
p {font: 20px Arial}
|
|
10
|
-
</style>
|
|
11
|
-
</head>
|
|
12
|
-
<body>
|
|
13
|
-
<div class="shj-lang-js">import { setTheme, highlightAll } from '/path/index.js'
|
|
14
|
-
setTheme('/path/themes/default.css');
|
|
15
|
-
highlightAll();</div>
|
|
16
|
-
|
|
17
|
-
<div class="shj-lang-csv">test,test,test</div>
|
|
18
|
-
|
|
19
|
-
<p>Hello world <code class="shj-lang-js">highlightAll()</code> Hello world <code class="shj-lang-regex">/([A-Z])\w+\d{0,9}/gi</code> Hello world <code class="shj-lang-js">reallyLongInlineCode?.()</code></p>
|
|
20
|
-
|
|
21
|
-
<script type="module">
|
|
22
|
-
import { highlightAll } from '../dist/index.js';
|
|
23
|
-
highlightAll();
|
|
24
|
-
</script>
|
|
25
|
-
</body>
|
|
26
|
-
</html>
|
package/src/term.js
DELETED
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Deno adaptation
|
|
3
|
-
*/
|
|
4
|
-
|
|
5
|
-
import { tokenize } from './index.js';
|
|
6
|
-
|
|
7
|
-
let theme = import('./themes/default.js');
|
|
8
|
-
|
|
9
|
-
export const highlightText = async (src, lang) => {
|
|
10
|
-
let res = '', themeMap = (await theme).default;
|
|
11
|
-
|
|
12
|
-
await tokenize(src, lang, (str, token) => res += token ? `${themeMap[token] ?? ''}${str}\x1b[0m` : str);
|
|
13
|
-
|
|
14
|
-
return res;
|
|
15
|
-
};
|
|
16
|
-
|
|
17
|
-
export const printHighlight = async (...arg) => console.log(await highlightText(...arg));
|
|
18
|
-
|
|
19
|
-
export const setTheme = async name => theme = import(`./themes/${name}.js`);
|