app-ai-solution-exp 0.1.2

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 (173) hide show
  1. package/bin/app-ai-solution-exp.js +20 -0
  2. package/out/main/index.js +1631 -0
  3. package/out/preload/index.js +108 -0
  4. package/out/renderer/assets/abap-D5KwWAsZ.js +1399 -0
  5. package/out/renderer/assets/apex-DVGUZ64i.js +331 -0
  6. package/out/renderer/assets/azcli-BEAhqcuE.js +69 -0
  7. package/out/renderer/assets/bat-Bqkp9Cfu.js +101 -0
  8. package/out/renderer/assets/bicep-DIlfshcM.js +110 -0
  9. package/out/renderer/assets/cameligo-CLaaYNMV.js +175 -0
  10. package/out/renderer/assets/clojure-fcgFaMHx.js +762 -0
  11. package/out/renderer/assets/codicon-ngg6Pgfi.ttf +0 -0
  12. package/out/renderer/assets/coffee-CzJ5oEdj.js +233 -0
  13. package/out/renderer/assets/cpp-CcN6f0ik.js +390 -0
  14. package/out/renderer/assets/csharp-BJeIuvde.js +327 -0
  15. package/out/renderer/assets/csp-D_3BK2Wp.js +54 -0
  16. package/out/renderer/assets/css-i3rI3_64.js +186 -0
  17. package/out/renderer/assets/css.worker-umuuUiIb.js +53567 -0
  18. package/out/renderer/assets/cssMode-BlKZF8mS.js +208 -0
  19. package/out/renderer/assets/cypher-D0--_GAN.js +264 -0
  20. package/out/renderer/assets/dart-vLMHv35g.js +282 -0
  21. package/out/renderer/assets/dockerfile--oxj0cAH.js +131 -0
  22. package/out/renderer/assets/ecl-CeuUgzaZ.js +457 -0
  23. package/out/renderer/assets/editor.worker-CNgWLVu7.js +13695 -0
  24. package/out/renderer/assets/elixir-eLfY1jWH.js +570 -0
  25. package/out/renderer/assets/flow9-ZSTChSMd.js +143 -0
  26. package/out/renderer/assets/freemarker2-BTb0QKKy.js +995 -0
  27. package/out/renderer/assets/fsharp-D2uoxuLH.js +218 -0
  28. package/out/renderer/assets/go-brnMpFrj.js +219 -0
  29. package/out/renderer/assets/graphql-BeiGgjIU.js +152 -0
  30. package/out/renderer/assets/handlebars-DKVnkZoO.js +414 -0
  31. package/out/renderer/assets/hcl-CrX1Es2W.js +184 -0
  32. package/out/renderer/assets/html-DSHBWNSF.js +303 -0
  33. package/out/renderer/assets/html.worker-BT47iy49.js +29777 -0
  34. package/out/renderer/assets/htmlMode-hdSFcfq-.js +224 -0
  35. package/out/renderer/assets/index-ByP1RhpK.js +309272 -0
  36. package/out/renderer/assets/index-CgixHIqL.css +11502 -0
  37. package/out/renderer/assets/ini-BcQysCTb.js +72 -0
  38. package/out/renderer/assets/inter-cyrillic-400-normal-HOLc17fK.woff +0 -0
  39. package/out/renderer/assets/inter-cyrillic-400-normal-obahsSVq.woff2 +0 -0
  40. package/out/renderer/assets/inter-cyrillic-500-normal-BasfLYem.woff2 +0 -0
  41. package/out/renderer/assets/inter-cyrillic-500-normal-CxZf_p3X.woff +0 -0
  42. package/out/renderer/assets/inter-cyrillic-600-normal-4D_pXhcN.woff +0 -0
  43. package/out/renderer/assets/inter-cyrillic-600-normal-CWCymEST.woff2 +0 -0
  44. package/out/renderer/assets/inter-cyrillic-700-normal-CjBOestx.woff2 +0 -0
  45. package/out/renderer/assets/inter-cyrillic-700-normal-DrXBdSj3.woff +0 -0
  46. package/out/renderer/assets/inter-cyrillic-ext-400-normal-BQZuk6qB.woff2 +0 -0
  47. package/out/renderer/assets/inter-cyrillic-ext-400-normal-DQukG94-.woff +0 -0
  48. package/out/renderer/assets/inter-cyrillic-ext-500-normal-B0yAr1jD.woff2 +0 -0
  49. package/out/renderer/assets/inter-cyrillic-ext-500-normal-BmqWE9Dz.woff +0 -0
  50. package/out/renderer/assets/inter-cyrillic-ext-600-normal-Bcila6Z-.woff +0 -0
  51. package/out/renderer/assets/inter-cyrillic-ext-600-normal-Dfes3d0z.woff2 +0 -0
  52. package/out/renderer/assets/inter-cyrillic-ext-700-normal-BjwYoWNd.woff2 +0 -0
  53. package/out/renderer/assets/inter-cyrillic-ext-700-normal-LO58E6JB.woff +0 -0
  54. package/out/renderer/assets/inter-greek-400-normal-B4URO6DV.woff2 +0 -0
  55. package/out/renderer/assets/inter-greek-400-normal-q2sYcFCs.woff +0 -0
  56. package/out/renderer/assets/inter-greek-500-normal-BIZE56-Y.woff2 +0 -0
  57. package/out/renderer/assets/inter-greek-500-normal-Xzm54t5V.woff +0 -0
  58. package/out/renderer/assets/inter-greek-600-normal-BZpKdvQh.woff +0 -0
  59. package/out/renderer/assets/inter-greek-600-normal-plRanbMR.woff2 +0 -0
  60. package/out/renderer/assets/inter-greek-700-normal-BUv2fZ6O.woff +0 -0
  61. package/out/renderer/assets/inter-greek-700-normal-C3JjAnD8.woff2 +0 -0
  62. package/out/renderer/assets/inter-greek-ext-400-normal-DGGRlc-M.woff2 +0 -0
  63. package/out/renderer/assets/inter-greek-ext-400-normal-KugGGMne.woff +0 -0
  64. package/out/renderer/assets/inter-greek-ext-500-normal-2j5mBUwD.woff +0 -0
  65. package/out/renderer/assets/inter-greek-ext-500-normal-C4iEst2y.woff2 +0 -0
  66. package/out/renderer/assets/inter-greek-ext-600-normal-B8X0CLgF.woff +0 -0
  67. package/out/renderer/assets/inter-greek-ext-600-normal-DRtmH8MT.woff2 +0 -0
  68. package/out/renderer/assets/inter-greek-ext-700-normal-BoQ6DsYi.woff +0 -0
  69. package/out/renderer/assets/inter-greek-ext-700-normal-qfdV9bQt.woff2 +0 -0
  70. package/out/renderer/assets/inter-latin-400-normal-C38fXH4l.woff2 +0 -0
  71. package/out/renderer/assets/inter-latin-400-normal-CyCys3Eg.woff +0 -0
  72. package/out/renderer/assets/inter-latin-500-normal-BL9OpVg8.woff +0 -0
  73. package/out/renderer/assets/inter-latin-500-normal-Cerq10X2.woff2 +0 -0
  74. package/out/renderer/assets/inter-latin-600-normal-CiBQ2DWP.woff +0 -0
  75. package/out/renderer/assets/inter-latin-600-normal-LgqL8muc.woff2 +0 -0
  76. package/out/renderer/assets/inter-latin-700-normal-BLAVimhd.woff +0 -0
  77. package/out/renderer/assets/inter-latin-700-normal-Yt3aPRUw.woff2 +0 -0
  78. package/out/renderer/assets/inter-latin-ext-400-normal-77YHD8bZ.woff +0 -0
  79. package/out/renderer/assets/inter-latin-ext-400-normal-C1nco2VV.woff2 +0 -0
  80. package/out/renderer/assets/inter-latin-ext-500-normal-BxGbmqWO.woff +0 -0
  81. package/out/renderer/assets/inter-latin-ext-500-normal-CV4jyFjo.woff2 +0 -0
  82. package/out/renderer/assets/inter-latin-ext-600-normal-CIVaiw4L.woff +0 -0
  83. package/out/renderer/assets/inter-latin-ext-600-normal-D2bJ5OIk.woff2 +0 -0
  84. package/out/renderer/assets/inter-latin-ext-700-normal-Ca8adRJv.woff2 +0 -0
  85. package/out/renderer/assets/inter-latin-ext-700-normal-TidjK2hL.woff +0 -0
  86. package/out/renderer/assets/inter-vietnamese-400-normal-Bbgyi5SW.woff +0 -0
  87. package/out/renderer/assets/inter-vietnamese-400-normal-DMkecbls.woff2 +0 -0
  88. package/out/renderer/assets/inter-vietnamese-500-normal-DOriooB6.woff2 +0 -0
  89. package/out/renderer/assets/inter-vietnamese-500-normal-mJboJaSs.woff +0 -0
  90. package/out/renderer/assets/inter-vietnamese-600-normal-BuLX-rYi.woff +0 -0
  91. package/out/renderer/assets/inter-vietnamese-600-normal-Cc8MFFhd.woff2 +0 -0
  92. package/out/renderer/assets/inter-vietnamese-700-normal-BZaoP0fm.woff +0 -0
  93. package/out/renderer/assets/inter-vietnamese-700-normal-DlLaEgI2.woff2 +0 -0
  94. package/out/renderer/assets/java-Dt3iMn2o.js +233 -0
  95. package/out/renderer/assets/javascript-Ae6t5gfn.js +72 -0
  96. package/out/renderer/assets/jetbrains-mono-cyrillic-400-normal-BEIGL1Tu.woff2 +0 -0
  97. package/out/renderer/assets/jetbrains-mono-cyrillic-400-normal-ugxPyKxw.woff +0 -0
  98. package/out/renderer/assets/jetbrains-mono-cyrillic-500-normal-DJqRU3vO.woff +0 -0
  99. package/out/renderer/assets/jetbrains-mono-cyrillic-500-normal-DmUKJPL_.woff2 +0 -0
  100. package/out/renderer/assets/jetbrains-mono-greek-400-normal-B9oWc5Lo.woff +0 -0
  101. package/out/renderer/assets/jetbrains-mono-greek-400-normal-C190GLew.woff2 +0 -0
  102. package/out/renderer/assets/jetbrains-mono-greek-500-normal-D7SFKleX.woff +0 -0
  103. package/out/renderer/assets/jetbrains-mono-greek-500-normal-JpySY46c.woff2 +0 -0
  104. package/out/renderer/assets/jetbrains-mono-latin-400-normal-6-qcROiO.woff +0 -0
  105. package/out/renderer/assets/jetbrains-mono-latin-400-normal-V6pRDFza.woff2 +0 -0
  106. package/out/renderer/assets/jetbrains-mono-latin-500-normal-BWZEU5yA.woff2 +0 -0
  107. package/out/renderer/assets/jetbrains-mono-latin-500-normal-CJOVTJB7.woff +0 -0
  108. package/out/renderer/assets/jetbrains-mono-latin-ext-400-normal-Bc8Ftmh3.woff2 +0 -0
  109. package/out/renderer/assets/jetbrains-mono-latin-ext-400-normal-fXTG6kC5.woff +0 -0
  110. package/out/renderer/assets/jetbrains-mono-latin-ext-500-normal-Cut-4mMH.woff2 +0 -0
  111. package/out/renderer/assets/jetbrains-mono-latin-ext-500-normal-ckzbgY84.woff +0 -0
  112. package/out/renderer/assets/jetbrains-mono-vietnamese-400-normal-CqNFfHCs.woff +0 -0
  113. package/out/renderer/assets/jetbrains-mono-vietnamese-500-normal-DNRqzVM1.woff +0 -0
  114. package/out/renderer/assets/json.worker-D4JVmXIe.js +21424 -0
  115. package/out/renderer/assets/jsonMode-B3dQSNhP.js +931 -0
  116. package/out/renderer/assets/julia-Cm3ItYL_.js +512 -0
  117. package/out/renderer/assets/kotlin-Ddo1SjA5.js +253 -0
  118. package/out/renderer/assets/less-B7Qaxw-O.js +162 -0
  119. package/out/renderer/assets/lexon-C1U0m2n9.js +158 -0
  120. package/out/renderer/assets/liquid-Zgyb8DZ5.js +235 -0
  121. package/out/renderer/assets/lspLanguageFeatures-CkDn9c2y.js +1841 -0
  122. package/out/renderer/assets/lua-hNsuGJkO.js +163 -0
  123. package/out/renderer/assets/m3-6ko6q9-_.js +211 -0
  124. package/out/renderer/assets/markdown-B0YTnTxW.js +230 -0
  125. package/out/renderer/assets/mdx-C8e8DFOf.js +159 -0
  126. package/out/renderer/assets/mips-CJm71dS3.js +199 -0
  127. package/out/renderer/assets/msdax-BBeIktCY.js +376 -0
  128. package/out/renderer/assets/mysql-BWiizXSn.js +879 -0
  129. package/out/renderer/assets/objective-c-B1L1C5EC.js +184 -0
  130. package/out/renderer/assets/pascal-DMQyD4Xk.js +252 -0
  131. package/out/renderer/assets/pascaligo-VA_LQ1oU.js +165 -0
  132. package/out/renderer/assets/perl-DC0Z0tlO.js +627 -0
  133. package/out/renderer/assets/pgsql-DaSGFTLp.js +852 -0
  134. package/out/renderer/assets/php-Bkx1qpkQ.js +501 -0
  135. package/out/renderer/assets/pla-DEV89yYj.js +138 -0
  136. package/out/renderer/assets/postiats-CVVurEnu.js +908 -0
  137. package/out/renderer/assets/powerquery-BQ_t1ZiQ.js +891 -0
  138. package/out/renderer/assets/powershell-BXiKvz7Z.js +240 -0
  139. package/out/renderer/assets/protobuf-CndvAUGu.js +421 -0
  140. package/out/renderer/assets/pug-BxCXwerb.js +403 -0
  141. package/out/renderer/assets/python-8eSQckTG.js +295 -0
  142. package/out/renderer/assets/qsharp-BWK6YLKm.js +302 -0
  143. package/out/renderer/assets/r-CtqYUQ6l.js +244 -0
  144. package/out/renderer/assets/razor-eAkN4Qfv.js +545 -0
  145. package/out/renderer/assets/redis-O7gSt3oh.js +303 -0
  146. package/out/renderer/assets/redshift-CvYMMYZY.js +810 -0
  147. package/out/renderer/assets/restructuredtext-B-KQCVu_.js +175 -0
  148. package/out/renderer/assets/ruby-DCd4DmAr.js +512 -0
  149. package/out/renderer/assets/rust-B1c0VCeq.js +344 -0
  150. package/out/renderer/assets/sb-Chfc_wZF.js +116 -0
  151. package/out/renderer/assets/scala-DbVzH-3O.js +371 -0
  152. package/out/renderer/assets/scheme-D7PxodDG.js +109 -0
  153. package/out/renderer/assets/scss-B42qMyAu.js +261 -0
  154. package/out/renderer/assets/shell-vZEubQ82.js +222 -0
  155. package/out/renderer/assets/solidity-yHOxYChb.js +1368 -0
  156. package/out/renderer/assets/sophia-D7pU0Y1d.js +200 -0
  157. package/out/renderer/assets/sparql-DxuVdnRl.js +202 -0
  158. package/out/renderer/assets/sql-BAGepFCR.js +854 -0
  159. package/out/renderer/assets/st-C-b0Dh53.js +417 -0
  160. package/out/renderer/assets/swift-BmOZGynf.js +313 -0
  161. package/out/renderer/assets/systemverilog-BOC0OOdC.js +577 -0
  162. package/out/renderer/assets/tcl-Bb4GCwBr.js +233 -0
  163. package/out/renderer/assets/ts.worker-C7hW3aY-.js +225330 -0
  164. package/out/renderer/assets/tsMode-D7ET908H.js +1265 -0
  165. package/out/renderer/assets/twig-DvgEGWAV.js +393 -0
  166. package/out/renderer/assets/typescript-BhqUlrW4.js +337 -0
  167. package/out/renderer/assets/typespec-R77Ln7Jb.js +128 -0
  168. package/out/renderer/assets/vb-Bm6ESA0Q.js +373 -0
  169. package/out/renderer/assets/wgsl-_KPae5vw.js +454 -0
  170. package/out/renderer/assets/xml-Bg3Ctug6.js +89 -0
  171. package/out/renderer/assets/yaml-C9aCL4uU.js +200 -0
  172. package/out/renderer/index.html +13 -0
  173. package/package.json +110 -0
@@ -0,0 +1,261 @@
1
+ const conf = {
2
+ wordPattern: /(#?-?\d*\.\d\w*%?)|([@$#!.:]?[\w-?]+%?)|[@#!.]/g,
3
+ comments: {
4
+ blockComment: ["/*", "*/"],
5
+ lineComment: "//"
6
+ },
7
+ brackets: [
8
+ ["{", "}"],
9
+ ["[", "]"],
10
+ ["(", ")"]
11
+ ],
12
+ autoClosingPairs: [
13
+ { open: "{", close: "}", notIn: ["string", "comment"] },
14
+ { open: "[", close: "]", notIn: ["string", "comment"] },
15
+ { open: "(", close: ")", notIn: ["string", "comment"] },
16
+ { open: '"', close: '"', notIn: ["string", "comment"] },
17
+ { open: "'", close: "'", notIn: ["string", "comment"] }
18
+ ],
19
+ surroundingPairs: [
20
+ { open: "{", close: "}" },
21
+ { open: "[", close: "]" },
22
+ { open: "(", close: ")" },
23
+ { open: '"', close: '"' },
24
+ { open: "'", close: "'" }
25
+ ],
26
+ folding: {
27
+ markers: {
28
+ start: new RegExp("^\\s*\\/\\*\\s*#region\\b\\s*(.*?)\\s*\\*\\/"),
29
+ end: new RegExp("^\\s*\\/\\*\\s*#endregion\\b.*\\*\\/")
30
+ }
31
+ }
32
+ };
33
+ const language = {
34
+ defaultToken: "",
35
+ tokenPostfix: ".scss",
36
+ ws: "[ \n\r\f]*",
37
+ // whitespaces (referenced in several rules)
38
+ identifier: "-?-?([a-zA-Z]|(\\\\(([0-9a-fA-F]{1,6}\\s?)|[^[0-9a-fA-F])))([\\w\\-]|(\\\\(([0-9a-fA-F]{1,6}\\s?)|[^[0-9a-fA-F])))*",
39
+ brackets: [
40
+ { open: "{", close: "}", token: "delimiter.curly" },
41
+ { open: "[", close: "]", token: "delimiter.bracket" },
42
+ { open: "(", close: ")", token: "delimiter.parenthesis" },
43
+ { open: "<", close: ">", token: "delimiter.angle" }
44
+ ],
45
+ tokenizer: {
46
+ root: [{ include: "@selector" }],
47
+ selector: [
48
+ { include: "@comments" },
49
+ { include: "@import" },
50
+ { include: "@variabledeclaration" },
51
+ { include: "@warndebug" },
52
+ // sass: log statements
53
+ ["[@](include)", { token: "keyword", next: "@includedeclaration" }],
54
+ // sass: include statement
55
+ [
56
+ "[@](keyframes|-webkit-keyframes|-moz-keyframes|-o-keyframes)",
57
+ { token: "keyword", next: "@keyframedeclaration" }
58
+ ],
59
+ ["[@](page|content|font-face|-moz-document)", { token: "keyword" }],
60
+ // sass: placeholder for includes
61
+ ["[@](charset|namespace)", { token: "keyword", next: "@declarationbody" }],
62
+ ["[@](function)", { token: "keyword", next: "@functiondeclaration" }],
63
+ ["[@](mixin)", { token: "keyword", next: "@mixindeclaration" }],
64
+ ["url(\\-prefix)?\\(", { token: "meta", next: "@urldeclaration" }],
65
+ { include: "@controlstatement" },
66
+ // sass control statements
67
+ { include: "@selectorname" },
68
+ ["[&\\*]", "tag"],
69
+ // selector symbols
70
+ ["[>\\+,]", "delimiter"],
71
+ // selector operators
72
+ ["\\[", { token: "delimiter.bracket", next: "@selectorattribute" }],
73
+ ["{", { token: "delimiter.curly", next: "@selectorbody" }]
74
+ ],
75
+ selectorbody: [
76
+ ["[*_]?@identifier@ws:(?=(\\s|\\d|[^{;}]*[;}]))", "attribute.name", "@rulevalue"],
77
+ // rule definition: to distinguish from a nested selector check for whitespace, number or a semicolon
78
+ { include: "@selector" },
79
+ // sass: nested selectors
80
+ ["[@](extend)", { token: "keyword", next: "@extendbody" }],
81
+ // sass: extend other selectors
82
+ ["[@](return)", { token: "keyword", next: "@declarationbody" }],
83
+ ["}", { token: "delimiter.curly", next: "@pop" }]
84
+ ],
85
+ selectorname: [
86
+ ["#{", { token: "meta", next: "@variableinterpolation" }],
87
+ // sass: interpolation
88
+ ["(\\.|#(?=[^{])|%|(@identifier)|:)+", "tag"]
89
+ // selector (.foo, div, ...)
90
+ ],
91
+ selectorattribute: [{ include: "@term" }, ["]", { token: "delimiter.bracket", next: "@pop" }]],
92
+ term: [
93
+ { include: "@comments" },
94
+ ["url(\\-prefix)?\\(", { token: "meta", next: "@urldeclaration" }],
95
+ { include: "@functioninvocation" },
96
+ { include: "@numbers" },
97
+ { include: "@strings" },
98
+ { include: "@variablereference" },
99
+ ["(and\\b|or\\b|not\\b)", "operator"],
100
+ { include: "@name" },
101
+ ["([<>=\\+\\-\\*\\/\\^\\|\\~,])", "operator"],
102
+ [",", "delimiter"],
103
+ ["!default", "literal"],
104
+ ["\\(", { token: "delimiter.parenthesis", next: "@parenthizedterm" }]
105
+ ],
106
+ rulevalue: [
107
+ { include: "@term" },
108
+ ["!important", "literal"],
109
+ [";", "delimiter", "@pop"],
110
+ ["{", { token: "delimiter.curly", switchTo: "@nestedproperty" }],
111
+ // sass: nested properties
112
+ ["(?=})", { token: "", next: "@pop" }]
113
+ // missing semicolon
114
+ ],
115
+ nestedproperty: [
116
+ ["[*_]?@identifier@ws:", "attribute.name", "@rulevalue"],
117
+ { include: "@comments" },
118
+ ["}", { token: "delimiter.curly", next: "@pop" }]
119
+ ],
120
+ warndebug: [["[@](warn|debug)", { token: "keyword", next: "@declarationbody" }]],
121
+ import: [["[@](import)", { token: "keyword", next: "@declarationbody" }]],
122
+ variabledeclaration: [
123
+ // sass variables
124
+ ["\\$@identifier@ws:", "variable.decl", "@declarationbody"]
125
+ ],
126
+ urldeclaration: [
127
+ { include: "@strings" },
128
+ ["[^)\r\n]+", "string"],
129
+ ["\\)", { token: "meta", next: "@pop" }]
130
+ ],
131
+ parenthizedterm: [
132
+ { include: "@term" },
133
+ ["\\)", { token: "delimiter.parenthesis", next: "@pop" }]
134
+ ],
135
+ declarationbody: [
136
+ { include: "@term" },
137
+ [";", "delimiter", "@pop"],
138
+ ["(?=})", { token: "", next: "@pop" }]
139
+ // missing semicolon
140
+ ],
141
+ extendbody: [
142
+ { include: "@selectorname" },
143
+ ["!optional", "literal"],
144
+ [";", "delimiter", "@pop"],
145
+ ["(?=})", { token: "", next: "@pop" }]
146
+ // missing semicolon
147
+ ],
148
+ variablereference: [
149
+ // sass variable reference
150
+ ["\\$@identifier", "variable.ref"],
151
+ ["\\.\\.\\.", "operator"],
152
+ // var args in reference
153
+ ["#{", { token: "meta", next: "@variableinterpolation" }]
154
+ // sass var resolve
155
+ ],
156
+ variableinterpolation: [
157
+ { include: "@variablereference" },
158
+ ["}", { token: "meta", next: "@pop" }]
159
+ ],
160
+ comments: [
161
+ ["\\/\\*", "comment", "@comment"],
162
+ ["\\/\\/+.*", "comment"]
163
+ ],
164
+ comment: [
165
+ ["\\*\\/", "comment", "@pop"],
166
+ [".", "comment"]
167
+ ],
168
+ name: [["@identifier", "attribute.value"]],
169
+ numbers: [
170
+ ["(\\d*\\.)?\\d+([eE][\\-+]?\\d+)?", { token: "number", next: "@units" }],
171
+ ["#[0-9a-fA-F_]+(?!\\w)", "number.hex"]
172
+ ],
173
+ units: [
174
+ [
175
+ "(em|ex|ch|rem|fr|vmin|vmax|vw|vh|vm|cm|mm|in|px|pt|pc|deg|grad|rad|turn|s|ms|Hz|kHz|%)?",
176
+ "number",
177
+ "@pop"
178
+ ]
179
+ ],
180
+ functiondeclaration: [
181
+ ["@identifier@ws\\(", { token: "meta", next: "@parameterdeclaration" }],
182
+ ["{", { token: "delimiter.curly", switchTo: "@functionbody" }]
183
+ ],
184
+ mixindeclaration: [
185
+ // mixin with parameters
186
+ ["@identifier@ws\\(", { token: "meta", next: "@parameterdeclaration" }],
187
+ // mixin without parameters
188
+ ["@identifier", "meta"],
189
+ ["{", { token: "delimiter.curly", switchTo: "@selectorbody" }]
190
+ ],
191
+ parameterdeclaration: [
192
+ ["\\$@identifier@ws:", "variable.decl"],
193
+ ["\\.\\.\\.", "operator"],
194
+ // var args in declaration
195
+ [",", "delimiter"],
196
+ { include: "@term" },
197
+ ["\\)", { token: "meta", next: "@pop" }]
198
+ ],
199
+ includedeclaration: [
200
+ { include: "@functioninvocation" },
201
+ ["@identifier", "meta"],
202
+ [";", "delimiter", "@pop"],
203
+ ["(?=})", { token: "", next: "@pop" }],
204
+ // missing semicolon
205
+ ["{", { token: "delimiter.curly", switchTo: "@selectorbody" }]
206
+ ],
207
+ keyframedeclaration: [
208
+ ["@identifier", "meta"],
209
+ ["{", { token: "delimiter.curly", switchTo: "@keyframebody" }]
210
+ ],
211
+ keyframebody: [
212
+ { include: "@term" },
213
+ ["{", { token: "delimiter.curly", next: "@selectorbody" }],
214
+ ["}", { token: "delimiter.curly", next: "@pop" }]
215
+ ],
216
+ controlstatement: [
217
+ [
218
+ "[@](if|else|for|while|each|media)",
219
+ { token: "keyword.flow", next: "@controlstatementdeclaration" }
220
+ ]
221
+ ],
222
+ controlstatementdeclaration: [
223
+ ["(in|from|through|if|to)\\b", { token: "keyword.flow" }],
224
+ { include: "@term" },
225
+ ["{", { token: "delimiter.curly", switchTo: "@selectorbody" }]
226
+ ],
227
+ functionbody: [
228
+ ["[@](return)", { token: "keyword" }],
229
+ { include: "@variabledeclaration" },
230
+ { include: "@term" },
231
+ { include: "@controlstatement" },
232
+ [";", "delimiter"],
233
+ ["}", { token: "delimiter.curly", next: "@pop" }]
234
+ ],
235
+ functioninvocation: [["@identifier\\(", { token: "meta", next: "@functionarguments" }]],
236
+ functionarguments: [
237
+ ["\\$@identifier@ws:", "attribute.name"],
238
+ ["[,]", "delimiter"],
239
+ { include: "@term" },
240
+ ["\\)", { token: "meta", next: "@pop" }]
241
+ ],
242
+ strings: [
243
+ ['~?"', { token: "string.delimiter", next: "@stringenddoublequote" }],
244
+ ["~?'", { token: "string.delimiter", next: "@stringendquote" }]
245
+ ],
246
+ stringenddoublequote: [
247
+ ["\\\\.", "string"],
248
+ ['"', { token: "string.delimiter", next: "@pop" }],
249
+ [".", "string"]
250
+ ],
251
+ stringendquote: [
252
+ ["\\\\.", "string"],
253
+ ["'", { token: "string.delimiter", next: "@pop" }],
254
+ [".", "string"]
255
+ ]
256
+ }
257
+ };
258
+ export {
259
+ conf,
260
+ language
261
+ };
@@ -0,0 +1,222 @@
1
+ const conf = {
2
+ comments: {
3
+ lineComment: "#"
4
+ },
5
+ brackets: [
6
+ ["{", "}"],
7
+ ["[", "]"],
8
+ ["(", ")"]
9
+ ],
10
+ autoClosingPairs: [
11
+ { open: "{", close: "}" },
12
+ { open: "[", close: "]" },
13
+ { open: "(", close: ")" },
14
+ { open: '"', close: '"' },
15
+ { open: "'", close: "'" },
16
+ { open: "`", close: "`" }
17
+ ],
18
+ surroundingPairs: [
19
+ { open: "{", close: "}" },
20
+ { open: "[", close: "]" },
21
+ { open: "(", close: ")" },
22
+ { open: '"', close: '"' },
23
+ { open: "'", close: "'" },
24
+ { open: "`", close: "`" }
25
+ ]
26
+ };
27
+ const language = {
28
+ defaultToken: "",
29
+ ignoreCase: true,
30
+ tokenPostfix: ".shell",
31
+ brackets: [
32
+ { token: "delimiter.bracket", open: "{", close: "}" },
33
+ { token: "delimiter.parenthesis", open: "(", close: ")" },
34
+ { token: "delimiter.square", open: "[", close: "]" }
35
+ ],
36
+ keywords: [
37
+ "if",
38
+ "then",
39
+ "do",
40
+ "else",
41
+ "elif",
42
+ "while",
43
+ "until",
44
+ "for",
45
+ "in",
46
+ "esac",
47
+ "fi",
48
+ "fin",
49
+ "fil",
50
+ "done",
51
+ "exit",
52
+ "set",
53
+ "unset",
54
+ "export",
55
+ "function"
56
+ ],
57
+ builtins: [
58
+ "ab",
59
+ "awk",
60
+ "bash",
61
+ "beep",
62
+ "cat",
63
+ "cc",
64
+ "cd",
65
+ "chown",
66
+ "chmod",
67
+ "chroot",
68
+ "clear",
69
+ "cp",
70
+ "curl",
71
+ "cut",
72
+ "diff",
73
+ "echo",
74
+ "find",
75
+ "gawk",
76
+ "gcc",
77
+ "get",
78
+ "git",
79
+ "grep",
80
+ "hg",
81
+ "kill",
82
+ "killall",
83
+ "ln",
84
+ "ls",
85
+ "make",
86
+ "mkdir",
87
+ "openssl",
88
+ "mv",
89
+ "nc",
90
+ "node",
91
+ "npm",
92
+ "ping",
93
+ "ps",
94
+ "restart",
95
+ "rm",
96
+ "rmdir",
97
+ "sed",
98
+ "service",
99
+ "sh",
100
+ "shopt",
101
+ "shred",
102
+ "source",
103
+ "sort",
104
+ "sleep",
105
+ "ssh",
106
+ "start",
107
+ "stop",
108
+ "su",
109
+ "sudo",
110
+ "svn",
111
+ "tee",
112
+ "telnet",
113
+ "top",
114
+ "touch",
115
+ "vi",
116
+ "vim",
117
+ "wall",
118
+ "wc",
119
+ "wget",
120
+ "who",
121
+ "write",
122
+ "yes",
123
+ "zsh"
124
+ ],
125
+ startingWithDash: /\-+\w+/,
126
+ identifiersWithDashes: /[a-zA-Z]\w+(?:@startingWithDash)+/,
127
+ // we include these common regular expressions
128
+ symbols: /[=><!~?&|+\-*\/\^;\.,]+/,
129
+ // The main tokenizer for our languages
130
+ tokenizer: {
131
+ root: [
132
+ [/@identifiersWithDashes/, ""],
133
+ [/(\s)((?:@startingWithDash)+)/, ["white", "attribute.name"]],
134
+ [
135
+ /[a-zA-Z]\w*/,
136
+ {
137
+ cases: {
138
+ "@keywords": "keyword",
139
+ "@builtins": "type.identifier",
140
+ "@default": ""
141
+ }
142
+ }
143
+ ],
144
+ { include: "@whitespace" },
145
+ { include: "@strings" },
146
+ { include: "@parameters" },
147
+ { include: "@heredoc" },
148
+ [/[{}\[\]()]/, "@brackets"],
149
+ [/@symbols/, "delimiter"],
150
+ { include: "@numbers" },
151
+ [/[,;]/, "delimiter"]
152
+ ],
153
+ whitespace: [
154
+ [/\s+/, "white"],
155
+ [/(^#!.*$)/, "metatag"],
156
+ [/(^#.*$)/, "comment"]
157
+ ],
158
+ numbers: [
159
+ [/\d*\.\d+([eE][\-+]?\d+)?/, "number.float"],
160
+ [/0[xX][0-9a-fA-F_]*[0-9a-fA-F]/, "number.hex"],
161
+ [/\d+/, "number"]
162
+ ],
163
+ // Recognize strings, including those broken across lines
164
+ strings: [
165
+ [/'/, "string", "@stringBody"],
166
+ [/"/, "string", "@dblStringBody"]
167
+ ],
168
+ stringBody: [
169
+ [/'/, "string", "@popall"],
170
+ [/./, "string"]
171
+ ],
172
+ dblStringBody: [
173
+ [/"/, "string", "@popall"],
174
+ [/./, "string"]
175
+ ],
176
+ heredoc: [
177
+ [
178
+ /(<<[-<]?)(\s*)(['"`]?)([\w\-]+)(['"`]?)/,
179
+ [
180
+ "constants",
181
+ "white",
182
+ "string.heredoc.delimiter",
183
+ "string.heredoc",
184
+ "string.heredoc.delimiter"
185
+ ]
186
+ ]
187
+ ],
188
+ parameters: [
189
+ [/\$\d+/, "variable.predefined"],
190
+ [/\$\w+/, "variable"],
191
+ [/\$[*@#?\-$!0_]/, "variable"],
192
+ [/\$'/, "variable", "@parameterBodyQuote"],
193
+ [/\$"/, "variable", "@parameterBodyDoubleQuote"],
194
+ [/\$\(/, "variable", "@parameterBodyParen"],
195
+ [/\$\{/, "variable", "@parameterBodyCurlyBrace"]
196
+ ],
197
+ parameterBodyQuote: [
198
+ [/[^#:%*@\-!_']+/, "variable"],
199
+ [/[#:%*@\-!_]/, "delimiter"],
200
+ [/[']/, "variable", "@pop"]
201
+ ],
202
+ parameterBodyDoubleQuote: [
203
+ [/[^#:%*@\-!_"]+/, "variable"],
204
+ [/[#:%*@\-!_]/, "delimiter"],
205
+ [/["]/, "variable", "@pop"]
206
+ ],
207
+ parameterBodyParen: [
208
+ [/[^#:%*@\-!_)]+/, "variable"],
209
+ [/[#:%*@\-!_]/, "delimiter"],
210
+ [/[)]/, "variable", "@pop"]
211
+ ],
212
+ parameterBodyCurlyBrace: [
213
+ [/[^#:%*@\-!_}]+/, "variable"],
214
+ [/[#:%*@\-!_]/, "delimiter"],
215
+ [/[}]/, "variable", "@pop"]
216
+ ]
217
+ }
218
+ };
219
+ export {
220
+ conf,
221
+ language
222
+ };