Skip to content

Commit a56a9ae

Browse files
committed
add distribution generation script
1 parent 925a338 commit a56a9ae

File tree

8 files changed

+76
-36
lines changed

8 files changed

+76
-36
lines changed

Makefile

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,4 +7,7 @@ run:
77
# python -m http.server 8000 # Python 3
88

99
test:
10-
bash ./scripts/test.sh
10+
bash ./scripts/test.sh
11+
12+
gen:
13+
bash ./scripts/gen.sh

dist/rascript.es.min.js

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
/*! `rascript` grammar compiled for Highlight.js 11.11.1 */
2+
var hljsGrammar=(()=>{"use strict";return e=>({case_insensitive:!1,
3+
contains:[e.C_LINE_COMMENT_MODE,e.QUOTE_STRING_MODE,e.C_NUMBER_MODE,e.COMMENT("/\\*","\\*/"),{
4+
className:"variable.language",begin:/\b(this)\b/},{className:"keyword",
5+
begin:/\b(function|class|else|for|if|in|return)\b/},{className:"literal",
6+
begin:/\b(true|false)\b/},{className:"operator",
7+
begin:/(\|\||\&\&|\=\=|\!\=|\>\=|\<\=|\=\>)/},{scope:"operator",
8+
match:/[\+\-\*\/\%\^\&\^\~\>\<\!\|]/,relevance:0},{
9+
begin:[/function[\t ]+/,/[a-zA-Z_][\w]*/,/\(/],beginScope:{2:"title.function"}
10+
},{begin:[/class[\t ]+/,/[a-zA-Z_][\w]*/],beginScope:{2:"title.class"}},{
11+
begin:[/[a-zA-Z_][\w]*/,/\(/],beginScope:{1:"title.function.invoke"}},{
12+
className:"variable",begin:/[a-zA-Z_][\w]*/,relevance:0}]})})()
13+
;export default hljsGrammar;

dist/rascript.min.js

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
/*! `rascript` grammar compiled for Highlight.js 11.11.1 */
2+
(()=>{var e=(()=>{"use strict";return e=>({case_insensitive:!1,
3+
contains:[e.C_LINE_COMMENT_MODE,e.QUOTE_STRING_MODE,e.C_NUMBER_MODE,e.COMMENT("/\\*","\\*/"),{
4+
className:"variable.language",begin:/\b(this)\b/},{className:"keyword",
5+
begin:/\b(function|class|else|for|if|in|return)\b/},{className:"literal",
6+
begin:/\b(true|false)\b/},{className:"operator",
7+
begin:/(\|\||\&\&|\=\=|\!\=|\>\=|\<\=|\=\>)/},{scope:"operator",
8+
match:/[\+\-\*\/\%\^\&\^\~\>\<\!\|]/,relevance:0},{
9+
begin:[/function[\t ]+/,/[a-zA-Z_][\w]*/,/\(/],beginScope:{2:"title.function"}
10+
},{begin:[/class[\t ]+/,/[a-zA-Z_][\w]*/],beginScope:{2:"title.class"}},{
11+
begin:[/[a-zA-Z_][\w]*/,/\(/],beginScope:{1:"title.function.invoke"}},{
12+
className:"variable",begin:/[a-zA-Z_][\w]*/,relevance:0}]})})()
13+
;hljs.registerLanguage("rascript",e)})();

index.html

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,8 @@
11
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/11.9.0/styles/obsidian.min.css">
22
<script src="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/11.9.0/highlight.min.js"></script>
3+
<script src="dist/rascript.min.js"></script>
34
<script type="module">
4-
import rascript from "./src/languages/rascript.js";
5-
hljs.registerLanguage("rascript", rascript);
6-
hljs.initHighlightingOnLoad();
5+
hljs.highlightAll();
76
</script>
87
<pre>
98
<code class="language-rascript">

scripts/gen.sh

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
#!/bin/bash
2+
3+
bash ./scripts/setup.sh
4+
5+
export PLAYGROUND="playground"
6+
export HIGHLIGHTJS_RASCRIPT="${PLAYGROUND}/extra/highlightjs-rascript"
7+
8+
rm -rf dist
9+
mkdir -p dist
10+
cd ${PLAYGROUND}
11+
node ./tools/build.js -t cdn
12+
cd ..
13+
cp -r ${HIGHLIGHTJS_RASCRIPT}/dist/*.js dist

scripts/setup.sh

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
#!/bin/bash
2+
3+
export PLAYGROUND="playground"
4+
export HIGHLIGHTJS_RASCRIPT="${PLAYGROUND}/extra/highlightjs-rascript"
5+
6+
rm -rf ${PLAYGROUND}
7+
mkdir -p ${PLAYGROUND}
8+
git clone https://github.com/highlightjs/highlight.js ${PLAYGROUND}
9+
mkdir -p ${HIGHLIGHTJS_RASCRIPT}
10+
cp -r src ${HIGHLIGHTJS_RASCRIPT}
11+
cp -r test ${HIGHLIGHTJS_RASCRIPT}
12+
cd ${PLAYGROUND}
13+
npm ci

scripts/test.sh

Lines changed: 11 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,18 @@
11
#!/bin/bash
22

3+
bash ./scripts/setup.sh
4+
35
export PLAYGROUND="playground"
46
export HIGHLIGHTJS_RASCRIPT="${PLAYGROUND}/extra/highlightjs-rascript"
57

6-
rm -rf ${PLAYGROUND}
7-
mkdir -p ${PLAYGROUND}
8-
git clone https://github.com/highlightjs/highlight.js ${PLAYGROUND}
9-
mkdir -p ${HIGHLIGHTJS_RASCRIPT}
10-
cp -r src ${HIGHLIGHTJS_RASCRIPT}
11-
cp -r test ${HIGHLIGHTJS_RASCRIPT}
128
cd ${PLAYGROUND}
13-
npm ci
14-
# node ./tools/build.js -t node
9+
node ./tools/build.js -t cdn
1510
npm run build_and_test
16-
# npm i
17-
# npm run build
18-
# npm run test
19-
# cp ../../src/rascript.js src/languages
20-
# node --stack-size=65500 ./tools/build.js -t cdn
11+
if [ $? -ne 0 ]; then
12+
exit 1
13+
fi
14+
cd ..
15+
diff -q "dist/rascript.min.js" "${HIGHLIGHTJS_RASCRIPT}/dist/rascript.min.js"
16+
if [ $? -ne 0 ]; then
17+
exit 1
18+
fi

src/languages/rascript.js

Lines changed: 7 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -7,11 +7,6 @@ export default function(hljs) {
77
return {
88
case_insensitive: false,
99
contains: [
10-
// assign relavence to these keywords without giving them a "style" scope
11-
{
12-
begin: /\b(dword\(|word\()\b/,
13-
relavence: 10
14-
},
1510
hljs.C_LINE_COMMENT_MODE,
1611
hljs.QUOTE_STRING_MODE,
1712
hljs.C_NUMBER_MODE,
@@ -21,23 +16,19 @@ export default function(hljs) {
2116
),
2217
{
2318
className: 'variable.language',
24-
begin: /\b(this)\b/,
25-
relevance: 0
19+
begin: /\b(this)\b/
2620
},
2721
{
2822
className: 'keyword',
29-
begin: /\b(function|class|else|for|if|in|return)\b/,
30-
relevance: 0
23+
begin: /\b(function|class|else|for|if|in|return)\b/
3124
},
3225
{
3326
className: 'literal',
34-
begin: /\b(true|false)\b/,
35-
relevance: 0
27+
begin: /\b(true|false)\b/
3628
},
3729
{
3830
className: 'operator',
39-
begin: /(\|\||\&\&|\=\=|\!\=|\>\=|\<\=|\=\>)/,
40-
relevance: 0
31+
begin: /(\|\||\&\&|\=\=|\!\=|\>\=|\<\=|\=\>)/
4132
},
4233
{
4334
scope: 'operator',
@@ -52,8 +43,7 @@ export default function(hljs) {
5243
],
5344
beginScope: {
5445
2: "title.function"
55-
},
56-
relevance: 0
46+
}
5747
},
5848
{
5949
begin: [
@@ -62,8 +52,7 @@ export default function(hljs) {
6252
],
6353
beginScope: {
6454
2: "title.class"
65-
},
66-
relevance: 0
55+
}
6756
},
6857
{
6958
begin: [
@@ -72,8 +61,7 @@ export default function(hljs) {
7261
],
7362
beginScope: {
7463
1: "title.function.invoke"
75-
},
76-
relevance: 0
64+
}
7765
},
7866
{
7967
className: 'variable',

0 commit comments

Comments
 (0)