@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.
Files changed (196) 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/resources/skills/extension-creator/SKILL.md +320 -0
  55. package/out/resources/skills/extension-creator/assets/templates/Component.jsx.template +76 -0
  56. package/out/resources/skills/extension-creator/assets/templates/ConfigComponent.jsx.template +38 -0
  57. package/out/resources/skills/extension-creator/assets/templates/folder-extension/config.ts.template +29 -0
  58. package/out/resources/skills/extension-creator/assets/templates/folder-extension/index.ts.template +42 -0
  59. package/out/resources/skills/extension-creator/assets/templates/folder-extension/package.json +12 -0
  60. package/out/resources/skills/extension-creator/assets/templates/folder-extension/tsconfig.json +23 -0
  61. package/out/resources/skills/extension-creator/assets/templates/folder-extension-with-config/index.ts.template +80 -0
  62. package/out/resources/skills/extension-creator/assets/templates/single-file.ts.template +30 -0
  63. package/out/resources/skills/extension-creator/assets/templates/ui-component-external.ts.template +91 -0
  64. package/out/resources/skills/extension-creator/assets/templates/ui-component.ts.template +79 -0
  65. package/out/resources/skills/extension-creator/references/command-definition.md +170 -0
  66. package/out/resources/skills/extension-creator/references/config-components.md +427 -0
  67. package/out/resources/skills/extension-creator/references/event-types.md +156 -0
  68. package/out/resources/skills/extension-creator/references/examples-gallery.md +583 -0
  69. package/out/resources/skills/extension-creator/references/extension-interface.md +240 -0
  70. package/out/resources/skills/extension-creator/references/extension-types.md +186 -0
  71. package/out/resources/skills/extension-creator/references/in-repo-flow.md +132 -0
  72. package/out/resources/skills/extension-creator/references/install-targets.md +96 -0
  73. package/out/resources/skills/extension-creator/references/project-global-flow.md +76 -0
  74. package/out/resources/skills/extension-creator/references/ui-components.md +663 -0
  75. package/out/runner.js +976 -386
  76. package/package.json +2 -3
  77. package/out/renderer/assets/_basePickBy-BWoXHZ8Z.js +0 -161
  78. package/out/renderer/assets/apl-fqmucPXA.js +0 -140
  79. package/out/renderer/assets/asciiarmor-DucZyvP0.js +0 -56
  80. package/out/renderer/assets/asn1-BnOEsgAm.js +0 -144
  81. package/out/renderer/assets/asterisk-QAlztEwS.js +0 -345
  82. package/out/renderer/assets/brainfuck-DZVCuF_t.js +0 -53
  83. package/out/renderer/assets/clike-xqXYL6ge.js +0 -805
  84. package/out/renderer/assets/clojure-BhXMqnxz.js +0 -849
  85. package/out/renderer/assets/cmake-BGaNd9E7.js +0 -71
  86. package/out/renderer/assets/cobol-4yqQntpt.js +0 -120
  87. package/out/renderer/assets/coffeescript-D2dXvhEc.js +0 -308
  88. package/out/renderer/assets/commonlisp-CF_VNHQR.js +0 -130
  89. package/out/renderer/assets/crystal-DyuLTqLs.js +0 -398
  90. package/out/renderer/assets/css-c-jst79C.js +0 -1783
  91. package/out/renderer/assets/cypher-Dlu_3r4V.js +0 -121
  92. package/out/renderer/assets/d-UURgV0Ux.js +0 -179
  93. package/out/renderer/assets/diff-B_Bi2Crb.js +0 -25
  94. package/out/renderer/assets/dockerfile-Bvk733Ga.js +0 -201
  95. package/out/renderer/assets/dtd-Dy74G54E.js +0 -114
  96. package/out/renderer/assets/dylan-TSb-Nfix.js +0 -314
  97. package/out/renderer/assets/ebnf-4fKAGW3a.js +0 -140
  98. package/out/renderer/assets/ecl-B59qGGVg.js +0 -178
  99. package/out/renderer/assets/eiffel-Dze7nlu3.js +0 -134
  100. package/out/renderer/assets/elm-DG7jkhNZ.js +0 -176
  101. package/out/renderer/assets/erlang-BO6gOnGA.js +0 -674
  102. package/out/renderer/assets/factor-CMxFHDqz.js +0 -65
  103. package/out/renderer/assets/fcl-CDDUNjTj.js +0 -141
  104. package/out/renderer/assets/forth-B9D2JCeE.js +0 -116
  105. package/out/renderer/assets/fortran-CAG2BFbe.js +0 -467
  106. package/out/renderer/assets/gas-d3KEcW3x.js +0 -294
  107. package/out/renderer/assets/gherkin-DhZlEZiy.js +0 -115
  108. package/out/renderer/assets/groovy-CpwJiBl7.js +0 -223
  109. package/out/renderer/assets/haskell-ySd-OUo8.js +0 -459
  110. package/out/renderer/assets/haxe-7MlzfeYV.js +0 -514
  111. package/out/renderer/assets/http-BqypyemW.js +0 -79
  112. package/out/renderer/assets/idl-4HIGJlDI.js +0 -985
  113. package/out/renderer/assets/index-6qedlt0q.js +0 -689
  114. package/out/renderer/assets/index-86jDpUJn.js +0 -385
  115. package/out/renderer/assets/index-BRjO8ber.js +0 -332
  116. package/out/renderer/assets/index-BVgw7j0d.js +0 -312
  117. package/out/renderer/assets/index-BhkyI1q3.js +0 -642
  118. package/out/renderer/assets/index-BqrmLPkg.js +0 -82
  119. package/out/renderer/assets/index-BuPbw4xM.js +0 -178
  120. package/out/renderer/assets/index-CTO-LPBg.js +0 -311
  121. package/out/renderer/assets/index-CTO4SzlI.js +0 -97
  122. package/out/renderer/assets/index-CZ9IQK_0.js +0 -2488
  123. package/out/renderer/assets/index-CZxsVxBZ.js +0 -1765
  124. package/out/renderer/assets/index-DIXV-3Xn.js +0 -406
  125. package/out/renderer/assets/index-DNzOtZX5.js +0 -61
  126. package/out/renderer/assets/index-DZtJe7oC.js +0 -1019
  127. package/out/renderer/assets/index-DaWjZz_g.js +0 -291
  128. package/out/renderer/assets/index-De056HHR.js +0 -151
  129. package/out/renderer/assets/index-Dk3wSDSN.js +0 -117
  130. package/out/renderer/assets/index-Dy4VRsnA.js +0 -1041
  131. package/out/renderer/assets/index-FnnayPBc.js +0 -82
  132. package/out/renderer/assets/index-MZb_zy6R.js +0 -704
  133. package/out/renderer/assets/index-chzQl8rJ.js +0 -157
  134. package/out/renderer/assets/index-s-Owx3Pm.js +0 -327
  135. package/out/renderer/assets/javascript-C_OHM9hj.js +0 -994
  136. package/out/renderer/assets/julia-Bs6JJhYG.js +0 -407
  137. package/out/renderer/assets/livescript-DmzgM3Yt.js +0 -296
  138. package/out/renderer/assets/lua-8cJgIlqe.js +0 -256
  139. package/out/renderer/assets/mathematica-DNLOL9PQ.js +0 -110
  140. package/out/renderer/assets/mbox-Ga7d4MMN.js +0 -117
  141. package/out/renderer/assets/mirc-Dma3B8rS.js +0 -107
  142. package/out/renderer/assets/mllike-DHn7xckP.js +0 -334
  143. package/out/renderer/assets/modelica-0d55jYY0.js +0 -147
  144. package/out/renderer/assets/mscgen-DdqZYINH.js +0 -135
  145. package/out/renderer/assets/mumps-Btr8VblO.js +0 -93
  146. package/out/renderer/assets/nginx-DTDtBDVN.js +0 -141
  147. package/out/renderer/assets/nsis-3zG7tgur.js +0 -62
  148. package/out/renderer/assets/ntriples-CvgOYMpL.js +0 -153
  149. package/out/renderer/assets/octave-DYBj3-tl.js +0 -200
  150. package/out/renderer/assets/oz-R_e8WMIi.js +0 -231
  151. package/out/renderer/assets/pascal-GD8iposT.js +0 -105
  152. package/out/renderer/assets/perl-DL9mHpoi.js +0 -1105
  153. package/out/renderer/assets/pig-C_4T4YIV.js +0 -101
  154. package/out/renderer/assets/powershell-B0suO7Vd.js +0 -328
  155. package/out/renderer/assets/properties-BR-vP1aU.js +0 -58
  156. package/out/renderer/assets/protobuf-BxgpyhoW.js +0 -77
  157. package/out/renderer/assets/pug-CTXt1f8z.js +0 -405
  158. package/out/renderer/assets/puppet-Bdao66PW.js +0 -137
  159. package/out/renderer/assets/python-CvWbmiX4.js +0 -427
  160. package/out/renderer/assets/q-CrbCVq4a.js +0 -131
  161. package/out/renderer/assets/r-V7nswm59.js +0 -170
  162. package/out/renderer/assets/rpm-C-DLY-If.js +0 -109
  163. package/out/renderer/assets/ruby-JDKLJNK0.js +0 -330
  164. package/out/renderer/assets/sas-D2UG-yhZ.js +0 -207
  165. package/out/renderer/assets/scheme-BKzrkGJD.js +0 -222
  166. package/out/renderer/assets/shell-BlsXDxCn.js +0 -222
  167. package/out/renderer/assets/sieve-CjwBwOY5.js +0 -135
  168. package/out/renderer/assets/simple-mode-DMneyfDu.js +0 -130
  169. package/out/renderer/assets/smalltalk-BOIGQuhN.js +0 -121
  170. package/out/renderer/assets/solr-CwD7U71z.js +0 -69
  171. package/out/renderer/assets/sparql-DYskk2vE.js +0 -249
  172. package/out/renderer/assets/spreadsheet-Bgtt3oLP.js +0 -87
  173. package/out/renderer/assets/sql-BSrOzCRI.js +0 -354
  174. package/out/renderer/assets/stex-B6LNC55o.js +0 -231
  175. package/out/renderer/assets/stylus-BkS-boTH.js +0 -565
  176. package/out/renderer/assets/swift-FRZi1uvB.js +0 -291
  177. package/out/renderer/assets/tcl-CUcaCdmq.js +0 -114
  178. package/out/renderer/assets/textile-BnFpjsrl.js +0 -414
  179. package/out/renderer/assets/tiddlywiki-CjprD-Qp.js +0 -218
  180. package/out/renderer/assets/tiki-DK9DOeWn.js +0 -268
  181. package/out/renderer/assets/toml-BOuWGMcf.js +0 -76
  182. package/out/renderer/assets/troff-E1bJ0PPL.js +0 -61
  183. package/out/renderer/assets/ttcn-cfg-Dc39-fIP.js +0 -133
  184. package/out/renderer/assets/ttcn-tKd4HLu4.js +0 -192
  185. package/out/renderer/assets/turtle-Dq7-1WAf.js +0 -124
  186. package/out/renderer/assets/vb-Dp90gtsv.js +0 -196
  187. package/out/renderer/assets/vbscript-CI6_mxxU.js +0 -479
  188. package/out/renderer/assets/velocity-BwIZK1TH.js +0 -149
  189. package/out/renderer/assets/verilog-DDCYnHN8.js +0 -430
  190. package/out/renderer/assets/vhdl-DCkMIyT9.js +0 -158
  191. package/out/renderer/assets/webidl-BTLTThCm.js +0 -204
  192. package/out/renderer/assets/xquery-BrBUuxMR.js +0 -525
  193. package/out/renderer/assets/yacas-b5lAVEIl.js +0 -130
  194. package/out/renderer/assets/z80-BZV19vqv.js +0 -93
  195. package/scripts/download-uv.mjs +0 -147
  196. /package/patches/{ai+5.0.161.patch → ai+5.0.167.patch} +0 -0
@@ -1,294 +0,0 @@
1
- function mkGas(arch) {
2
- var custom = [];
3
- var lineCommentStartSymbol = "";
4
- var directives = {
5
- ".abort": "builtin",
6
- ".align": "builtin",
7
- ".altmacro": "builtin",
8
- ".ascii": "builtin",
9
- ".asciz": "builtin",
10
- ".balign": "builtin",
11
- ".balignw": "builtin",
12
- ".balignl": "builtin",
13
- ".bundle_align_mode": "builtin",
14
- ".bundle_lock": "builtin",
15
- ".bundle_unlock": "builtin",
16
- ".byte": "builtin",
17
- ".cfi_startproc": "builtin",
18
- ".comm": "builtin",
19
- ".data": "builtin",
20
- ".def": "builtin",
21
- ".desc": "builtin",
22
- ".dim": "builtin",
23
- ".double": "builtin",
24
- ".eject": "builtin",
25
- ".else": "builtin",
26
- ".elseif": "builtin",
27
- ".end": "builtin",
28
- ".endef": "builtin",
29
- ".endfunc": "builtin",
30
- ".endif": "builtin",
31
- ".equ": "builtin",
32
- ".equiv": "builtin",
33
- ".eqv": "builtin",
34
- ".err": "builtin",
35
- ".error": "builtin",
36
- ".exitm": "builtin",
37
- ".extern": "builtin",
38
- ".fail": "builtin",
39
- ".file": "builtin",
40
- ".fill": "builtin",
41
- ".float": "builtin",
42
- ".func": "builtin",
43
- ".global": "builtin",
44
- ".gnu_attribute": "builtin",
45
- ".hidden": "builtin",
46
- ".hword": "builtin",
47
- ".ident": "builtin",
48
- ".if": "builtin",
49
- ".incbin": "builtin",
50
- ".include": "builtin",
51
- ".int": "builtin",
52
- ".internal": "builtin",
53
- ".irp": "builtin",
54
- ".irpc": "builtin",
55
- ".lcomm": "builtin",
56
- ".lflags": "builtin",
57
- ".line": "builtin",
58
- ".linkonce": "builtin",
59
- ".list": "builtin",
60
- ".ln": "builtin",
61
- ".loc": "builtin",
62
- ".loc_mark_labels": "builtin",
63
- ".local": "builtin",
64
- ".long": "builtin",
65
- ".macro": "builtin",
66
- ".mri": "builtin",
67
- ".noaltmacro": "builtin",
68
- ".nolist": "builtin",
69
- ".octa": "builtin",
70
- ".offset": "builtin",
71
- ".org": "builtin",
72
- ".p2align": "builtin",
73
- ".popsection": "builtin",
74
- ".previous": "builtin",
75
- ".print": "builtin",
76
- ".protected": "builtin",
77
- ".psize": "builtin",
78
- ".purgem": "builtin",
79
- ".pushsection": "builtin",
80
- ".quad": "builtin",
81
- ".reloc": "builtin",
82
- ".rept": "builtin",
83
- ".sbttl": "builtin",
84
- ".scl": "builtin",
85
- ".section": "builtin",
86
- ".set": "builtin",
87
- ".short": "builtin",
88
- ".single": "builtin",
89
- ".size": "builtin",
90
- ".skip": "builtin",
91
- ".sleb128": "builtin",
92
- ".space": "builtin",
93
- ".stab": "builtin",
94
- ".string": "builtin",
95
- ".struct": "builtin",
96
- ".subsection": "builtin",
97
- ".symver": "builtin",
98
- ".tag": "builtin",
99
- ".text": "builtin",
100
- ".title": "builtin",
101
- ".type": "builtin",
102
- ".uleb128": "builtin",
103
- ".val": "builtin",
104
- ".version": "builtin",
105
- ".vtable_entry": "builtin",
106
- ".vtable_inherit": "builtin",
107
- ".warning": "builtin",
108
- ".weak": "builtin",
109
- ".weakref": "builtin",
110
- ".word": "builtin"
111
- };
112
- var registers = {};
113
- function x86() {
114
- lineCommentStartSymbol = "#";
115
- registers.al = "variable";
116
- registers.ah = "variable";
117
- registers.ax = "variable";
118
- registers.eax = "variableName.special";
119
- registers.rax = "variableName.special";
120
- registers.bl = "variable";
121
- registers.bh = "variable";
122
- registers.bx = "variable";
123
- registers.ebx = "variableName.special";
124
- registers.rbx = "variableName.special";
125
- registers.cl = "variable";
126
- registers.ch = "variable";
127
- registers.cx = "variable";
128
- registers.ecx = "variableName.special";
129
- registers.rcx = "variableName.special";
130
- registers.dl = "variable";
131
- registers.dh = "variable";
132
- registers.dx = "variable";
133
- registers.edx = "variableName.special";
134
- registers.rdx = "variableName.special";
135
- registers.si = "variable";
136
- registers.esi = "variableName.special";
137
- registers.rsi = "variableName.special";
138
- registers.di = "variable";
139
- registers.edi = "variableName.special";
140
- registers.rdi = "variableName.special";
141
- registers.sp = "variable";
142
- registers.esp = "variableName.special";
143
- registers.rsp = "variableName.special";
144
- registers.bp = "variable";
145
- registers.ebp = "variableName.special";
146
- registers.rbp = "variableName.special";
147
- registers.ip = "variable";
148
- registers.eip = "variableName.special";
149
- registers.rip = "variableName.special";
150
- registers.cs = "keyword";
151
- registers.ds = "keyword";
152
- registers.ss = "keyword";
153
- registers.es = "keyword";
154
- registers.fs = "keyword";
155
- registers.gs = "keyword";
156
- }
157
- function armv6() {
158
- lineCommentStartSymbol = "@";
159
- directives.syntax = "builtin";
160
- registers.r0 = "variable";
161
- registers.r1 = "variable";
162
- registers.r2 = "variable";
163
- registers.r3 = "variable";
164
- registers.r4 = "variable";
165
- registers.r5 = "variable";
166
- registers.r6 = "variable";
167
- registers.r7 = "variable";
168
- registers.r8 = "variable";
169
- registers.r9 = "variable";
170
- registers.r10 = "variable";
171
- registers.r11 = "variable";
172
- registers.r12 = "variable";
173
- registers.sp = "variableName.special";
174
- registers.lr = "variableName.special";
175
- registers.pc = "variableName.special";
176
- registers.r13 = registers.sp;
177
- registers.r14 = registers.lr;
178
- registers.r15 = registers.pc;
179
- custom.push(function(ch, stream) {
180
- if (ch === "#") {
181
- stream.eatWhile(/\w/);
182
- return "number";
183
- }
184
- });
185
- }
186
- if (arch === "x86") {
187
- x86();
188
- } else if (arch === "arm" || arch === "armv6") {
189
- armv6();
190
- }
191
- function nextUntilUnescaped(stream, end) {
192
- var escaped = false, next;
193
- while ((next = stream.next()) != null) {
194
- if (next === end && !escaped) {
195
- return false;
196
- }
197
- escaped = !escaped && next === "\\";
198
- }
199
- return escaped;
200
- }
201
- function clikeComment(stream, state) {
202
- var maybeEnd = false, ch;
203
- while ((ch = stream.next()) != null) {
204
- if (ch === "/" && maybeEnd) {
205
- state.tokenize = null;
206
- break;
207
- }
208
- maybeEnd = ch === "*";
209
- }
210
- return "comment";
211
- }
212
- return {
213
- name: "gas",
214
- startState: function() {
215
- return {
216
- tokenize: null
217
- };
218
- },
219
- token: function(stream, state) {
220
- if (state.tokenize) {
221
- return state.tokenize(stream, state);
222
- }
223
- if (stream.eatSpace()) {
224
- return null;
225
- }
226
- var style, cur, ch = stream.next();
227
- if (ch === "/") {
228
- if (stream.eat("*")) {
229
- state.tokenize = clikeComment;
230
- return clikeComment(stream, state);
231
- }
232
- }
233
- if (ch === lineCommentStartSymbol) {
234
- stream.skipToEnd();
235
- return "comment";
236
- }
237
- if (ch === '"') {
238
- nextUntilUnescaped(stream, '"');
239
- return "string";
240
- }
241
- if (ch === ".") {
242
- stream.eatWhile(/\w/);
243
- cur = stream.current().toLowerCase();
244
- style = directives[cur];
245
- return style || null;
246
- }
247
- if (ch === "=") {
248
- stream.eatWhile(/\w/);
249
- return "tag";
250
- }
251
- if (ch === "{") {
252
- return "bracket";
253
- }
254
- if (ch === "}") {
255
- return "bracket";
256
- }
257
- if (/\d/.test(ch)) {
258
- if (ch === "0" && stream.eat("x")) {
259
- stream.eatWhile(/[0-9a-fA-F]/);
260
- return "number";
261
- }
262
- stream.eatWhile(/\d/);
263
- return "number";
264
- }
265
- if (/\w/.test(ch)) {
266
- stream.eatWhile(/\w/);
267
- if (stream.eat(":")) {
268
- return "tag";
269
- }
270
- cur = stream.current().toLowerCase();
271
- style = registers[cur];
272
- return style || null;
273
- }
274
- for (var i = 0; i < custom.length; i++) {
275
- style = custom[i](ch, stream, state);
276
- if (style) {
277
- return style;
278
- }
279
- }
280
- },
281
- languageData: {
282
- commentTokens: {
283
- line: lineCommentStartSymbol,
284
- block: { open: "/*", close: "*/" }
285
- }
286
- }
287
- };
288
- }
289
- const gas = mkGas("x86");
290
- const gasArm = mkGas("arm");
291
- export {
292
- gas,
293
- gasArm
294
- };
@@ -1,115 +0,0 @@
1
- const gherkin = {
2
- name: "gherkin",
3
- startState: function() {
4
- return {
5
- lineNumber: 0,
6
- tableHeaderLine: false,
7
- allowFeature: true,
8
- allowBackground: false,
9
- allowScenario: false,
10
- allowSteps: false,
11
- allowPlaceholders: false,
12
- allowMultilineArgument: false,
13
- inMultilineString: false,
14
- inMultilineTable: false,
15
- inKeywordLine: false
16
- };
17
- },
18
- token: function(stream, state) {
19
- if (stream.sol()) {
20
- state.lineNumber++;
21
- state.inKeywordLine = false;
22
- if (state.inMultilineTable) {
23
- state.tableHeaderLine = false;
24
- if (!stream.match(/\s*\|/, false)) {
25
- state.allowMultilineArgument = false;
26
- state.inMultilineTable = false;
27
- }
28
- }
29
- }
30
- stream.eatSpace();
31
- if (state.allowMultilineArgument) {
32
- if (state.inMultilineString) {
33
- if (stream.match('"""')) {
34
- state.inMultilineString = false;
35
- state.allowMultilineArgument = false;
36
- } else {
37
- stream.match(/.*/);
38
- }
39
- return "string";
40
- }
41
- if (state.inMultilineTable) {
42
- if (stream.match(/\|\s*/)) {
43
- return "bracket";
44
- } else {
45
- stream.match(/[^\|]*/);
46
- return state.tableHeaderLine ? "header" : "string";
47
- }
48
- }
49
- if (stream.match('"""')) {
50
- state.inMultilineString = true;
51
- return "string";
52
- } else if (stream.match("|")) {
53
- state.inMultilineTable = true;
54
- state.tableHeaderLine = true;
55
- return "bracket";
56
- }
57
- }
58
- if (stream.match(/#.*/)) {
59
- return "comment";
60
- } else if (!state.inKeywordLine && stream.match(/@\S+/)) {
61
- return "tag";
62
- } else if (!state.inKeywordLine && state.allowFeature && stream.match(/(機能|功能|フィーチャ|기능|โครงหลัก|ความสามารถ|ความต้องการทางธุรกิจ|ಹೆಚ್ಚಳ|గుణము|ਮੁਹਾਂਦਰਾ|ਨਕਸ਼ ਨੁਹਾਰ|ਖਾਸੀਅਤ|रूप लेख|وِیژگی|خاصية|תכונה|Функціонал|Функция|Функционалност|Функционал|Үзенчәлеклелек|Свойство|Особина|Мөмкинлек|Могућност|Λειτουργία|Δυνατότητα|Właściwość|Vlastnosť|Trajto|Tính năng|Savybė|Pretty much|Požiadavka|Požadavek|Potrzeba biznesowa|Özellik|Osobina|Ominaisuus|Omadus|OH HAI|Mogućnost|Mogucnost|Jellemző|Hwæt|Hwaet|Funzionalità|Funktionalitéit|Funktionalität|Funkcja|Funkcionalnost|Funkcionalitāte|Funkcia|Fungsi|Functionaliteit|Funcționalitate|Funcţionalitate|Functionalitate|Funcionalitat|Funcionalidade|Fonctionnalité|Fitur|Fīča|Feature|Eiginleiki|Egenskap|Egenskab|Característica|Caracteristica|Business Need|Aspekt|Arwedd|Ahoy matey!|Ability):/)) {
63
- state.allowScenario = true;
64
- state.allowBackground = true;
65
- state.allowPlaceholders = false;
66
- state.allowSteps = false;
67
- state.allowMultilineArgument = false;
68
- state.inKeywordLine = true;
69
- return "keyword";
70
- } else if (!state.inKeywordLine && state.allowBackground && stream.match(/(背景|배경|แนวคิด|ಹಿನ್ನೆಲೆ|నేపథ్యం|ਪਿਛੋਕੜ|पृष्ठभूमि|زمینه|الخلفية|רקע|Тарих|Предыстория|Предистория|Позадина|Передумова|Основа|Контекст|Кереш|Υπόβαθρο|Założenia|Yo\-ho\-ho|Tausta|Taust|Situācija|Rerefons|Pozadina|Pozadie|Pozadí|Osnova|Latar Belakang|Kontext|Konteksts|Kontekstas|Kontekst|Háttér|Hannergrond|Grundlage|Geçmiş|Fundo|Fono|First off|Dis is what went down|Dasar|Contexto|Contexte|Context|Contesto|Cenário de Fundo|Cenario de Fundo|Cefndir|Bối cảnh|Bakgrunnur|Bakgrunn|Bakgrund|Baggrund|Background|B4|Antecedents|Antecedentes|Ær|Aer|Achtergrond):/)) {
71
- state.allowPlaceholders = false;
72
- state.allowSteps = true;
73
- state.allowBackground = false;
74
- state.allowMultilineArgument = false;
75
- state.inKeywordLine = true;
76
- return "keyword";
77
- } else if (!state.inKeywordLine && state.allowScenario && stream.match(/(場景大綱|场景大纲|劇本大綱|剧本大纲|テンプレ|シナリオテンプレート|シナリオテンプレ|シナリオアウトライン|시나리오 개요|สรุปเหตุการณ์|โครงสร้างของเหตุการณ์|ವಿವರಣೆ|కథనం|ਪਟਕਥਾ ਰੂਪ ਰੇਖਾ|ਪਟਕਥਾ ਢਾਂਚਾ|परिदृश्य रूपरेखा|سيناريو مخطط|الگوی سناریو|תבנית תרחיש|Сценарийның төзелеше|Сценарий структураси|Структура сценарію|Структура сценария|Структура сценарија|Скица|Рамка на сценарий|Концепт|Περιγραφή Σεναρίου|Wharrimean is|Template Situai|Template Senario|Template Keadaan|Tapausaihio|Szenariogrundriss|Szablon scenariusza|Swa hwær swa|Swa hwaer swa|Struktura scenarija|Structură scenariu|Structura scenariu|Skica|Skenario konsep|Shiver me timbers|Senaryo taslağı|Schema dello scenario|Scenariomall|Scenariomal|Scenario Template|Scenario Outline|Scenario Amlinellol|Scenārijs pēc parauga|Scenarijaus šablonas|Reckon it's like|Raamstsenaarium|Plang vum Szenario|Plan du Scénario|Plan du scénario|Osnova scénáře|Osnova Scenára|Náčrt Scenáru|Náčrt Scénáře|Náčrt Scenára|MISHUN SRSLY|Menggariskan Senario|Lýsing Dæma|Lýsing Atburðarásar|Konturo de la scenaro|Koncept|Khung tình huống|Khung kịch bản|Forgatókönyv vázlat|Esquema do Cenário|Esquema do Cenario|Esquema del escenario|Esquema de l'escenari|Esbozo do escenario|Delineação do Cenário|Delineacao do Cenario|All y'all|Abstrakt Scenario|Abstract Scenario):/)) {
78
- state.allowPlaceholders = true;
79
- state.allowSteps = true;
80
- state.allowMultilineArgument = false;
81
- state.inKeywordLine = true;
82
- return "keyword";
83
- } else if (state.allowScenario && stream.match(/(例子|例|サンプル|예|ชุดของเหตุการณ์|ชุดของตัวอย่าง|ಉದಾಹರಣೆಗಳು|ఉదాహరణలు|ਉਦਾਹਰਨਾਂ|उदाहरण|نمونه ها|امثلة|דוגמאות|Үрнәкләр|Сценарији|Примеры|Примери|Приклади|Мисоллар|Мисаллар|Σενάρια|Παραδείγματα|You'll wanna|Voorbeelden|Variantai|Tapaukset|Se þe|Se the|Se ðe|Scenarios|Scenariji|Scenarijai|Przykłady|Primjeri|Primeri|Příklady|Príklady|Piemēri|Példák|Pavyzdžiai|Paraugs|Örnekler|Juhtumid|Exemplos|Exemples|Exemple|Exempel|EXAMPLZ|Examples|Esempi|Enghreifftiau|Ekzemploj|Eksempler|Ejemplos|Dữ liệu|Dead men tell no tales|Dæmi|Contoh|Cenários|Cenarios|Beispiller|Beispiele|Atburðarásir):/)) {
84
- state.allowPlaceholders = false;
85
- state.allowSteps = true;
86
- state.allowBackground = false;
87
- state.allowMultilineArgument = true;
88
- return "keyword";
89
- } else if (!state.inKeywordLine && state.allowScenario && stream.match(/(場景|场景|劇本|剧本|シナリオ|시나리오|เหตุการณ์|ಕಥಾಸಾರಾಂಶ|సన్నివేశం|ਪਟਕਥਾ|परिदृश्य|سيناريو|سناریو|תרחיש|Сценарій|Сценарио|Сценарий|Пример|Σενάριο|Tình huống|The thing of it is|Tapaus|Szenario|Swa|Stsenaarium|Skenario|Situai|Senaryo|Senario|Scenaro|Scenariusz|Scenariu|Scénario|Scenario|Scenarijus|Scenārijs|Scenarij|Scenarie|Scénář|Scenár|Primer|MISHUN|Kịch bản|Keadaan|Heave to|Forgatókönyv|Escenario|Escenari|Cenário|Cenario|Awww, look mate|Atburðarás):/)) {
90
- state.allowPlaceholders = false;
91
- state.allowSteps = true;
92
- state.allowBackground = false;
93
- state.allowMultilineArgument = false;
94
- state.inKeywordLine = true;
95
- return "keyword";
96
- } else if (!state.inKeywordLine && state.allowSteps && stream.match(/(那麼|那么|而且|當|当|并且|同時|同时|前提|假设|假設|假定|假如|但是|但し|並且|もし|ならば|ただし|しかし|かつ|하지만|조건|먼저|만일|만약|단|그리고|그러면|และ |เมื่อ |แต่ |ดังนั้น |กำหนดให้ |ಸ್ಥಿತಿಯನ್ನು |ಮತ್ತು |ನೀಡಿದ |ನಂತರ |ಆದರೆ |మరియు |చెప్పబడినది |కాని |ఈ పరిస్థితిలో |అప్పుడు |ਪਰ |ਤਦ |ਜੇਕਰ |ਜਿਵੇਂ ਕਿ |ਜਦੋਂ |ਅਤੇ |यदि |परन्तु |पर |तब |तदा |तथा |जब |चूंकि |किन्तु |कदा |और |अगर |و |هنگامی |متى |لكن |عندما |ثم |بفرض |با فرض |اما |اذاً |آنگاه |כאשר |וגם |בהינתן |אזי |אז |אבל |Якщо |Һәм |Унда |Тоді |Тогда |То |Также |Та |Пусть |Припустимо, що |Припустимо |Онда |Но |Нехай |Нәтиҗәдә |Лекин |Ләкин |Коли |Когда |Когато |Када |Кад |К тому же |І |И |Задато |Задати |Задате |Если |Допустим |Дано |Дадено |Вә |Ва |Бирок |Әмма |Әйтик |Әгәр |Аммо |Али |Але |Агар |А також |А |Τότε |Όταν |Και |Δεδομένου |Αλλά |Þurh |Þegar |Þa þe |Þá |Þa |Zatati |Zakładając |Zadato |Zadate |Zadano |Zadani |Zadan |Za předpokladu |Za predpokladu |Youse know when youse got |Youse know like when |Yna |Yeah nah |Y'know |Y |Wun |Wtedy |When y'all |When |Wenn |WEN |wann |Ve |Và |Und |Un |ugeholl |Too right |Thurh |Thì |Then y'all |Then |Tha the |Tha |Tetapi |Tapi |Tak |Tada |Tad |Stel |Soit |Siis |Și |Şi |Si |Sed |Se |Så |Quando |Quand |Quan |Pryd |Potom |Pokud |Pokiaľ |Però |Pero |Pak |Oraz |Onda |Ond |Oletetaan |Og |Och |O zaman |Niin |Nhưng |När |Når |Mutta |Men |Mas |Maka |Majd |Mając |Mais |Maar |mä |Ma |Lorsque |Lorsqu'|Logo |Let go and haul |Kun |Kuid |Kui |Kiedy |Khi |Ketika |Kemudian |Keď |Když |Kaj |Kai |Kada |Kad |Jeżeli |Jeśli |Ja |It's just unbelievable |Ir |I CAN HAZ |I |Ha |Givun |Givet |Given y'all |Given |Gitt |Gegeven |Gegeben seien |Gegeben sei |Gdy |Gangway! |Fakat |Étant donnés |Etant donnés |Étant données |Etant données |Étant donnée |Etant donnée |Étant donné |Etant donné |Et |És |Entonces |Entón |Então |Entao |En |Eğer ki |Ef |Eeldades |E |Ðurh |Duota |Dun |Donitaĵo |Donat |Donada |Do |Diyelim ki |Diberi |Dengan |Den youse gotta |DEN |De |Dato |Dați fiind |Daţi fiind |Dati fiind |Dati |Date fiind |Date |Data |Dat fiind |Dar |Dann |dann |Dan |Dados |Dado |Dadas |Dada |Ða ðe |Ða |Cuando |Cho |Cando |Când |Cand |Cal |But y'all |But at the end of the day I reckon |BUT |But |Buh |Blimey! |Biết |Bet |Bagi |Aye |awer |Avast! |Atunci |Atesa |Atès |Apabila |Anrhegedig a |Angenommen |And y'all |And |AN |An |an |Amikor |Amennyiben |Ama |Als |Alors |Allora |Ali |Aleshores |Ale |Akkor |Ak |Adott |Ac |Aber |A zároveň |A tiež |A taktiež |A také |A |a |7 |\* )/)) {
97
- state.inStep = true;
98
- state.allowPlaceholders = true;
99
- state.allowMultilineArgument = true;
100
- state.inKeywordLine = true;
101
- return "keyword";
102
- } else if (stream.match(/"[^"]*"?/)) {
103
- return "string";
104
- } else if (state.allowPlaceholders && stream.match(/<[^>]*>?/)) {
105
- return "variable";
106
- } else {
107
- stream.next();
108
- stream.eatWhile(/[^@"<#]/);
109
- return null;
110
- }
111
- }
112
- };
113
- export {
114
- gherkin
115
- };
@@ -1,223 +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(
7
- "abstract as assert boolean break byte case catch char class const continue def default do double else enum extends final finally float for goto if implements import in instanceof int interface long native new package private protected public return short static strictfp super switch synchronized threadsafe throw throws trait transient try void volatile while"
8
- );
9
- var blockKeywords = words("catch class def do else enum finally for if interface switch trait try while");
10
- var standaloneKeywords = words("return break continue");
11
- var atoms = words("null true false this");
12
- var curPunc;
13
- function tokenBase(stream, state) {
14
- var ch = stream.next();
15
- if (ch == '"' || ch == "'") {
16
- return startString(ch, stream, state);
17
- }
18
- if (/[\[\]{}\(\),;\:\.]/.test(ch)) {
19
- curPunc = ch;
20
- return null;
21
- }
22
- if (/\d/.test(ch)) {
23
- stream.eatWhile(/[\w\.]/);
24
- if (stream.eat(/eE/)) {
25
- stream.eat(/\+\-/);
26
- stream.eatWhile(/\d/);
27
- }
28
- return "number";
29
- }
30
- if (ch == "/") {
31
- if (stream.eat("*")) {
32
- state.tokenize.push(tokenComment);
33
- return tokenComment(stream, state);
34
- }
35
- if (stream.eat("/")) {
36
- stream.skipToEnd();
37
- return "comment";
38
- }
39
- if (expectExpression(state.lastToken, false)) {
40
- return startString(ch, stream, state);
41
- }
42
- }
43
- if (ch == "-" && stream.eat(">")) {
44
- curPunc = "->";
45
- return null;
46
- }
47
- if (/[+\-*&%=<>!?|\/~]/.test(ch)) {
48
- stream.eatWhile(/[+\-*&%=<>|~]/);
49
- return "operator";
50
- }
51
- stream.eatWhile(/[\w\$_]/);
52
- if (ch == "@") {
53
- stream.eatWhile(/[\w\$_\.]/);
54
- return "meta";
55
- }
56
- if (state.lastToken == ".") return "property";
57
- if (stream.eat(":")) {
58
- curPunc = "proplabel";
59
- return "property";
60
- }
61
- var cur = stream.current();
62
- if (atoms.propertyIsEnumerable(cur)) {
63
- return "atom";
64
- }
65
- if (keywords.propertyIsEnumerable(cur)) {
66
- if (blockKeywords.propertyIsEnumerable(cur)) curPunc = "newstatement";
67
- else if (standaloneKeywords.propertyIsEnumerable(cur)) curPunc = "standalone";
68
- return "keyword";
69
- }
70
- return "variable";
71
- }
72
- tokenBase.isBase = true;
73
- function startString(quote, stream, state) {
74
- var tripleQuoted = false;
75
- if (quote != "/" && stream.eat(quote)) {
76
- if (stream.eat(quote)) tripleQuoted = true;
77
- else return "string";
78
- }
79
- function t(stream2, state2) {
80
- var escaped = false, next, end = !tripleQuoted;
81
- while ((next = stream2.next()) != null) {
82
- if (next == quote && !escaped) {
83
- if (!tripleQuoted) {
84
- break;
85
- }
86
- if (stream2.match(quote + quote)) {
87
- end = true;
88
- break;
89
- }
90
- }
91
- if (quote == '"' && next == "$" && !escaped) {
92
- if (stream2.eat("{")) {
93
- state2.tokenize.push(tokenBaseUntilBrace());
94
- return "string";
95
- } else if (stream2.match(/^\w/, false)) {
96
- state2.tokenize.push(tokenVariableDeref);
97
- return "string";
98
- }
99
- }
100
- escaped = !escaped && next == "\\";
101
- }
102
- if (end) state2.tokenize.pop();
103
- return "string";
104
- }
105
- state.tokenize.push(t);
106
- return t(stream, state);
107
- }
108
- function tokenBaseUntilBrace() {
109
- var depth = 1;
110
- function t(stream, state) {
111
- if (stream.peek() == "}") {
112
- depth--;
113
- if (depth == 0) {
114
- state.tokenize.pop();
115
- return state.tokenize[state.tokenize.length - 1](stream, state);
116
- }
117
- } else if (stream.peek() == "{") {
118
- depth++;
119
- }
120
- return tokenBase(stream, state);
121
- }
122
- t.isBase = true;
123
- return t;
124
- }
125
- function tokenVariableDeref(stream, state) {
126
- var next = stream.match(/^(\.|[\w\$_]+)/);
127
- if (!next || !stream.match(next[0] == "." ? /^[\w$_]/ : /^\./)) state.tokenize.pop();
128
- if (!next) return state.tokenize[state.tokenize.length - 1](stream, state);
129
- return next[0] == "." ? null : "variable";
130
- }
131
- function tokenComment(stream, state) {
132
- var maybeEnd = false, ch;
133
- while (ch = stream.next()) {
134
- if (ch == "/" && maybeEnd) {
135
- state.tokenize.pop();
136
- break;
137
- }
138
- maybeEnd = ch == "*";
139
- }
140
- return "comment";
141
- }
142
- function expectExpression(last, newline) {
143
- return !last || last == "operator" || last == "->" || /[\.\[\{\(,;:]/.test(last) || last == "newstatement" || last == "keyword" || last == "proplabel" || last == "standalone" && !newline;
144
- }
145
- function Context(indented, column, type, align, prev) {
146
- this.indented = indented;
147
- this.column = column;
148
- this.type = type;
149
- this.align = align;
150
- this.prev = prev;
151
- }
152
- function pushContext(state, col, type) {
153
- return state.context = new Context(state.indented, col, type, null, state.context);
154
- }
155
- function popContext(state) {
156
- var t = state.context.type;
157
- if (t == ")" || t == "]" || t == "}")
158
- state.indented = state.context.indented;
159
- return state.context = state.context.prev;
160
- }
161
- const groovy = {
162
- name: "groovy",
163
- startState: function(indentUnit) {
164
- return {
165
- tokenize: [tokenBase],
166
- context: new Context(-indentUnit, 0, "top", false),
167
- indented: 0,
168
- startOfLine: true,
169
- lastToken: null
170
- };
171
- },
172
- token: function(stream, state) {
173
- var ctx = state.context;
174
- if (stream.sol()) {
175
- if (ctx.align == null) ctx.align = false;
176
- state.indented = stream.indentation();
177
- state.startOfLine = true;
178
- if (ctx.type == "statement" && !expectExpression(state.lastToken, true)) {
179
- popContext(state);
180
- ctx = state.context;
181
- }
182
- }
183
- if (stream.eatSpace()) return null;
184
- curPunc = null;
185
- var style = state.tokenize[state.tokenize.length - 1](stream, state);
186
- if (style == "comment") return style;
187
- if (ctx.align == null) ctx.align = true;
188
- if ((curPunc == ";" || curPunc == ":") && ctx.type == "statement") popContext(state);
189
- else if (curPunc == "->" && ctx.type == "statement" && ctx.prev.type == "}") {
190
- popContext(state);
191
- state.context.align = false;
192
- } else if (curPunc == "{") pushContext(state, stream.column(), "}");
193
- else if (curPunc == "[") pushContext(state, stream.column(), "]");
194
- else if (curPunc == "(") pushContext(state, stream.column(), ")");
195
- else if (curPunc == "}") {
196
- while (ctx.type == "statement") ctx = popContext(state);
197
- if (ctx.type == "}") ctx = popContext(state);
198
- while (ctx.type == "statement") ctx = popContext(state);
199
- } else if (curPunc == ctx.type) popContext(state);
200
- else if (ctx.type == "}" || ctx.type == "top" || ctx.type == "statement" && curPunc == "newstatement")
201
- pushContext(state, stream.column(), "statement");
202
- state.startOfLine = false;
203
- state.lastToken = curPunc || style;
204
- return style;
205
- },
206
- indent: function(state, textAfter, cx) {
207
- if (!state.tokenize[state.tokenize.length - 1].isBase) return null;
208
- var firstChar = textAfter && textAfter.charAt(0), ctx = state.context;
209
- if (ctx.type == "statement" && !expectExpression(state.lastToken, true)) ctx = ctx.prev;
210
- var closing = firstChar == ctx.type;
211
- if (ctx.type == "statement") return ctx.indented + (firstChar == "{" ? 0 : cx.unit);
212
- else if (ctx.align) return ctx.column + (closing ? 0 : 1);
213
- else return ctx.indented + (closing ? 0 : cx.unit);
214
- },
215
- languageData: {
216
- indentOnInput: /^\s*[{}]$/,
217
- commentTokens: { line: "//", block: { open: "/*", close: "*/" } },
218
- closeBrackets: { brackets: ["(", "[", "{", "'", '"', "'''", '"""'] }
219
- }
220
- };
221
- export {
222
- groovy
223
- };