@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,282 @@
1
+ const conf = {
2
+ comments: {
3
+ lineComment: "//",
4
+ blockComment: ["/*", "*/"]
5
+ },
6
+ brackets: [
7
+ ["{", "}"],
8
+ ["[", "]"],
9
+ ["(", ")"]
10
+ ],
11
+ autoClosingPairs: [
12
+ { open: "{", close: "}" },
13
+ { open: "[", close: "]" },
14
+ { open: "(", close: ")" },
15
+ { open: "'", close: "'", notIn: ["string", "comment"] },
16
+ { open: '"', close: '"', notIn: ["string"] },
17
+ { open: "`", close: "`", notIn: ["string", "comment"] },
18
+ { open: "/**", close: " */", notIn: ["string"] }
19
+ ],
20
+ surroundingPairs: [
21
+ { open: "{", close: "}" },
22
+ { open: "[", close: "]" },
23
+ { open: "(", close: ")" },
24
+ { open: "<", close: ">" },
25
+ { open: "'", close: "'" },
26
+ { open: "(", close: ")" },
27
+ { open: '"', close: '"' },
28
+ { open: "`", close: "`" }
29
+ ],
30
+ folding: {
31
+ markers: {
32
+ start: /^\s*\s*#?region\b/,
33
+ end: /^\s*\s*#?endregion\b/
34
+ }
35
+ }
36
+ };
37
+ const language = {
38
+ defaultToken: "invalid",
39
+ tokenPostfix: ".dart",
40
+ keywords: [
41
+ "abstract",
42
+ "dynamic",
43
+ "implements",
44
+ "show",
45
+ "as",
46
+ "else",
47
+ "import",
48
+ "static",
49
+ "assert",
50
+ "enum",
51
+ "in",
52
+ "super",
53
+ "async",
54
+ "export",
55
+ "interface",
56
+ "switch",
57
+ "await",
58
+ "extends",
59
+ "is",
60
+ "sync",
61
+ "break",
62
+ "external",
63
+ "library",
64
+ "this",
65
+ "case",
66
+ "factory",
67
+ "mixin",
68
+ "throw",
69
+ "catch",
70
+ "false",
71
+ "new",
72
+ "true",
73
+ "class",
74
+ "final",
75
+ "null",
76
+ "try",
77
+ "const",
78
+ "finally",
79
+ "on",
80
+ "typedef",
81
+ "continue",
82
+ "for",
83
+ "operator",
84
+ "var",
85
+ "covariant",
86
+ "Function",
87
+ "part",
88
+ "void",
89
+ "default",
90
+ "get",
91
+ "rethrow",
92
+ "while",
93
+ "deferred",
94
+ "hide",
95
+ "return",
96
+ "with",
97
+ "do",
98
+ "if",
99
+ "set",
100
+ "yield"
101
+ ],
102
+ typeKeywords: ["int", "double", "String", "bool"],
103
+ operators: [
104
+ "+",
105
+ "-",
106
+ "*",
107
+ "/",
108
+ "~/",
109
+ "%",
110
+ "++",
111
+ "--",
112
+ "==",
113
+ "!=",
114
+ ">",
115
+ "<",
116
+ ">=",
117
+ "<=",
118
+ "=",
119
+ "-=",
120
+ "/=",
121
+ "%=",
122
+ ">>=",
123
+ "^=",
124
+ "+=",
125
+ "*=",
126
+ "~/=",
127
+ "<<=",
128
+ "&=",
129
+ "!=",
130
+ "||",
131
+ "&&",
132
+ "&",
133
+ "|",
134
+ "^",
135
+ "~",
136
+ "<<",
137
+ ">>",
138
+ "!",
139
+ ">>>",
140
+ "??",
141
+ "?",
142
+ ":",
143
+ "|="
144
+ ],
145
+ // we include these common regular expressions
146
+ symbols: /[=><!~?:&|+\-*\/\^%]+/,
147
+ escapes: /\\(?:[abfnrtv\\"']|x[0-9A-Fa-f]{1,4}|u[0-9A-Fa-f]{4}|U[0-9A-Fa-f]{8})/,
148
+ digits: /\d+(_+\d+)*/,
149
+ octaldigits: /[0-7]+(_+[0-7]+)*/,
150
+ binarydigits: /[0-1]+(_+[0-1]+)*/,
151
+ hexdigits: /[[0-9a-fA-F]+(_+[0-9a-fA-F]+)*/,
152
+ regexpctl: /[(){}\[\]\$\^|\-*+?\.]/,
153
+ regexpesc: /\\(?:[bBdDfnrstvwWn0\\\/]|@regexpctl|c[A-Z]|x[0-9a-fA-F]{2}|u[0-9a-fA-F]{4})/,
154
+ // The main tokenizer for our languages
155
+ tokenizer: {
156
+ root: [[/[{}]/, "delimiter.bracket"], { include: "common" }],
157
+ common: [
158
+ // identifiers and keywords
159
+ [
160
+ /[a-z_$][\w$]*/,
161
+ {
162
+ cases: {
163
+ "@typeKeywords": "type.identifier",
164
+ "@keywords": "keyword",
165
+ "@default": "identifier"
166
+ }
167
+ }
168
+ ],
169
+ [/[A-Z_$][\w\$]*/, "type.identifier"],
170
+ // show class names
171
+ // [/[A-Z][\w\$]*/, 'identifier'],
172
+ // whitespace
173
+ { include: "@whitespace" },
174
+ // regular expression: ensure it is terminated before beginning (otherwise it is an opeator)
175
+ [
176
+ /\/(?=([^\\\/]|\\.)+\/([gimsuy]*)(\s*)(\.|;|,|\)|\]|\}|$))/,
177
+ { token: "regexp", bracket: "@open", next: "@regexp" }
178
+ ],
179
+ // @ annotations.
180
+ [/@[a-zA-Z]+/, "annotation"],
181
+ // variable
182
+ // delimiters and operators
183
+ [/[()\[\]]/, "@brackets"],
184
+ [/[<>](?!@symbols)/, "@brackets"],
185
+ [/!(?=([^=]|$))/, "delimiter"],
186
+ [
187
+ /@symbols/,
188
+ {
189
+ cases: {
190
+ "@operators": "delimiter",
191
+ "@default": ""
192
+ }
193
+ }
194
+ ],
195
+ // numbers
196
+ [/(@digits)[eE]([\-+]?(@digits))?/, "number.float"],
197
+ [/(@digits)\.(@digits)([eE][\-+]?(@digits))?/, "number.float"],
198
+ [/0[xX](@hexdigits)n?/, "number.hex"],
199
+ [/0[oO]?(@octaldigits)n?/, "number.octal"],
200
+ [/0[bB](@binarydigits)n?/, "number.binary"],
201
+ [/(@digits)n?/, "number"],
202
+ // delimiter: after number because of .\d floats
203
+ [/[;,.]/, "delimiter"],
204
+ // strings
205
+ [/"([^"\\]|\\.)*$/, "string.invalid"],
206
+ // non-teminated string
207
+ [/'([^'\\]|\\.)*$/, "string.invalid"],
208
+ // non-teminated string
209
+ [/"/, "string", "@string_double"],
210
+ [/'/, "string", "@string_single"]
211
+ // [/[a-zA-Z]+/, "variable"]
212
+ ],
213
+ whitespace: [
214
+ [/[ \t\r\n]+/, ""],
215
+ [/\/\*\*(?!\/)/, "comment.doc", "@jsdoc"],
216
+ [/\/\*/, "comment", "@comment"],
217
+ [/\/\/\/.*$/, "comment.doc"],
218
+ [/\/\/.*$/, "comment"]
219
+ ],
220
+ comment: [
221
+ [/[^\/*]+/, "comment"],
222
+ [/\*\//, "comment", "@pop"],
223
+ [/[\/*]/, "comment"]
224
+ ],
225
+ jsdoc: [
226
+ [/[^\/*]+/, "comment.doc"],
227
+ [/\*\//, "comment.doc", "@pop"],
228
+ [/[\/*]/, "comment.doc"]
229
+ ],
230
+ // We match regular expression quite precisely
231
+ regexp: [
232
+ [
233
+ /(\{)(\d+(?:,\d*)?)(\})/,
234
+ ["regexp.escape.control", "regexp.escape.control", "regexp.escape.control"]
235
+ ],
236
+ [
237
+ /(\[)(\^?)(?=(?:[^\]\\\/]|\\.)+)/,
238
+ ["regexp.escape.control", { token: "regexp.escape.control", next: "@regexrange" }]
239
+ ],
240
+ [/(\()(\?:|\?=|\?!)/, ["regexp.escape.control", "regexp.escape.control"]],
241
+ [/[()]/, "regexp.escape.control"],
242
+ [/@regexpctl/, "regexp.escape.control"],
243
+ [/[^\\\/]/, "regexp"],
244
+ [/@regexpesc/, "regexp.escape"],
245
+ [/\\\./, "regexp.invalid"],
246
+ [/(\/)([gimsuy]*)/, [{ token: "regexp", bracket: "@close", next: "@pop" }, "keyword.other"]]
247
+ ],
248
+ regexrange: [
249
+ [/-/, "regexp.escape.control"],
250
+ [/\^/, "regexp.invalid"],
251
+ [/@regexpesc/, "regexp.escape"],
252
+ [/[^\]]/, "regexp"],
253
+ [
254
+ /\]/,
255
+ {
256
+ token: "regexp.escape.control",
257
+ next: "@pop",
258
+ bracket: "@close"
259
+ }
260
+ ]
261
+ ],
262
+ string_double: [
263
+ [/[^\\"\$]+/, "string"],
264
+ [/[^\\"]+/, "string"],
265
+ [/@escapes/, "string.escape"],
266
+ [/\\./, "string.escape.invalid"],
267
+ [/"/, "string", "@pop"],
268
+ [/\$\w+/, "identifier"]
269
+ ],
270
+ string_single: [
271
+ [/[^\\'\$]+/, "string"],
272
+ [/@escapes/, "string.escape"],
273
+ [/\\./, "string.escape.invalid"],
274
+ [/'/, "string", "@pop"],
275
+ [/\$\w+/, "identifier"]
276
+ ]
277
+ }
278
+ };
279
+ export {
280
+ conf,
281
+ language
282
+ };
@@ -0,0 +1,131 @@
1
+ const conf = {
2
+ brackets: [
3
+ ["{", "}"],
4
+ ["[", "]"],
5
+ ["(", ")"]
6
+ ],
7
+ autoClosingPairs: [
8
+ { open: "{", close: "}" },
9
+ { open: "[", close: "]" },
10
+ { open: "(", close: ")" },
11
+ { open: '"', close: '"' },
12
+ { open: "'", close: "'" }
13
+ ],
14
+ surroundingPairs: [
15
+ { open: "{", close: "}" },
16
+ { open: "[", close: "]" },
17
+ { open: "(", close: ")" },
18
+ { open: '"', close: '"' },
19
+ { open: "'", close: "'" }
20
+ ]
21
+ };
22
+ const language = {
23
+ defaultToken: "",
24
+ tokenPostfix: ".dockerfile",
25
+ variable: /\${?[\w]+}?/,
26
+ tokenizer: {
27
+ root: [
28
+ { include: "@whitespace" },
29
+ { include: "@comment" },
30
+ [/(ONBUILD)(\s+)/, ["keyword", ""]],
31
+ [/(ENV)(\s+)([\w]+)/, ["keyword", "", { token: "variable", next: "@arguments" }]],
32
+ [
33
+ /(FROM|MAINTAINER|RUN|EXPOSE|ENV|ADD|ARG|VOLUME|LABEL|USER|WORKDIR|COPY|CMD|STOPSIGNAL|SHELL|HEALTHCHECK|ENTRYPOINT)/,
34
+ { token: "keyword", next: "@arguments" }
35
+ ]
36
+ ],
37
+ arguments: [
38
+ { include: "@whitespace" },
39
+ { include: "@strings" },
40
+ [
41
+ /(@variable)/,
42
+ {
43
+ cases: {
44
+ "@eos": { token: "variable", next: "@popall" },
45
+ "@default": "variable"
46
+ }
47
+ }
48
+ ],
49
+ [
50
+ /\\/,
51
+ {
52
+ cases: {
53
+ "@eos": "",
54
+ "@default": ""
55
+ }
56
+ }
57
+ ],
58
+ [
59
+ /./,
60
+ {
61
+ cases: {
62
+ "@eos": { token: "", next: "@popall" },
63
+ "@default": ""
64
+ }
65
+ }
66
+ ]
67
+ ],
68
+ // Deal with white space, including comments
69
+ whitespace: [
70
+ [
71
+ /\s+/,
72
+ {
73
+ cases: {
74
+ "@eos": { token: "", next: "@popall" },
75
+ "@default": ""
76
+ }
77
+ }
78
+ ]
79
+ ],
80
+ comment: [[/(^#.*$)/, "comment", "@popall"]],
81
+ // Recognize strings, including those broken across lines with \ (but not without)
82
+ strings: [
83
+ [/\\'$/, "", "@popall"],
84
+ // \' leaves @arguments at eol
85
+ [/\\'/, ""],
86
+ // \' is not a string
87
+ [/'$/, "string", "@popall"],
88
+ [/'/, "string", "@stringBody"],
89
+ [/"$/, "string", "@popall"],
90
+ [/"/, "string", "@dblStringBody"]
91
+ ],
92
+ stringBody: [
93
+ [
94
+ /[^\\\$']/,
95
+ {
96
+ cases: {
97
+ "@eos": { token: "string", next: "@popall" },
98
+ "@default": "string"
99
+ }
100
+ }
101
+ ],
102
+ [/\\./, "string.escape"],
103
+ [/'$/, "string", "@popall"],
104
+ [/'/, "string", "@pop"],
105
+ [/(@variable)/, "variable"],
106
+ [/\\$/, "string"],
107
+ [/$/, "string", "@popall"]
108
+ ],
109
+ dblStringBody: [
110
+ [
111
+ /[^\\\$"]/,
112
+ {
113
+ cases: {
114
+ "@eos": { token: "string", next: "@popall" },
115
+ "@default": "string"
116
+ }
117
+ }
118
+ ],
119
+ [/\\./, "string.escape"],
120
+ [/"$/, "string", "@popall"],
121
+ [/"/, "string", "@pop"],
122
+ [/(@variable)/, "variable"],
123
+ [/\\$/, "string"],
124
+ [/$/, "string", "@popall"]
125
+ ]
126
+ }
127
+ };
128
+ export {
129
+ conf,
130
+ language
131
+ };