@pb33f/cowboy-components 0.0.13 → 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 (219) hide show
  1. package/dist/abap-DXvTa7XC.js +1404 -0
  2. package/dist/apex-DsQH3mjJ.js +332 -0
  3. package/dist/assets/css.worker-B_qZXUzt.js +84 -0
  4. package/dist/assets/editor.worker-HEmB0D7P.js +11 -0
  5. package/dist/assets/html.worker-D3WUrk8Q.js +458 -0
  6. package/dist/assets/json.worker-CAhUaBo4.js +42 -0
  7. package/dist/assets/rule-documentation.worker-BFIxMBU8.js +1 -0
  8. package/dist/assets/search-problems.worker-VJi4P9Gj.js +1 -0
  9. package/dist/azcli-Cir32SBk.js +74 -0
  10. package/dist/bat-BsNExolo.js +106 -0
  11. package/dist/bicep-2KcKzeQF.js +108 -0
  12. package/dist/cameligo-D0ezznwE.js +180 -0
  13. package/dist/clojure-DxYzAIlu.js +767 -0
  14. package/dist/coffee-DgiPTF3g.js +238 -0
  15. package/dist/components/changelog/release.css.js +3 -3
  16. package/dist/components/editor/editor.d.ts +27 -0
  17. package/dist/components/editor/editor.js +192 -0
  18. package/dist/components/error-banner/error-banner.css.d.ts +2 -0
  19. package/dist/components/error-banner/error-banner.css.js +23 -0
  20. package/dist/components/error-banner/error-banner.d.ts +9 -0
  21. package/dist/components/error-banner/error-banner.js +40 -0
  22. package/dist/components/kv-view/kv-view.css.js +4 -0
  23. package/dist/components/paginator/paginator-events.d.ts +4 -0
  24. package/dist/components/paginator/paginator-events.js +4 -0
  25. package/dist/components/paginator/paginator-navigator.css.d.ts +2 -0
  26. package/dist/components/paginator/paginator-navigator.css.js +35 -0
  27. package/dist/components/paginator/paginator-navigator.d.ts +27 -0
  28. package/dist/components/paginator/paginator-navigator.js +168 -0
  29. package/dist/components/paginator/paginator.css.d.ts +2 -0
  30. package/dist/components/paginator/paginator.css.js +38 -0
  31. package/dist/components/paginator/paginator.d.ts +22 -0
  32. package/dist/components/paginator/paginator.js +122 -0
  33. package/dist/components/percent-bar/percent-bar.css.d.ts +2 -0
  34. package/dist/components/percent-bar/percent-bar.css.js +65 -0
  35. package/dist/components/percent-bar/percent-bar.d.ts +11 -0
  36. package/dist/components/percent-bar/percent-bar.js +85 -0
  37. package/dist/components/problem-list/details-drawer.css.d.ts +2 -0
  38. package/dist/components/problem-list/details-drawer.css.js +42 -0
  39. package/dist/components/problem-list/details-drawer.d.ts +22 -0
  40. package/dist/components/problem-list/details-drawer.js +66 -0
  41. package/dist/components/problem-list/filter.css.d.ts +2 -0
  42. package/dist/components/problem-list/filter.css.js +67 -0
  43. package/dist/components/problem-list/problem-item.css.d.ts +2 -0
  44. package/dist/components/problem-list/problem-item.css.js +170 -0
  45. package/dist/components/problem-list/problem-item.d.ts +27 -0
  46. package/dist/components/problem-list/problem-item.js +126 -0
  47. package/dist/components/problem-list/problem-label-view-filter.css.d.ts +2 -0
  48. package/dist/components/problem-list/problem-label-view-filter.css.js +6 -0
  49. package/dist/components/problem-list/problem-label-view-filter.d.ts +18 -0
  50. package/dist/components/problem-list/problem-label-view-filter.js +66 -0
  51. package/dist/components/problem-list/problem-list.css.d.ts +2 -0
  52. package/dist/components/problem-list/problem-list.css.js +59 -0
  53. package/dist/components/problem-list/problem-list.d.ts +37 -0
  54. package/dist/components/problem-list/problem-list.js +334 -0
  55. package/dist/components/problem-list/problem-mainview.css.d.ts +2 -0
  56. package/dist/components/problem-list/problem-mainview.css.js +100 -0
  57. package/dist/components/problem-list/problem-mainview.d.ts +20 -0
  58. package/dist/components/problem-list/problem-mainview.js +126 -0
  59. package/dist/components/problem-list/problem-rule-filter.d.ts +13 -0
  60. package/dist/components/problem-list/problem-rule-filter.js +67 -0
  61. package/dist/components/problem-list/problem-search-filter.d.ts +13 -0
  62. package/dist/components/problem-list/problem-search-filter.js +45 -0
  63. package/dist/components/problem-list/problem-sort-filter.d.ts +19 -0
  64. package/dist/components/problem-list/problem-sort-filter.js +67 -0
  65. package/dist/components/problem-list/problem-toolbar.css.d.ts +2 -0
  66. package/dist/components/problem-list/problem-toolbar.css.js +41 -0
  67. package/dist/components/problem-list/problem-toolbar.d.ts +14 -0
  68. package/dist/components/problem-list/problem-toolbar.js +63 -0
  69. package/dist/components/problem-list/shared.css.d.ts +2 -0
  70. package/dist/components/problem-list/shared.css.js +91 -0
  71. package/dist/components/problems-overview/diagnostic-evaluation.css.d.ts +2 -0
  72. package/dist/components/problems-overview/diagnostic-evaluation.css.js +178 -0
  73. package/dist/components/problems-overview/diagnostic-evaluation.d.ts +13 -0
  74. package/dist/components/problems-overview/diagnostic-evaluation.js +119 -0
  75. package/dist/components/problems-overview/document-statistic.css.d.ts +2 -0
  76. package/dist/components/problems-overview/document-statistic.css.js +16 -0
  77. package/dist/components/problems-overview/document-statistic.d.ts +10 -0
  78. package/dist/components/problems-overview/document-statistic.js +49 -0
  79. package/dist/components/problems-overview/problem-overview-group.css.d.ts +2 -0
  80. package/dist/components/problems-overview/problem-overview-group.css.js +84 -0
  81. package/dist/components/problems-overview/problem-overview-group.d.ts +17 -0
  82. package/dist/components/problems-overview/problem-overview-group.js +121 -0
  83. package/dist/components/problems-overview/problem-statistic.css.d.ts +2 -0
  84. package/dist/components/problems-overview/problem-statistic.css.js +40 -0
  85. package/dist/components/problems-overview/problem-statistic.d.ts +11 -0
  86. package/dist/components/problems-overview/problem-statistic.js +57 -0
  87. package/dist/components/problems-overview/problem-statistics.css.d.ts +2 -0
  88. package/dist/components/problems-overview/problem-statistics.css.js +46 -0
  89. package/dist/components/problems-overview/problem-statistics.d.ts +14 -0
  90. package/dist/components/problems-overview/problem-statistics.js +132 -0
  91. package/dist/components/problems-overview/problems-overview.css.d.ts +2 -0
  92. package/dist/components/problems-overview/problems-overview.css.js +49 -0
  93. package/dist/components/problems-overview/problems-overview.d.ts +21 -0
  94. package/dist/components/problems-overview/problems-overview.js +108 -0
  95. package/dist/components/render-json-path/render-json-path.css.d.ts +2 -0
  96. package/dist/components/render-json-path/render-json-path.css.js +86 -0
  97. package/dist/components/render-json-path/render-json-path.d.ts +11 -0
  98. package/dist/components/render-json-path/render-json-path.js +105 -0
  99. package/dist/components/the-doctor/settings.d.ts +5 -0
  100. package/dist/components/the-doctor/settings.js +22 -0
  101. package/dist/components/the-doctor/status-bar.css.d.ts +2 -0
  102. package/dist/components/the-doctor/status-bar.css.js +47 -0
  103. package/dist/components/the-doctor/status-bar.d.ts +12 -0
  104. package/dist/components/the-doctor/status-bar.js +71 -0
  105. package/dist/components/the-doctor/the-doctor.css.d.ts +2 -0
  106. package/dist/components/the-doctor/the-doctor.css.js +156 -0
  107. package/dist/components/the-doctor/the-doctor.d.ts +57 -0
  108. package/dist/components/the-doctor/the-doctor.js +340 -0
  109. package/dist/cowboy-components-FcPnnXMU.js +114388 -0
  110. package/dist/cowboy-components.d.ts +5 -2
  111. package/dist/cowboy-components.js +8 -2
  112. package/dist/cowboy-components.umd.cjs +4004 -106
  113. package/dist/cpp-Bq-GnYlH.js +407 -0
  114. package/dist/csharp-IDcibKAT.js +332 -0
  115. package/dist/csp-QdYr8JWa.js +59 -0
  116. package/dist/css/button.css.d.ts +2 -0
  117. package/dist/css/button.css.js +34 -0
  118. package/dist/css/chroma-synxtax.css.d.ts +2 -0
  119. package/dist/css/chroma-synxtax.css.js +130 -0
  120. package/dist/css/cowboy-components.css +3 -0
  121. package/dist/css/links.css.d.ts +2 -0
  122. package/dist/css/links.css.js +17 -0
  123. package/dist/css/lists.css.d.ts +2 -0
  124. package/dist/css/lists.css.js +43 -0
  125. package/dist/css/pb33f-theme.css +2 -2
  126. package/dist/css/syntax.css.js +1 -1
  127. package/dist/css-C-wMMefI.js +193 -0
  128. package/dist/cssMode-DcUlnXpV.js +1541 -0
  129. package/dist/cypher-BfBo9yir.js +269 -0
  130. package/dist/dart-Cv3rVfv_.js +287 -0
  131. package/dist/dockerfile-DyCXBGhV.js +136 -0
  132. package/dist/ecl-COP_iObm.js +462 -0
  133. package/dist/elixir-DoEhbk9F.js +575 -0
  134. package/dist/events/doctor.d.ts +51 -0
  135. package/dist/events/doctor.js +17 -0
  136. package/dist/flow9-DuHGSNW1.js +148 -0
  137. package/dist/freemarker2-sY6FVddl.js +995 -0
  138. package/dist/fsharp-Dv9PDxVO.js +223 -0
  139. package/dist/go-CcdAeqiK.js +224 -0
  140. package/dist/graphql-CoRm4b1H.js +157 -0
  141. package/dist/handlebars-BqznQEC5.js +425 -0
  142. package/dist/hcl-BSgAhV5f.js +189 -0
  143. package/dist/html-DBpY_ZT1.js +314 -0
  144. package/dist/htmlMode-Cf0lYQWN.js +1551 -0
  145. package/dist/ini-ewx9HLIq.js +77 -0
  146. package/dist/java-B5lwcbTy.js +238 -0
  147. package/dist/javascript-DRgEI2Yf.js +76 -0
  148. package/dist/jsonMode-CmuECwTh.js +1958 -0
  149. package/dist/julia-NCcg_P_q.js +517 -0
  150. package/dist/kotlin-BYlnmGrb.js +259 -0
  151. package/dist/less-DG4tqgOo.js +168 -0
  152. package/dist/lexon-CTTPcJLv.js +163 -0
  153. package/dist/liquid-DWVJYCIL.js +246 -0
  154. package/dist/lua-CxQ1RWuo.js +168 -0
  155. package/dist/m3-mHFfpmgx.js +216 -0
  156. package/dist/markdown-Dh6sYULt.js +235 -0
  157. package/dist/mdx-Bjcj5AvL.js +171 -0
  158. package/dist/mips-CNUcjHD1.js +204 -0
  159. package/dist/model/document-statistics.d.ts +40 -0
  160. package/dist/model/document-statistics.js +4 -0
  161. package/dist/model/how_to_fix.d.ts +4 -0
  162. package/dist/model/how_to_fix.js +1 -0
  163. package/dist/model/problem.d.ts +19 -0
  164. package/dist/model/problem.js +106 -0
  165. package/dist/model/rule_documentation.d.ts +5 -0
  166. package/dist/model/rule_documentation.js +1 -0
  167. package/dist/model/session.d.ts +5 -0
  168. package/dist/model/session.js +1 -0
  169. package/dist/msdax-ZvxFeKvs.js +381 -0
  170. package/dist/mysql-COjg31sJ.js +884 -0
  171. package/dist/objective-c-BqrCFBhT.js +189 -0
  172. package/dist/pascal-CUpkilAS.js +257 -0
  173. package/dist/pascaligo-nJfvRJ7x.js +170 -0
  174. package/dist/perl-CWsX6Ysg.js +632 -0
  175. package/dist/pgsql-DwgpEXC8.js +857 -0
  176. package/dist/php-CrbKyd62.js +506 -0
  177. package/dist/pla-JxXT6Kb-.js +143 -0
  178. package/dist/postiats-BOdnTRGv.js +913 -0
  179. package/dist/powerquery-DTkwcXGH.js +896 -0
  180. package/dist/powershell-Cx53dGpt.js +245 -0
  181. package/dist/protobuf-Dp9vE-l-.js +426 -0
  182. package/dist/pug-BSjKVjwP.js +408 -0
  183. package/dist/python-CiN6iAi3.js +282 -0
  184. package/dist/qsharp-C5P1RxY3.js +291 -0
  185. package/dist/r-sEMYnclc.js +249 -0
  186. package/dist/razor-B4jDf_4z.js +556 -0
  187. package/dist/redis-DbzUc-fU.js +308 -0
  188. package/dist/redshift-nrLijj1O.js +815 -0
  189. package/dist/restructuredtext-CIbGUl6T.js +180 -0
  190. package/dist/ruby-JcYJisWg.js +517 -0
  191. package/dist/rust-BgbFBFXH.js +349 -0
  192. package/dist/sb-hRFFChi7.js +121 -0
  193. package/dist/scala-Cs0yVo3Q.js +376 -0
  194. package/dist/scheme-l_0jNtxy.js +114 -0
  195. package/dist/scss-C4l7ZIRR.js +268 -0
  196. package/dist/services/linting-service.d.ts +12 -0
  197. package/dist/services/linting-service.js +121 -0
  198. package/dist/shell-ikLk_l24.js +227 -0
  199. package/dist/solidity-4GxCaH9e.js +1373 -0
  200. package/dist/sophia-tX0WEZsZ.js +205 -0
  201. package/dist/sparql-D7ky-uMk.js +207 -0
  202. package/dist/sql-CqEfBVGS.js +859 -0
  203. package/dist/st-CNWQPqyI.js +422 -0
  204. package/dist/style.css +1 -1
  205. package/dist/swift-C_fDfC0d.js +318 -0
  206. package/dist/systemverilog-gAvsEtN_.js +582 -0
  207. package/dist/tcl-KbBChuA6.js +238 -0
  208. package/dist/tsMode-29i0IHrU.js +886 -0
  209. package/dist/twig-Bb652BpM.js +398 -0
  210. package/dist/typescript-FDohSLaF.js +349 -0
  211. package/dist/vb-2e5hSeUh.js +378 -0
  212. package/dist/wgsl-CYSDq0zg.js +445 -0
  213. package/dist/workers/rule-documentation.worker.d.ts +1 -0
  214. package/dist/workers/rule-documentation.worker.js +85 -0
  215. package/dist/workers/search-problems.worker.d.ts +1 -0
  216. package/dist/workers/search-problems.worker.js +19 -0
  217. package/dist/xml-BdgdiRK4.js +101 -0
  218. package/dist/yaml-CJDq-Ud3.js +212 -0
  219. package/package.json +6 -4
@@ -0,0 +1,268 @@
1
+ /*!-----------------------------------------------------------------------------
2
+ * Copyright (c) Microsoft Corporation. All rights reserved.
3
+ * Version: 0.46.0(21007360cad28648bdf46282a2592cb47c3a7a6f)
4
+ * Released under the MIT license
5
+ * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt
6
+ *-----------------------------------------------------------------------------*/
7
+ var e = {
8
+ wordPattern: /(#?-?\d*\.\d\w*%?)|([@$#!.:]?[\w-?]+%?)|[@#!.]/g,
9
+ comments: {
10
+ blockComment: ["/*", "*/"],
11
+ lineComment: "//"
12
+ },
13
+ brackets: [
14
+ ["{", "}"],
15
+ ["[", "]"],
16
+ ["(", ")"]
17
+ ],
18
+ autoClosingPairs: [
19
+ { open: "{", close: "}", notIn: ["string", "comment"] },
20
+ { open: "[", close: "]", notIn: ["string", "comment"] },
21
+ { open: "(", close: ")", notIn: ["string", "comment"] },
22
+ { open: '"', close: '"', notIn: ["string", "comment"] },
23
+ { open: "'", close: "'", notIn: ["string", "comment"] }
24
+ ],
25
+ surroundingPairs: [
26
+ { open: "{", close: "}" },
27
+ { open: "[", close: "]" },
28
+ { open: "(", close: ")" },
29
+ { open: '"', close: '"' },
30
+ { open: "'", close: "'" }
31
+ ],
32
+ folding: {
33
+ markers: {
34
+ start: new RegExp("^\\s*\\/\\*\\s*#region\\b\\s*(.*?)\\s*\\*\\/"),
35
+ end: new RegExp("^\\s*\\/\\*\\s*#endregion\\b.*\\*\\/")
36
+ }
37
+ }
38
+ }, t = {
39
+ defaultToken: "",
40
+ tokenPostfix: ".scss",
41
+ ws: `[
42
+ \r\f]*`,
43
+ // whitespaces (referenced in several rules)
44
+ 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])))*",
45
+ brackets: [
46
+ { open: "{", close: "}", token: "delimiter.curly" },
47
+ { open: "[", close: "]", token: "delimiter.bracket" },
48
+ { open: "(", close: ")", token: "delimiter.parenthesis" },
49
+ { open: "<", close: ">", token: "delimiter.angle" }
50
+ ],
51
+ tokenizer: {
52
+ root: [{ include: "@selector" }],
53
+ selector: [
54
+ { include: "@comments" },
55
+ { include: "@import" },
56
+ { include: "@variabledeclaration" },
57
+ { include: "@warndebug" },
58
+ // sass: log statements
59
+ ["[@](include)", { token: "keyword", next: "@includedeclaration" }],
60
+ // sass: include statement
61
+ [
62
+ "[@](keyframes|-webkit-keyframes|-moz-keyframes|-o-keyframes)",
63
+ { token: "keyword", next: "@keyframedeclaration" }
64
+ ],
65
+ ["[@](page|content|font-face|-moz-document)", { token: "keyword" }],
66
+ // sass: placeholder for includes
67
+ ["[@](charset|namespace)", { token: "keyword", next: "@declarationbody" }],
68
+ ["[@](function)", { token: "keyword", next: "@functiondeclaration" }],
69
+ ["[@](mixin)", { token: "keyword", next: "@mixindeclaration" }],
70
+ ["url(\\-prefix)?\\(", { token: "meta", next: "@urldeclaration" }],
71
+ { include: "@controlstatement" },
72
+ // sass control statements
73
+ { include: "@selectorname" },
74
+ ["[&\\*]", "tag"],
75
+ // selector symbols
76
+ ["[>\\+,]", "delimiter"],
77
+ // selector operators
78
+ ["\\[", { token: "delimiter.bracket", next: "@selectorattribute" }],
79
+ ["{", { token: "delimiter.curly", next: "@selectorbody" }]
80
+ ],
81
+ selectorbody: [
82
+ ["[*_]?@identifier@ws:(?=(\\s|\\d|[^{;}]*[;}]))", "attribute.name", "@rulevalue"],
83
+ // rule definition: to distinguish from a nested selector check for whitespace, number or a semicolon
84
+ { include: "@selector" },
85
+ // sass: nested selectors
86
+ ["[@](extend)", { token: "keyword", next: "@extendbody" }],
87
+ // sass: extend other selectors
88
+ ["[@](return)", { token: "keyword", next: "@declarationbody" }],
89
+ ["}", { token: "delimiter.curly", next: "@pop" }]
90
+ ],
91
+ selectorname: [
92
+ ["#{", { token: "meta", next: "@variableinterpolation" }],
93
+ // sass: interpolation
94
+ ["(\\.|#(?=[^{])|%|(@identifier)|:)+", "tag"]
95
+ // selector (.foo, div, ...)
96
+ ],
97
+ selectorattribute: [{ include: "@term" }, ["]", { token: "delimiter.bracket", next: "@pop" }]],
98
+ term: [
99
+ { include: "@comments" },
100
+ ["url(\\-prefix)?\\(", { token: "meta", next: "@urldeclaration" }],
101
+ { include: "@functioninvocation" },
102
+ { include: "@numbers" },
103
+ { include: "@strings" },
104
+ { include: "@variablereference" },
105
+ ["(and\\b|or\\b|not\\b)", "operator"],
106
+ { include: "@name" },
107
+ ["([<>=\\+\\-\\*\\/\\^\\|\\~,])", "operator"],
108
+ [",", "delimiter"],
109
+ ["!default", "literal"],
110
+ ["\\(", { token: "delimiter.parenthesis", next: "@parenthizedterm" }]
111
+ ],
112
+ rulevalue: [
113
+ { include: "@term" },
114
+ ["!important", "literal"],
115
+ [";", "delimiter", "@pop"],
116
+ ["{", { token: "delimiter.curly", switchTo: "@nestedproperty" }],
117
+ // sass: nested properties
118
+ ["(?=})", { token: "", next: "@pop" }]
119
+ // missing semicolon
120
+ ],
121
+ nestedproperty: [
122
+ ["[*_]?@identifier@ws:", "attribute.name", "@rulevalue"],
123
+ { include: "@comments" },
124
+ ["}", { token: "delimiter.curly", next: "@pop" }]
125
+ ],
126
+ warndebug: [["[@](warn|debug)", { token: "keyword", next: "@declarationbody" }]],
127
+ import: [["[@](import)", { token: "keyword", next: "@declarationbody" }]],
128
+ variabledeclaration: [
129
+ // sass variables
130
+ ["\\$@identifier@ws:", "variable.decl", "@declarationbody"]
131
+ ],
132
+ urldeclaration: [
133
+ { include: "@strings" },
134
+ [`[^)\r
135
+ ]+`, "string"],
136
+ ["\\)", { token: "meta", next: "@pop" }]
137
+ ],
138
+ parenthizedterm: [
139
+ { include: "@term" },
140
+ ["\\)", { token: "delimiter.parenthesis", next: "@pop" }]
141
+ ],
142
+ declarationbody: [
143
+ { include: "@term" },
144
+ [";", "delimiter", "@pop"],
145
+ ["(?=})", { token: "", next: "@pop" }]
146
+ // missing semicolon
147
+ ],
148
+ extendbody: [
149
+ { include: "@selectorname" },
150
+ ["!optional", "literal"],
151
+ [";", "delimiter", "@pop"],
152
+ ["(?=})", { token: "", next: "@pop" }]
153
+ // missing semicolon
154
+ ],
155
+ variablereference: [
156
+ // sass variable reference
157
+ ["\\$@identifier", "variable.ref"],
158
+ ["\\.\\.\\.", "operator"],
159
+ // var args in reference
160
+ ["#{", { token: "meta", next: "@variableinterpolation" }]
161
+ // sass var resolve
162
+ ],
163
+ variableinterpolation: [
164
+ { include: "@variablereference" },
165
+ ["}", { token: "meta", next: "@pop" }]
166
+ ],
167
+ comments: [
168
+ ["\\/\\*", "comment", "@comment"],
169
+ ["\\/\\/+.*", "comment"]
170
+ ],
171
+ comment: [
172
+ ["\\*\\/", "comment", "@pop"],
173
+ [".", "comment"]
174
+ ],
175
+ name: [["@identifier", "attribute.value"]],
176
+ numbers: [
177
+ ["(\\d*\\.)?\\d+([eE][\\-+]?\\d+)?", { token: "number", next: "@units" }],
178
+ ["#[0-9a-fA-F_]+(?!\\w)", "number.hex"]
179
+ ],
180
+ units: [
181
+ [
182
+ "(em|ex|ch|rem|fr|vmin|vmax|vw|vh|vm|cm|mm|in|px|pt|pc|deg|grad|rad|turn|s|ms|Hz|kHz|%)?",
183
+ "number",
184
+ "@pop"
185
+ ]
186
+ ],
187
+ functiondeclaration: [
188
+ ["@identifier@ws\\(", { token: "meta", next: "@parameterdeclaration" }],
189
+ ["{", { token: "delimiter.curly", switchTo: "@functionbody" }]
190
+ ],
191
+ mixindeclaration: [
192
+ // mixin with parameters
193
+ ["@identifier@ws\\(", { token: "meta", next: "@parameterdeclaration" }],
194
+ // mixin without parameters
195
+ ["@identifier", "meta"],
196
+ ["{", { token: "delimiter.curly", switchTo: "@selectorbody" }]
197
+ ],
198
+ parameterdeclaration: [
199
+ ["\\$@identifier@ws:", "variable.decl"],
200
+ ["\\.\\.\\.", "operator"],
201
+ // var args in declaration
202
+ [",", "delimiter"],
203
+ { include: "@term" },
204
+ ["\\)", { token: "meta", next: "@pop" }]
205
+ ],
206
+ includedeclaration: [
207
+ { include: "@functioninvocation" },
208
+ ["@identifier", "meta"],
209
+ [";", "delimiter", "@pop"],
210
+ ["(?=})", { token: "", next: "@pop" }],
211
+ // missing semicolon
212
+ ["{", { token: "delimiter.curly", switchTo: "@selectorbody" }]
213
+ ],
214
+ keyframedeclaration: [
215
+ ["@identifier", "meta"],
216
+ ["{", { token: "delimiter.curly", switchTo: "@keyframebody" }]
217
+ ],
218
+ keyframebody: [
219
+ { include: "@term" },
220
+ ["{", { token: "delimiter.curly", next: "@selectorbody" }],
221
+ ["}", { token: "delimiter.curly", next: "@pop" }]
222
+ ],
223
+ controlstatement: [
224
+ [
225
+ "[@](if|else|for|while|each|media)",
226
+ { token: "keyword.flow", next: "@controlstatementdeclaration" }
227
+ ]
228
+ ],
229
+ controlstatementdeclaration: [
230
+ ["(in|from|through|if|to)\\b", { token: "keyword.flow" }],
231
+ { include: "@term" },
232
+ ["{", { token: "delimiter.curly", switchTo: "@selectorbody" }]
233
+ ],
234
+ functionbody: [
235
+ ["[@](return)", { token: "keyword" }],
236
+ { include: "@variabledeclaration" },
237
+ { include: "@term" },
238
+ { include: "@controlstatement" },
239
+ [";", "delimiter"],
240
+ ["}", { token: "delimiter.curly", next: "@pop" }]
241
+ ],
242
+ functioninvocation: [["@identifier\\(", { token: "meta", next: "@functionarguments" }]],
243
+ functionarguments: [
244
+ ["\\$@identifier@ws:", "attribute.name"],
245
+ ["[,]", "delimiter"],
246
+ { include: "@term" },
247
+ ["\\)", { token: "meta", next: "@pop" }]
248
+ ],
249
+ strings: [
250
+ ['~?"', { token: "string.delimiter", next: "@stringenddoublequote" }],
251
+ ["~?'", { token: "string.delimiter", next: "@stringendquote" }]
252
+ ],
253
+ stringenddoublequote: [
254
+ ["\\\\.", "string"],
255
+ ['"', { token: "string.delimiter", next: "@pop" }],
256
+ [".", "string"]
257
+ ],
258
+ stringendquote: [
259
+ ["\\\\.", "string"],
260
+ ["'", { token: "string.delimiter", next: "@pop" }],
261
+ [".", "string"]
262
+ ]
263
+ }
264
+ };
265
+ export {
266
+ e as conf,
267
+ t as language
268
+ };
@@ -0,0 +1,12 @@
1
+ import { Problem } from "@/model/problem";
2
+ import { HowToFix } from "@/model/how_to_fix";
3
+ import { DrDiagnostics } from "@/model/document-statistics";
4
+ import { Session } from "@/model/session";
5
+ export declare class LintingService {
6
+ static doctorEndpoint: string;
7
+ static compareProblems(a: Problem, b: Problem): number;
8
+ static lintFile(file: string, OWASP?: boolean): Promise<Problem[]>;
9
+ static fetchAllHowToFix(): Promise<HowToFix[]>;
10
+ static fetchStatistics(): Promise<DrDiagnostics>;
11
+ static startSession(): Promise<Session>;
12
+ }
@@ -0,0 +1,121 @@
1
+ import { Problem } from "@/model/problem";
2
+ export class LintingService {
3
+ static compareProblems(a, b) {
4
+ if (a.startLineNumber < b.startLineNumber) {
5
+ return -1;
6
+ }
7
+ if (a.startLineNumber > b.startLineNumber) {
8
+ return 1;
9
+ }
10
+ if (a.startColumn < b.startColumn) {
11
+ return -1;
12
+ }
13
+ if (a.startColumn > b.startColumn) {
14
+ return 1;
15
+ }
16
+ if (a.jsonPath < b.jsonPath) {
17
+ return -1;
18
+ }
19
+ return 0;
20
+ }
21
+ static async lintFile(file, OWASP = false) {
22
+ return new Promise(async (resolve, reject) => {
23
+ try {
24
+ let query = '';
25
+ if (OWASP) {
26
+ query = '?owasp=true';
27
+ }
28
+ const lintResults = await fetch(LintingService.doctorEndpoint + '/lint-lsp' + query, {
29
+ method: 'POST',
30
+ credentials: 'include',
31
+ headers: {
32
+ 'Content-Type': 'application/json'
33
+ },
34
+ body: file
35
+ });
36
+ const apiResult = await lintResults.json();
37
+ if (!apiResult) {
38
+ reject([]);
39
+ return;
40
+ }
41
+ if (apiResult?.type && apiResult?.title && apiResult?.status) {
42
+ reject(apiResult);
43
+ return;
44
+ }
45
+ const lintData = apiResult;
46
+ const constructedProblems = [];
47
+ if (lintData && Array.isArray(lintData)) {
48
+ for (let i = 0; i < lintData.length; i++) {
49
+ const problem = lintData[i];
50
+ constructedProblems.push(new Problem(problem.category, problem.jsonPath, problem.endColumn, problem.endLineNumber, problem.message, problem.severity, problem.startColumn, problem.startLineNumber, problem.source, problem.id));
51
+ }
52
+ }
53
+ if (lintData && !Array.isArray(lintData)) {
54
+ const problem = lintData;
55
+ constructedProblems.push(new Problem(problem.category, problem.jsonPath, problem.endColumn, problem.endLineNumber, problem.message, problem.severity, problem.startColumn, problem.startLineNumber, problem.source, problem.id));
56
+ }
57
+ constructedProblems.sort(LintingService.compareProblems);
58
+ resolve(constructedProblems);
59
+ }
60
+ catch (e) {
61
+ reject({ detail: "the pb33f platform is unresponsive" });
62
+ }
63
+ });
64
+ }
65
+ static async fetchAllHowToFix() {
66
+ return new Promise(async (resolve, reject) => {
67
+ try {
68
+ const howToFixJSON = await fetch(LintingService.doctorEndpoint + '/rules/howtofix', {
69
+ method: 'GET',
70
+ credentials: 'include',
71
+ });
72
+ const howToFix = await howToFixJSON.json();
73
+ if (howToFix.title && howToFix.status && howToFix.error) {
74
+ reject(howToFix);
75
+ }
76
+ resolve(howToFix);
77
+ }
78
+ catch (e) {
79
+ reject({ tile: "platform error", detail: "the pb33f platform is unresponsive, " +
80
+ "please try again later." });
81
+ }
82
+ });
83
+ }
84
+ static async fetchStatistics() {
85
+ return new Promise(async (resolve, reject) => {
86
+ try {
87
+ const lintStatsJSON = await fetch(LintingService.doctorEndpoint + '/lint-statistics', {
88
+ method: 'GET',
89
+ credentials: 'include',
90
+ });
91
+ const lintStats = await lintStatsJSON.json();
92
+ if (lintStats.type && lintStats.title && lintStats.status) {
93
+ reject(lintStats);
94
+ }
95
+ resolve(lintStats);
96
+ }
97
+ catch (e) {
98
+ reject({ detail: "the pb33f platform is unresponsive" });
99
+ }
100
+ });
101
+ }
102
+ static async startSession() {
103
+ return new Promise(async (resolve, reject) => {
104
+ try {
105
+ const sessionJSON = await fetch(LintingService.doctorEndpoint + '/start-session', {
106
+ method: 'GET',
107
+ credentials: 'include',
108
+ });
109
+ const session = await sessionJSON.json();
110
+ if (session.type && session.title && session.status) {
111
+ reject(session);
112
+ }
113
+ resolve(session);
114
+ }
115
+ catch (e) {
116
+ reject({ detail: "the pb33f platform is unresponsive" });
117
+ }
118
+ });
119
+ }
120
+ }
121
+ LintingService.doctorEndpoint = 'https://doctor.pb33f.io';
@@ -0,0 +1,227 @@
1
+ /*!-----------------------------------------------------------------------------
2
+ * Copyright (c) Microsoft Corporation. All rights reserved.
3
+ * Version: 0.46.0(21007360cad28648bdf46282a2592cb47c3a7a6f)
4
+ * Released under the MIT license
5
+ * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt
6
+ *-----------------------------------------------------------------------------*/
7
+ var e = {
8
+ comments: {
9
+ lineComment: "#"
10
+ },
11
+ brackets: [
12
+ ["{", "}"],
13
+ ["[", "]"],
14
+ ["(", ")"]
15
+ ],
16
+ autoClosingPairs: [
17
+ { open: "{", close: "}" },
18
+ { open: "[", close: "]" },
19
+ { open: "(", close: ")" },
20
+ { open: '"', close: '"' },
21
+ { open: "'", close: "'" },
22
+ { open: "`", close: "`" }
23
+ ],
24
+ surroundingPairs: [
25
+ { open: "{", close: "}" },
26
+ { open: "[", close: "]" },
27
+ { open: "(", close: ")" },
28
+ { open: '"', close: '"' },
29
+ { open: "'", close: "'" },
30
+ { open: "`", close: "`" }
31
+ ]
32
+ }, r = {
33
+ defaultToken: "",
34
+ ignoreCase: !0,
35
+ tokenPostfix: ".shell",
36
+ brackets: [
37
+ { token: "delimiter.bracket", open: "{", close: "}" },
38
+ { token: "delimiter.parenthesis", open: "(", close: ")" },
39
+ { token: "delimiter.square", open: "[", close: "]" }
40
+ ],
41
+ keywords: [
42
+ "if",
43
+ "then",
44
+ "do",
45
+ "else",
46
+ "elif",
47
+ "while",
48
+ "until",
49
+ "for",
50
+ "in",
51
+ "esac",
52
+ "fi",
53
+ "fin",
54
+ "fil",
55
+ "done",
56
+ "exit",
57
+ "set",
58
+ "unset",
59
+ "export",
60
+ "function"
61
+ ],
62
+ builtins: [
63
+ "ab",
64
+ "awk",
65
+ "bash",
66
+ "beep",
67
+ "cat",
68
+ "cc",
69
+ "cd",
70
+ "chown",
71
+ "chmod",
72
+ "chroot",
73
+ "clear",
74
+ "cp",
75
+ "curl",
76
+ "cut",
77
+ "diff",
78
+ "echo",
79
+ "find",
80
+ "gawk",
81
+ "gcc",
82
+ "get",
83
+ "git",
84
+ "grep",
85
+ "hg",
86
+ "kill",
87
+ "killall",
88
+ "ln",
89
+ "ls",
90
+ "make",
91
+ "mkdir",
92
+ "openssl",
93
+ "mv",
94
+ "nc",
95
+ "node",
96
+ "npm",
97
+ "ping",
98
+ "ps",
99
+ "restart",
100
+ "rm",
101
+ "rmdir",
102
+ "sed",
103
+ "service",
104
+ "sh",
105
+ "shopt",
106
+ "shred",
107
+ "source",
108
+ "sort",
109
+ "sleep",
110
+ "ssh",
111
+ "start",
112
+ "stop",
113
+ "su",
114
+ "sudo",
115
+ "svn",
116
+ "tee",
117
+ "telnet",
118
+ "top",
119
+ "touch",
120
+ "vi",
121
+ "vim",
122
+ "wall",
123
+ "wc",
124
+ "wget",
125
+ "who",
126
+ "write",
127
+ "yes",
128
+ "zsh"
129
+ ],
130
+ startingWithDash: /\-+\w+/,
131
+ identifiersWithDashes: /[a-zA-Z]\w+(?:@startingWithDash)+/,
132
+ // we include these common regular expressions
133
+ symbols: /[=><!~?&|+\-*\/\^;\.,]+/,
134
+ // The main tokenizer for our languages
135
+ tokenizer: {
136
+ root: [
137
+ [/@identifiersWithDashes/, ""],
138
+ [/(\s)((?:@startingWithDash)+)/, ["white", "attribute.name"]],
139
+ [
140
+ /[a-zA-Z]\w*/,
141
+ {
142
+ cases: {
143
+ "@keywords": "keyword",
144
+ "@builtins": "type.identifier",
145
+ "@default": ""
146
+ }
147
+ }
148
+ ],
149
+ { include: "@whitespace" },
150
+ { include: "@strings" },
151
+ { include: "@parameters" },
152
+ { include: "@heredoc" },
153
+ [/[{}\[\]()]/, "@brackets"],
154
+ [/@symbols/, "delimiter"],
155
+ { include: "@numbers" },
156
+ [/[,;]/, "delimiter"]
157
+ ],
158
+ whitespace: [
159
+ [/\s+/, "white"],
160
+ [/(^#!.*$)/, "metatag"],
161
+ [/(^#.*$)/, "comment"]
162
+ ],
163
+ numbers: [
164
+ [/\d*\.\d+([eE][\-+]?\d+)?/, "number.float"],
165
+ [/0[xX][0-9a-fA-F_]*[0-9a-fA-F]/, "number.hex"],
166
+ [/\d+/, "number"]
167
+ ],
168
+ // Recognize strings, including those broken across lines
169
+ strings: [
170
+ [/'/, "string", "@stringBody"],
171
+ [/"/, "string", "@dblStringBody"]
172
+ ],
173
+ stringBody: [
174
+ [/'/, "string", "@popall"],
175
+ [/./, "string"]
176
+ ],
177
+ dblStringBody: [
178
+ [/"/, "string", "@popall"],
179
+ [/./, "string"]
180
+ ],
181
+ heredoc: [
182
+ [
183
+ /(<<[-<]?)(\s*)(['"`]?)([\w\-]+)(['"`]?)/,
184
+ [
185
+ "constants",
186
+ "white",
187
+ "string.heredoc.delimiter",
188
+ "string.heredoc",
189
+ "string.heredoc.delimiter"
190
+ ]
191
+ ]
192
+ ],
193
+ parameters: [
194
+ [/\$\d+/, "variable.predefined"],
195
+ [/\$\w+/, "variable"],
196
+ [/\$[*@#?\-$!0_]/, "variable"],
197
+ [/\$'/, "variable", "@parameterBodyQuote"],
198
+ [/\$"/, "variable", "@parameterBodyDoubleQuote"],
199
+ [/\$\(/, "variable", "@parameterBodyParen"],
200
+ [/\$\{/, "variable", "@parameterBodyCurlyBrace"]
201
+ ],
202
+ parameterBodyQuote: [
203
+ [/[^#:%*@\-!_']+/, "variable"],
204
+ [/[#:%*@\-!_]/, "delimiter"],
205
+ [/[']/, "variable", "@pop"]
206
+ ],
207
+ parameterBodyDoubleQuote: [
208
+ [/[^#:%*@\-!_"]+/, "variable"],
209
+ [/[#:%*@\-!_]/, "delimiter"],
210
+ [/["]/, "variable", "@pop"]
211
+ ],
212
+ parameterBodyParen: [
213
+ [/[^#:%*@\-!_)]+/, "variable"],
214
+ [/[#:%*@\-!_]/, "delimiter"],
215
+ [/[)]/, "variable", "@pop"]
216
+ ],
217
+ parameterBodyCurlyBrace: [
218
+ [/[^#:%*@\-!_}]+/, "variable"],
219
+ [/[#:%*@\-!_]/, "delimiter"],
220
+ [/[}]/, "variable", "@pop"]
221
+ ]
222
+ }
223
+ };
224
+ export {
225
+ e as conf,
226
+ r as language
227
+ };