@aiderdesk/aiderdesk 0.61.0-dev → 0.61.0

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.
Files changed (175) hide show
  1. package/out/renderer/assets/__vite-browser-external-2447137e-DYxpcVy9.js +4 -0
  2. package/out/renderer/assets/{_baseUniq-Z8t1Ab1g.js → _baseUniq-BPF2Herp.js} +21 -197
  3. package/out/renderer/assets/{arc-CwESpVYE.js → arc-DfPLteHF.js} +1 -1
  4. package/out/renderer/assets/{architectureDiagram-2XIMDMQ5-C490EQr5.js → architectureDiagram-Q4EWVU46-Bw0u-sSH.js} +34 -20
  5. package/out/renderer/assets/{blockDiagram-WCTKOSBZ-DbHssxrQ.js → blockDiagram-DXYQGD6D-CkfB9if8.js} +21 -8
  6. package/out/renderer/assets/{c4Diagram-IC4MRINW-BxE3GUKu.js → c4Diagram-AHTNJAMY-DweK9Liz.js} +31 -35
  7. package/out/renderer/assets/{channel-C9hJq_Xr.js → channel-C5wwrRof.js} +1 -1
  8. package/out/renderer/assets/{chunk-4BX2VUAB-ChcKNpL6.js → chunk-4BX2VUAB-0KM14cFd.js} +1 -1
  9. package/out/renderer/assets/{chunk-WL4C6EOR-vhby2fZi.js → chunk-4TB4RGXK-CmVtCVL4.js} +121 -82
  10. package/out/renderer/assets/{chunk-55IACEB6-oLT9lXTt.js → chunk-55IACEB6-BzVYZvBM.js} +1 -1
  11. package/out/renderer/assets/{chunk-KX2RTZJC-D32tV7H-.js → chunk-EDXVE4YY-BryQl5Kv.js} +1 -1
  12. package/out/renderer/assets/{chunk-FMBD7UC4-B5k8rETe.js → chunk-FMBD7UC4-CRiLea_e.js} +1 -1
  13. package/out/renderer/assets/{chunk-NQ4KR5QH-Bmqo2FpL.js → chunk-OYMX7WX6-Cpi4N3NO.js} +32 -15
  14. package/out/renderer/assets/{chunk-QZHKN3VN-8BpGifjS.js → chunk-QZHKN3VN-BT8kABWC.js} +1 -1
  15. package/out/renderer/assets/{chunk-JSJVCQXG-DtjSx6Cj.js → chunk-YZCP3GAM-OLZV_Sef.js} +1 -1
  16. package/out/renderer/assets/{classDiagram-VBA2DB6C-BxRSSb9e.js → classDiagram-6PBFFD2Q-VdE6G90i.js} +6 -6
  17. package/out/renderer/assets/{classDiagram-v2-RAHNMMFH-BxRSSb9e.js → classDiagram-v2-HSJHXN6E-VdE6G90i.js} +6 -6
  18. package/out/renderer/assets/{clone-D9a-uIZa.js → clone-DwQZ86nS.js} +1 -1
  19. package/out/renderer/assets/{cose-bilkent-S5V4N54A-CUqqQ-6R.js → cose-bilkent-S5V4N54A-BEcAKM9H.js} +1 -1
  20. package/out/renderer/assets/{dagre-KLK3FWXG-ORIwMMhq.js → dagre-KV5264BT-BcFQYL1M.js} +6 -6
  21. package/out/renderer/assets/diagram-5BDNPKRD-GrUNdC1u.js +171 -0
  22. package/out/renderer/assets/{diagram-E7M64L7V-bS9HcoDQ.js → diagram-G4DWMVQ6-CG4S-ov5.js} +15 -13
  23. package/out/renderer/assets/{diagram-IFDJBPK2-BRlTIR0J.js → diagram-MMDJMWI5-9ogY3MRC.js} +5 -6
  24. package/out/renderer/assets/{diagram-P4PSJMXO-jsjGwH-p.js → diagram-TYMM5635-Ck7mI1bS.js} +5 -6
  25. package/out/renderer/assets/{erDiagram-INFDFZHY-DGlgjHOQ.js → erDiagram-SMLLAGMA-Dvf_c-7M.js} +81 -35
  26. package/out/renderer/assets/{flowDiagram-PKNHOUZH-CzLC87bM.js → flowDiagram-DWJPFMVM-CPDjOXYp.js} +27 -45
  27. package/out/renderer/assets/{ganttDiagram-A5KZAMGK-BbDv36wT.js → ganttDiagram-T4ZO3ILL-B4dJrK-3.js} +17 -8
  28. package/out/renderer/assets/{gitGraphDiagram-K3NZZRJ6-CBQnBjEi.js → gitGraphDiagram-UUTBAWPF-De2eCfMN.js} +244 -67
  29. package/out/renderer/assets/{graph-Dl5N6maZ.js → graph-BFn23kR_.js} +175 -3
  30. package/out/renderer/assets/{index-MDHavDF9.js → index-BL-57WPa.js} +15877 -20787
  31. package/out/renderer/assets/{index-CDCy_DhA.css → index-BkntVzTm.css} +114 -301
  32. package/out/renderer/assets/{infoDiagram-LFFYTUFH-GtEDBEmz.js → infoDiagram-42DDH7IO-BIt9B6mQ.js} +5 -6
  33. package/out/renderer/assets/{ishikawaDiagram-PHBUUO56-Uj90gr3I.js → ishikawaDiagram-UXIWVN3A-CXZs0KGV.js} +3 -3
  34. package/out/renderer/assets/{journeyDiagram-4ABVD52K-DekFuOwS.js → journeyDiagram-VCZTEJTY-B-EXuj5b.js} +14 -13
  35. package/out/renderer/assets/{kanban-definition-K7BYSVSG-Hfz2L6NS.js → kanban-definition-6JOO6SKY-ByvN0qaD.js} +5 -2
  36. package/out/renderer/assets/{layout-B9K2VT39.js → layout-BpybWUv6.js} +117 -4
  37. package/out/renderer/assets/min-DB8ixvoT.js +41 -0
  38. package/out/renderer/assets/{mindmap-definition-YRQLILUH-DDcS7_GH.js → mindmap-definition-QFDTVHPH-Do-I-At8.js} +69 -13
  39. package/out/renderer/assets/{pieDiagram-SKSYHLDU-DwjEcJ0Q.js → pieDiagram-DEJITSTG-Cnpf6Gt6.js} +20 -13
  40. package/out/renderer/assets/{quadrantDiagram-337W2JSQ-CpGqN7vo.js → quadrantDiagram-34T5L4WZ-VcOb1qLd.js} +1 -1
  41. package/out/renderer/assets/{requirementDiagram-Z7DCOOCP-qDRUf1ip.js → requirementDiagram-MS252O5E-VJs9Hpaw.js} +42 -11
  42. package/out/renderer/assets/{sankeyDiagram-WA2Y5GQK-DRKS8C1H.js → sankeyDiagram-XADWPNL6-BoXxgLvi.js} +1 -1
  43. package/out/renderer/assets/{sequenceDiagram-2WXFIKYE-DhVN2ug2.js → sequenceDiagram-FGHM5R23-b69hQjSp.js} +446 -220
  44. package/out/renderer/assets/{stateDiagram-RAJIS63D-BpP4eSqu.js → stateDiagram-FHFEXIEX-BK7E-REm.js} +10 -9
  45. package/out/renderer/assets/{stateDiagram-v2-FVOUBMTO-B_qQJqra.js → stateDiagram-v2-QKLJ7IA2-Cd2wfCQu.js} +4 -4
  46. package/out/renderer/assets/{timeline-definition-YZTLITO2-UoWXE_76.js → timeline-definition-GMOUNBTQ-Bl-MTfK5.js} +445 -71
  47. package/out/renderer/assets/{vennDiagram-LZ73GAT5-Dp1FZ609.js → vennDiagram-DHZGUBPP-DNmr1k2L.js} +1 -1
  48. package/out/renderer/assets/{treemap-KZPCXAKY-W2a2L6ff.js → wardley-RL74JXVD-DTbxPMj9.js} +1474 -977
  49. package/out/renderer/assets/wardleyDiagram-NUSXRM2D-BWw08wtD.js +901 -0
  50. package/out/renderer/assets/{xychartDiagram-JWTSCODW-CTzYHTbD.js → xychartDiagram-5P7HB3ND-EEYPnLDT.js} +20 -4
  51. package/out/renderer/index.html +3 -3
  52. package/out/renderer/progress.html +212 -62
  53. package/out/resources/mcp-server/aider-desk-mcp-server.js +642 -402
  54. package/out/runner.js +976 -386
  55. package/package.json +2 -3
  56. package/out/renderer/assets/_basePickBy-BWoXHZ8Z.js +0 -161
  57. package/out/renderer/assets/apl-fqmucPXA.js +0 -140
  58. package/out/renderer/assets/asciiarmor-DucZyvP0.js +0 -56
  59. package/out/renderer/assets/asn1-BnOEsgAm.js +0 -144
  60. package/out/renderer/assets/asterisk-QAlztEwS.js +0 -345
  61. package/out/renderer/assets/brainfuck-DZVCuF_t.js +0 -53
  62. package/out/renderer/assets/clike-xqXYL6ge.js +0 -805
  63. package/out/renderer/assets/clojure-BhXMqnxz.js +0 -849
  64. package/out/renderer/assets/cmake-BGaNd9E7.js +0 -71
  65. package/out/renderer/assets/cobol-4yqQntpt.js +0 -120
  66. package/out/renderer/assets/coffeescript-D2dXvhEc.js +0 -308
  67. package/out/renderer/assets/commonlisp-CF_VNHQR.js +0 -130
  68. package/out/renderer/assets/crystal-DyuLTqLs.js +0 -398
  69. package/out/renderer/assets/css-c-jst79C.js +0 -1783
  70. package/out/renderer/assets/cypher-Dlu_3r4V.js +0 -121
  71. package/out/renderer/assets/d-UURgV0Ux.js +0 -179
  72. package/out/renderer/assets/diff-B_Bi2Crb.js +0 -25
  73. package/out/renderer/assets/dockerfile-Bvk733Ga.js +0 -201
  74. package/out/renderer/assets/dtd-Dy74G54E.js +0 -114
  75. package/out/renderer/assets/dylan-TSb-Nfix.js +0 -314
  76. package/out/renderer/assets/ebnf-4fKAGW3a.js +0 -140
  77. package/out/renderer/assets/ecl-B59qGGVg.js +0 -178
  78. package/out/renderer/assets/eiffel-Dze7nlu3.js +0 -134
  79. package/out/renderer/assets/elm-DG7jkhNZ.js +0 -176
  80. package/out/renderer/assets/erlang-BO6gOnGA.js +0 -674
  81. package/out/renderer/assets/factor-CMxFHDqz.js +0 -65
  82. package/out/renderer/assets/fcl-CDDUNjTj.js +0 -141
  83. package/out/renderer/assets/forth-B9D2JCeE.js +0 -116
  84. package/out/renderer/assets/fortran-CAG2BFbe.js +0 -467
  85. package/out/renderer/assets/gas-d3KEcW3x.js +0 -294
  86. package/out/renderer/assets/gherkin-DhZlEZiy.js +0 -115
  87. package/out/renderer/assets/groovy-CpwJiBl7.js +0 -223
  88. package/out/renderer/assets/haskell-ySd-OUo8.js +0 -459
  89. package/out/renderer/assets/haxe-7MlzfeYV.js +0 -514
  90. package/out/renderer/assets/http-BqypyemW.js +0 -79
  91. package/out/renderer/assets/idl-4HIGJlDI.js +0 -985
  92. package/out/renderer/assets/index-6qedlt0q.js +0 -689
  93. package/out/renderer/assets/index-86jDpUJn.js +0 -385
  94. package/out/renderer/assets/index-BRjO8ber.js +0 -332
  95. package/out/renderer/assets/index-BVgw7j0d.js +0 -312
  96. package/out/renderer/assets/index-BhkyI1q3.js +0 -642
  97. package/out/renderer/assets/index-BqrmLPkg.js +0 -82
  98. package/out/renderer/assets/index-BuPbw4xM.js +0 -178
  99. package/out/renderer/assets/index-CTO-LPBg.js +0 -311
  100. package/out/renderer/assets/index-CTO4SzlI.js +0 -97
  101. package/out/renderer/assets/index-CZ9IQK_0.js +0 -2488
  102. package/out/renderer/assets/index-CZxsVxBZ.js +0 -1765
  103. package/out/renderer/assets/index-DIXV-3Xn.js +0 -406
  104. package/out/renderer/assets/index-DNzOtZX5.js +0 -61
  105. package/out/renderer/assets/index-DZtJe7oC.js +0 -1019
  106. package/out/renderer/assets/index-DaWjZz_g.js +0 -291
  107. package/out/renderer/assets/index-De056HHR.js +0 -151
  108. package/out/renderer/assets/index-Dk3wSDSN.js +0 -117
  109. package/out/renderer/assets/index-Dy4VRsnA.js +0 -1041
  110. package/out/renderer/assets/index-FnnayPBc.js +0 -82
  111. package/out/renderer/assets/index-MZb_zy6R.js +0 -704
  112. package/out/renderer/assets/index-chzQl8rJ.js +0 -157
  113. package/out/renderer/assets/index-s-Owx3Pm.js +0 -327
  114. package/out/renderer/assets/javascript-C_OHM9hj.js +0 -994
  115. package/out/renderer/assets/julia-Bs6JJhYG.js +0 -407
  116. package/out/renderer/assets/livescript-DmzgM3Yt.js +0 -296
  117. package/out/renderer/assets/lua-8cJgIlqe.js +0 -256
  118. package/out/renderer/assets/mathematica-DNLOL9PQ.js +0 -110
  119. package/out/renderer/assets/mbox-Ga7d4MMN.js +0 -117
  120. package/out/renderer/assets/mirc-Dma3B8rS.js +0 -107
  121. package/out/renderer/assets/mllike-DHn7xckP.js +0 -334
  122. package/out/renderer/assets/modelica-0d55jYY0.js +0 -147
  123. package/out/renderer/assets/mscgen-DdqZYINH.js +0 -135
  124. package/out/renderer/assets/mumps-Btr8VblO.js +0 -93
  125. package/out/renderer/assets/nginx-DTDtBDVN.js +0 -141
  126. package/out/renderer/assets/nsis-3zG7tgur.js +0 -62
  127. package/out/renderer/assets/ntriples-CvgOYMpL.js +0 -153
  128. package/out/renderer/assets/octave-DYBj3-tl.js +0 -200
  129. package/out/renderer/assets/oz-R_e8WMIi.js +0 -231
  130. package/out/renderer/assets/pascal-GD8iposT.js +0 -105
  131. package/out/renderer/assets/perl-DL9mHpoi.js +0 -1105
  132. package/out/renderer/assets/pig-C_4T4YIV.js +0 -101
  133. package/out/renderer/assets/powershell-B0suO7Vd.js +0 -328
  134. package/out/renderer/assets/properties-BR-vP1aU.js +0 -58
  135. package/out/renderer/assets/protobuf-BxgpyhoW.js +0 -77
  136. package/out/renderer/assets/pug-CTXt1f8z.js +0 -405
  137. package/out/renderer/assets/puppet-Bdao66PW.js +0 -137
  138. package/out/renderer/assets/python-CvWbmiX4.js +0 -427
  139. package/out/renderer/assets/q-CrbCVq4a.js +0 -131
  140. package/out/renderer/assets/r-V7nswm59.js +0 -170
  141. package/out/renderer/assets/rpm-C-DLY-If.js +0 -109
  142. package/out/renderer/assets/ruby-JDKLJNK0.js +0 -330
  143. package/out/renderer/assets/sas-D2UG-yhZ.js +0 -207
  144. package/out/renderer/assets/scheme-BKzrkGJD.js +0 -222
  145. package/out/renderer/assets/shell-BlsXDxCn.js +0 -222
  146. package/out/renderer/assets/sieve-CjwBwOY5.js +0 -135
  147. package/out/renderer/assets/simple-mode-DMneyfDu.js +0 -130
  148. package/out/renderer/assets/smalltalk-BOIGQuhN.js +0 -121
  149. package/out/renderer/assets/solr-CwD7U71z.js +0 -69
  150. package/out/renderer/assets/sparql-DYskk2vE.js +0 -249
  151. package/out/renderer/assets/spreadsheet-Bgtt3oLP.js +0 -87
  152. package/out/renderer/assets/sql-BSrOzCRI.js +0 -354
  153. package/out/renderer/assets/stex-B6LNC55o.js +0 -231
  154. package/out/renderer/assets/stylus-BkS-boTH.js +0 -565
  155. package/out/renderer/assets/swift-FRZi1uvB.js +0 -291
  156. package/out/renderer/assets/tcl-CUcaCdmq.js +0 -114
  157. package/out/renderer/assets/textile-BnFpjsrl.js +0 -414
  158. package/out/renderer/assets/tiddlywiki-CjprD-Qp.js +0 -218
  159. package/out/renderer/assets/tiki-DK9DOeWn.js +0 -268
  160. package/out/renderer/assets/toml-BOuWGMcf.js +0 -76
  161. package/out/renderer/assets/troff-E1bJ0PPL.js +0 -61
  162. package/out/renderer/assets/ttcn-cfg-Dc39-fIP.js +0 -133
  163. package/out/renderer/assets/ttcn-tKd4HLu4.js +0 -192
  164. package/out/renderer/assets/turtle-Dq7-1WAf.js +0 -124
  165. package/out/renderer/assets/vb-Dp90gtsv.js +0 -196
  166. package/out/renderer/assets/vbscript-CI6_mxxU.js +0 -479
  167. package/out/renderer/assets/velocity-BwIZK1TH.js +0 -149
  168. package/out/renderer/assets/verilog-DDCYnHN8.js +0 -430
  169. package/out/renderer/assets/vhdl-DCkMIyT9.js +0 -158
  170. package/out/renderer/assets/webidl-BTLTThCm.js +0 -204
  171. package/out/renderer/assets/xquery-BrBUuxMR.js +0 -525
  172. package/out/renderer/assets/yacas-b5lAVEIl.js +0 -130
  173. package/out/renderer/assets/z80-BZV19vqv.js +0 -93
  174. package/scripts/download-uv.mjs +0 -147
  175. /package/patches/{ai+5.0.161.patch → ai+5.0.167.patch} +0 -0
@@ -1,207 +0,0 @@
1
- var words = {};
2
- var isDoubleOperatorSym = {
3
- eq: "operator",
4
- lt: "operator",
5
- le: "operator",
6
- gt: "operator",
7
- ge: "operator",
8
- "in": "operator",
9
- ne: "operator",
10
- or: "operator"
11
- };
12
- var isDoubleOperatorChar = /(<=|>=|!=|<>)/;
13
- var isSingleOperatorChar = /[=\(:\),{}.*<>+\-\/^\[\]]/;
14
- function define(style, string, context) {
15
- if (context) {
16
- var split = string.split(" ");
17
- for (var i = 0; i < split.length; i++) {
18
- words[split[i]] = { style, state: context };
19
- }
20
- }
21
- }
22
- define("def", "stack pgm view source debug nesting nolist", ["inDataStep"]);
23
- define("def", "if while until for do do; end end; then else cancel", ["inDataStep"]);
24
- define("def", "label format _n_ _error_", ["inDataStep"]);
25
- define("def", "ALTER BUFNO BUFSIZE CNTLLEV COMPRESS DLDMGACTION ENCRYPT ENCRYPTKEY EXTENDOBSCOUNTER GENMAX GENNUM INDEX LABEL OBSBUF OUTREP PW PWREQ READ REPEMPTY REPLACE REUSE ROLE SORTEDBY SPILL TOBSNO TYPE WRITE FILECLOSE FIRSTOBS IN OBS POINTOBS WHERE WHEREUP IDXNAME IDXWHERE DROP KEEP RENAME", ["inDataStep"]);
26
- define("def", "filevar finfo finv fipname fipnamel fipstate first firstobs floor", ["inDataStep"]);
27
- define("def", "varfmt varinfmt varlabel varlen varname varnum varray varrayx vartype verify vformat vformatd vformatdx vformatn vformatnx vformatw vformatwx vformatx vinarray vinarrayx vinformat vinformatd vinformatdx vinformatn vinformatnx vinformatw vinformatwx vinformatx vlabel vlabelx vlength vlengthx vname vnamex vnferr vtype vtypex weekday", ["inDataStep"]);
28
- define("def", "zipfips zipname zipnamel zipstate", ["inDataStep"]);
29
- define("def", "put putc putn", ["inDataStep"]);
30
- define("builtin", "data run", ["inDataStep"]);
31
- define("def", "data", ["inProc"]);
32
- define("def", "%if %end %end; %else %else; %do %do; %then", ["inMacro"]);
33
- define("builtin", "proc run; quit; libname filename %macro %mend option options", ["ALL"]);
34
- define("def", "footnote title libname ods", ["ALL"]);
35
- define("def", "%let %put %global %sysfunc %eval ", ["ALL"]);
36
- define("variable", "&sysbuffr &syscc &syscharwidth &syscmd &sysdate &sysdate9 &sysday &sysdevic &sysdmg &sysdsn &sysencoding &sysenv &syserr &syserrortext &sysfilrc &syshostname &sysindex &sysinfo &sysjobid &syslast &syslckrc &syslibrc &syslogapplname &sysmacroname &sysmenv &sysmsg &sysncpu &sysodspath &sysparm &syspbuff &sysprocessid &sysprocessname &sysprocname &sysrc &sysscp &sysscpl &sysscpl &syssite &sysstartid &sysstartname &systcpiphostname &systime &sysuserid &sysver &sysvlong &sysvlong4 &syswarningtext", ["ALL"]);
37
- define("def", "source2 nosource2 page pageno pagesize", ["ALL"]);
38
- define("def", "_all_ _character_ _cmd_ _freq_ _i_ _infile_ _last_ _msg_ _null_ _numeric_ _temporary_ _type_ abort abs addr adjrsq airy alpha alter altlog altprint and arcos array arsin as atan attrc attrib attrn authserver autoexec awscontrol awsdef awsmenu awsmenumerge awstitle backward band base betainv between blocksize blshift bnot bor brshift bufno bufsize bxor by byerr byline byte calculated call cards cards4 catcache cbufno cdf ceil center cexist change chisq cinv class cleanup close cnonct cntllev coalesce codegen col collate collin column comamid comaux1 comaux2 comdef compbl compound compress config continue convert cos cosh cpuid create cross crosstab css curobs cv daccdb daccdbsl daccsl daccsyd dacctab dairy datalines datalines4 datejul datepart datetime day dbcslang dbcstype dclose ddfm ddm delete delimiter depdb depdbsl depsl depsyd deptab dequote descending descript design= device dflang dhms dif digamma dim dinfo display distinct dkricond dkrocond dlm dnum do dopen doptname doptnum dread drop dropnote dsname dsnferr echo else emaildlg emailid emailpw emailserver emailsys encrypt end endsas engine eof eov erf erfc error errorcheck errors exist exp fappend fclose fcol fdelete feedback fetch fetchobs fexist fget file fileclose fileexist filefmt filename fileref fmterr fmtsearch fnonct fnote font fontalias fopen foptname foptnum force formatted formchar formdelim formdlim forward fpoint fpos fput fread frewind frlen from fsep fuzz fwrite gaminv gamma getoption getvarc getvarn go goto group gwindow hbar hbound helpenv helploc hms honorappearance hosthelp hostprint hour hpct html hvar ibessel ibr id if index indexc indexw initcmd initstmt inner input inputc inputn inr insert int intck intnx into intrr invaliddata irr is jbessel join juldate keep kentb kurtosis label lag last lbound leave left length levels lgamma lib library libref line linesize link list log log10 log2 logpdf logpmf logsdf lostcard lowcase lrecl ls macro macrogen maps mautosource max maxdec maxr mdy mean measures median memtype merge merror min minute missing missover mlogic mod mode model modify month mopen mort mprint mrecall msglevel msymtabmax mvarsize myy n nest netpv new news nmiss no nobatch nobs nocaps nocardimage nocenter nocharcode nocmdmac nocol nocum nodate nodbcs nodetails nodmr nodms nodmsbatch nodup nodupkey noduplicates noechoauto noequals noerrorabend noexitwindows nofullstimer noicon noimplmac noint nolist noloadlist nomiss nomlogic nomprint nomrecall nomsgcase nomstored nomultenvappl nonotes nonumber noobs noovp nopad nopercent noprint noprintinit normal norow norsasuser nosetinit nosplash nosymbolgen note notes notitle notitles notsorted noverbose noxsync noxwait npv null number numkeys nummousekeys nway obs on open order ordinal otherwise out outer outp= output over ovp p(1 5 10 25 50 75 90 95 99) pad pad2 paired parm parmcards path pathdll pathname pdf peek peekc pfkey pmf point poisson poke position printer probbeta probbnml probchi probf probgam probhypr probit probnegb probnorm probsig probt procleave prt ps pw pwreq qtr quote r ranbin rancau random ranexp rangam range ranks rannor ranpoi rantbl rantri ranuni rcorr read recfm register regr remote remove rename repeat repeated replace resolve retain return reuse reverse rewind right round rsquare rtf rtrace rtraceloc s s2 samploc sasautos sascontrol sasfrscr sasmsg sasmstore sasscript sasuser saving scan sdf second select selection separated seq serror set setcomm setot sign simple sin sinh siteinfo skewness skip sle sls sortedby sortpgm sortseq sortsize soundex spedis splashlocation split spool sqrt start std stderr stdin stfips stimer stname stnamel stop stopover sub subgroup subpopn substr sum sumwgt symbol symbolgen symget symput sysget sysin sysleave sysmsg sysparm sysprint sysprintfont sysprod sysrc system t table tables tan tanh tapeclose tbufsize terminal test then timepart tinv tnonct to today tol tooldef totper transformout translate trantab tranwrd trigamma trim trimn trunc truncover type unformatted uniform union until upcase update user usericon uss validate value var weight when where while wincharset window work workinit workterm write wsum xsync xwait yearcutoff yes yyq min max", ["inDataStep", "inProc"]);
39
- define("operator", "and not ", ["inDataStep", "inProc"]);
40
- function tokenize(stream, state) {
41
- var ch = stream.next();
42
- if (ch === "/" && stream.eat("*")) {
43
- state.continueComment = true;
44
- return "comment";
45
- } else if (state.continueComment === true) {
46
- if (ch === "*" && stream.peek() === "/") {
47
- stream.next();
48
- state.continueComment = false;
49
- } else if (stream.skipTo("*")) {
50
- stream.skipTo("*");
51
- stream.next();
52
- if (stream.eat("/"))
53
- state.continueComment = false;
54
- } else {
55
- stream.skipToEnd();
56
- }
57
- return "comment";
58
- }
59
- if (ch == "*" && stream.column() == stream.indentation()) {
60
- stream.skipToEnd();
61
- return "comment";
62
- }
63
- var doubleOperator = ch + stream.peek();
64
- if ((ch === '"' || ch === "'") && !state.continueString) {
65
- state.continueString = ch;
66
- return "string";
67
- } else if (state.continueString) {
68
- if (state.continueString == ch) {
69
- state.continueString = null;
70
- } else if (stream.skipTo(state.continueString)) {
71
- stream.next();
72
- state.continueString = null;
73
- } else {
74
- stream.skipToEnd();
75
- }
76
- return "string";
77
- } else if (state.continueString !== null && stream.eol()) {
78
- stream.skipTo(state.continueString) || stream.skipToEnd();
79
- return "string";
80
- } else if (/[\d\.]/.test(ch)) {
81
- if (ch === ".")
82
- stream.match(/^[0-9]+([eE][\-+]?[0-9]+)?/);
83
- else if (ch === "0")
84
- stream.match(/^[xX][0-9a-fA-F]+/) || stream.match(/^0[0-7]+/);
85
- else
86
- stream.match(/^[0-9]*\.?[0-9]*([eE][\-+]?[0-9]+)?/);
87
- return "number";
88
- } else if (isDoubleOperatorChar.test(ch + stream.peek())) {
89
- stream.next();
90
- return "operator";
91
- } else if (isDoubleOperatorSym.hasOwnProperty(doubleOperator)) {
92
- stream.next();
93
- if (stream.peek() === " ")
94
- return isDoubleOperatorSym[doubleOperator.toLowerCase()];
95
- } else if (isSingleOperatorChar.test(ch)) {
96
- return "operator";
97
- }
98
- var word;
99
- if (stream.match(/[%&;\w]+/, false) != null) {
100
- word = ch + stream.match(/[%&;\w]+/, true);
101
- if (/&/.test(word)) return "variable";
102
- } else {
103
- word = ch;
104
- }
105
- if (state.nextword) {
106
- stream.match(/[\w]+/);
107
- if (stream.peek() === ".") stream.skipTo(" ");
108
- state.nextword = false;
109
- return "variableName.special";
110
- }
111
- word = word.toLowerCase();
112
- if (state.inDataStep) {
113
- if (word === "run;" || stream.match(/run\s;/)) {
114
- state.inDataStep = false;
115
- return "builtin";
116
- }
117
- if (word && stream.next() === ".") {
118
- if (/\w/.test(stream.peek())) return "variableName.special";
119
- else return "variable";
120
- }
121
- if (word && words.hasOwnProperty(word) && (words[word].state.indexOf("inDataStep") !== -1 || words[word].state.indexOf("ALL") !== -1)) {
122
- if (stream.start < stream.pos)
123
- stream.backUp(stream.pos - stream.start);
124
- for (var i = 0; i < word.length; ++i) stream.next();
125
- return words[word].style;
126
- }
127
- }
128
- if (state.inProc) {
129
- if (word === "run;" || word === "quit;") {
130
- state.inProc = false;
131
- return "builtin";
132
- }
133
- if (word && words.hasOwnProperty(word) && (words[word].state.indexOf("inProc") !== -1 || words[word].state.indexOf("ALL") !== -1)) {
134
- stream.match(/[\w]+/);
135
- return words[word].style;
136
- }
137
- }
138
- if (state.inMacro) {
139
- if (word === "%mend") {
140
- if (stream.peek() === ";") stream.next();
141
- state.inMacro = false;
142
- return "builtin";
143
- }
144
- if (word && words.hasOwnProperty(word) && (words[word].state.indexOf("inMacro") !== -1 || words[word].state.indexOf("ALL") !== -1)) {
145
- stream.match(/[\w]+/);
146
- return words[word].style;
147
- }
148
- return "atom";
149
- }
150
- if (word && words.hasOwnProperty(word)) {
151
- stream.backUp(1);
152
- stream.match(/[\w]+/);
153
- if (word === "data" && /=/.test(stream.peek()) === false) {
154
- state.inDataStep = true;
155
- state.nextword = true;
156
- return "builtin";
157
- }
158
- if (word === "proc") {
159
- state.inProc = true;
160
- state.nextword = true;
161
- return "builtin";
162
- }
163
- if (word === "%macro") {
164
- state.inMacro = true;
165
- state.nextword = true;
166
- return "builtin";
167
- }
168
- if (/title[1-9]/.test(word)) return "def";
169
- if (word === "footnote") {
170
- stream.eat(/[1-9]/);
171
- return "def";
172
- }
173
- if (state.inDataStep === true && words[word].state.indexOf("inDataStep") !== -1)
174
- return words[word].style;
175
- if (state.inProc === true && words[word].state.indexOf("inProc") !== -1)
176
- return words[word].style;
177
- if (state.inMacro === true && words[word].state.indexOf("inMacro") !== -1)
178
- return words[word].style;
179
- if (words[word].state.indexOf("ALL") !== -1)
180
- return words[word].style;
181
- return null;
182
- }
183
- return null;
184
- }
185
- const sas = {
186
- name: "sas",
187
- startState: function() {
188
- return {
189
- inDataStep: false,
190
- inProc: false,
191
- inMacro: false,
192
- nextword: false,
193
- continueString: null,
194
- continueComment: false
195
- };
196
- },
197
- token: function(stream, state) {
198
- if (stream.eatSpace()) return null;
199
- return tokenize(stream, state);
200
- },
201
- languageData: {
202
- commentTokens: { block: { open: "/*", close: "*/" } }
203
- }
204
- };
205
- export {
206
- sas
207
- };
@@ -1,222 +0,0 @@
1
- var BUILTIN = "builtin", COMMENT = "comment", STRING = "string", SYMBOL = "symbol", ATOM = "atom", NUMBER = "number", BRACKET = "bracket";
2
- var INDENT_WORD_SKIP = 2;
3
- function makeKeywords(str) {
4
- var obj = {}, words = str.split(" ");
5
- for (var i = 0; i < words.length; ++i) obj[words[i]] = true;
6
- return obj;
7
- }
8
- var keywords = makeKeywords("λ case-lambda call/cc class cond-expand define-class define-values exit-handler field import inherit init-field interface let*-values let-values let/ec mixin opt-lambda override protect provide public rename require require-for-syntax syntax syntax-case syntax-error unit/sig unless when with-syntax and begin call-with-current-continuation call-with-input-file call-with-output-file case cond define define-syntax define-macro defmacro delay do dynamic-wind else for-each if lambda let let* let-syntax letrec letrec-syntax map or syntax-rules abs acos angle append apply asin assoc assq assv atan boolean? caar cadr call-with-input-file call-with-output-file call-with-values car cdddar cddddr cdr ceiling char->integer char-alphabetic? char-ci<=? char-ci<? char-ci=? char-ci>=? char-ci>? char-downcase char-lower-case? char-numeric? char-ready? char-upcase char-upper-case? char-whitespace? char<=? char<? char=? char>=? char>? char? close-input-port close-output-port complex? cons cos current-input-port current-output-port denominator display eof-object? eq? equal? eqv? eval even? exact->inexact exact? exp expt #f floor force gcd imag-part inexact->exact inexact? input-port? integer->char integer? interaction-environment lcm length list list->string list->vector list-ref list-tail list? load log magnitude make-polar make-rectangular make-string make-vector max member memq memv min modulo negative? newline not null-environment null? number->string number? numerator odd? open-input-file open-output-file output-port? pair? peek-char port? positive? procedure? quasiquote quote quotient rational? rationalize read read-char real-part real? remainder reverse round scheme-report-environment set! set-car! set-cdr! sin sqrt string string->list string->number string->symbol string-append string-ci<=? string-ci<? string-ci=? string-ci>=? string-ci>? string-copy string-fill! string-length string-ref string-set! string<=? string<? string=? string>=? string>? string? substring symbol->string symbol? #t tan transcript-off transcript-on truncate values vector vector->list vector-fill! vector-length vector-ref vector-set! with-input-from-file with-output-to-file write write-char zero?");
9
- var indentKeys = makeKeywords("define let letrec let* lambda define-macro defmacro let-syntax letrec-syntax let-values let*-values define-syntax syntax-rules define-values when unless");
10
- function stateStack(indent, type, prev) {
11
- this.indent = indent;
12
- this.type = type;
13
- this.prev = prev;
14
- }
15
- function pushStack(state, indent, type) {
16
- state.indentStack = new stateStack(indent, type, state.indentStack);
17
- }
18
- function popStack(state) {
19
- state.indentStack = state.indentStack.prev;
20
- }
21
- var binaryMatcher = new RegExp(/^(?:[-+]i|[-+][01]+#*(?:\/[01]+#*)?i|[-+]?[01]+#*(?:\/[01]+#*)?@[-+]?[01]+#*(?:\/[01]+#*)?|[-+]?[01]+#*(?:\/[01]+#*)?[-+](?:[01]+#*(?:\/[01]+#*)?)?i|[-+]?[01]+#*(?:\/[01]+#*)?)(?=[()\s;"]|$)/i);
22
- var octalMatcher = new RegExp(/^(?:[-+]i|[-+][0-7]+#*(?:\/[0-7]+#*)?i|[-+]?[0-7]+#*(?:\/[0-7]+#*)?@[-+]?[0-7]+#*(?:\/[0-7]+#*)?|[-+]?[0-7]+#*(?:\/[0-7]+#*)?[-+](?:[0-7]+#*(?:\/[0-7]+#*)?)?i|[-+]?[0-7]+#*(?:\/[0-7]+#*)?)(?=[()\s;"]|$)/i);
23
- var hexMatcher = new RegExp(/^(?:[-+]i|[-+][\da-f]+#*(?:\/[\da-f]+#*)?i|[-+]?[\da-f]+#*(?:\/[\da-f]+#*)?@[-+]?[\da-f]+#*(?:\/[\da-f]+#*)?|[-+]?[\da-f]+#*(?:\/[\da-f]+#*)?[-+](?:[\da-f]+#*(?:\/[\da-f]+#*)?)?i|[-+]?[\da-f]+#*(?:\/[\da-f]+#*)?)(?=[()\s;"]|$)/i);
24
- var decimalMatcher = new RegExp(/^(?:[-+]i|[-+](?:(?:(?:\d+#+\.?#*|\d+\.\d*#*|\.\d+#*|\d+)(?:[esfdl][-+]?\d+)?)|\d+#*\/\d+#*)i|[-+]?(?:(?:(?:\d+#+\.?#*|\d+\.\d*#*|\.\d+#*|\d+)(?:[esfdl][-+]?\d+)?)|\d+#*\/\d+#*)@[-+]?(?:(?:(?:\d+#+\.?#*|\d+\.\d*#*|\.\d+#*|\d+)(?:[esfdl][-+]?\d+)?)|\d+#*\/\d+#*)|[-+]?(?:(?:(?:\d+#+\.?#*|\d+\.\d*#*|\.\d+#*|\d+)(?:[esfdl][-+]?\d+)?)|\d+#*\/\d+#*)[-+](?:(?:(?:\d+#+\.?#*|\d+\.\d*#*|\.\d+#*|\d+)(?:[esfdl][-+]?\d+)?)|\d+#*\/\d+#*)?i|(?:(?:(?:\d+#+\.?#*|\d+\.\d*#*|\.\d+#*|\d+)(?:[esfdl][-+]?\d+)?)|\d+#*\/\d+#*))(?=[()\s;"]|$)/i);
25
- function isBinaryNumber(stream) {
26
- return stream.match(binaryMatcher);
27
- }
28
- function isOctalNumber(stream) {
29
- return stream.match(octalMatcher);
30
- }
31
- function isDecimalNumber(stream, backup) {
32
- if (backup === true) {
33
- stream.backUp(1);
34
- }
35
- return stream.match(decimalMatcher);
36
- }
37
- function isHexNumber(stream) {
38
- return stream.match(hexMatcher);
39
- }
40
- function processEscapedSequence(stream, options) {
41
- var next, escaped = false;
42
- while ((next = stream.next()) != null) {
43
- if (next == options.token && !escaped) {
44
- options.state.mode = false;
45
- break;
46
- }
47
- escaped = !escaped && next == "\\";
48
- }
49
- }
50
- const scheme = {
51
- name: "scheme",
52
- startState: function() {
53
- return {
54
- indentStack: null,
55
- indentation: 0,
56
- mode: false,
57
- sExprComment: false,
58
- sExprQuote: false
59
- };
60
- },
61
- token: function(stream, state) {
62
- if (state.indentStack == null && stream.sol()) {
63
- state.indentation = stream.indentation();
64
- }
65
- if (stream.eatSpace()) {
66
- return null;
67
- }
68
- var returnType = null;
69
- switch (state.mode) {
70
- case "string":
71
- processEscapedSequence(stream, {
72
- token: '"',
73
- state
74
- });
75
- returnType = STRING;
76
- break;
77
- case "symbol":
78
- processEscapedSequence(stream, {
79
- token: "|",
80
- state
81
- });
82
- returnType = SYMBOL;
83
- break;
84
- case "comment":
85
- var next, maybeEnd = false;
86
- while ((next = stream.next()) != null) {
87
- if (next == "#" && maybeEnd) {
88
- state.mode = false;
89
- break;
90
- }
91
- maybeEnd = next == "|";
92
- }
93
- returnType = COMMENT;
94
- break;
95
- case "s-expr-comment":
96
- state.mode = false;
97
- if (stream.peek() == "(" || stream.peek() == "[") {
98
- state.sExprComment = 0;
99
- } else {
100
- stream.eatWhile(/[^\s\(\)\[\]]/);
101
- returnType = COMMENT;
102
- break;
103
- }
104
- default:
105
- var ch = stream.next();
106
- if (ch == '"') {
107
- state.mode = "string";
108
- returnType = STRING;
109
- } else if (ch == "'") {
110
- if (stream.peek() == "(" || stream.peek() == "[") {
111
- if (typeof state.sExprQuote != "number") {
112
- state.sExprQuote = 0;
113
- }
114
- returnType = ATOM;
115
- } else {
116
- stream.eatWhile(/[\w_\-!$%&*+\.\/:<=>?@\^~]/);
117
- returnType = ATOM;
118
- }
119
- } else if (ch == "|") {
120
- state.mode = "symbol";
121
- returnType = SYMBOL;
122
- } else if (ch == "#") {
123
- if (stream.eat("|")) {
124
- state.mode = "comment";
125
- returnType = COMMENT;
126
- } else if (stream.eat(/[tf]/i)) {
127
- returnType = ATOM;
128
- } else if (stream.eat(";")) {
129
- state.mode = "s-expr-comment";
130
- returnType = COMMENT;
131
- } else {
132
- var numTest = null, hasExactness = false, hasRadix = true;
133
- if (stream.eat(/[ei]/i)) {
134
- hasExactness = true;
135
- } else {
136
- stream.backUp(1);
137
- }
138
- if (stream.match(/^#b/i)) {
139
- numTest = isBinaryNumber;
140
- } else if (stream.match(/^#o/i)) {
141
- numTest = isOctalNumber;
142
- } else if (stream.match(/^#x/i)) {
143
- numTest = isHexNumber;
144
- } else if (stream.match(/^#d/i)) {
145
- numTest = isDecimalNumber;
146
- } else if (stream.match(/^[-+0-9.]/, false)) {
147
- hasRadix = false;
148
- numTest = isDecimalNumber;
149
- } else if (!hasExactness) {
150
- stream.eat("#");
151
- }
152
- if (numTest != null) {
153
- if (hasRadix && !hasExactness) {
154
- stream.match(/^#[ei]/i);
155
- }
156
- if (numTest(stream))
157
- returnType = NUMBER;
158
- }
159
- }
160
- } else if (/^[-+0-9.]/.test(ch) && isDecimalNumber(stream, true)) {
161
- returnType = NUMBER;
162
- } else if (ch == ";") {
163
- stream.skipToEnd();
164
- returnType = COMMENT;
165
- } else if (ch == "(" || ch == "[") {
166
- var keyWord = "";
167
- var indentTemp = stream.column(), letter;
168
- while ((letter = stream.eat(/[^\s\(\[\;\)\]]/)) != null) {
169
- keyWord += letter;
170
- }
171
- if (keyWord.length > 0 && indentKeys.propertyIsEnumerable(keyWord)) {
172
- pushStack(state, indentTemp + INDENT_WORD_SKIP, ch);
173
- } else {
174
- stream.eatSpace();
175
- if (stream.eol() || stream.peek() == ";") {
176
- pushStack(state, indentTemp + 1, ch);
177
- } else {
178
- pushStack(state, indentTemp + stream.current().length, ch);
179
- }
180
- }
181
- stream.backUp(stream.current().length - 1);
182
- if (typeof state.sExprComment == "number") state.sExprComment++;
183
- if (typeof state.sExprQuote == "number") state.sExprQuote++;
184
- returnType = BRACKET;
185
- } else if (ch == ")" || ch == "]") {
186
- returnType = BRACKET;
187
- if (state.indentStack != null && state.indentStack.type == (ch == ")" ? "(" : "[")) {
188
- popStack(state);
189
- if (typeof state.sExprComment == "number") {
190
- if (--state.sExprComment == 0) {
191
- returnType = COMMENT;
192
- state.sExprComment = false;
193
- }
194
- }
195
- if (typeof state.sExprQuote == "number") {
196
- if (--state.sExprQuote == 0) {
197
- returnType = ATOM;
198
- state.sExprQuote = false;
199
- }
200
- }
201
- }
202
- } else {
203
- stream.eatWhile(/[\w_\-!$%&*+\.\/:<=>?@\^~]/);
204
- if (keywords && keywords.propertyIsEnumerable(stream.current())) {
205
- returnType = BUILTIN;
206
- } else returnType = "variable";
207
- }
208
- }
209
- return typeof state.sExprComment == "number" ? COMMENT : typeof state.sExprQuote == "number" ? ATOM : returnType;
210
- },
211
- indent: function(state) {
212
- if (state.indentStack == null) return state.indentation;
213
- return state.indentStack.indent;
214
- },
215
- languageData: {
216
- closeBrackets: { brackets: ["(", "[", "{", '"'] },
217
- commentTokens: { line: ";;" }
218
- }
219
- };
220
- export {
221
- scheme
222
- };
@@ -1,222 +0,0 @@
1
- var words = {};
2
- function define(style, dict) {
3
- for (var i = 0; i < dict.length; i++) {
4
- words[dict[i]] = style;
5
- }
6
- }
7
- var commonAtoms = ["true", "false"];
8
- var commonKeywords = [
9
- "if",
10
- "then",
11
- "do",
12
- "else",
13
- "elif",
14
- "while",
15
- "until",
16
- "for",
17
- "in",
18
- "esac",
19
- "fi",
20
- "fin",
21
- "fil",
22
- "done",
23
- "exit",
24
- "set",
25
- "unset",
26
- "export",
27
- "function"
28
- ];
29
- var commonCommands = [
30
- "ab",
31
- "awk",
32
- "bash",
33
- "beep",
34
- "cat",
35
- "cc",
36
- "cd",
37
- "chown",
38
- "chmod",
39
- "chroot",
40
- "clear",
41
- "cp",
42
- "curl",
43
- "cut",
44
- "diff",
45
- "echo",
46
- "find",
47
- "gawk",
48
- "gcc",
49
- "get",
50
- "git",
51
- "grep",
52
- "hg",
53
- "kill",
54
- "killall",
55
- "ln",
56
- "ls",
57
- "make",
58
- "mkdir",
59
- "openssl",
60
- "mv",
61
- "nc",
62
- "nl",
63
- "node",
64
- "npm",
65
- "ping",
66
- "ps",
67
- "restart",
68
- "rm",
69
- "rmdir",
70
- "sed",
71
- "service",
72
- "sh",
73
- "shopt",
74
- "shred",
75
- "source",
76
- "sort",
77
- "sleep",
78
- "ssh",
79
- "start",
80
- "stop",
81
- "su",
82
- "sudo",
83
- "svn",
84
- "tee",
85
- "telnet",
86
- "top",
87
- "touch",
88
- "vi",
89
- "vim",
90
- "wall",
91
- "wc",
92
- "wget",
93
- "who",
94
- "write",
95
- "yes",
96
- "zsh"
97
- ];
98
- define("atom", commonAtoms);
99
- define("keyword", commonKeywords);
100
- define("builtin", commonCommands);
101
- function tokenBase(stream, state) {
102
- if (stream.eatSpace()) return null;
103
- var sol = stream.sol();
104
- var ch = stream.next();
105
- if (ch === "\\") {
106
- stream.next();
107
- return null;
108
- }
109
- if (ch === "'" || ch === '"' || ch === "`") {
110
- state.tokens.unshift(tokenString(ch, ch === "`" ? "quote" : "string"));
111
- return tokenize(stream, state);
112
- }
113
- if (ch === "#") {
114
- if (sol && stream.eat("!")) {
115
- stream.skipToEnd();
116
- return "meta";
117
- }
118
- stream.skipToEnd();
119
- return "comment";
120
- }
121
- if (ch === "$") {
122
- state.tokens.unshift(tokenDollar);
123
- return tokenize(stream, state);
124
- }
125
- if (ch === "+" || ch === "=") {
126
- return "operator";
127
- }
128
- if (ch === "-") {
129
- stream.eat("-");
130
- stream.eatWhile(/\w/);
131
- return "attribute";
132
- }
133
- if (ch == "<") {
134
- if (stream.match("<<")) return "operator";
135
- var heredoc = stream.match(/^<-?\s*(?:['"]([^'"]*)['"]|([^'"\s]*))/);
136
- if (heredoc) {
137
- state.tokens.unshift(tokenHeredoc(heredoc[1] || heredoc[2]));
138
- return "string.special";
139
- }
140
- }
141
- if (/\d/.test(ch)) {
142
- stream.eatWhile(/\d/);
143
- if (stream.eol() || !/\w/.test(stream.peek())) {
144
- return "number";
145
- }
146
- }
147
- stream.eatWhile(/[\w-]/);
148
- var cur = stream.current();
149
- if (stream.peek() === "=" && /\w+/.test(cur)) return "def";
150
- return words.hasOwnProperty(cur) ? words[cur] : null;
151
- }
152
- function tokenString(quote, style) {
153
- var close = quote == "(" ? ")" : quote == "{" ? "}" : quote;
154
- return function(stream, state) {
155
- var next, escaped = false;
156
- while ((next = stream.next()) != null) {
157
- if (next === close && !escaped) {
158
- state.tokens.shift();
159
- break;
160
- } else if (next === "$" && !escaped && quote !== "'" && stream.peek() != close) {
161
- escaped = true;
162
- stream.backUp(1);
163
- state.tokens.unshift(tokenDollar);
164
- break;
165
- } else if (!escaped && quote !== close && next === quote) {
166
- state.tokens.unshift(tokenString(quote, style));
167
- return tokenize(stream, state);
168
- } else if (!escaped && /['"]/.test(next) && !/['"]/.test(quote)) {
169
- state.tokens.unshift(tokenStringStart(next, "string"));
170
- stream.backUp(1);
171
- break;
172
- }
173
- escaped = !escaped && next === "\\";
174
- }
175
- return style;
176
- };
177
- }
178
- function tokenStringStart(quote, style) {
179
- return function(stream, state) {
180
- state.tokens[0] = tokenString(quote, style);
181
- stream.next();
182
- return tokenize(stream, state);
183
- };
184
- }
185
- var tokenDollar = function(stream, state) {
186
- if (state.tokens.length > 1) stream.eat("$");
187
- var ch = stream.next();
188
- if (/['"({]/.test(ch)) {
189
- state.tokens[0] = tokenString(ch, ch == "(" ? "quote" : ch == "{" ? "def" : "string");
190
- return tokenize(stream, state);
191
- }
192
- if (!/\d/.test(ch)) stream.eatWhile(/\w/);
193
- state.tokens.shift();
194
- return "def";
195
- };
196
- function tokenHeredoc(delim) {
197
- return function(stream, state) {
198
- if (stream.sol() && stream.string == delim) state.tokens.shift();
199
- stream.skipToEnd();
200
- return "string.special";
201
- };
202
- }
203
- function tokenize(stream, state) {
204
- return (state.tokens[0] || tokenBase)(stream, state);
205
- }
206
- const shell = {
207
- name: "shell",
208
- startState: function() {
209
- return { tokens: [] };
210
- },
211
- token: function(stream, state) {
212
- return tokenize(stream, state);
213
- },
214
- languageData: {
215
- autocomplete: commonAtoms.concat(commonKeywords, commonCommands),
216
- closeBrackets: { brackets: ["(", "[", "{", "'", '"', "`"] },
217
- commentTokens: { line: "#" }
218
- }
219
- };
220
- export {
221
- shell
222
- };