@aiderdesk/aiderdesk 0.61.0-dev → 0.61.1
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/out/renderer/assets/__vite-browser-external-2447137e-DYxpcVy9.js +4 -0
- package/out/renderer/assets/{_baseUniq-Z8t1Ab1g.js → _baseUniq-BPF2Herp.js} +21 -197
- package/out/renderer/assets/{arc-CwESpVYE.js → arc-DfPLteHF.js} +1 -1
- package/out/renderer/assets/{architectureDiagram-2XIMDMQ5-C490EQr5.js → architectureDiagram-Q4EWVU46-Bw0u-sSH.js} +34 -20
- package/out/renderer/assets/{blockDiagram-WCTKOSBZ-DbHssxrQ.js → blockDiagram-DXYQGD6D-CkfB9if8.js} +21 -8
- package/out/renderer/assets/{c4Diagram-IC4MRINW-BxE3GUKu.js → c4Diagram-AHTNJAMY-DweK9Liz.js} +31 -35
- package/out/renderer/assets/{channel-C9hJq_Xr.js → channel-C5wwrRof.js} +1 -1
- package/out/renderer/assets/{chunk-4BX2VUAB-ChcKNpL6.js → chunk-4BX2VUAB-0KM14cFd.js} +1 -1
- package/out/renderer/assets/{chunk-WL4C6EOR-vhby2fZi.js → chunk-4TB4RGXK-CmVtCVL4.js} +121 -82
- package/out/renderer/assets/{chunk-55IACEB6-oLT9lXTt.js → chunk-55IACEB6-BzVYZvBM.js} +1 -1
- package/out/renderer/assets/{chunk-KX2RTZJC-D32tV7H-.js → chunk-EDXVE4YY-BryQl5Kv.js} +1 -1
- package/out/renderer/assets/{chunk-FMBD7UC4-B5k8rETe.js → chunk-FMBD7UC4-CRiLea_e.js} +1 -1
- package/out/renderer/assets/{chunk-NQ4KR5QH-Bmqo2FpL.js → chunk-OYMX7WX6-Cpi4N3NO.js} +32 -15
- package/out/renderer/assets/{chunk-QZHKN3VN-8BpGifjS.js → chunk-QZHKN3VN-BT8kABWC.js} +1 -1
- package/out/renderer/assets/{chunk-JSJVCQXG-DtjSx6Cj.js → chunk-YZCP3GAM-OLZV_Sef.js} +1 -1
- package/out/renderer/assets/{classDiagram-VBA2DB6C-BxRSSb9e.js → classDiagram-6PBFFD2Q-VdE6G90i.js} +6 -6
- package/out/renderer/assets/{classDiagram-v2-RAHNMMFH-BxRSSb9e.js → classDiagram-v2-HSJHXN6E-VdE6G90i.js} +6 -6
- package/out/renderer/assets/{clone-D9a-uIZa.js → clone-DwQZ86nS.js} +1 -1
- package/out/renderer/assets/{cose-bilkent-S5V4N54A-CUqqQ-6R.js → cose-bilkent-S5V4N54A-BEcAKM9H.js} +1 -1
- package/out/renderer/assets/{dagre-KLK3FWXG-ORIwMMhq.js → dagre-KV5264BT-BcFQYL1M.js} +6 -6
- package/out/renderer/assets/diagram-5BDNPKRD-GrUNdC1u.js +171 -0
- package/out/renderer/assets/{diagram-E7M64L7V-bS9HcoDQ.js → diagram-G4DWMVQ6-CG4S-ov5.js} +15 -13
- package/out/renderer/assets/{diagram-IFDJBPK2-BRlTIR0J.js → diagram-MMDJMWI5-9ogY3MRC.js} +5 -6
- package/out/renderer/assets/{diagram-P4PSJMXO-jsjGwH-p.js → diagram-TYMM5635-Ck7mI1bS.js} +5 -6
- package/out/renderer/assets/{erDiagram-INFDFZHY-DGlgjHOQ.js → erDiagram-SMLLAGMA-Dvf_c-7M.js} +81 -35
- package/out/renderer/assets/{flowDiagram-PKNHOUZH-CzLC87bM.js → flowDiagram-DWJPFMVM-CPDjOXYp.js} +27 -45
- package/out/renderer/assets/{ganttDiagram-A5KZAMGK-BbDv36wT.js → ganttDiagram-T4ZO3ILL-B4dJrK-3.js} +17 -8
- package/out/renderer/assets/{gitGraphDiagram-K3NZZRJ6-CBQnBjEi.js → gitGraphDiagram-UUTBAWPF-De2eCfMN.js} +244 -67
- package/out/renderer/assets/{graph-Dl5N6maZ.js → graph-BFn23kR_.js} +175 -3
- package/out/renderer/assets/{index-MDHavDF9.js → index-BL-57WPa.js} +15877 -20787
- package/out/renderer/assets/{index-CDCy_DhA.css → index-BkntVzTm.css} +114 -301
- package/out/renderer/assets/{infoDiagram-LFFYTUFH-GtEDBEmz.js → infoDiagram-42DDH7IO-BIt9B6mQ.js} +5 -6
- package/out/renderer/assets/{ishikawaDiagram-PHBUUO56-Uj90gr3I.js → ishikawaDiagram-UXIWVN3A-CXZs0KGV.js} +3 -3
- package/out/renderer/assets/{journeyDiagram-4ABVD52K-DekFuOwS.js → journeyDiagram-VCZTEJTY-B-EXuj5b.js} +14 -13
- package/out/renderer/assets/{kanban-definition-K7BYSVSG-Hfz2L6NS.js → kanban-definition-6JOO6SKY-ByvN0qaD.js} +5 -2
- package/out/renderer/assets/{layout-B9K2VT39.js → layout-BpybWUv6.js} +117 -4
- package/out/renderer/assets/min-DB8ixvoT.js +41 -0
- package/out/renderer/assets/{mindmap-definition-YRQLILUH-DDcS7_GH.js → mindmap-definition-QFDTVHPH-Do-I-At8.js} +69 -13
- package/out/renderer/assets/{pieDiagram-SKSYHLDU-DwjEcJ0Q.js → pieDiagram-DEJITSTG-Cnpf6Gt6.js} +20 -13
- package/out/renderer/assets/{quadrantDiagram-337W2JSQ-CpGqN7vo.js → quadrantDiagram-34T5L4WZ-VcOb1qLd.js} +1 -1
- package/out/renderer/assets/{requirementDiagram-Z7DCOOCP-qDRUf1ip.js → requirementDiagram-MS252O5E-VJs9Hpaw.js} +42 -11
- package/out/renderer/assets/{sankeyDiagram-WA2Y5GQK-DRKS8C1H.js → sankeyDiagram-XADWPNL6-BoXxgLvi.js} +1 -1
- package/out/renderer/assets/{sequenceDiagram-2WXFIKYE-DhVN2ug2.js → sequenceDiagram-FGHM5R23-b69hQjSp.js} +446 -220
- package/out/renderer/assets/{stateDiagram-RAJIS63D-BpP4eSqu.js → stateDiagram-FHFEXIEX-BK7E-REm.js} +10 -9
- package/out/renderer/assets/{stateDiagram-v2-FVOUBMTO-B_qQJqra.js → stateDiagram-v2-QKLJ7IA2-Cd2wfCQu.js} +4 -4
- package/out/renderer/assets/{timeline-definition-YZTLITO2-UoWXE_76.js → timeline-definition-GMOUNBTQ-Bl-MTfK5.js} +445 -71
- package/out/renderer/assets/{vennDiagram-LZ73GAT5-Dp1FZ609.js → vennDiagram-DHZGUBPP-DNmr1k2L.js} +1 -1
- package/out/renderer/assets/{treemap-KZPCXAKY-W2a2L6ff.js → wardley-RL74JXVD-DTbxPMj9.js} +1474 -977
- package/out/renderer/assets/wardleyDiagram-NUSXRM2D-BWw08wtD.js +901 -0
- package/out/renderer/assets/{xychartDiagram-JWTSCODW-CTzYHTbD.js → xychartDiagram-5P7HB3ND-EEYPnLDT.js} +20 -4
- package/out/renderer/index.html +3 -3
- package/out/renderer/progress.html +212 -62
- package/out/resources/mcp-server/aider-desk-mcp-server.js +642 -402
- package/out/resources/skills/extension-creator/SKILL.md +320 -0
- package/out/resources/skills/extension-creator/assets/templates/Component.jsx.template +76 -0
- package/out/resources/skills/extension-creator/assets/templates/ConfigComponent.jsx.template +38 -0
- package/out/resources/skills/extension-creator/assets/templates/folder-extension/config.ts.template +29 -0
- package/out/resources/skills/extension-creator/assets/templates/folder-extension/index.ts.template +42 -0
- package/out/resources/skills/extension-creator/assets/templates/folder-extension/package.json +12 -0
- package/out/resources/skills/extension-creator/assets/templates/folder-extension/tsconfig.json +23 -0
- package/out/resources/skills/extension-creator/assets/templates/folder-extension-with-config/index.ts.template +80 -0
- package/out/resources/skills/extension-creator/assets/templates/single-file.ts.template +30 -0
- package/out/resources/skills/extension-creator/assets/templates/ui-component-external.ts.template +91 -0
- package/out/resources/skills/extension-creator/assets/templates/ui-component.ts.template +79 -0
- package/out/resources/skills/extension-creator/references/command-definition.md +170 -0
- package/out/resources/skills/extension-creator/references/config-components.md +427 -0
- package/out/resources/skills/extension-creator/references/event-types.md +156 -0
- package/out/resources/skills/extension-creator/references/examples-gallery.md +583 -0
- package/out/resources/skills/extension-creator/references/extension-interface.md +240 -0
- package/out/resources/skills/extension-creator/references/extension-types.md +186 -0
- package/out/resources/skills/extension-creator/references/in-repo-flow.md +132 -0
- package/out/resources/skills/extension-creator/references/install-targets.md +96 -0
- package/out/resources/skills/extension-creator/references/project-global-flow.md +76 -0
- package/out/resources/skills/extension-creator/references/ui-components.md +663 -0
- package/out/runner.js +976 -386
- package/package.json +2 -3
- package/out/renderer/assets/_basePickBy-BWoXHZ8Z.js +0 -161
- package/out/renderer/assets/apl-fqmucPXA.js +0 -140
- package/out/renderer/assets/asciiarmor-DucZyvP0.js +0 -56
- package/out/renderer/assets/asn1-BnOEsgAm.js +0 -144
- package/out/renderer/assets/asterisk-QAlztEwS.js +0 -345
- package/out/renderer/assets/brainfuck-DZVCuF_t.js +0 -53
- package/out/renderer/assets/clike-xqXYL6ge.js +0 -805
- package/out/renderer/assets/clojure-BhXMqnxz.js +0 -849
- package/out/renderer/assets/cmake-BGaNd9E7.js +0 -71
- package/out/renderer/assets/cobol-4yqQntpt.js +0 -120
- package/out/renderer/assets/coffeescript-D2dXvhEc.js +0 -308
- package/out/renderer/assets/commonlisp-CF_VNHQR.js +0 -130
- package/out/renderer/assets/crystal-DyuLTqLs.js +0 -398
- package/out/renderer/assets/css-c-jst79C.js +0 -1783
- package/out/renderer/assets/cypher-Dlu_3r4V.js +0 -121
- package/out/renderer/assets/d-UURgV0Ux.js +0 -179
- package/out/renderer/assets/diff-B_Bi2Crb.js +0 -25
- package/out/renderer/assets/dockerfile-Bvk733Ga.js +0 -201
- package/out/renderer/assets/dtd-Dy74G54E.js +0 -114
- package/out/renderer/assets/dylan-TSb-Nfix.js +0 -314
- package/out/renderer/assets/ebnf-4fKAGW3a.js +0 -140
- package/out/renderer/assets/ecl-B59qGGVg.js +0 -178
- package/out/renderer/assets/eiffel-Dze7nlu3.js +0 -134
- package/out/renderer/assets/elm-DG7jkhNZ.js +0 -176
- package/out/renderer/assets/erlang-BO6gOnGA.js +0 -674
- package/out/renderer/assets/factor-CMxFHDqz.js +0 -65
- package/out/renderer/assets/fcl-CDDUNjTj.js +0 -141
- package/out/renderer/assets/forth-B9D2JCeE.js +0 -116
- package/out/renderer/assets/fortran-CAG2BFbe.js +0 -467
- package/out/renderer/assets/gas-d3KEcW3x.js +0 -294
- package/out/renderer/assets/gherkin-DhZlEZiy.js +0 -115
- package/out/renderer/assets/groovy-CpwJiBl7.js +0 -223
- package/out/renderer/assets/haskell-ySd-OUo8.js +0 -459
- package/out/renderer/assets/haxe-7MlzfeYV.js +0 -514
- package/out/renderer/assets/http-BqypyemW.js +0 -79
- package/out/renderer/assets/idl-4HIGJlDI.js +0 -985
- package/out/renderer/assets/index-6qedlt0q.js +0 -689
- package/out/renderer/assets/index-86jDpUJn.js +0 -385
- package/out/renderer/assets/index-BRjO8ber.js +0 -332
- package/out/renderer/assets/index-BVgw7j0d.js +0 -312
- package/out/renderer/assets/index-BhkyI1q3.js +0 -642
- package/out/renderer/assets/index-BqrmLPkg.js +0 -82
- package/out/renderer/assets/index-BuPbw4xM.js +0 -178
- package/out/renderer/assets/index-CTO-LPBg.js +0 -311
- package/out/renderer/assets/index-CTO4SzlI.js +0 -97
- package/out/renderer/assets/index-CZ9IQK_0.js +0 -2488
- package/out/renderer/assets/index-CZxsVxBZ.js +0 -1765
- package/out/renderer/assets/index-DIXV-3Xn.js +0 -406
- package/out/renderer/assets/index-DNzOtZX5.js +0 -61
- package/out/renderer/assets/index-DZtJe7oC.js +0 -1019
- package/out/renderer/assets/index-DaWjZz_g.js +0 -291
- package/out/renderer/assets/index-De056HHR.js +0 -151
- package/out/renderer/assets/index-Dk3wSDSN.js +0 -117
- package/out/renderer/assets/index-Dy4VRsnA.js +0 -1041
- package/out/renderer/assets/index-FnnayPBc.js +0 -82
- package/out/renderer/assets/index-MZb_zy6R.js +0 -704
- package/out/renderer/assets/index-chzQl8rJ.js +0 -157
- package/out/renderer/assets/index-s-Owx3Pm.js +0 -327
- package/out/renderer/assets/javascript-C_OHM9hj.js +0 -994
- package/out/renderer/assets/julia-Bs6JJhYG.js +0 -407
- package/out/renderer/assets/livescript-DmzgM3Yt.js +0 -296
- package/out/renderer/assets/lua-8cJgIlqe.js +0 -256
- package/out/renderer/assets/mathematica-DNLOL9PQ.js +0 -110
- package/out/renderer/assets/mbox-Ga7d4MMN.js +0 -117
- package/out/renderer/assets/mirc-Dma3B8rS.js +0 -107
- package/out/renderer/assets/mllike-DHn7xckP.js +0 -334
- package/out/renderer/assets/modelica-0d55jYY0.js +0 -147
- package/out/renderer/assets/mscgen-DdqZYINH.js +0 -135
- package/out/renderer/assets/mumps-Btr8VblO.js +0 -93
- package/out/renderer/assets/nginx-DTDtBDVN.js +0 -141
- package/out/renderer/assets/nsis-3zG7tgur.js +0 -62
- package/out/renderer/assets/ntriples-CvgOYMpL.js +0 -153
- package/out/renderer/assets/octave-DYBj3-tl.js +0 -200
- package/out/renderer/assets/oz-R_e8WMIi.js +0 -231
- package/out/renderer/assets/pascal-GD8iposT.js +0 -105
- package/out/renderer/assets/perl-DL9mHpoi.js +0 -1105
- package/out/renderer/assets/pig-C_4T4YIV.js +0 -101
- package/out/renderer/assets/powershell-B0suO7Vd.js +0 -328
- package/out/renderer/assets/properties-BR-vP1aU.js +0 -58
- package/out/renderer/assets/protobuf-BxgpyhoW.js +0 -77
- package/out/renderer/assets/pug-CTXt1f8z.js +0 -405
- package/out/renderer/assets/puppet-Bdao66PW.js +0 -137
- package/out/renderer/assets/python-CvWbmiX4.js +0 -427
- package/out/renderer/assets/q-CrbCVq4a.js +0 -131
- package/out/renderer/assets/r-V7nswm59.js +0 -170
- package/out/renderer/assets/rpm-C-DLY-If.js +0 -109
- package/out/renderer/assets/ruby-JDKLJNK0.js +0 -330
- package/out/renderer/assets/sas-D2UG-yhZ.js +0 -207
- package/out/renderer/assets/scheme-BKzrkGJD.js +0 -222
- package/out/renderer/assets/shell-BlsXDxCn.js +0 -222
- package/out/renderer/assets/sieve-CjwBwOY5.js +0 -135
- package/out/renderer/assets/simple-mode-DMneyfDu.js +0 -130
- package/out/renderer/assets/smalltalk-BOIGQuhN.js +0 -121
- package/out/renderer/assets/solr-CwD7U71z.js +0 -69
- package/out/renderer/assets/sparql-DYskk2vE.js +0 -249
- package/out/renderer/assets/spreadsheet-Bgtt3oLP.js +0 -87
- package/out/renderer/assets/sql-BSrOzCRI.js +0 -354
- package/out/renderer/assets/stex-B6LNC55o.js +0 -231
- package/out/renderer/assets/stylus-BkS-boTH.js +0 -565
- package/out/renderer/assets/swift-FRZi1uvB.js +0 -291
- package/out/renderer/assets/tcl-CUcaCdmq.js +0 -114
- package/out/renderer/assets/textile-BnFpjsrl.js +0 -414
- package/out/renderer/assets/tiddlywiki-CjprD-Qp.js +0 -218
- package/out/renderer/assets/tiki-DK9DOeWn.js +0 -268
- package/out/renderer/assets/toml-BOuWGMcf.js +0 -76
- package/out/renderer/assets/troff-E1bJ0PPL.js +0 -61
- package/out/renderer/assets/ttcn-cfg-Dc39-fIP.js +0 -133
- package/out/renderer/assets/ttcn-tKd4HLu4.js +0 -192
- package/out/renderer/assets/turtle-Dq7-1WAf.js +0 -124
- package/out/renderer/assets/vb-Dp90gtsv.js +0 -196
- package/out/renderer/assets/vbscript-CI6_mxxU.js +0 -479
- package/out/renderer/assets/velocity-BwIZK1TH.js +0 -149
- package/out/renderer/assets/verilog-DDCYnHN8.js +0 -430
- package/out/renderer/assets/vhdl-DCkMIyT9.js +0 -158
- package/out/renderer/assets/webidl-BTLTThCm.js +0 -204
- package/out/renderer/assets/xquery-BrBUuxMR.js +0 -525
- package/out/renderer/assets/yacas-b5lAVEIl.js +0 -130
- package/out/renderer/assets/z80-BZV19vqv.js +0 -93
- package/scripts/download-uv.mjs +0 -147
- /package/patches/{ai+5.0.161.patch → ai+5.0.167.patch} +0 -0
|
@@ -1,135 +0,0 @@
|
|
|
1
|
-
function words(str) {
|
|
2
|
-
var obj = {}, words2 = str.split(" ");
|
|
3
|
-
for (var i = 0; i < words2.length; ++i) obj[words2[i]] = true;
|
|
4
|
-
return obj;
|
|
5
|
-
}
|
|
6
|
-
var keywords = words("if elsif else stop require");
|
|
7
|
-
var atoms = words("true false not");
|
|
8
|
-
function tokenBase(stream, state) {
|
|
9
|
-
var ch = stream.next();
|
|
10
|
-
if (ch == "/" && stream.eat("*")) {
|
|
11
|
-
state.tokenize = tokenCComment;
|
|
12
|
-
return tokenCComment(stream, state);
|
|
13
|
-
}
|
|
14
|
-
if (ch === "#") {
|
|
15
|
-
stream.skipToEnd();
|
|
16
|
-
return "comment";
|
|
17
|
-
}
|
|
18
|
-
if (ch == '"') {
|
|
19
|
-
state.tokenize = tokenString(ch);
|
|
20
|
-
return state.tokenize(stream, state);
|
|
21
|
-
}
|
|
22
|
-
if (ch == "(") {
|
|
23
|
-
state._indent.push("(");
|
|
24
|
-
state._indent.push("{");
|
|
25
|
-
return null;
|
|
26
|
-
}
|
|
27
|
-
if (ch === "{") {
|
|
28
|
-
state._indent.push("{");
|
|
29
|
-
return null;
|
|
30
|
-
}
|
|
31
|
-
if (ch == ")") {
|
|
32
|
-
state._indent.pop();
|
|
33
|
-
state._indent.pop();
|
|
34
|
-
}
|
|
35
|
-
if (ch === "}") {
|
|
36
|
-
state._indent.pop();
|
|
37
|
-
return null;
|
|
38
|
-
}
|
|
39
|
-
if (ch == ",")
|
|
40
|
-
return null;
|
|
41
|
-
if (ch == ";")
|
|
42
|
-
return null;
|
|
43
|
-
if (/[{}\(\),;]/.test(ch))
|
|
44
|
-
return null;
|
|
45
|
-
if (/\d/.test(ch)) {
|
|
46
|
-
stream.eatWhile(/[\d]/);
|
|
47
|
-
stream.eat(/[KkMmGg]/);
|
|
48
|
-
return "number";
|
|
49
|
-
}
|
|
50
|
-
if (ch == ":") {
|
|
51
|
-
stream.eatWhile(/[a-zA-Z_]/);
|
|
52
|
-
stream.eatWhile(/[a-zA-Z0-9_]/);
|
|
53
|
-
return "operator";
|
|
54
|
-
}
|
|
55
|
-
stream.eatWhile(/\w/);
|
|
56
|
-
var cur = stream.current();
|
|
57
|
-
if (cur == "text" && stream.eat(":")) {
|
|
58
|
-
state.tokenize = tokenMultiLineString;
|
|
59
|
-
return "string";
|
|
60
|
-
}
|
|
61
|
-
if (keywords.propertyIsEnumerable(cur))
|
|
62
|
-
return "keyword";
|
|
63
|
-
if (atoms.propertyIsEnumerable(cur))
|
|
64
|
-
return "atom";
|
|
65
|
-
return null;
|
|
66
|
-
}
|
|
67
|
-
function tokenMultiLineString(stream, state) {
|
|
68
|
-
state._multiLineString = true;
|
|
69
|
-
if (!stream.sol()) {
|
|
70
|
-
stream.eatSpace();
|
|
71
|
-
if (stream.peek() == "#") {
|
|
72
|
-
stream.skipToEnd();
|
|
73
|
-
return "comment";
|
|
74
|
-
}
|
|
75
|
-
stream.skipToEnd();
|
|
76
|
-
return "string";
|
|
77
|
-
}
|
|
78
|
-
if (stream.next() == "." && stream.eol()) {
|
|
79
|
-
state._multiLineString = false;
|
|
80
|
-
state.tokenize = tokenBase;
|
|
81
|
-
}
|
|
82
|
-
return "string";
|
|
83
|
-
}
|
|
84
|
-
function tokenCComment(stream, state) {
|
|
85
|
-
var maybeEnd = false, ch;
|
|
86
|
-
while ((ch = stream.next()) != null) {
|
|
87
|
-
if (maybeEnd && ch == "/") {
|
|
88
|
-
state.tokenize = tokenBase;
|
|
89
|
-
break;
|
|
90
|
-
}
|
|
91
|
-
maybeEnd = ch == "*";
|
|
92
|
-
}
|
|
93
|
-
return "comment";
|
|
94
|
-
}
|
|
95
|
-
function tokenString(quote) {
|
|
96
|
-
return function(stream, state) {
|
|
97
|
-
var escaped = false, ch;
|
|
98
|
-
while ((ch = stream.next()) != null) {
|
|
99
|
-
if (ch == quote && !escaped)
|
|
100
|
-
break;
|
|
101
|
-
escaped = !escaped && ch == "\\";
|
|
102
|
-
}
|
|
103
|
-
if (!escaped) state.tokenize = tokenBase;
|
|
104
|
-
return "string";
|
|
105
|
-
};
|
|
106
|
-
}
|
|
107
|
-
const sieve = {
|
|
108
|
-
name: "sieve",
|
|
109
|
-
startState: function(base) {
|
|
110
|
-
return {
|
|
111
|
-
tokenize: tokenBase,
|
|
112
|
-
baseIndent: base || 0,
|
|
113
|
-
_indent: []
|
|
114
|
-
};
|
|
115
|
-
},
|
|
116
|
-
token: function(stream, state) {
|
|
117
|
-
if (stream.eatSpace())
|
|
118
|
-
return null;
|
|
119
|
-
return (state.tokenize || tokenBase)(stream, state);
|
|
120
|
-
},
|
|
121
|
-
indent: function(state, _textAfter, cx) {
|
|
122
|
-
var length = state._indent.length;
|
|
123
|
-
if (_textAfter && _textAfter[0] == "}")
|
|
124
|
-
length--;
|
|
125
|
-
if (length < 0)
|
|
126
|
-
length = 0;
|
|
127
|
-
return length * cx.unit;
|
|
128
|
-
},
|
|
129
|
-
languageData: {
|
|
130
|
-
indentOnInput: /^\s*\}$/
|
|
131
|
-
}
|
|
132
|
-
};
|
|
133
|
-
export {
|
|
134
|
-
sieve
|
|
135
|
-
};
|
|
@@ -1,130 +0,0 @@
|
|
|
1
|
-
function simpleMode(states) {
|
|
2
|
-
ensureState(states, "start");
|
|
3
|
-
var states_ = {}, meta = states.languageData || {}, hasIndentation = false;
|
|
4
|
-
for (var state in states) if (state != meta && states.hasOwnProperty(state)) {
|
|
5
|
-
var list = states_[state] = [], orig = states[state];
|
|
6
|
-
for (var i = 0; i < orig.length; i++) {
|
|
7
|
-
var data = orig[i];
|
|
8
|
-
list.push(new Rule(data, states));
|
|
9
|
-
if (data.indent || data.dedent) hasIndentation = true;
|
|
10
|
-
}
|
|
11
|
-
}
|
|
12
|
-
return {
|
|
13
|
-
name: meta.name,
|
|
14
|
-
startState: function() {
|
|
15
|
-
return { state: "start", pending: null, indent: hasIndentation ? [] : null };
|
|
16
|
-
},
|
|
17
|
-
copyState: function(state2) {
|
|
18
|
-
var s = { state: state2.state, pending: state2.pending, indent: state2.indent && state2.indent.slice(0) };
|
|
19
|
-
if (state2.stack)
|
|
20
|
-
s.stack = state2.stack.slice(0);
|
|
21
|
-
return s;
|
|
22
|
-
},
|
|
23
|
-
token: tokenFunction(states_),
|
|
24
|
-
indent: indentFunction(states_, meta),
|
|
25
|
-
mergeTokens: meta.mergeTokens,
|
|
26
|
-
languageData: meta
|
|
27
|
-
};
|
|
28
|
-
}
|
|
29
|
-
function ensureState(states, name) {
|
|
30
|
-
if (!states.hasOwnProperty(name))
|
|
31
|
-
throw new Error("Undefined state " + name + " in simple mode");
|
|
32
|
-
}
|
|
33
|
-
function toRegex(val, caret) {
|
|
34
|
-
if (!val) return /(?:)/;
|
|
35
|
-
var flags = "";
|
|
36
|
-
if (val instanceof RegExp) {
|
|
37
|
-
if (val.ignoreCase) flags = "i";
|
|
38
|
-
if (val.unicode) flags += "u";
|
|
39
|
-
val = val.source;
|
|
40
|
-
} else {
|
|
41
|
-
val = String(val);
|
|
42
|
-
}
|
|
43
|
-
return new RegExp("^(?:" + val + ")", flags);
|
|
44
|
-
}
|
|
45
|
-
function asToken(val) {
|
|
46
|
-
if (!val) return null;
|
|
47
|
-
if (val.apply) return val;
|
|
48
|
-
if (typeof val == "string") return val.replace(/\./g, " ");
|
|
49
|
-
var result = [];
|
|
50
|
-
for (var i = 0; i < val.length; i++)
|
|
51
|
-
result.push(val[i] && val[i].replace(/\./g, " "));
|
|
52
|
-
return result;
|
|
53
|
-
}
|
|
54
|
-
function Rule(data, states) {
|
|
55
|
-
if (data.next || data.push) ensureState(states, data.next || data.push);
|
|
56
|
-
this.regex = toRegex(data.regex);
|
|
57
|
-
this.token = asToken(data.token);
|
|
58
|
-
this.data = data;
|
|
59
|
-
}
|
|
60
|
-
function tokenFunction(states) {
|
|
61
|
-
return function(stream, state) {
|
|
62
|
-
if (state.pending) {
|
|
63
|
-
var pend = state.pending.shift();
|
|
64
|
-
if (state.pending.length == 0) state.pending = null;
|
|
65
|
-
stream.pos += pend.text.length;
|
|
66
|
-
return pend.token;
|
|
67
|
-
}
|
|
68
|
-
var curState = states[state.state];
|
|
69
|
-
for (var i = 0; i < curState.length; i++) {
|
|
70
|
-
var rule = curState[i];
|
|
71
|
-
var matches = (!rule.data.sol || stream.sol()) && stream.match(rule.regex);
|
|
72
|
-
if (matches) {
|
|
73
|
-
if (rule.data.next) {
|
|
74
|
-
state.state = rule.data.next;
|
|
75
|
-
} else if (rule.data.push) {
|
|
76
|
-
(state.stack || (state.stack = [])).push(state.state);
|
|
77
|
-
state.state = rule.data.push;
|
|
78
|
-
} else if (rule.data.pop && state.stack && state.stack.length) {
|
|
79
|
-
state.state = state.stack.pop();
|
|
80
|
-
}
|
|
81
|
-
if (rule.data.indent)
|
|
82
|
-
state.indent.push(stream.indentation() + stream.indentUnit);
|
|
83
|
-
if (rule.data.dedent)
|
|
84
|
-
state.indent.pop();
|
|
85
|
-
var token = rule.token;
|
|
86
|
-
if (token && token.apply) token = token(matches);
|
|
87
|
-
if (matches.length > 2 && rule.token && typeof rule.token != "string") {
|
|
88
|
-
state.pending = [];
|
|
89
|
-
for (var j = 2; j < matches.length; j++)
|
|
90
|
-
if (matches[j])
|
|
91
|
-
state.pending.push({ text: matches[j], token: rule.token[j - 1] });
|
|
92
|
-
stream.backUp(matches[0].length - (matches[1] ? matches[1].length : 0));
|
|
93
|
-
return token[0];
|
|
94
|
-
} else if (token && token.join) {
|
|
95
|
-
return token[0];
|
|
96
|
-
} else {
|
|
97
|
-
return token;
|
|
98
|
-
}
|
|
99
|
-
}
|
|
100
|
-
}
|
|
101
|
-
stream.next();
|
|
102
|
-
return null;
|
|
103
|
-
};
|
|
104
|
-
}
|
|
105
|
-
function indentFunction(states, meta) {
|
|
106
|
-
return function(state, textAfter) {
|
|
107
|
-
if (state.indent == null || meta.dontIndentStates && meta.dontIndentStates.indexOf(state.state) > -1)
|
|
108
|
-
return null;
|
|
109
|
-
var pos = state.indent.length - 1, rules = states[state.state];
|
|
110
|
-
scan: for (; ; ) {
|
|
111
|
-
for (var i = 0; i < rules.length; i++) {
|
|
112
|
-
var rule = rules[i];
|
|
113
|
-
if (rule.data.dedent && rule.data.dedentIfLineStart !== false) {
|
|
114
|
-
var m = rule.regex.exec(textAfter);
|
|
115
|
-
if (m && m[0]) {
|
|
116
|
-
pos--;
|
|
117
|
-
if (rule.next || rule.push) rules = states[rule.next || rule.push];
|
|
118
|
-
textAfter = textAfter.slice(m[0].length);
|
|
119
|
-
continue scan;
|
|
120
|
-
}
|
|
121
|
-
}
|
|
122
|
-
}
|
|
123
|
-
break;
|
|
124
|
-
}
|
|
125
|
-
return pos < 0 ? 0 : state.indent[pos];
|
|
126
|
-
};
|
|
127
|
-
}
|
|
128
|
-
export {
|
|
129
|
-
simpleMode as s
|
|
130
|
-
};
|
|
@@ -1,121 +0,0 @@
|
|
|
1
|
-
var specialChars = /[+\-\/\\*~<>=@%|&?!.,:;^]/;
|
|
2
|
-
var keywords = /true|false|nil|self|super|thisContext/;
|
|
3
|
-
var Context = function(tokenizer, parent) {
|
|
4
|
-
this.next = tokenizer;
|
|
5
|
-
this.parent = parent;
|
|
6
|
-
};
|
|
7
|
-
var Token = function(name, context, eos) {
|
|
8
|
-
this.name = name;
|
|
9
|
-
this.context = context;
|
|
10
|
-
this.eos = eos;
|
|
11
|
-
};
|
|
12
|
-
var State = function() {
|
|
13
|
-
this.context = new Context(next, null);
|
|
14
|
-
this.expectVariable = true;
|
|
15
|
-
this.indentation = 0;
|
|
16
|
-
this.userIndentationDelta = 0;
|
|
17
|
-
};
|
|
18
|
-
State.prototype.userIndent = function(indentation, indentUnit) {
|
|
19
|
-
this.userIndentationDelta = indentation > 0 ? indentation / indentUnit - this.indentation : 0;
|
|
20
|
-
};
|
|
21
|
-
var next = function(stream, context, state) {
|
|
22
|
-
var token = new Token(null, context, false);
|
|
23
|
-
var aChar = stream.next();
|
|
24
|
-
if (aChar === '"') {
|
|
25
|
-
token = nextComment(stream, new Context(nextComment, context));
|
|
26
|
-
} else if (aChar === "'") {
|
|
27
|
-
token = nextString(stream, new Context(nextString, context));
|
|
28
|
-
} else if (aChar === "#") {
|
|
29
|
-
if (stream.peek() === "'") {
|
|
30
|
-
stream.next();
|
|
31
|
-
token = nextSymbol(stream, new Context(nextSymbol, context));
|
|
32
|
-
} else {
|
|
33
|
-
if (stream.eatWhile(/[^\s.{}\[\]()]/))
|
|
34
|
-
token.name = "string.special";
|
|
35
|
-
else
|
|
36
|
-
token.name = "meta";
|
|
37
|
-
}
|
|
38
|
-
} else if (aChar === "$") {
|
|
39
|
-
if (stream.next() === "<") {
|
|
40
|
-
stream.eatWhile(/[^\s>]/);
|
|
41
|
-
stream.next();
|
|
42
|
-
}
|
|
43
|
-
token.name = "string.special";
|
|
44
|
-
} else if (aChar === "|" && state.expectVariable) {
|
|
45
|
-
token.context = new Context(nextTemporaries, context);
|
|
46
|
-
} else if (/[\[\]{}()]/.test(aChar)) {
|
|
47
|
-
token.name = "bracket";
|
|
48
|
-
token.eos = /[\[{(]/.test(aChar);
|
|
49
|
-
if (aChar === "[") {
|
|
50
|
-
state.indentation++;
|
|
51
|
-
} else if (aChar === "]") {
|
|
52
|
-
state.indentation = Math.max(0, state.indentation - 1);
|
|
53
|
-
}
|
|
54
|
-
} else if (specialChars.test(aChar)) {
|
|
55
|
-
stream.eatWhile(specialChars);
|
|
56
|
-
token.name = "operator";
|
|
57
|
-
token.eos = aChar !== ";";
|
|
58
|
-
} else if (/\d/.test(aChar)) {
|
|
59
|
-
stream.eatWhile(/[\w\d]/);
|
|
60
|
-
token.name = "number";
|
|
61
|
-
} else if (/[\w_]/.test(aChar)) {
|
|
62
|
-
stream.eatWhile(/[\w\d_]/);
|
|
63
|
-
token.name = state.expectVariable ? keywords.test(stream.current()) ? "keyword" : "variable" : null;
|
|
64
|
-
} else {
|
|
65
|
-
token.eos = state.expectVariable;
|
|
66
|
-
}
|
|
67
|
-
return token;
|
|
68
|
-
};
|
|
69
|
-
var nextComment = function(stream, context) {
|
|
70
|
-
stream.eatWhile(/[^"]/);
|
|
71
|
-
return new Token("comment", stream.eat('"') ? context.parent : context, true);
|
|
72
|
-
};
|
|
73
|
-
var nextString = function(stream, context) {
|
|
74
|
-
stream.eatWhile(/[^']/);
|
|
75
|
-
return new Token("string", stream.eat("'") ? context.parent : context, false);
|
|
76
|
-
};
|
|
77
|
-
var nextSymbol = function(stream, context) {
|
|
78
|
-
stream.eatWhile(/[^']/);
|
|
79
|
-
return new Token("string.special", stream.eat("'") ? context.parent : context, false);
|
|
80
|
-
};
|
|
81
|
-
var nextTemporaries = function(stream, context) {
|
|
82
|
-
var token = new Token(null, context, false);
|
|
83
|
-
var aChar = stream.next();
|
|
84
|
-
if (aChar === "|") {
|
|
85
|
-
token.context = context.parent;
|
|
86
|
-
token.eos = true;
|
|
87
|
-
} else {
|
|
88
|
-
stream.eatWhile(/[^|]/);
|
|
89
|
-
token.name = "variable";
|
|
90
|
-
}
|
|
91
|
-
return token;
|
|
92
|
-
};
|
|
93
|
-
const smalltalk = {
|
|
94
|
-
name: "smalltalk",
|
|
95
|
-
startState: function() {
|
|
96
|
-
return new State();
|
|
97
|
-
},
|
|
98
|
-
token: function(stream, state) {
|
|
99
|
-
state.userIndent(stream.indentation(), stream.indentUnit);
|
|
100
|
-
if (stream.eatSpace()) {
|
|
101
|
-
return null;
|
|
102
|
-
}
|
|
103
|
-
var token = state.context.next(stream, state.context, state);
|
|
104
|
-
state.context = token.context;
|
|
105
|
-
state.expectVariable = token.eos;
|
|
106
|
-
return token.name;
|
|
107
|
-
},
|
|
108
|
-
blankLine: function(state, indentUnit) {
|
|
109
|
-
state.userIndent(0, indentUnit);
|
|
110
|
-
},
|
|
111
|
-
indent: function(state, textAfter, cx) {
|
|
112
|
-
var i = state.context.next === next && textAfter && textAfter.charAt(0) === "]" ? -1 : state.userIndentationDelta;
|
|
113
|
-
return (state.indentation + i) * cx.unit;
|
|
114
|
-
},
|
|
115
|
-
languageData: {
|
|
116
|
-
indentOnInput: /^\s*\]$/
|
|
117
|
-
}
|
|
118
|
-
};
|
|
119
|
-
export {
|
|
120
|
-
smalltalk
|
|
121
|
-
};
|
|
@@ -1,69 +0,0 @@
|
|
|
1
|
-
var isStringChar = /[^\s\|\!\+\-\*\?\~\^\&\:\(\)\[\]\{\}\"\\]/;
|
|
2
|
-
var isOperatorChar = /[\|\!\+\-\*\?\~\^\&]/;
|
|
3
|
-
var isOperatorString = /^(OR|AND|NOT|TO)$/;
|
|
4
|
-
function isNumber(word) {
|
|
5
|
-
return parseFloat(word).toString() === word;
|
|
6
|
-
}
|
|
7
|
-
function tokenString(quote) {
|
|
8
|
-
return function(stream, state) {
|
|
9
|
-
var escaped = false, next;
|
|
10
|
-
while ((next = stream.next()) != null) {
|
|
11
|
-
if (next == quote && !escaped) break;
|
|
12
|
-
escaped = !escaped && next == "\\";
|
|
13
|
-
}
|
|
14
|
-
if (!escaped) state.tokenize = tokenBase;
|
|
15
|
-
return "string";
|
|
16
|
-
};
|
|
17
|
-
}
|
|
18
|
-
function tokenOperator(operator) {
|
|
19
|
-
return function(stream, state) {
|
|
20
|
-
if (operator == "|")
|
|
21
|
-
stream.eat(/\|/);
|
|
22
|
-
else if (operator == "&")
|
|
23
|
-
stream.eat(/\&/);
|
|
24
|
-
state.tokenize = tokenBase;
|
|
25
|
-
return "operator";
|
|
26
|
-
};
|
|
27
|
-
}
|
|
28
|
-
function tokenWord(ch) {
|
|
29
|
-
return function(stream, state) {
|
|
30
|
-
var word = ch;
|
|
31
|
-
while ((ch = stream.peek()) && ch.match(isStringChar) != null) {
|
|
32
|
-
word += stream.next();
|
|
33
|
-
}
|
|
34
|
-
state.tokenize = tokenBase;
|
|
35
|
-
if (isOperatorString.test(word))
|
|
36
|
-
return "operator";
|
|
37
|
-
else if (isNumber(word))
|
|
38
|
-
return "number";
|
|
39
|
-
else if (stream.peek() == ":")
|
|
40
|
-
return "propertyName";
|
|
41
|
-
else
|
|
42
|
-
return "string";
|
|
43
|
-
};
|
|
44
|
-
}
|
|
45
|
-
function tokenBase(stream, state) {
|
|
46
|
-
var ch = stream.next();
|
|
47
|
-
if (ch == '"')
|
|
48
|
-
state.tokenize = tokenString(ch);
|
|
49
|
-
else if (isOperatorChar.test(ch))
|
|
50
|
-
state.tokenize = tokenOperator(ch);
|
|
51
|
-
else if (isStringChar.test(ch))
|
|
52
|
-
state.tokenize = tokenWord(ch);
|
|
53
|
-
return state.tokenize != tokenBase ? state.tokenize(stream, state) : null;
|
|
54
|
-
}
|
|
55
|
-
const solr = {
|
|
56
|
-
name: "solr",
|
|
57
|
-
startState: function() {
|
|
58
|
-
return {
|
|
59
|
-
tokenize: tokenBase
|
|
60
|
-
};
|
|
61
|
-
},
|
|
62
|
-
token: function(stream, state) {
|
|
63
|
-
if (stream.eatSpace()) return null;
|
|
64
|
-
return state.tokenize(stream, state);
|
|
65
|
-
}
|
|
66
|
-
};
|
|
67
|
-
export {
|
|
68
|
-
solr
|
|
69
|
-
};
|
|
@@ -1,249 +0,0 @@
|
|
|
1
|
-
var curPunc;
|
|
2
|
-
function wordRegexp(words) {
|
|
3
|
-
return new RegExp("^(?:" + words.join("|") + ")$", "i");
|
|
4
|
-
}
|
|
5
|
-
var ops = wordRegexp([
|
|
6
|
-
"str",
|
|
7
|
-
"lang",
|
|
8
|
-
"langmatches",
|
|
9
|
-
"datatype",
|
|
10
|
-
"bound",
|
|
11
|
-
"sameterm",
|
|
12
|
-
"isiri",
|
|
13
|
-
"isuri",
|
|
14
|
-
"iri",
|
|
15
|
-
"uri",
|
|
16
|
-
"bnode",
|
|
17
|
-
"count",
|
|
18
|
-
"sum",
|
|
19
|
-
"min",
|
|
20
|
-
"max",
|
|
21
|
-
"avg",
|
|
22
|
-
"sample",
|
|
23
|
-
"group_concat",
|
|
24
|
-
"rand",
|
|
25
|
-
"abs",
|
|
26
|
-
"ceil",
|
|
27
|
-
"floor",
|
|
28
|
-
"round",
|
|
29
|
-
"concat",
|
|
30
|
-
"substr",
|
|
31
|
-
"strlen",
|
|
32
|
-
"replace",
|
|
33
|
-
"ucase",
|
|
34
|
-
"lcase",
|
|
35
|
-
"encode_for_uri",
|
|
36
|
-
"contains",
|
|
37
|
-
"strstarts",
|
|
38
|
-
"strends",
|
|
39
|
-
"strbefore",
|
|
40
|
-
"strafter",
|
|
41
|
-
"year",
|
|
42
|
-
"month",
|
|
43
|
-
"day",
|
|
44
|
-
"hours",
|
|
45
|
-
"minutes",
|
|
46
|
-
"seconds",
|
|
47
|
-
"timezone",
|
|
48
|
-
"tz",
|
|
49
|
-
"now",
|
|
50
|
-
"uuid",
|
|
51
|
-
"struuid",
|
|
52
|
-
"md5",
|
|
53
|
-
"sha1",
|
|
54
|
-
"sha256",
|
|
55
|
-
"sha384",
|
|
56
|
-
"sha512",
|
|
57
|
-
"coalesce",
|
|
58
|
-
"if",
|
|
59
|
-
"strlang",
|
|
60
|
-
"strdt",
|
|
61
|
-
"isnumeric",
|
|
62
|
-
"regex",
|
|
63
|
-
"exists",
|
|
64
|
-
"isblank",
|
|
65
|
-
"isliteral",
|
|
66
|
-
"a",
|
|
67
|
-
"bind"
|
|
68
|
-
]);
|
|
69
|
-
var keywords = wordRegexp([
|
|
70
|
-
"base",
|
|
71
|
-
"prefix",
|
|
72
|
-
"select",
|
|
73
|
-
"distinct",
|
|
74
|
-
"reduced",
|
|
75
|
-
"construct",
|
|
76
|
-
"describe",
|
|
77
|
-
"ask",
|
|
78
|
-
"from",
|
|
79
|
-
"named",
|
|
80
|
-
"where",
|
|
81
|
-
"order",
|
|
82
|
-
"limit",
|
|
83
|
-
"offset",
|
|
84
|
-
"filter",
|
|
85
|
-
"optional",
|
|
86
|
-
"graph",
|
|
87
|
-
"by",
|
|
88
|
-
"asc",
|
|
89
|
-
"desc",
|
|
90
|
-
"as",
|
|
91
|
-
"having",
|
|
92
|
-
"undef",
|
|
93
|
-
"values",
|
|
94
|
-
"group",
|
|
95
|
-
"minus",
|
|
96
|
-
"in",
|
|
97
|
-
"not",
|
|
98
|
-
"service",
|
|
99
|
-
"silent",
|
|
100
|
-
"using",
|
|
101
|
-
"insert",
|
|
102
|
-
"delete",
|
|
103
|
-
"union",
|
|
104
|
-
"true",
|
|
105
|
-
"false",
|
|
106
|
-
"with",
|
|
107
|
-
"data",
|
|
108
|
-
"copy",
|
|
109
|
-
"to",
|
|
110
|
-
"move",
|
|
111
|
-
"add",
|
|
112
|
-
"create",
|
|
113
|
-
"drop",
|
|
114
|
-
"clear",
|
|
115
|
-
"load",
|
|
116
|
-
"into"
|
|
117
|
-
]);
|
|
118
|
-
var operatorChars = /[*+\-<>=&|\^\/!\?]/;
|
|
119
|
-
var PN_CHARS = "[A-Za-z_\\-0-9]";
|
|
120
|
-
var PREFIX_START = new RegExp("[A-Za-z]");
|
|
121
|
-
var PREFIX_REMAINDER = new RegExp("((" + PN_CHARS + "|\\.)*(" + PN_CHARS + "))?:");
|
|
122
|
-
function tokenBase(stream, state) {
|
|
123
|
-
var ch = stream.next();
|
|
124
|
-
curPunc = null;
|
|
125
|
-
if (ch == "$" || ch == "?") {
|
|
126
|
-
if (ch == "?" && stream.match(/\s/, false)) {
|
|
127
|
-
return "operator";
|
|
128
|
-
}
|
|
129
|
-
stream.match(/^[A-Za-z0-9_\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD][A-Za-z0-9_\u00B7\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u037D\u037F-\u1FFF\u200C-\u200D\u203F-\u2040\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD]*/);
|
|
130
|
-
return "variableName.local";
|
|
131
|
-
} else if (ch == "<" && !stream.match(/^[\s\u00a0=]/, false)) {
|
|
132
|
-
stream.match(/^[^\s\u00a0>]*>?/);
|
|
133
|
-
return "atom";
|
|
134
|
-
} else if (ch == '"' || ch == "'") {
|
|
135
|
-
state.tokenize = tokenLiteral(ch);
|
|
136
|
-
return state.tokenize(stream, state);
|
|
137
|
-
} else if (/[{}\(\),\.;\[\]]/.test(ch)) {
|
|
138
|
-
curPunc = ch;
|
|
139
|
-
return "bracket";
|
|
140
|
-
} else if (ch == "#") {
|
|
141
|
-
stream.skipToEnd();
|
|
142
|
-
return "comment";
|
|
143
|
-
} else if (operatorChars.test(ch)) {
|
|
144
|
-
return "operator";
|
|
145
|
-
} else if (ch == ":") {
|
|
146
|
-
eatPnLocal(stream);
|
|
147
|
-
return "atom";
|
|
148
|
-
} else if (ch == "@") {
|
|
149
|
-
stream.eatWhile(/[a-z\d\-]/i);
|
|
150
|
-
return "meta";
|
|
151
|
-
} else if (PREFIX_START.test(ch) && stream.match(PREFIX_REMAINDER)) {
|
|
152
|
-
eatPnLocal(stream);
|
|
153
|
-
return "atom";
|
|
154
|
-
}
|
|
155
|
-
stream.eatWhile(/[_\w\d]/);
|
|
156
|
-
var word = stream.current();
|
|
157
|
-
if (ops.test(word))
|
|
158
|
-
return "builtin";
|
|
159
|
-
else if (keywords.test(word))
|
|
160
|
-
return "keyword";
|
|
161
|
-
else
|
|
162
|
-
return "variable";
|
|
163
|
-
}
|
|
164
|
-
function eatPnLocal(stream) {
|
|
165
|
-
stream.match(/(\.(?=[\w_\-\\%])|[:\w_-]|\\[-\\_~.!$&'()*+,;=/?#@%]|%[a-f\d][a-f\d])+/i);
|
|
166
|
-
}
|
|
167
|
-
function tokenLiteral(quote) {
|
|
168
|
-
return function(stream, state) {
|
|
169
|
-
var escaped = false, ch;
|
|
170
|
-
while ((ch = stream.next()) != null) {
|
|
171
|
-
if (ch == quote && !escaped) {
|
|
172
|
-
state.tokenize = tokenBase;
|
|
173
|
-
break;
|
|
174
|
-
}
|
|
175
|
-
escaped = !escaped && ch == "\\";
|
|
176
|
-
}
|
|
177
|
-
return "string";
|
|
178
|
-
};
|
|
179
|
-
}
|
|
180
|
-
function pushContext(state, type, col) {
|
|
181
|
-
state.context = { prev: state.context, indent: state.indent, col, type };
|
|
182
|
-
}
|
|
183
|
-
function popContext(state) {
|
|
184
|
-
state.indent = state.context.indent;
|
|
185
|
-
state.context = state.context.prev;
|
|
186
|
-
}
|
|
187
|
-
const sparql = {
|
|
188
|
-
name: "sparql",
|
|
189
|
-
startState: function() {
|
|
190
|
-
return {
|
|
191
|
-
tokenize: tokenBase,
|
|
192
|
-
context: null,
|
|
193
|
-
indent: 0,
|
|
194
|
-
col: 0
|
|
195
|
-
};
|
|
196
|
-
},
|
|
197
|
-
token: function(stream, state) {
|
|
198
|
-
if (stream.sol()) {
|
|
199
|
-
if (state.context && state.context.align == null) state.context.align = false;
|
|
200
|
-
state.indent = stream.indentation();
|
|
201
|
-
}
|
|
202
|
-
if (stream.eatSpace()) return null;
|
|
203
|
-
var style = state.tokenize(stream, state);
|
|
204
|
-
if (style != "comment" && state.context && state.context.align == null && state.context.type != "pattern") {
|
|
205
|
-
state.context.align = true;
|
|
206
|
-
}
|
|
207
|
-
if (curPunc == "(") pushContext(state, ")", stream.column());
|
|
208
|
-
else if (curPunc == "[") pushContext(state, "]", stream.column());
|
|
209
|
-
else if (curPunc == "{") pushContext(state, "}", stream.column());
|
|
210
|
-
else if (/[\]\}\)]/.test(curPunc)) {
|
|
211
|
-
while (state.context && state.context.type == "pattern") popContext(state);
|
|
212
|
-
if (state.context && curPunc == state.context.type) {
|
|
213
|
-
popContext(state);
|
|
214
|
-
if (curPunc == "}" && state.context && state.context.type == "pattern")
|
|
215
|
-
popContext(state);
|
|
216
|
-
}
|
|
217
|
-
} else if (curPunc == "." && state.context && state.context.type == "pattern") popContext(state);
|
|
218
|
-
else if (/atom|string|variable/.test(style) && state.context) {
|
|
219
|
-
if (/[\}\]]/.test(state.context.type))
|
|
220
|
-
pushContext(state, "pattern", stream.column());
|
|
221
|
-
else if (state.context.type == "pattern" && !state.context.align) {
|
|
222
|
-
state.context.align = true;
|
|
223
|
-
state.context.col = stream.column();
|
|
224
|
-
}
|
|
225
|
-
}
|
|
226
|
-
return style;
|
|
227
|
-
},
|
|
228
|
-
indent: function(state, textAfter, cx) {
|
|
229
|
-
var firstChar = textAfter && textAfter.charAt(0);
|
|
230
|
-
var context = state.context;
|
|
231
|
-
if (/[\]\}]/.test(firstChar))
|
|
232
|
-
while (context && context.type == "pattern") context = context.prev;
|
|
233
|
-
var closing = context && firstChar == context.type;
|
|
234
|
-
if (!context)
|
|
235
|
-
return 0;
|
|
236
|
-
else if (context.type == "pattern")
|
|
237
|
-
return context.col;
|
|
238
|
-
else if (context.align)
|
|
239
|
-
return context.col + (closing ? 0 : 1);
|
|
240
|
-
else
|
|
241
|
-
return context.indent + (closing ? 0 : cx.unit);
|
|
242
|
-
},
|
|
243
|
-
languageData: {
|
|
244
|
-
commentTokens: { line: "#" }
|
|
245
|
-
}
|
|
246
|
-
};
|
|
247
|
-
export {
|
|
248
|
-
sparql
|
|
249
|
-
};
|