repl-sdk 1.0.1 → 1.0.3
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/package.json +12 -20
- package/dist/apl-fqmucPXA.js +0 -141
- package/dist/apl-fqmucPXA.js.map +0 -1
- package/dist/asciiarmor-DucZyvP0.js +0 -57
- package/dist/asciiarmor-DucZyvP0.js.map +0 -1
- package/dist/asn1-BnOEsgAm.js +0 -145
- package/dist/asn1-BnOEsgAm.js.map +0 -1
- package/dist/assets/tar-worker-CxTcoQcr.js +0 -593
- package/dist/assets/tar-worker-CxTcoQcr.js.map +0 -1
- package/dist/asterisk-QAlztEwS.js +0 -346
- package/dist/asterisk-QAlztEwS.js.map +0 -1
- package/dist/brainfuck-DZVCuF_t.js +0 -54
- package/dist/brainfuck-DZVCuF_t.js.map +0 -1
- package/dist/clike-CTYGlS6x.js +0 -800
- package/dist/clike-CTYGlS6x.js.map +0 -1
- package/dist/clojure-BhXMqnxz.js +0 -850
- package/dist/clojure-BhXMqnxz.js.map +0 -1
- package/dist/cmake-BGaNd9E7.js +0 -72
- package/dist/cmake-BGaNd9E7.js.map +0 -1
- package/dist/cobol-4yqQntpt.js +0 -121
- package/dist/cobol-4yqQntpt.js.map +0 -1
- package/dist/codemirror-De3S70Np.js +0 -2912
- package/dist/codemirror-De3S70Np.js.map +0 -1
- package/dist/coffeescript-D2dXvhEc.js +0 -309
- package/dist/coffeescript-D2dXvhEc.js.map +0 -1
- package/dist/commonlisp-CF_VNHQR.js +0 -131
- package/dist/commonlisp-CF_VNHQR.js.map +0 -1
- package/dist/crystal-DyuLTqLs.js +0 -399
- package/dist/crystal-DyuLTqLs.js.map +0 -1
- package/dist/css-DkSyTW67.js +0 -1773
- package/dist/css-DkSyTW67.js.map +0 -1
- package/dist/cypher-Dlu_3r4V.js +0 -122
- package/dist/cypher-Dlu_3r4V.js.map +0 -1
- package/dist/d-UURgV0Ux.js +0 -180
- package/dist/d-UURgV0Ux.js.map +0 -1
- package/dist/diff-B_Bi2Crb.js +0 -26
- package/dist/diff-B_Bi2Crb.js.map +0 -1
- package/dist/dockerfile-Bvk733Ga.js +0 -202
- package/dist/dockerfile-Bvk733Ga.js.map +0 -1
- package/dist/dtd-Dy74G54E.js +0 -115
- package/dist/dtd-Dy74G54E.js.map +0 -1
- package/dist/dylan-TSb-Nfix.js +0 -315
- package/dist/dylan-TSb-Nfix.js.map +0 -1
- package/dist/ebnf-4fKAGW3a.js +0 -141
- package/dist/ebnf-4fKAGW3a.js.map +0 -1
- package/dist/ecl-B59qGGVg.js +0 -179
- package/dist/ecl-B59qGGVg.js.map +0 -1
- package/dist/eiffel-Dze7nlu3.js +0 -135
- package/dist/eiffel-Dze7nlu3.js.map +0 -1
- package/dist/elm-DG7jkhNZ.js +0 -177
- package/dist/elm-DG7jkhNZ.js.map +0 -1
- package/dist/erlang-BO6gOnGA.js +0 -675
- package/dist/erlang-BO6gOnGA.js.map +0 -1
- package/dist/factor-CMxFHDqz.js +0 -66
- package/dist/factor-CMxFHDqz.js.map +0 -1
- package/dist/fcl-CDDUNjTj.js +0 -142
- package/dist/fcl-CDDUNjTj.js.map +0 -1
- package/dist/forth-B9D2JCeE.js +0 -117
- package/dist/forth-B9D2JCeE.js.map +0 -1
- package/dist/fortran-CAG2BFbe.js +0 -468
- package/dist/fortran-CAG2BFbe.js.map +0 -1
- package/dist/gas-0Aw8zDr5.js +0 -294
- package/dist/gas-0Aw8zDr5.js.map +0 -1
- package/dist/gherkin-DhZlEZiy.js +0 -116
- package/dist/gherkin-DhZlEZiy.js.map +0 -1
- package/dist/gjs-DfguZDLq.js +0 -173
- package/dist/gjs-DfguZDLq.js.map +0 -1
- package/dist/gmd-Yas-Oo8k.js +0 -163
- package/dist/gmd-Yas-Oo8k.js.map +0 -1
- package/dist/groovy-CpwJiBl7.js +0 -224
- package/dist/groovy-CpwJiBl7.js.map +0 -1
- package/dist/haskell-ySd-OUo8.js +0 -460
- package/dist/haskell-ySd-OUo8.js.map +0 -1
- package/dist/haxe-7MlzfeYV.js +0 -515
- package/dist/haxe-7MlzfeYV.js.map +0 -1
- package/dist/hbs-CxcmWxSJ.js +0 -62
- package/dist/hbs-CxcmWxSJ.js.map +0 -1
- package/dist/http-BqypyemW.js +0 -80
- package/dist/http-BqypyemW.js.map +0 -1
- package/dist/idl-4HIGJlDI.js +0 -986
- package/dist/idl-4HIGJlDI.js.map +0 -1
- package/dist/index-B3Meoznj.js +0 -118
- package/dist/index-B3Meoznj.js.map +0 -1
- package/dist/index-BQyfDUUx.js +0 -692
- package/dist/index-BQyfDUUx.js.map +0 -1
- package/dist/index-BRDroAD8.js +0 -305
- package/dist/index-BRDroAD8.js.map +0 -1
- package/dist/index-BRMAzRyM.js +0 -179
- package/dist/index-BRMAzRyM.js.map +0 -1
- package/dist/index-Bb8uYQgv.js +0 -927
- package/dist/index-Bb8uYQgv.js.map +0 -1
- package/dist/index-BlOjO66K.js +0 -17618
- package/dist/index-BlOjO66K.js.map +0 -1
- package/dist/index-BoGWnSNL.js +0 -706
- package/dist/index-BoGWnSNL.js.map +0 -1
- package/dist/index-BsRrEiOu.js +0 -98
- package/dist/index-BsRrEiOu.js.map +0 -1
- package/dist/index-C2sFZMth.js +0 -391
- package/dist/index-C2sFZMth.js.map +0 -1
- package/dist/index-C7xwOjmS.js +0 -291
- package/dist/index-C7xwOjmS.js.map +0 -1
- package/dist/index-CA3lFUx6.js +0 -315
- package/dist/index-CA3lFUx6.js.map +0 -1
- package/dist/index-CB-pPTIf.js +0 -98
- package/dist/index-CB-pPTIf.js.map +0 -1
- package/dist/index-CCa6x1FE.js +0 -386
- package/dist/index-CCa6x1FE.js.map +0 -1
- package/dist/index-CD4DINI1.js +0 -158
- package/dist/index-CD4DINI1.js.map +0 -1
- package/dist/index-CE0B_fcG.js +0 -328
- package/dist/index-CE0B_fcG.js.map +0 -1
- package/dist/index-CVGAEPMV.js +0 -2139
- package/dist/index-CVGAEPMV.js.map +0 -1
- package/dist/index-CmaT2afn.js +0 -332
- package/dist/index-CmaT2afn.js.map +0 -1
- package/dist/index-D8sUxXp5.js +0 -83
- package/dist/index-D8sUxXp5.js.map +0 -1
- package/dist/index-DIz8Vpn-.js +0 -737
- package/dist/index-DIz8Vpn-.js.map +0 -1
- package/dist/index-DNP1xT-S.js +0 -408
- package/dist/index-DNP1xT-S.js.map +0 -1
- package/dist/index-DOAqdvnQ.js +0 -862
- package/dist/index-DOAqdvnQ.js.map +0 -1
- package/dist/index-DVUMFbgi.js +0 -152
- package/dist/index-DVUMFbgi.js.map +0 -1
- package/dist/index-VeTBKRVd.js +0 -83
- package/dist/index-VeTBKRVd.js.map +0 -1
- package/dist/index-dXZeR7Bx.js +0 -1767
- package/dist/index-dXZeR7Bx.js.map +0 -1
- package/dist/index-gtqbIb6T.js +0 -62
- package/dist/index-gtqbIb6T.js.map +0 -1
- package/dist/index-pN_pUAQ7.js +0 -2426
- package/dist/index-pN_pUAQ7.js.map +0 -1
- package/dist/index-wasu5VX0.js +0 -1150
- package/dist/index-wasu5VX0.js.map +0 -1
- package/dist/javascript-Bt8B7yTi.js +0 -993
- package/dist/javascript-Bt8B7yTi.js.map +0 -1
- package/dist/julia-Bs6JJhYG.js +0 -408
- package/dist/julia-Bs6JJhYG.js.map +0 -1
- package/dist/livescript-DmzgM3Yt.js +0 -297
- package/dist/livescript-DmzgM3Yt.js.map +0 -1
- package/dist/lua-8cJgIlqe.js +0 -257
- package/dist/lua-8cJgIlqe.js.map +0 -1
- package/dist/mathematica-DNLOL9PQ.js +0 -111
- package/dist/mathematica-DNLOL9PQ.js.map +0 -1
- package/dist/mbox-Ga7d4MMN.js +0 -118
- package/dist/mbox-Ga7d4MMN.js.map +0 -1
- package/dist/mirc-Dma3B8rS.js +0 -108
- package/dist/mirc-Dma3B8rS.js.map +0 -1
- package/dist/mllike-DHn7xckP.js +0 -335
- package/dist/mllike-DHn7xckP.js.map +0 -1
- package/dist/modelica-0d55jYY0.js +0 -148
- package/dist/modelica-0d55jYY0.js.map +0 -1
- package/dist/mscgen-DdqZYINH.js +0 -136
- package/dist/mscgen-DdqZYINH.js.map +0 -1
- package/dist/mumps-Btr8VblO.js +0 -94
- package/dist/mumps-Btr8VblO.js.map +0 -1
- package/dist/nginx-DTDtBDVN.js +0 -142
- package/dist/nginx-DTDtBDVN.js.map +0 -1
- package/dist/nsis-3zG7tgur.js +0 -63
- package/dist/nsis-3zG7tgur.js.map +0 -1
- package/dist/ntriples-CvgOYMpL.js +0 -154
- package/dist/ntriples-CvgOYMpL.js.map +0 -1
- package/dist/octave-DYBj3-tl.js +0 -201
- package/dist/octave-DYBj3-tl.js.map +0 -1
- package/dist/oz-R_e8WMIi.js +0 -232
- package/dist/oz-R_e8WMIi.js.map +0 -1
- package/dist/parse-CAqQaKsh.js +0 -21685
- package/dist/parse-CAqQaKsh.js.map +0 -1
- package/dist/pascal-GD8iposT.js +0 -106
- package/dist/pascal-GD8iposT.js.map +0 -1
- package/dist/perl-DL9mHpoi.js +0 -1106
- package/dist/perl-DL9mHpoi.js.map +0 -1
- package/dist/pig-C_4T4YIV.js +0 -102
- package/dist/pig-C_4T4YIV.js.map +0 -1
- package/dist/powershell-B0suO7Vd.js +0 -329
- package/dist/powershell-B0suO7Vd.js.map +0 -1
- package/dist/properties-BR-vP1aU.js +0 -59
- package/dist/properties-BR-vP1aU.js.map +0 -1
- package/dist/protobuf-BxgpyhoW.js +0 -78
- package/dist/protobuf-BxgpyhoW.js.map +0 -1
- package/dist/pug-vHnWR0UE.js +0 -406
- package/dist/pug-vHnWR0UE.js.map +0 -1
- package/dist/puppet-Bdao66PW.js +0 -138
- package/dist/puppet-Bdao66PW.js.map +0 -1
- package/dist/python-BFGRmuZ9.js +0 -427
- package/dist/python-BFGRmuZ9.js.map +0 -1
- package/dist/q-CrbCVq4a.js +0 -132
- package/dist/q-CrbCVq4a.js.map +0 -1
- package/dist/r-V7nswm59.js +0 -171
- package/dist/r-V7nswm59.js.map +0 -1
- package/dist/render-app-island-B-i8rvGi.js +0 -61
- package/dist/render-app-island-B-i8rvGi.js.map +0 -1
- package/dist/repl-sdk.js +0 -7
- package/dist/repl-sdk.js.map +0 -1
- package/dist/rpm-C-DLY-If.js +0 -110
- package/dist/rpm-C-DLY-If.js.map +0 -1
- package/dist/ruby-JDKLJNK0.js +0 -331
- package/dist/ruby-JDKLJNK0.js.map +0 -1
- package/dist/sas-D2UG-yhZ.js +0 -208
- package/dist/sas-D2UG-yhZ.js.map +0 -1
- package/dist/scheme-BKzrkGJD.js +0 -223
- package/dist/scheme-BKzrkGJD.js.map +0 -1
- package/dist/shell-BlsXDxCn.js +0 -223
- package/dist/shell-BlsXDxCn.js.map +0 -1
- package/dist/sieve-CjwBwOY5.js +0 -136
- package/dist/sieve-CjwBwOY5.js.map +0 -1
- package/dist/simple-mode-DMneyfDu.js +0 -131
- package/dist/simple-mode-DMneyfDu.js.map +0 -1
- package/dist/smalltalk-BOIGQuhN.js +0 -122
- package/dist/smalltalk-BOIGQuhN.js.map +0 -1
- package/dist/solr-CwD7U71z.js +0 -70
- package/dist/solr-CwD7U71z.js.map +0 -1
- package/dist/sparql-DYskk2vE.js +0 -250
- package/dist/sparql-DYskk2vE.js.map +0 -1
- package/dist/spreadsheet-Bgtt3oLP.js +0 -88
- package/dist/spreadsheet-Bgtt3oLP.js.map +0 -1
- package/dist/sql-Cei9CMfk.js +0 -343
- package/dist/sql-Cei9CMfk.js.map +0 -1
- package/dist/stex-C1nZSzAw.js +0 -231
- package/dist/stex-C1nZSzAw.js.map +0 -1
- package/dist/stylus-BkS-boTH.js +0 -566
- package/dist/stylus-BkS-boTH.js.map +0 -1
- package/dist/swift-FRZi1uvB.js +0 -292
- package/dist/swift-FRZi1uvB.js.map +0 -1
- package/dist/tcl-CUcaCdmq.js +0 -115
- package/dist/tcl-CUcaCdmq.js.map +0 -1
- package/dist/textile-BnFpjsrl.js +0 -415
- package/dist/textile-BnFpjsrl.js.map +0 -1
- package/dist/tiddlywiki-CjprD-Qp.js +0 -219
- package/dist/tiddlywiki-CjprD-Qp.js.map +0 -1
- package/dist/tiki-DK9DOeWn.js +0 -269
- package/dist/tiki-DK9DOeWn.js.map +0 -1
- package/dist/toml-BOuWGMcf.js +0 -77
- package/dist/toml-BOuWGMcf.js.map +0 -1
- package/dist/troff-E1bJ0PPL.js +0 -62
- package/dist/troff-E1bJ0PPL.js.map +0 -1
- package/dist/ttcn-cfg-Dc39-fIP.js +0 -134
- package/dist/ttcn-cfg-Dc39-fIP.js.map +0 -1
- package/dist/ttcn-tKd4HLu4.js +0 -193
- package/dist/ttcn-tKd4HLu4.js.map +0 -1
- package/dist/turtle-Dq7-1WAf.js +0 -125
- package/dist/turtle-Dq7-1WAf.js.map +0 -1
- package/dist/vb-Dp90gtsv.js +0 -197
- package/dist/vb-Dp90gtsv.js.map +0 -1
- package/dist/vbscript-Bfn8O8I7.js +0 -479
- package/dist/vbscript-Bfn8O8I7.js.map +0 -1
- package/dist/velocity-BwIZK1TH.js +0 -150
- package/dist/velocity-BwIZK1TH.js.map +0 -1
- package/dist/verilog-CnT9bMk0.js +0 -430
- package/dist/verilog-CnT9bMk0.js.map +0 -1
- package/dist/vhdl-DCkMIyT9.js +0 -159
- package/dist/vhdl-DCkMIyT9.js.map +0 -1
- package/dist/webidl-BTLTThCm.js +0 -205
- package/dist/webidl-BTLTThCm.js.map +0 -1
- package/dist/xquery-BrBUuxMR.js +0 -526
- package/dist/xquery-BrBUuxMR.js.map +0 -1
- package/dist/yacas-b5lAVEIl.js +0 -131
- package/dist/yacas-b5lAVEIl.js.map +0 -1
- package/dist/z80-ClgwfNdB.js +0 -93
- package/dist/z80-ClgwfNdB.js.map +0 -1
|
@@ -1,309 +0,0 @@
|
|
|
1
|
-
var ERRORCLASS = "error";
|
|
2
|
-
function wordRegexp(words) {
|
|
3
|
-
return new RegExp("^((" + words.join(")|(") + "))\\b");
|
|
4
|
-
}
|
|
5
|
-
var operators = /^(?:->|=>|\+[+=]?|-[\-=]?|\*[\*=]?|\/[\/=]?|[=!]=|<[><]?=?|>>?=?|%=?|&=?|\|=?|\^=?|\~|!|\?|(or|and|\|\||&&|\?)=)/;
|
|
6
|
-
var delimiters = /^(?:[()\[\]{},:`=;]|\.\.?\.?)/;
|
|
7
|
-
var identifiers = /^[_A-Za-z$][_A-Za-z$0-9]*/;
|
|
8
|
-
var atProp = /^@[_A-Za-z$][_A-Za-z$0-9]*/;
|
|
9
|
-
var wordOperators = wordRegexp([
|
|
10
|
-
"and",
|
|
11
|
-
"or",
|
|
12
|
-
"not",
|
|
13
|
-
"is",
|
|
14
|
-
"isnt",
|
|
15
|
-
"in",
|
|
16
|
-
"instanceof",
|
|
17
|
-
"typeof"
|
|
18
|
-
]);
|
|
19
|
-
var indentKeywords = [
|
|
20
|
-
"for",
|
|
21
|
-
"while",
|
|
22
|
-
"loop",
|
|
23
|
-
"if",
|
|
24
|
-
"unless",
|
|
25
|
-
"else",
|
|
26
|
-
"switch",
|
|
27
|
-
"try",
|
|
28
|
-
"catch",
|
|
29
|
-
"finally",
|
|
30
|
-
"class"
|
|
31
|
-
];
|
|
32
|
-
var commonKeywords = [
|
|
33
|
-
"break",
|
|
34
|
-
"by",
|
|
35
|
-
"continue",
|
|
36
|
-
"debugger",
|
|
37
|
-
"delete",
|
|
38
|
-
"do",
|
|
39
|
-
"in",
|
|
40
|
-
"of",
|
|
41
|
-
"new",
|
|
42
|
-
"return",
|
|
43
|
-
"then",
|
|
44
|
-
"this",
|
|
45
|
-
"@",
|
|
46
|
-
"throw",
|
|
47
|
-
"when",
|
|
48
|
-
"until",
|
|
49
|
-
"extends"
|
|
50
|
-
];
|
|
51
|
-
var keywords = wordRegexp(indentKeywords.concat(commonKeywords));
|
|
52
|
-
indentKeywords = wordRegexp(indentKeywords);
|
|
53
|
-
var stringPrefixes = /^('{3}|\"{3}|['\"])/;
|
|
54
|
-
var regexPrefixes = /^(\/{3}|\/)/;
|
|
55
|
-
var commonConstants = ["Infinity", "NaN", "undefined", "null", "true", "false", "on", "off", "yes", "no"];
|
|
56
|
-
var constants = wordRegexp(commonConstants);
|
|
57
|
-
function tokenBase(stream, state) {
|
|
58
|
-
if (stream.sol()) {
|
|
59
|
-
if (state.scope.align === null) state.scope.align = false;
|
|
60
|
-
var scopeOffset = state.scope.offset;
|
|
61
|
-
if (stream.eatSpace()) {
|
|
62
|
-
var lineOffset = stream.indentation();
|
|
63
|
-
if (lineOffset > scopeOffset && state.scope.type == "coffee") {
|
|
64
|
-
return "indent";
|
|
65
|
-
} else if (lineOffset < scopeOffset) {
|
|
66
|
-
return "dedent";
|
|
67
|
-
}
|
|
68
|
-
return null;
|
|
69
|
-
} else {
|
|
70
|
-
if (scopeOffset > 0) {
|
|
71
|
-
dedent(stream, state);
|
|
72
|
-
}
|
|
73
|
-
}
|
|
74
|
-
}
|
|
75
|
-
if (stream.eatSpace()) {
|
|
76
|
-
return null;
|
|
77
|
-
}
|
|
78
|
-
var ch = stream.peek();
|
|
79
|
-
if (stream.match("####")) {
|
|
80
|
-
stream.skipToEnd();
|
|
81
|
-
return "comment";
|
|
82
|
-
}
|
|
83
|
-
if (stream.match("###")) {
|
|
84
|
-
state.tokenize = longComment;
|
|
85
|
-
return state.tokenize(stream, state);
|
|
86
|
-
}
|
|
87
|
-
if (ch === "#") {
|
|
88
|
-
stream.skipToEnd();
|
|
89
|
-
return "comment";
|
|
90
|
-
}
|
|
91
|
-
if (stream.match(/^-?[0-9\.]/, false)) {
|
|
92
|
-
var floatLiteral = false;
|
|
93
|
-
if (stream.match(/^-?\d*\.\d+(e[\+\-]?\d+)?/i)) {
|
|
94
|
-
floatLiteral = true;
|
|
95
|
-
}
|
|
96
|
-
if (stream.match(/^-?\d+\.\d*/)) {
|
|
97
|
-
floatLiteral = true;
|
|
98
|
-
}
|
|
99
|
-
if (stream.match(/^-?\.\d+/)) {
|
|
100
|
-
floatLiteral = true;
|
|
101
|
-
}
|
|
102
|
-
if (floatLiteral) {
|
|
103
|
-
if (stream.peek() == ".") {
|
|
104
|
-
stream.backUp(1);
|
|
105
|
-
}
|
|
106
|
-
return "number";
|
|
107
|
-
}
|
|
108
|
-
var intLiteral = false;
|
|
109
|
-
if (stream.match(/^-?0x[0-9a-f]+/i)) {
|
|
110
|
-
intLiteral = true;
|
|
111
|
-
}
|
|
112
|
-
if (stream.match(/^-?[1-9]\d*(e[\+\-]?\d+)?/)) {
|
|
113
|
-
intLiteral = true;
|
|
114
|
-
}
|
|
115
|
-
if (stream.match(/^-?0(?![\dx])/i)) {
|
|
116
|
-
intLiteral = true;
|
|
117
|
-
}
|
|
118
|
-
if (intLiteral) {
|
|
119
|
-
return "number";
|
|
120
|
-
}
|
|
121
|
-
}
|
|
122
|
-
if (stream.match(stringPrefixes)) {
|
|
123
|
-
state.tokenize = tokenFactory(stream.current(), false, "string");
|
|
124
|
-
return state.tokenize(stream, state);
|
|
125
|
-
}
|
|
126
|
-
if (stream.match(regexPrefixes)) {
|
|
127
|
-
if (stream.current() != "/" || stream.match(/^.*\//, false)) {
|
|
128
|
-
state.tokenize = tokenFactory(stream.current(), true, "string.special");
|
|
129
|
-
return state.tokenize(stream, state);
|
|
130
|
-
} else {
|
|
131
|
-
stream.backUp(1);
|
|
132
|
-
}
|
|
133
|
-
}
|
|
134
|
-
if (stream.match(operators) || stream.match(wordOperators)) {
|
|
135
|
-
return "operator";
|
|
136
|
-
}
|
|
137
|
-
if (stream.match(delimiters)) {
|
|
138
|
-
return "punctuation";
|
|
139
|
-
}
|
|
140
|
-
if (stream.match(constants)) {
|
|
141
|
-
return "atom";
|
|
142
|
-
}
|
|
143
|
-
if (stream.match(atProp) || state.prop && stream.match(identifiers)) {
|
|
144
|
-
return "property";
|
|
145
|
-
}
|
|
146
|
-
if (stream.match(keywords)) {
|
|
147
|
-
return "keyword";
|
|
148
|
-
}
|
|
149
|
-
if (stream.match(identifiers)) {
|
|
150
|
-
return "variable";
|
|
151
|
-
}
|
|
152
|
-
stream.next();
|
|
153
|
-
return ERRORCLASS;
|
|
154
|
-
}
|
|
155
|
-
function tokenFactory(delimiter, singleline, outclass) {
|
|
156
|
-
return function(stream, state) {
|
|
157
|
-
while (!stream.eol()) {
|
|
158
|
-
stream.eatWhile(/[^'"\/\\]/);
|
|
159
|
-
if (stream.eat("\\")) {
|
|
160
|
-
stream.next();
|
|
161
|
-
if (singleline && stream.eol()) {
|
|
162
|
-
return outclass;
|
|
163
|
-
}
|
|
164
|
-
} else if (stream.match(delimiter)) {
|
|
165
|
-
state.tokenize = tokenBase;
|
|
166
|
-
return outclass;
|
|
167
|
-
} else {
|
|
168
|
-
stream.eat(/['"\/]/);
|
|
169
|
-
}
|
|
170
|
-
}
|
|
171
|
-
if (singleline) {
|
|
172
|
-
state.tokenize = tokenBase;
|
|
173
|
-
}
|
|
174
|
-
return outclass;
|
|
175
|
-
};
|
|
176
|
-
}
|
|
177
|
-
function longComment(stream, state) {
|
|
178
|
-
while (!stream.eol()) {
|
|
179
|
-
stream.eatWhile(/[^#]/);
|
|
180
|
-
if (stream.match("###")) {
|
|
181
|
-
state.tokenize = tokenBase;
|
|
182
|
-
break;
|
|
183
|
-
}
|
|
184
|
-
stream.eatWhile("#");
|
|
185
|
-
}
|
|
186
|
-
return "comment";
|
|
187
|
-
}
|
|
188
|
-
function indent(stream, state, type = "coffee") {
|
|
189
|
-
var offset = 0, align = false, alignOffset = null;
|
|
190
|
-
for (var scope = state.scope; scope; scope = scope.prev) {
|
|
191
|
-
if (scope.type === "coffee" || scope.type == "}") {
|
|
192
|
-
offset = scope.offset + stream.indentUnit;
|
|
193
|
-
break;
|
|
194
|
-
}
|
|
195
|
-
}
|
|
196
|
-
if (type !== "coffee") {
|
|
197
|
-
align = null;
|
|
198
|
-
alignOffset = stream.column() + stream.current().length;
|
|
199
|
-
} else if (state.scope.align) {
|
|
200
|
-
state.scope.align = false;
|
|
201
|
-
}
|
|
202
|
-
state.scope = {
|
|
203
|
-
offset,
|
|
204
|
-
type,
|
|
205
|
-
prev: state.scope,
|
|
206
|
-
align,
|
|
207
|
-
alignOffset
|
|
208
|
-
};
|
|
209
|
-
}
|
|
210
|
-
function dedent(stream, state) {
|
|
211
|
-
if (!state.scope.prev) return;
|
|
212
|
-
if (state.scope.type === "coffee") {
|
|
213
|
-
var _indent = stream.indentation();
|
|
214
|
-
var matched = false;
|
|
215
|
-
for (var scope = state.scope; scope; scope = scope.prev) {
|
|
216
|
-
if (_indent === scope.offset) {
|
|
217
|
-
matched = true;
|
|
218
|
-
break;
|
|
219
|
-
}
|
|
220
|
-
}
|
|
221
|
-
if (!matched) {
|
|
222
|
-
return true;
|
|
223
|
-
}
|
|
224
|
-
while (state.scope.prev && state.scope.offset !== _indent) {
|
|
225
|
-
state.scope = state.scope.prev;
|
|
226
|
-
}
|
|
227
|
-
return false;
|
|
228
|
-
} else {
|
|
229
|
-
state.scope = state.scope.prev;
|
|
230
|
-
return false;
|
|
231
|
-
}
|
|
232
|
-
}
|
|
233
|
-
function tokenLexer(stream, state) {
|
|
234
|
-
var style = state.tokenize(stream, state);
|
|
235
|
-
var current = stream.current();
|
|
236
|
-
if (current === "return") {
|
|
237
|
-
state.dedent = true;
|
|
238
|
-
}
|
|
239
|
-
if ((current === "->" || current === "=>") && stream.eol() || style === "indent") {
|
|
240
|
-
indent(stream, state);
|
|
241
|
-
}
|
|
242
|
-
var delimiter_index = "[({".indexOf(current);
|
|
243
|
-
if (delimiter_index !== -1) {
|
|
244
|
-
indent(stream, state, "])}".slice(delimiter_index, delimiter_index + 1));
|
|
245
|
-
}
|
|
246
|
-
if (indentKeywords.exec(current)) {
|
|
247
|
-
indent(stream, state);
|
|
248
|
-
}
|
|
249
|
-
if (current == "then") {
|
|
250
|
-
dedent(stream, state);
|
|
251
|
-
}
|
|
252
|
-
if (style === "dedent") {
|
|
253
|
-
if (dedent(stream, state)) {
|
|
254
|
-
return ERRORCLASS;
|
|
255
|
-
}
|
|
256
|
-
}
|
|
257
|
-
delimiter_index = "])}".indexOf(current);
|
|
258
|
-
if (delimiter_index !== -1) {
|
|
259
|
-
while (state.scope.type == "coffee" && state.scope.prev)
|
|
260
|
-
state.scope = state.scope.prev;
|
|
261
|
-
if (state.scope.type == current)
|
|
262
|
-
state.scope = state.scope.prev;
|
|
263
|
-
}
|
|
264
|
-
if (state.dedent && stream.eol()) {
|
|
265
|
-
if (state.scope.type == "coffee" && state.scope.prev)
|
|
266
|
-
state.scope = state.scope.prev;
|
|
267
|
-
state.dedent = false;
|
|
268
|
-
}
|
|
269
|
-
return style == "indent" || style == "dedent" ? null : style;
|
|
270
|
-
}
|
|
271
|
-
const coffeeScript = {
|
|
272
|
-
name: "coffeescript",
|
|
273
|
-
startState: function() {
|
|
274
|
-
return {
|
|
275
|
-
tokenize: tokenBase,
|
|
276
|
-
scope: { offset: 0, type: "coffee", prev: null, align: false },
|
|
277
|
-
prop: false,
|
|
278
|
-
dedent: 0
|
|
279
|
-
};
|
|
280
|
-
},
|
|
281
|
-
token: function(stream, state) {
|
|
282
|
-
var fillAlign = state.scope.align === null && state.scope;
|
|
283
|
-
if (fillAlign && stream.sol()) fillAlign.align = false;
|
|
284
|
-
var style = tokenLexer(stream, state);
|
|
285
|
-
if (style && style != "comment") {
|
|
286
|
-
if (fillAlign) fillAlign.align = true;
|
|
287
|
-
state.prop = style == "punctuation" && stream.current() == ".";
|
|
288
|
-
}
|
|
289
|
-
return style;
|
|
290
|
-
},
|
|
291
|
-
indent: function(state, text) {
|
|
292
|
-
if (state.tokenize != tokenBase) return 0;
|
|
293
|
-
var scope = state.scope;
|
|
294
|
-
var closer = text && "])}".indexOf(text.charAt(0)) > -1;
|
|
295
|
-
if (closer) while (scope.type == "coffee" && scope.prev) scope = scope.prev;
|
|
296
|
-
var closes = closer && scope.type === text.charAt(0);
|
|
297
|
-
if (scope.align)
|
|
298
|
-
return scope.alignOffset - (closes ? 1 : 0);
|
|
299
|
-
else
|
|
300
|
-
return (closes ? scope.prev : scope).offset;
|
|
301
|
-
},
|
|
302
|
-
languageData: {
|
|
303
|
-
commentTokens: { line: "#" }
|
|
304
|
-
}
|
|
305
|
-
};
|
|
306
|
-
export {
|
|
307
|
-
coffeeScript
|
|
308
|
-
};
|
|
309
|
-
//# sourceMappingURL=coffeescript-D2dXvhEc.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"coffeescript-D2dXvhEc.js","sources":["../../../node_modules/.pnpm/@codemirror+legacy-modes@6.5.2/node_modules/@codemirror/legacy-modes/mode/coffeescript.js"],"sourcesContent":["var ERRORCLASS = \"error\";\n\nfunction wordRegexp(words) {\n return new RegExp(\"^((\" + words.join(\")|(\") + \"))\\\\b\");\n}\n\nvar operators = /^(?:->|=>|\\+[+=]?|-[\\-=]?|\\*[\\*=]?|\\/[\\/=]?|[=!]=|<[><]?=?|>>?=?|%=?|&=?|\\|=?|\\^=?|\\~|!|\\?|(or|and|\\|\\||&&|\\?)=)/;\nvar delimiters = /^(?:[()\\[\\]{},:`=;]|\\.\\.?\\.?)/;\nvar identifiers = /^[_A-Za-z$][_A-Za-z$0-9]*/;\nvar atProp = /^@[_A-Za-z$][_A-Za-z$0-9]*/;\n\nvar wordOperators = wordRegexp([\"and\", \"or\", \"not\",\n \"is\", \"isnt\", \"in\",\n \"instanceof\", \"typeof\"]);\nvar indentKeywords = [\"for\", \"while\", \"loop\", \"if\", \"unless\", \"else\",\n \"switch\", \"try\", \"catch\", \"finally\", \"class\"];\nvar commonKeywords = [\"break\", \"by\", \"continue\", \"debugger\", \"delete\",\n \"do\", \"in\", \"of\", \"new\", \"return\", \"then\",\n \"this\", \"@\", \"throw\", \"when\", \"until\", \"extends\"];\n\nvar keywords = wordRegexp(indentKeywords.concat(commonKeywords));\n\nindentKeywords = wordRegexp(indentKeywords);\n\n\nvar stringPrefixes = /^('{3}|\\\"{3}|['\\\"])/;\nvar regexPrefixes = /^(\\/{3}|\\/)/;\nvar commonConstants = [\"Infinity\", \"NaN\", \"undefined\", \"null\", \"true\", \"false\", \"on\", \"off\", \"yes\", \"no\"];\nvar constants = wordRegexp(commonConstants);\n\n// Tokenizers\nfunction tokenBase(stream, state) {\n // Handle scope changes\n if (stream.sol()) {\n if (state.scope.align === null) state.scope.align = false;\n var scopeOffset = state.scope.offset;\n if (stream.eatSpace()) {\n var lineOffset = stream.indentation();\n if (lineOffset > scopeOffset && state.scope.type == \"coffee\") {\n return \"indent\";\n } else if (lineOffset < scopeOffset) {\n return \"dedent\";\n }\n return null;\n } else {\n if (scopeOffset > 0) {\n dedent(stream, state);\n }\n }\n }\n if (stream.eatSpace()) {\n return null;\n }\n\n var ch = stream.peek();\n\n // Handle docco title comment (single line)\n if (stream.match(\"####\")) {\n stream.skipToEnd();\n return \"comment\";\n }\n\n // Handle multi line comments\n if (stream.match(\"###\")) {\n state.tokenize = longComment;\n return state.tokenize(stream, state);\n }\n\n // Single line comment\n if (ch === \"#\") {\n stream.skipToEnd();\n return \"comment\";\n }\n\n // Handle number literals\n if (stream.match(/^-?[0-9\\.]/, false)) {\n var floatLiteral = false;\n // Floats\n if (stream.match(/^-?\\d*\\.\\d+(e[\\+\\-]?\\d+)?/i)) {\n floatLiteral = true;\n }\n if (stream.match(/^-?\\d+\\.\\d*/)) {\n floatLiteral = true;\n }\n if (stream.match(/^-?\\.\\d+/)) {\n floatLiteral = true;\n }\n\n if (floatLiteral) {\n // prevent from getting extra . on 1..\n if (stream.peek() == \".\"){\n stream.backUp(1);\n }\n return \"number\";\n }\n // Integers\n var intLiteral = false;\n // Hex\n if (stream.match(/^-?0x[0-9a-f]+/i)) {\n intLiteral = true;\n }\n // Decimal\n if (stream.match(/^-?[1-9]\\d*(e[\\+\\-]?\\d+)?/)) {\n intLiteral = true;\n }\n // Zero by itself with no other piece of number.\n if (stream.match(/^-?0(?![\\dx])/i)) {\n intLiteral = true;\n }\n if (intLiteral) {\n return \"number\";\n }\n }\n\n // Handle strings\n if (stream.match(stringPrefixes)) {\n state.tokenize = tokenFactory(stream.current(), false, \"string\");\n return state.tokenize(stream, state);\n }\n // Handle regex literals\n if (stream.match(regexPrefixes)) {\n if (stream.current() != \"/\" || stream.match(/^.*\\//, false)) { // prevent highlight of division\n state.tokenize = tokenFactory(stream.current(), true, \"string.special\");\n return state.tokenize(stream, state);\n } else {\n stream.backUp(1);\n }\n }\n\n\n\n // Handle operators and delimiters\n if (stream.match(operators) || stream.match(wordOperators)) {\n return \"operator\";\n }\n if (stream.match(delimiters)) {\n return \"punctuation\";\n }\n\n if (stream.match(constants)) {\n return \"atom\";\n }\n\n if (stream.match(atProp) || state.prop && stream.match(identifiers)) {\n return \"property\";\n }\n\n if (stream.match(keywords)) {\n return \"keyword\";\n }\n\n if (stream.match(identifiers)) {\n return \"variable\";\n }\n\n // Handle non-detected items\n stream.next();\n return ERRORCLASS;\n}\n\nfunction tokenFactory(delimiter, singleline, outclass) {\n return function(stream, state) {\n while (!stream.eol()) {\n stream.eatWhile(/[^'\"\\/\\\\]/);\n if (stream.eat(\"\\\\\")) {\n stream.next();\n if (singleline && stream.eol()) {\n return outclass;\n }\n } else if (stream.match(delimiter)) {\n state.tokenize = tokenBase;\n return outclass;\n } else {\n stream.eat(/['\"\\/]/);\n }\n }\n if (singleline) {\n state.tokenize = tokenBase;\n }\n return outclass;\n };\n}\n\nfunction longComment(stream, state) {\n while (!stream.eol()) {\n stream.eatWhile(/[^#]/);\n if (stream.match(\"###\")) {\n state.tokenize = tokenBase;\n break;\n }\n stream.eatWhile(\"#\");\n }\n return \"comment\";\n}\n\nfunction indent(stream, state, type = \"coffee\") {\n var offset = 0, align = false, alignOffset = null;\n for (var scope = state.scope; scope; scope = scope.prev) {\n if (scope.type === \"coffee\" || scope.type == \"}\") {\n offset = scope.offset + stream.indentUnit;\n break;\n }\n }\n if (type !== \"coffee\") {\n align = null;\n alignOffset = stream.column() + stream.current().length;\n } else if (state.scope.align) {\n state.scope.align = false;\n }\n state.scope = {\n offset: offset,\n type: type,\n prev: state.scope,\n align: align,\n alignOffset: alignOffset\n };\n}\n\nfunction dedent(stream, state) {\n if (!state.scope.prev) return;\n if (state.scope.type === \"coffee\") {\n var _indent = stream.indentation();\n var matched = false;\n for (var scope = state.scope; scope; scope = scope.prev) {\n if (_indent === scope.offset) {\n matched = true;\n break;\n }\n }\n if (!matched) {\n return true;\n }\n while (state.scope.prev && state.scope.offset !== _indent) {\n state.scope = state.scope.prev;\n }\n return false;\n } else {\n state.scope = state.scope.prev;\n return false;\n }\n}\n\nfunction tokenLexer(stream, state) {\n var style = state.tokenize(stream, state);\n var current = stream.current();\n\n // Handle scope changes.\n if (current === \"return\") {\n state.dedent = true;\n }\n if (((current === \"->\" || current === \"=>\") && stream.eol())\n || style === \"indent\") {\n indent(stream, state);\n }\n var delimiter_index = \"[({\".indexOf(current);\n if (delimiter_index !== -1) {\n indent(stream, state, \"])}\".slice(delimiter_index, delimiter_index+1));\n }\n if (indentKeywords.exec(current)){\n indent(stream, state);\n }\n if (current == \"then\"){\n dedent(stream, state);\n }\n\n\n if (style === \"dedent\") {\n if (dedent(stream, state)) {\n return ERRORCLASS;\n }\n }\n delimiter_index = \"])}\".indexOf(current);\n if (delimiter_index !== -1) {\n while (state.scope.type == \"coffee\" && state.scope.prev)\n state.scope = state.scope.prev;\n if (state.scope.type == current)\n state.scope = state.scope.prev;\n }\n if (state.dedent && stream.eol()) {\n if (state.scope.type == \"coffee\" && state.scope.prev)\n state.scope = state.scope.prev;\n state.dedent = false;\n }\n\n return style == \"indent\" || style == \"dedent\" ? null : style;\n}\n\nexport const coffeeScript = {\n name: \"coffeescript\",\n startState: function() {\n return {\n tokenize: tokenBase,\n scope: {offset: 0, type:\"coffee\", prev: null, align: false},\n prop: false,\n dedent: 0\n };\n },\n\n token: function(stream, state) {\n var fillAlign = state.scope.align === null && state.scope;\n if (fillAlign && stream.sol()) fillAlign.align = false;\n\n var style = tokenLexer(stream, state);\n if (style && style != \"comment\") {\n if (fillAlign) fillAlign.align = true;\n state.prop = style == \"punctuation\" && stream.current() == \".\"\n }\n\n return style;\n },\n\n indent: function(state, text) {\n if (state.tokenize != tokenBase) return 0;\n var scope = state.scope;\n var closer = text && \"])}\".indexOf(text.charAt(0)) > -1;\n if (closer) while (scope.type == \"coffee\" && scope.prev) scope = scope.prev;\n var closes = closer && scope.type === text.charAt(0);\n if (scope.align)\n return scope.alignOffset - (closes ? 1 : 0);\n else\n return (closes ? scope.prev : scope).offset;\n },\n\n languageData: {\n commentTokens: {line: \"#\"}\n }\n};\n"],"names":[],"mappings":"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","x_google_ignoreList":[0]}
|
|
@@ -1,131 +0,0 @@
|
|
|
1
|
-
var specialForm = /^(block|let*|return-from|catch|load-time-value|setq|eval-when|locally|symbol-macrolet|flet|macrolet|tagbody|function|multiple-value-call|the|go|multiple-value-prog1|throw|if|progn|unwind-protect|labels|progv|let|quote)$/;
|
|
2
|
-
var assumeBody = /^with|^def|^do|^prog|case$|^cond$|bind$|when$|unless$/;
|
|
3
|
-
var numLiteral = /^(?:[+\-]?(?:\d+|\d*\.\d+)(?:[efd][+\-]?\d+)?|[+\-]?\d+(?:\/[+\-]?\d+)?|#b[+\-]?[01]+|#o[+\-]?[0-7]+|#x[+\-]?[\da-f]+)/;
|
|
4
|
-
var symbol = /[^\s'`,@()\[\]";]/;
|
|
5
|
-
var type;
|
|
6
|
-
function readSym(stream) {
|
|
7
|
-
var ch;
|
|
8
|
-
while (ch = stream.next()) {
|
|
9
|
-
if (ch == "\\") stream.next();
|
|
10
|
-
else if (!symbol.test(ch)) {
|
|
11
|
-
stream.backUp(1);
|
|
12
|
-
break;
|
|
13
|
-
}
|
|
14
|
-
}
|
|
15
|
-
return stream.current();
|
|
16
|
-
}
|
|
17
|
-
function base(stream, state) {
|
|
18
|
-
if (stream.eatSpace()) {
|
|
19
|
-
type = "ws";
|
|
20
|
-
return null;
|
|
21
|
-
}
|
|
22
|
-
if (stream.match(numLiteral)) return "number";
|
|
23
|
-
var ch = stream.next();
|
|
24
|
-
if (ch == "\\") ch = stream.next();
|
|
25
|
-
if (ch == '"') return (state.tokenize = inString)(stream, state);
|
|
26
|
-
else if (ch == "(") {
|
|
27
|
-
type = "open";
|
|
28
|
-
return "bracket";
|
|
29
|
-
} else if (ch == ")") {
|
|
30
|
-
type = "close";
|
|
31
|
-
return "bracket";
|
|
32
|
-
} else if (ch == ";") {
|
|
33
|
-
stream.skipToEnd();
|
|
34
|
-
type = "ws";
|
|
35
|
-
return "comment";
|
|
36
|
-
} else if (/['`,@]/.test(ch)) return null;
|
|
37
|
-
else if (ch == "|") {
|
|
38
|
-
if (stream.skipTo("|")) {
|
|
39
|
-
stream.next();
|
|
40
|
-
return "variableName";
|
|
41
|
-
} else {
|
|
42
|
-
stream.skipToEnd();
|
|
43
|
-
return "error";
|
|
44
|
-
}
|
|
45
|
-
} else if (ch == "#") {
|
|
46
|
-
var ch = stream.next();
|
|
47
|
-
if (ch == "(") {
|
|
48
|
-
type = "open";
|
|
49
|
-
return "bracket";
|
|
50
|
-
} else if (/[+\-=\.']/.test(ch)) return null;
|
|
51
|
-
else if (/\d/.test(ch) && stream.match(/^\d*#/)) return null;
|
|
52
|
-
else if (ch == "|") return (state.tokenize = inComment)(stream, state);
|
|
53
|
-
else if (ch == ":") {
|
|
54
|
-
readSym(stream);
|
|
55
|
-
return "meta";
|
|
56
|
-
} else if (ch == "\\") {
|
|
57
|
-
stream.next();
|
|
58
|
-
readSym(stream);
|
|
59
|
-
return "string.special";
|
|
60
|
-
} else return "error";
|
|
61
|
-
} else {
|
|
62
|
-
var name = readSym(stream);
|
|
63
|
-
if (name == ".") return null;
|
|
64
|
-
type = "symbol";
|
|
65
|
-
if (name == "nil" || name == "t" || name.charAt(0) == ":") return "atom";
|
|
66
|
-
if (state.lastType == "open" && (specialForm.test(name) || assumeBody.test(name))) return "keyword";
|
|
67
|
-
if (name.charAt(0) == "&") return "variableName.special";
|
|
68
|
-
return "variableName";
|
|
69
|
-
}
|
|
70
|
-
}
|
|
71
|
-
function inString(stream, state) {
|
|
72
|
-
var escaped = false, next;
|
|
73
|
-
while (next = stream.next()) {
|
|
74
|
-
if (next == '"' && !escaped) {
|
|
75
|
-
state.tokenize = base;
|
|
76
|
-
break;
|
|
77
|
-
}
|
|
78
|
-
escaped = !escaped && next == "\\";
|
|
79
|
-
}
|
|
80
|
-
return "string";
|
|
81
|
-
}
|
|
82
|
-
function inComment(stream, state) {
|
|
83
|
-
var next, last;
|
|
84
|
-
while (next = stream.next()) {
|
|
85
|
-
if (next == "#" && last == "|") {
|
|
86
|
-
state.tokenize = base;
|
|
87
|
-
break;
|
|
88
|
-
}
|
|
89
|
-
last = next;
|
|
90
|
-
}
|
|
91
|
-
type = "ws";
|
|
92
|
-
return "comment";
|
|
93
|
-
}
|
|
94
|
-
const commonLisp = {
|
|
95
|
-
name: "commonlisp",
|
|
96
|
-
startState: function() {
|
|
97
|
-
return { ctx: { prev: null, start: 0, indentTo: 0 }, lastType: null, tokenize: base };
|
|
98
|
-
},
|
|
99
|
-
token: function(stream, state) {
|
|
100
|
-
if (stream.sol() && typeof state.ctx.indentTo != "number")
|
|
101
|
-
state.ctx.indentTo = state.ctx.start + 1;
|
|
102
|
-
type = null;
|
|
103
|
-
var style = state.tokenize(stream, state);
|
|
104
|
-
if (type != "ws") {
|
|
105
|
-
if (state.ctx.indentTo == null) {
|
|
106
|
-
if (type == "symbol" && assumeBody.test(stream.current()))
|
|
107
|
-
state.ctx.indentTo = state.ctx.start + stream.indentUnit;
|
|
108
|
-
else
|
|
109
|
-
state.ctx.indentTo = "next";
|
|
110
|
-
} else if (state.ctx.indentTo == "next") {
|
|
111
|
-
state.ctx.indentTo = stream.column();
|
|
112
|
-
}
|
|
113
|
-
state.lastType = type;
|
|
114
|
-
}
|
|
115
|
-
if (type == "open") state.ctx = { prev: state.ctx, start: stream.column(), indentTo: null };
|
|
116
|
-
else if (type == "close") state.ctx = state.ctx.prev || state.ctx;
|
|
117
|
-
return style;
|
|
118
|
-
},
|
|
119
|
-
indent: function(state) {
|
|
120
|
-
var i = state.ctx.indentTo;
|
|
121
|
-
return typeof i == "number" ? i : state.ctx.start + 1;
|
|
122
|
-
},
|
|
123
|
-
languageData: {
|
|
124
|
-
commentTokens: { line: ";;", block: { open: "#|", close: "|#" } },
|
|
125
|
-
closeBrackets: { brackets: ["(", "[", "{", '"'] }
|
|
126
|
-
}
|
|
127
|
-
};
|
|
128
|
-
export {
|
|
129
|
-
commonLisp
|
|
130
|
-
};
|
|
131
|
-
//# sourceMappingURL=commonlisp-CF_VNHQR.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"commonlisp-CF_VNHQR.js","sources":["../../../node_modules/.pnpm/@codemirror+legacy-modes@6.5.2/node_modules/@codemirror/legacy-modes/mode/commonlisp.js"],"sourcesContent":["var specialForm = /^(block|let*|return-from|catch|load-time-value|setq|eval-when|locally|symbol-macrolet|flet|macrolet|tagbody|function|multiple-value-call|the|go|multiple-value-prog1|throw|if|progn|unwind-protect|labels|progv|let|quote)$/;\nvar assumeBody = /^with|^def|^do|^prog|case$|^cond$|bind$|when$|unless$/;\nvar numLiteral = /^(?:[+\\-]?(?:\\d+|\\d*\\.\\d+)(?:[efd][+\\-]?\\d+)?|[+\\-]?\\d+(?:\\/[+\\-]?\\d+)?|#b[+\\-]?[01]+|#o[+\\-]?[0-7]+|#x[+\\-]?[\\da-f]+)/;\nvar symbol = /[^\\s'`,@()\\[\\]\";]/;\nvar type;\n\nfunction readSym(stream) {\n var ch;\n while (ch = stream.next()) {\n if (ch == \"\\\\\") stream.next();\n else if (!symbol.test(ch)) { stream.backUp(1); break; }\n }\n return stream.current();\n}\n\nfunction base(stream, state) {\n if (stream.eatSpace()) {type = \"ws\"; return null;}\n if (stream.match(numLiteral)) return \"number\";\n var ch = stream.next();\n if (ch == \"\\\\\") ch = stream.next();\n\n if (ch == '\"') return (state.tokenize = inString)(stream, state);\n else if (ch == \"(\") { type = \"open\"; return \"bracket\"; }\n else if (ch == \")\") { type = \"close\"; return \"bracket\"; }\n else if (ch == \";\") { stream.skipToEnd(); type = \"ws\"; return \"comment\"; }\n else if (/['`,@]/.test(ch)) return null;\n else if (ch == \"|\") {\n if (stream.skipTo(\"|\")) { stream.next(); return \"variableName\"; }\n else { stream.skipToEnd(); return \"error\"; }\n } else if (ch == \"#\") {\n var ch = stream.next();\n if (ch == \"(\") { type = \"open\"; return \"bracket\"; }\n else if (/[+\\-=\\.']/.test(ch)) return null;\n else if (/\\d/.test(ch) && stream.match(/^\\d*#/)) return null;\n else if (ch == \"|\") return (state.tokenize = inComment)(stream, state);\n else if (ch == \":\") { readSym(stream); return \"meta\"; }\n else if (ch == \"\\\\\") { stream.next(); readSym(stream); return \"string.special\" }\n else return \"error\";\n } else {\n var name = readSym(stream);\n if (name == \".\") return null;\n type = \"symbol\";\n if (name == \"nil\" || name == \"t\" || name.charAt(0) == \":\") return \"atom\";\n if (state.lastType == \"open\" && (specialForm.test(name) || assumeBody.test(name))) return \"keyword\";\n if (name.charAt(0) == \"&\") return \"variableName.special\";\n return \"variableName\";\n }\n}\n\nfunction inString(stream, state) {\n var escaped = false, next;\n while (next = stream.next()) {\n if (next == '\"' && !escaped) { state.tokenize = base; break; }\n escaped = !escaped && next == \"\\\\\";\n }\n return \"string\";\n}\n\nfunction inComment(stream, state) {\n var next, last;\n while (next = stream.next()) {\n if (next == \"#\" && last == \"|\") { state.tokenize = base; break; }\n last = next;\n }\n type = \"ws\";\n return \"comment\";\n}\n\nexport const commonLisp = {\n name: \"commonlisp\",\n startState: function () {\n return {ctx: {prev: null, start: 0, indentTo: 0}, lastType: null, tokenize: base};\n },\n\n token: function (stream, state) {\n if (stream.sol() && typeof state.ctx.indentTo != \"number\")\n state.ctx.indentTo = state.ctx.start + 1;\n\n type = null;\n var style = state.tokenize(stream, state);\n if (type != \"ws\") {\n if (state.ctx.indentTo == null) {\n if (type == \"symbol\" && assumeBody.test(stream.current()))\n state.ctx.indentTo = state.ctx.start + stream.indentUnit;\n else\n state.ctx.indentTo = \"next\";\n } else if (state.ctx.indentTo == \"next\") {\n state.ctx.indentTo = stream.column();\n }\n state.lastType = type;\n }\n if (type == \"open\") state.ctx = {prev: state.ctx, start: stream.column(), indentTo: null};\n else if (type == \"close\") state.ctx = state.ctx.prev || state.ctx;\n return style;\n },\n\n indent: function (state) {\n var i = state.ctx.indentTo;\n return typeof i == \"number\" ? i : state.ctx.start + 1;\n },\n\n languageData: {\n commentTokens: {line: \";;\", block: {open: \"#|\", close: \"|#\"}},\n closeBrackets: {brackets: [\"(\", \"[\", \"{\", '\"']}\n }\n};\n\n"],"names":[],"mappings":"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","x_google_ignoreList":[0]}
|