@phenx-inc/ctlsurf 0.1.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 (133) hide show
  1. package/bin/ctlsurf-worker.js +173 -0
  2. package/electron-vite.config.ts +34 -0
  3. package/out/headless/index.mjs +1364 -0
  4. package/out/headless/index.mjs.map +7 -0
  5. package/out/main/index.js +1131 -0
  6. package/out/preload/index.js +67 -0
  7. package/out/renderer/assets/abap-D5KwWAsZ.js +1399 -0
  8. package/out/renderer/assets/apex-DVGUZ64i.js +331 -0
  9. package/out/renderer/assets/azcli-BEAhqcuE.js +69 -0
  10. package/out/renderer/assets/bat-Bqkp9Cfu.js +101 -0
  11. package/out/renderer/assets/bicep-DIlfshcM.js +110 -0
  12. package/out/renderer/assets/cameligo-CLaaYNMV.js +175 -0
  13. package/out/renderer/assets/clojure-fcgFaMHx.js +762 -0
  14. package/out/renderer/assets/codicon-ngg6Pgfi.ttf +0 -0
  15. package/out/renderer/assets/coffee-CzJ5oEdj.js +233 -0
  16. package/out/renderer/assets/cpp-CcN6f0ik.js +390 -0
  17. package/out/renderer/assets/csharp-BJeIuvde.js +327 -0
  18. package/out/renderer/assets/csp-D_3BK2Wp.js +54 -0
  19. package/out/renderer/assets/css-i3rI3_64.js +186 -0
  20. package/out/renderer/assets/css.worker-umuuUiIb.js +53567 -0
  21. package/out/renderer/assets/cssMode-DL0XItGB.js +208 -0
  22. package/out/renderer/assets/cypher-D0--_GAN.js +264 -0
  23. package/out/renderer/assets/dart-vLMHv35g.js +282 -0
  24. package/out/renderer/assets/dockerfile--oxj0cAH.js +131 -0
  25. package/out/renderer/assets/ecl-CeuUgzaZ.js +457 -0
  26. package/out/renderer/assets/editor.worker-CNgWLVu7.js +13695 -0
  27. package/out/renderer/assets/elixir-eLfY1jWH.js +570 -0
  28. package/out/renderer/assets/flow9-ZSTChSMd.js +143 -0
  29. package/out/renderer/assets/freemarker2-CrOEuDcF.js +995 -0
  30. package/out/renderer/assets/fsharp-D2uoxuLH.js +218 -0
  31. package/out/renderer/assets/go-brnMpFrj.js +219 -0
  32. package/out/renderer/assets/graphql-BeiGgjIU.js +152 -0
  33. package/out/renderer/assets/handlebars-D4QYaBof.js +414 -0
  34. package/out/renderer/assets/hcl-CrX1Es2W.js +184 -0
  35. package/out/renderer/assets/html-B2Dqk2ai.js +303 -0
  36. package/out/renderer/assets/html.worker-BT47iy49.js +29777 -0
  37. package/out/renderer/assets/htmlMode-CdZ0Prhd.js +224 -0
  38. package/out/renderer/assets/index-CJ6RsQWP.css +8108 -0
  39. package/out/renderer/assets/index-pZmE1QXB.js +211777 -0
  40. package/out/renderer/assets/ini-BcQysCTb.js +72 -0
  41. package/out/renderer/assets/java-Dt3iMn2o.js +233 -0
  42. package/out/renderer/assets/javascript-CK8zNQXj.js +72 -0
  43. package/out/renderer/assets/json.worker-D4JVmXIe.js +21424 -0
  44. package/out/renderer/assets/jsonMode-Cewaellc.js +931 -0
  45. package/out/renderer/assets/julia-Cm3ItYL_.js +512 -0
  46. package/out/renderer/assets/kotlin-Ddo1SjA5.js +253 -0
  47. package/out/renderer/assets/less-B7Qaxw-O.js +162 -0
  48. package/out/renderer/assets/lexon-C1U0m2n9.js +158 -0
  49. package/out/renderer/assets/liquid-Bd3GPNs2.js +235 -0
  50. package/out/renderer/assets/lspLanguageFeatures-DSDH7BnA.js +1841 -0
  51. package/out/renderer/assets/lua-hNsuGJkO.js +163 -0
  52. package/out/renderer/assets/m3-6ko6q9-_.js +211 -0
  53. package/out/renderer/assets/markdown-B0YTnTxW.js +230 -0
  54. package/out/renderer/assets/mdx-CCPVCrXC.js +159 -0
  55. package/out/renderer/assets/mips-CJm71dS3.js +199 -0
  56. package/out/renderer/assets/msdax-BBeIktCY.js +376 -0
  57. package/out/renderer/assets/mysql-BWiizXSn.js +879 -0
  58. package/out/renderer/assets/objective-c-B1L1C5EC.js +184 -0
  59. package/out/renderer/assets/pascal-DMQyD4Xk.js +252 -0
  60. package/out/renderer/assets/pascaligo-VA_LQ1oU.js +165 -0
  61. package/out/renderer/assets/perl-DC0Z0tlO.js +627 -0
  62. package/out/renderer/assets/pgsql-DaSGFTLp.js +852 -0
  63. package/out/renderer/assets/php-Bkx1qpkQ.js +501 -0
  64. package/out/renderer/assets/pla-DEV89yYj.js +138 -0
  65. package/out/renderer/assets/postiats-CVVurEnu.js +908 -0
  66. package/out/renderer/assets/powerquery-BQ_t1ZiQ.js +891 -0
  67. package/out/renderer/assets/powershell-BXiKvz7Z.js +240 -0
  68. package/out/renderer/assets/protobuf-CndvAUGu.js +421 -0
  69. package/out/renderer/assets/pug-BxCXwerb.js +403 -0
  70. package/out/renderer/assets/python-34jOtlcC.js +295 -0
  71. package/out/renderer/assets/qsharp-BWK6YLKm.js +302 -0
  72. package/out/renderer/assets/r-CtqYUQ6l.js +244 -0
  73. package/out/renderer/assets/razor-DXRw694z.js +545 -0
  74. package/out/renderer/assets/redis-O7gSt3oh.js +303 -0
  75. package/out/renderer/assets/redshift-CvYMMYZY.js +810 -0
  76. package/out/renderer/assets/restructuredtext-B-KQCVu_.js +175 -0
  77. package/out/renderer/assets/ruby-DCd4DmAr.js +512 -0
  78. package/out/renderer/assets/rust-B1c0VCeq.js +344 -0
  79. package/out/renderer/assets/sb-Chfc_wZF.js +116 -0
  80. package/out/renderer/assets/scala-DbVzH-3O.js +371 -0
  81. package/out/renderer/assets/scheme-D7PxodDG.js +109 -0
  82. package/out/renderer/assets/scss-B42qMyAu.js +261 -0
  83. package/out/renderer/assets/shell-vZEubQ82.js +222 -0
  84. package/out/renderer/assets/solidity-yHOxYChb.js +1368 -0
  85. package/out/renderer/assets/sophia-D7pU0Y1d.js +200 -0
  86. package/out/renderer/assets/sparql-DxuVdnRl.js +202 -0
  87. package/out/renderer/assets/sql-BAGepFCR.js +854 -0
  88. package/out/renderer/assets/st-C-b0Dh53.js +417 -0
  89. package/out/renderer/assets/swift-BmOZGynf.js +313 -0
  90. package/out/renderer/assets/systemverilog-BOC0OOdC.js +577 -0
  91. package/out/renderer/assets/tcl-Bb4GCwBr.js +233 -0
  92. package/out/renderer/assets/ts.worker-C7hW3aY-.js +225330 -0
  93. package/out/renderer/assets/tsMode-CmND5_wB.js +1265 -0
  94. package/out/renderer/assets/twig-DvgEGWAV.js +393 -0
  95. package/out/renderer/assets/typescript-BNNI0Euv.js +337 -0
  96. package/out/renderer/assets/typespec-R77Ln7Jb.js +128 -0
  97. package/out/renderer/assets/vb-Bm6ESA0Q.js +373 -0
  98. package/out/renderer/assets/wgsl-_KPae5vw.js +454 -0
  99. package/out/renderer/assets/xml-CgdndrNB.js +89 -0
  100. package/out/renderer/assets/yaml-DNWPIf1s.js +200 -0
  101. package/out/renderer/index.html +13 -0
  102. package/package.json +67 -0
  103. package/resources/icon.icns +0 -0
  104. package/resources/icon.ico +0 -0
  105. package/resources/icon.png +0 -0
  106. package/src/main/agents.ts +46 -0
  107. package/src/main/bridge.ts +180 -0
  108. package/src/main/ctlsurfApi.ts +142 -0
  109. package/src/main/detectMode.ts +17 -0
  110. package/src/main/headless.ts +182 -0
  111. package/src/main/index.ts +300 -0
  112. package/src/main/orchestrator.ts +404 -0
  113. package/src/main/pty.ts +65 -0
  114. package/src/main/settingsDir.ts +17 -0
  115. package/src/main/tui.ts +366 -0
  116. package/src/main/workerWs.ts +312 -0
  117. package/src/preload/index.ts +114 -0
  118. package/src/renderer/App.tsx +275 -0
  119. package/src/renderer/components/CtlsurfPanel.tsx +49 -0
  120. package/src/renderer/components/EditorPanel.tsx +232 -0
  121. package/src/renderer/components/MultiSplitPane.tsx +251 -0
  122. package/src/renderer/components/PaneLayout.tsx +419 -0
  123. package/src/renderer/components/SettingsDialog.tsx +204 -0
  124. package/src/renderer/components/SplitPane.tsx +82 -0
  125. package/src/renderer/components/StatusBar.tsx +73 -0
  126. package/src/renderer/components/TerminalPanel.tsx +140 -0
  127. package/src/renderer/index.html +12 -0
  128. package/src/renderer/main.tsx +10 -0
  129. package/src/renderer/styles.css +722 -0
  130. package/tsconfig.json +8 -0
  131. package/tsconfig.main.json +15 -0
  132. package/tsconfig.preload.json +14 -0
  133. package/tsconfig.renderer.json +15 -0
@@ -0,0 +1,303 @@
1
+ import { l as languages } from "./index-pZmE1QXB.js";
2
+ const EMPTY_ELEMENTS = [
3
+ "area",
4
+ "base",
5
+ "br",
6
+ "col",
7
+ "embed",
8
+ "hr",
9
+ "img",
10
+ "input",
11
+ "keygen",
12
+ "link",
13
+ "menuitem",
14
+ "meta",
15
+ "param",
16
+ "source",
17
+ "track",
18
+ "wbr"
19
+ ];
20
+ const conf = {
21
+ wordPattern: /(-?\d*\.\d\w*)|([^\`\~\!\@\$\^\&\*\(\)\=\+\[\{\]\}\\\|\;\:\'\"\,\.\<\>\/\s]+)/g,
22
+ comments: {
23
+ blockComment: ["<!--", "-->"]
24
+ },
25
+ brackets: [
26
+ ["<!--", "-->"],
27
+ ["<", ">"],
28
+ ["{", "}"],
29
+ ["(", ")"]
30
+ ],
31
+ autoClosingPairs: [
32
+ { open: "{", close: "}" },
33
+ { open: "[", close: "]" },
34
+ { open: "(", close: ")" },
35
+ { open: '"', close: '"' },
36
+ { open: "'", close: "'" }
37
+ ],
38
+ surroundingPairs: [
39
+ { open: '"', close: '"' },
40
+ { open: "'", close: "'" },
41
+ { open: "{", close: "}" },
42
+ { open: "[", close: "]" },
43
+ { open: "(", close: ")" },
44
+ { open: "<", close: ">" }
45
+ ],
46
+ onEnterRules: [
47
+ {
48
+ beforeText: new RegExp(
49
+ `<(?!(?:${EMPTY_ELEMENTS.join("|")}))([_:\\w][_:\\w-.\\d]*)([^/>]*(?!/)>)[^<]*$`,
50
+ "i"
51
+ ),
52
+ afterText: /^<\/([_:\w][_:\w-.\d]*)\s*>$/i,
53
+ action: {
54
+ indentAction: languages.IndentAction.IndentOutdent
55
+ }
56
+ },
57
+ {
58
+ beforeText: new RegExp(
59
+ `<(?!(?:${EMPTY_ELEMENTS.join("|")}))(\\w[\\w\\d]*)([^/>]*(?!/)>)[^<]*$`,
60
+ "i"
61
+ ),
62
+ action: { indentAction: languages.IndentAction.Indent }
63
+ }
64
+ ],
65
+ folding: {
66
+ markers: {
67
+ start: new RegExp("^\\s*<!--\\s*#region\\b.*-->"),
68
+ end: new RegExp("^\\s*<!--\\s*#endregion\\b.*-->")
69
+ }
70
+ }
71
+ };
72
+ const language = {
73
+ defaultToken: "",
74
+ tokenPostfix: ".html",
75
+ ignoreCase: true,
76
+ // The main tokenizer for our languages
77
+ tokenizer: {
78
+ root: [
79
+ [/<!DOCTYPE/, "metatag", "@doctype"],
80
+ [/<!--/, "comment", "@comment"],
81
+ [/(<)((?:[\w\-]+:)?[\w\-]+)(\s*)(\/>)/, ["delimiter", "tag", "", "delimiter"]],
82
+ [/(<)(script)/, ["delimiter", { token: "tag", next: "@script" }]],
83
+ [/(<)(style)/, ["delimiter", { token: "tag", next: "@style" }]],
84
+ [/(<)((?:[\w\-]+:)?[\w\-]+)/, ["delimiter", { token: "tag", next: "@otherTag" }]],
85
+ [/(<\/)((?:[\w\-]+:)?[\w\-]+)/, ["delimiter", { token: "tag", next: "@otherTag" }]],
86
+ [/</, "delimiter"],
87
+ [/[^<]+/]
88
+ // text
89
+ ],
90
+ doctype: [
91
+ [/[^>]+/, "metatag.content"],
92
+ [/>/, "metatag", "@pop"]
93
+ ],
94
+ comment: [
95
+ [/-->/, "comment", "@pop"],
96
+ [/[^-]+/, "comment.content"],
97
+ [/./, "comment.content"]
98
+ ],
99
+ otherTag: [
100
+ [/\/?>/, "delimiter", "@pop"],
101
+ [/"([^"]*)"/, "attribute.value"],
102
+ [/'([^']*)'/, "attribute.value"],
103
+ [/[\w\-]+/, "attribute.name"],
104
+ [/=/, "delimiter"],
105
+ [/[ \t\r\n]+/]
106
+ // whitespace
107
+ ],
108
+ // -- BEGIN <script> tags handling
109
+ // After <script
110
+ script: [
111
+ [/type/, "attribute.name", "@scriptAfterType"],
112
+ [/"([^"]*)"/, "attribute.value"],
113
+ [/'([^']*)'/, "attribute.value"],
114
+ [/[\w\-]+/, "attribute.name"],
115
+ [/=/, "delimiter"],
116
+ [
117
+ />/,
118
+ {
119
+ token: "delimiter",
120
+ next: "@scriptEmbedded",
121
+ nextEmbedded: "text/javascript"
122
+ }
123
+ ],
124
+ [/[ \t\r\n]+/],
125
+ // whitespace
126
+ [/(<\/)(script\s*)(>)/, ["delimiter", "tag", { token: "delimiter", next: "@pop" }]]
127
+ ],
128
+ // After <script ... type
129
+ scriptAfterType: [
130
+ [/=/, "delimiter", "@scriptAfterTypeEquals"],
131
+ [
132
+ />/,
133
+ {
134
+ token: "delimiter",
135
+ next: "@scriptEmbedded",
136
+ nextEmbedded: "text/javascript"
137
+ }
138
+ ],
139
+ // cover invalid e.g. <script type>
140
+ [/[ \t\r\n]+/],
141
+ // whitespace
142
+ [/<\/script\s*>/, { token: "@rematch", next: "@pop" }]
143
+ ],
144
+ // After <script ... type =
145
+ scriptAfterTypeEquals: [
146
+ [
147
+ /"module"/,
148
+ {
149
+ token: "attribute.value",
150
+ switchTo: "@scriptWithCustomType.text/javascript"
151
+ }
152
+ ],
153
+ [
154
+ /'module'/,
155
+ {
156
+ token: "attribute.value",
157
+ switchTo: "@scriptWithCustomType.text/javascript"
158
+ }
159
+ ],
160
+ [
161
+ /"([^"]*)"/,
162
+ {
163
+ token: "attribute.value",
164
+ switchTo: "@scriptWithCustomType.$1"
165
+ }
166
+ ],
167
+ [
168
+ /'([^']*)'/,
169
+ {
170
+ token: "attribute.value",
171
+ switchTo: "@scriptWithCustomType.$1"
172
+ }
173
+ ],
174
+ [
175
+ />/,
176
+ {
177
+ token: "delimiter",
178
+ next: "@scriptEmbedded",
179
+ nextEmbedded: "text/javascript"
180
+ }
181
+ ],
182
+ // cover invalid e.g. <script type=>
183
+ [/[ \t\r\n]+/],
184
+ // whitespace
185
+ [/<\/script\s*>/, { token: "@rematch", next: "@pop" }]
186
+ ],
187
+ // After <script ... type = $S2
188
+ scriptWithCustomType: [
189
+ [
190
+ />/,
191
+ {
192
+ token: "delimiter",
193
+ next: "@scriptEmbedded.$S2",
194
+ nextEmbedded: "$S2"
195
+ }
196
+ ],
197
+ [/"([^"]*)"/, "attribute.value"],
198
+ [/'([^']*)'/, "attribute.value"],
199
+ [/[\w\-]+/, "attribute.name"],
200
+ [/=/, "delimiter"],
201
+ [/[ \t\r\n]+/],
202
+ // whitespace
203
+ [/<\/script\s*>/, { token: "@rematch", next: "@pop" }]
204
+ ],
205
+ scriptEmbedded: [
206
+ [/<\/script/, { token: "@rematch", next: "@pop", nextEmbedded: "@pop" }],
207
+ [/[^<]+/, ""]
208
+ ],
209
+ // -- END <script> tags handling
210
+ // -- BEGIN <style> tags handling
211
+ // After <style
212
+ style: [
213
+ [/type/, "attribute.name", "@styleAfterType"],
214
+ [/"([^"]*)"/, "attribute.value"],
215
+ [/'([^']*)'/, "attribute.value"],
216
+ [/[\w\-]+/, "attribute.name"],
217
+ [/=/, "delimiter"],
218
+ [
219
+ />/,
220
+ {
221
+ token: "delimiter",
222
+ next: "@styleEmbedded",
223
+ nextEmbedded: "text/css"
224
+ }
225
+ ],
226
+ [/[ \t\r\n]+/],
227
+ // whitespace
228
+ [/(<\/)(style\s*)(>)/, ["delimiter", "tag", { token: "delimiter", next: "@pop" }]]
229
+ ],
230
+ // After <style ... type
231
+ styleAfterType: [
232
+ [/=/, "delimiter", "@styleAfterTypeEquals"],
233
+ [
234
+ />/,
235
+ {
236
+ token: "delimiter",
237
+ next: "@styleEmbedded",
238
+ nextEmbedded: "text/css"
239
+ }
240
+ ],
241
+ // cover invalid e.g. <style type>
242
+ [/[ \t\r\n]+/],
243
+ // whitespace
244
+ [/<\/style\s*>/, { token: "@rematch", next: "@pop" }]
245
+ ],
246
+ // After <style ... type =
247
+ styleAfterTypeEquals: [
248
+ [
249
+ /"([^"]*)"/,
250
+ {
251
+ token: "attribute.value",
252
+ switchTo: "@styleWithCustomType.$1"
253
+ }
254
+ ],
255
+ [
256
+ /'([^']*)'/,
257
+ {
258
+ token: "attribute.value",
259
+ switchTo: "@styleWithCustomType.$1"
260
+ }
261
+ ],
262
+ [
263
+ />/,
264
+ {
265
+ token: "delimiter",
266
+ next: "@styleEmbedded",
267
+ nextEmbedded: "text/css"
268
+ }
269
+ ],
270
+ // cover invalid e.g. <style type=>
271
+ [/[ \t\r\n]+/],
272
+ // whitespace
273
+ [/<\/style\s*>/, { token: "@rematch", next: "@pop" }]
274
+ ],
275
+ // After <style ... type = $S2
276
+ styleWithCustomType: [
277
+ [
278
+ />/,
279
+ {
280
+ token: "delimiter",
281
+ next: "@styleEmbedded.$S2",
282
+ nextEmbedded: "$S2"
283
+ }
284
+ ],
285
+ [/"([^"]*)"/, "attribute.value"],
286
+ [/'([^']*)'/, "attribute.value"],
287
+ [/[\w\-]+/, "attribute.name"],
288
+ [/=/, "delimiter"],
289
+ [/[ \t\r\n]+/],
290
+ // whitespace
291
+ [/<\/style\s*>/, { token: "@rematch", next: "@pop" }]
292
+ ],
293
+ styleEmbedded: [
294
+ [/<\/style/, { token: "@rematch", next: "@pop", nextEmbedded: "@pop" }],
295
+ [/[^<]+/, ""]
296
+ ]
297
+ // -- END <style> tags handling
298
+ }
299
+ };
300
+ export {
301
+ conf,
302
+ language
303
+ };