sun-form-v3 1.0.64 → 1.0.66

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 (158) hide show
  1. package/package.json +8 -5
  2. package/src/App.vue +9 -0
  3. package/src/assets/font/YouSheBiaoTiHei-2.ttf +0 -0
  4. package/src/assets/font/demo.css +539 -0
  5. package/src/assets/font/demo_index.html +1200 -0
  6. package/src/assets/font/iconfont.css +191 -0
  7. package/src/assets/font/iconfont.js +1 -0
  8. package/src/assets/font/iconfont.json +317 -0
  9. package/src/assets/font/iconfont.ttf +0 -0
  10. package/src/assets/font/iconfont.woff +0 -0
  11. package/src/assets/font/iconfont.woff2 +0 -0
  12. package/src/assets/img/bg_footer.png +0 -0
  13. package/src/assets/img/bg_title.png +0 -0
  14. package/src/assets/img/file.png +0 -0
  15. package/src/assets/img/logo.png +0 -0
  16. package/src/assets/img/logo2.png +0 -0
  17. package/src/assets/img/logo22.png +0 -0
  18. package/src/assets/img/logo23.png +0 -0
  19. package/src/assets/img/logo3.png +0 -0
  20. package/src/assets/img//347/237/251/345/275/242@2x.png +0 -0
  21. package/src/assets/logo.svg +1 -0
  22. package/src/assets/styles/element/index.scss +15 -0
  23. package/src/assets/styles/index.css +3 -0
  24. package/src/components/a.js +14 -0
  25. package/src/components/aDesigner/config.vue +127 -0
  26. package/src/components/aDesigner/design.vue +21 -0
  27. package/src/components/aDesigner/designer.js +342 -0
  28. package/src/components/aDesigner/http.js +292 -0
  29. package/src/components/aDesigner/index.vue +144 -0
  30. package/src/components/aDesigner/panel.vue +144 -0
  31. package/src/components/aDesigner/show.vue +24 -0
  32. package/src/components/widgetCommonComps/commonApiConfig/index.vue +194 -0
  33. package/src/components/widgetCommonComps/commonCard/index.vue +36 -0
  34. package/src/components/widgetCommonComps/commonCodeEditor/editor.vue +219 -0
  35. package/src/components/widgetCommonComps/commonCodeEditor/modalEditor.vue +68 -0
  36. package/src/components/widgetCommonComps/commonCollapseCard/index.vue +10 -0
  37. package/src/components/widgetCommonComps/commonContainer/index.vue +95 -0
  38. package/src/components/widgetCommonComps/commonJsonInput/index.vue +59 -0
  39. package/src/components/widgetCommonComps/commonLabelContainer/index.vue +39 -0
  40. package/src/components/widgetCommonComps/commonSidetree/index.vue +61 -0
  41. package/src/components/widgetCommonComps/commonTypeInput/index.vue +75 -0
  42. package/src/components/widgetCommonComps/commonWidgetLabelContainer/index.vue +55 -0
  43. package/src/components/widgetCommonComps/index copy.js +17 -0
  44. package/src/components/widgetCommonComps/index.js +17 -0
  45. package/src/components/widgetConfigComps/config-input/index.vue +60 -0
  46. package/src/components/widgetConfigComps/index copy.js +13 -0
  47. package/src/components/widgetConfigComps/index.js +17 -0
  48. package/src/components/widgetShowComps/index.js +29 -0
  49. package/src/components/widgetShowComps/widget-form/index.vue +43 -0
  50. package/src/components/widgetShowComps/widget-homepage/index.vue +41 -0
  51. package/src/components/widgetShowComps/widget-input/index.vue +85 -0
  52. package/src/components/widgetShowComps/widget-select/index.vue +31 -0
  53. package/src/designer.js +342 -0
  54. package/src/http.js +292 -0
  55. package/src/index.js +24 -0
  56. package/src/index2.js +23 -0
  57. package/src/main.js +19 -0
  58. package/src/remark.js +708 -0
  59. package/src/testBtn.vue +11 -0
  60. package/src/testInput.vue +12 -0
  61. package/src/util/jsformat.js +568 -0
  62. package/src/widgetConfig.js +1112 -0
  63. package/dist/abap-DfvySaIJ.js +0 -1404
  64. package/dist/apex-B__0irD3.js +0 -332
  65. package/dist/assets/css.worker-OK053IOu.js +0 -84
  66. package/dist/assets/editor.worker-D9iUZyMP.js +0 -11
  67. package/dist/assets/html.worker-CL40hqKM.js +0 -458
  68. package/dist/assets/json.worker-6f9bhSHY.js +0 -42
  69. package/dist/assets/ts.worker-B6g3wjaE.js +0 -37021
  70. package/dist/azcli-CDMGhRmx.js +0 -74
  71. package/dist/bat-0Mk8aqzx.js +0 -106
  72. package/dist/bicep-BBi_I06Z.js +0 -108
  73. package/dist/cameligo-D0G_Zm6X.js +0 -180
  74. package/dist/clojure-o2ZKLeMp.js +0 -767
  75. package/dist/coffee-DOQff5VC.js +0 -238
  76. package/dist/cpp-CQGJnWhD.js +0 -395
  77. package/dist/csharp-C1jLsHl8.js +0 -332
  78. package/dist/csp-C_ttMQaW.js +0 -59
  79. package/dist/css-BC202kVV.js +0 -193
  80. package/dist/cssMode-BJ__hlmh.js +0 -1541
  81. package/dist/cypher-DwtEH7Fi.js +0 -269
  82. package/dist/dart-D9XknsP2.js +0 -287
  83. package/dist/dockerfile-DgsNjqqa.js +0 -136
  84. package/dist/ecl-BAMCHBl6.js +0 -462
  85. package/dist/elixir-CegIttP8.js +0 -575
  86. package/dist/favicon.ico +0 -0
  87. package/dist/flow9-9608t7UV.js +0 -148
  88. package/dist/freemarker2-CoLsQjW7.js +0 -995
  89. package/dist/fsharp-CCtt9-1_.js +0 -223
  90. package/dist/go-CGUIPbct.js +0 -224
  91. package/dist/graphql-BNRIFFIn.js +0 -157
  92. package/dist/handlebars-BX8CH7kP.js +0 -425
  93. package/dist/hcl-C__KLIXe.js +0 -189
  94. package/dist/html-CzRNAVFz.js +0 -314
  95. package/dist/htmlMode-D1rYdg3M.js +0 -1551
  96. package/dist/index-DmlyKQU2.js +0 -150
  97. package/dist/index2-CFFJfReU.js +0 -123480
  98. package/dist/ini-CeKYn_zA.js +0 -77
  99. package/dist/java-Dm24deQl.js +0 -238
  100. package/dist/javascript-D8qja2YK.js +0 -76
  101. package/dist/jsonMode-Ba3FSlH9.js +0 -1957
  102. package/dist/julia-BImNW7VE.js +0 -517
  103. package/dist/kotlin-BfE79GEb.js +0 -259
  104. package/dist/less-DglNOcaC.js +0 -168
  105. package/dist/lexon-BA0dRz9Q.js +0 -163
  106. package/dist/liquid-Dk9PEfYJ.js +0 -246
  107. package/dist/lua-DMkWzJcm.js +0 -168
  108. package/dist/m3-sA-5shO8.js +0 -216
  109. package/dist/markdown-OYRB1igA.js +0 -235
  110. package/dist/mdx-BYQIXNzg.js +0 -171
  111. package/dist/mips-rRzkJ_7G.js +0 -204
  112. package/dist/msdax-DoVJdUhd.js +0 -381
  113. package/dist/mysql-Ty44IHXo.js +0 -884
  114. package/dist/objective-c-VUfyhYrA.js +0 -189
  115. package/dist/pascal-DkASiYyw.js +0 -257
  116. package/dist/pascaligo-p-ELPlVO.js +0 -170
  117. package/dist/perl-Cjl1FxLZ.js +0 -632
  118. package/dist/pgsql-DjVenF7s.js +0 -857
  119. package/dist/php-CwvGzZOO.js +0 -506
  120. package/dist/pla-Br1iaBIV.js +0 -143
  121. package/dist/postiats-BaeP8zZY.js +0 -913
  122. package/dist/powerquery-CLCshuo8.js +0 -896
  123. package/dist/powershell-CZV50w5N.js +0 -245
  124. package/dist/protobuf-MV3XTewJ.js +0 -426
  125. package/dist/pug-DkDg4c4l.js +0 -408
  126. package/dist/python-nr__0oHi.js +0 -282
  127. package/dist/qsharp-BAtiKA97.js +0 -291
  128. package/dist/r-8ocrd-h-.js +0 -249
  129. package/dist/razor-BhxZaYa0.js +0 -556
  130. package/dist/redis-9sZiddxc.js +0 -308
  131. package/dist/redshift-DQfTOGC0.js +0 -815
  132. package/dist/restructuredtext-DXU-vkgr.js +0 -180
  133. package/dist/ruby-DotfqwMf.js +0 -517
  134. package/dist/rust-BIauJ5KN.js +0 -349
  135. package/dist/sb-CmWMvDEV.js +0 -121
  136. package/dist/scala-C81brEbk.js +0 -376
  137. package/dist/scheme-D0pcFz2x.js +0 -114
  138. package/dist/scss-BOdN2fGG.js +0 -268
  139. package/dist/shell-6E09eAkU.js +0 -227
  140. package/dist/solidity-CWStzA1K.js +0 -1373
  141. package/dist/sophia-76Sb6CWe.js +0 -205
  142. package/dist/sparql-BmZTkOWT.js +0 -207
  143. package/dist/sql-Cs9TBAW5.js +0 -859
  144. package/dist/st-B-rqE1Bu.js +0 -422
  145. package/dist/style.css +0 -1
  146. package/dist/sun-form-v3.es.js +0 -4
  147. package/dist/sun-form-v3.umd.js +0 -1908
  148. package/dist/swift-Btsj6YxQ.js +0 -318
  149. package/dist/systemverilog-B3RHBRa2.js +0 -582
  150. package/dist/tcl-Dpj776pn.js +0 -238
  151. package/dist/tsMode-B5V7dylO.js +0 -886
  152. package/dist/twig-Bb9JmBsE.js +0 -398
  153. package/dist/typescript-Cvb4NK72.js +0 -349
  154. package/dist/typespec-CDWeg3SU.js +0 -123
  155. package/dist/vb-DEXnYwEI.js +0 -378
  156. package/dist/wgsl-D602c1lx.js +0 -445
  157. package/dist/xml-D833w0Hk.js +0 -101
  158. package/dist/yaml-BEai5aLa.js +0 -212
@@ -1,180 +0,0 @@
1
- /*!-----------------------------------------------------------------------------
2
- * Copyright (c) Microsoft Corporation. All rights reserved.
3
- * Version: 0.49.0(383fdf3fc0e1e1a024068b8d0fd4f3dcbae74d04)
4
- * Released under the MIT license
5
- * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt
6
- *-----------------------------------------------------------------------------*/
7
- var e = {
8
- brackets: [
9
- ["{", "}"],
10
- ["[", "]"],
11
- ["(", ")"]
12
- ],
13
- autoClosingPairs: [
14
- { open: "{", close: "}" },
15
- { open: "[", close: "]" },
16
- { open: "(", close: ")" },
17
- { open: "<", close: ">", notIn: ["string"] }
18
- ],
19
- surroundingPairs: [
20
- { open: "(", close: ")" },
21
- { open: "[", close: "]" },
22
- { open: "`", close: "`" }
23
- ],
24
- folding: {
25
- markers: {
26
- start: new RegExp("^\\s*<!--\\s*#?region\\b.*-->"),
27
- end: new RegExp("^\\s*<!--\\s*#?endregion\\b.*-->")
28
- }
29
- }
30
- }, n = {
31
- defaultToken: "",
32
- tokenPostfix: ".rst",
33
- control: /[\\`*_\[\]{}()#+\-\.!]/,
34
- escapes: /\\(?:@control)/,
35
- empty: [
36
- "area",
37
- "base",
38
- "basefont",
39
- "br",
40
- "col",
41
- "frame",
42
- "hr",
43
- "img",
44
- "input",
45
- "isindex",
46
- "link",
47
- "meta",
48
- "param"
49
- ],
50
- alphanumerics: /[A-Za-z0-9]/,
51
- simpleRefNameWithoutBq: /(?:@alphanumerics[-_+:.]*@alphanumerics)+|(?:@alphanumerics+)/,
52
- simpleRefName: /(?:`@phrase`|@simpleRefNameWithoutBq)/,
53
- phrase: /@simpleRefNameWithoutBq(?:\s@simpleRefNameWithoutBq)*/,
54
- citationName: /[A-Za-z][A-Za-z0-9-_.]*/,
55
- blockLiteralStart: /(?:[!"#$%&'()*+,-./:;<=>?@\[\]^_`{|}~]|[\s])/,
56
- precedingChars: /(?:[ -:/'"<([{])/,
57
- followingChars: /(?:[ -.,:;!?/'")\]}>]|$)/,
58
- punctuation: /(=|-|~|`|#|"|\^|\+|\*|:|\.|'|_|\+)/,
59
- tokenizer: {
60
- root: [
61
- //sections
62
- [/^(@punctuation{3,}$){1,1}?/, "keyword"],
63
- //line-blocks
64
- //No rules on it
65
- //bullet-lists
66
- [/^\s*([\*\-+‣•]|[a-zA-Z0-9]+\.|\([a-zA-Z0-9]+\)|[a-zA-Z0-9]+\))\s/, "keyword"],
67
- //literal-blocks
68
- [/([ ]::)\s*$/, "keyword", "@blankLineOfLiteralBlocks"],
69
- [/(::)\s*$/, "keyword", "@blankLineOfLiteralBlocks"],
70
- { include: "@tables" },
71
- { include: "@explicitMarkupBlocks" },
72
- { include: "@inlineMarkup" }
73
- ],
74
- explicitMarkupBlocks: [
75
- //citations
76
- { include: "@citations" },
77
- //footnotes
78
- { include: "@footnotes" },
79
- //directives
80
- [
81
- /^(\.\.\s)(@simpleRefName)(::\s)(.*)$/,
82
- [{ token: "", next: "subsequentLines" }, "keyword", "", ""]
83
- ],
84
- //hyperlink-targets
85
- [
86
- /^(\.\.)(\s+)(_)(@simpleRefName)(:)(\s+)(.*)/,
87
- [{ token: "", next: "hyperlinks" }, "", "", "string.link", "", "", "string.link"]
88
- ],
89
- //anonymous-hyperlinks
90
- [
91
- /^((?:(?:\.\.)(?:\s+))?)(__)(:)(\s+)(.*)/,
92
- [{ token: "", next: "subsequentLines" }, "", "", "", "string.link"]
93
- ],
94
- [/^(__\s+)(.+)/, ["", "string.link"]],
95
- //substitution-definitions
96
- [
97
- /^(\.\.)( \|)([^| ]+[^|]*[^| ]*)(\| )(@simpleRefName)(:: .*)/,
98
- [{ token: "", next: "subsequentLines" }, "", "string.link", "", "keyword", ""],
99
- "@rawBlocks"
100
- ],
101
- [/(\|)([^| ]+[^|]*[^| ]*)(\|_{0,2})/, ["", "string.link", ""]],
102
- //comments
103
- [/^(\.\.)([ ].*)$/, [{ token: "", next: "@comments" }, "comment"]]
104
- ],
105
- inlineMarkup: [
106
- { include: "@citationsReference" },
107
- { include: "@footnotesReference" },
108
- //hyperlink-references
109
- [/(@simpleRefName)(_{1,2})/, ["string.link", ""]],
110
- //embedded-uris-and-aliases
111
- [/(`)([^<`]+\s+)(<)(.*)(>)(`)(_)/, ["", "string.link", "", "string.link", "", "", ""]],
112
- //emphasis
113
- [/\*\*([^\\*]|\*(?!\*))+\*\*/, "strong"],
114
- [/\*[^*]+\*/, "emphasis"],
115
- //inline-literals
116
- [/(``)((?:[^`]|\`(?!`))+)(``)/, ["", "keyword", ""]],
117
- [/(__\s+)(.+)/, ["", "keyword"]],
118
- //interpreted-text
119
- [/(:)((?:@simpleRefNameWithoutBq)?)(:`)([^`]+)(`)/, ["", "keyword", "", "", ""]],
120
- [/(`)([^`]+)(`:)((?:@simpleRefNameWithoutBq)?)(:)/, ["", "", "", "keyword", ""]],
121
- [/(`)([^`]+)(`)/, ""],
122
- //inline-internal-targets
123
- [/(_`)(@phrase)(`)/, ["", "string.link", ""]]
124
- ],
125
- citations: [
126
- [
127
- /^(\.\.\s+\[)((?:@citationName))(\]\s+)(.*)/,
128
- [{ token: "", next: "@subsequentLines" }, "string.link", "", ""]
129
- ]
130
- ],
131
- citationsReference: [[/(\[)(@citationName)(\]_)/, ["", "string.link", ""]]],
132
- footnotes: [
133
- [
134
- /^(\.\.\s+\[)((?:[0-9]+))(\]\s+.*)/,
135
- [{ token: "", next: "@subsequentLines" }, "string.link", ""]
136
- ],
137
- [
138
- /^(\.\.\s+\[)((?:#@simpleRefName?))(\]\s+)(.*)/,
139
- [{ token: "", next: "@subsequentLines" }, "string.link", "", ""]
140
- ],
141
- [
142
- /^(\.\.\s+\[)((?:\*))(\]\s+)(.*)/,
143
- [{ token: "", next: "@subsequentLines" }, "string.link", "", ""]
144
- ]
145
- ],
146
- footnotesReference: [
147
- [/(\[)([0-9]+)(\])(_)/, ["", "string.link", "", ""]],
148
- [/(\[)(#@simpleRefName?)(\])(_)/, ["", "string.link", "", ""]],
149
- [/(\[)(\*)(\])(_)/, ["", "string.link", "", ""]]
150
- ],
151
- blankLineOfLiteralBlocks: [
152
- [/^$/, "", "@subsequentLinesOfLiteralBlocks"],
153
- [/^.*$/, "", "@pop"]
154
- ],
155
- subsequentLinesOfLiteralBlocks: [
156
- [/(@blockLiteralStart+)(.*)/, ["keyword", ""]],
157
- [/^(?!blockLiteralStart)/, "", "@popall"]
158
- ],
159
- subsequentLines: [
160
- [/^[\s]+.*/, ""],
161
- [/^(?!\s)/, "", "@pop"]
162
- ],
163
- hyperlinks: [
164
- [/^[\s]+.*/, "string.link"],
165
- [/^(?!\s)/, "", "@pop"]
166
- ],
167
- comments: [
168
- [/^[\s]+.*/, "comment"],
169
- [/^(?!\s)/, "", "@pop"]
170
- ],
171
- tables: [
172
- [/\+-[+-]+/, "keyword"],
173
- [/\+=[+=]+/, "keyword"]
174
- ]
175
- }
176
- };
177
- export {
178
- e as conf,
179
- n as language
180
- };
@@ -1,517 +0,0 @@
1
- /*!-----------------------------------------------------------------------------
2
- * Copyright (c) Microsoft Corporation. All rights reserved.
3
- * Version: 0.49.0(383fdf3fc0e1e1a024068b8d0fd4f3dcbae74d04)
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
- blockComment: ["=begin", "=end"]
11
- },
12
- brackets: [
13
- ["(", ")"],
14
- ["{", "}"],
15
- ["[", "]"]
16
- ],
17
- autoClosingPairs: [
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
- ],
31
- indentationRules: {
32
- increaseIndentPattern: new RegExp(
33
- `^\\s*((begin|class|(private|protected)\\s+def|def|else|elsif|ensure|for|if|module|rescue|unless|until|when|while|case)|([^#]*\\sdo\\b)|([^#]*=\\s*(case|if|unless)))\\b([^#\\{;]|("|'|/).*\\4)*(#.*)?$`
34
- ),
35
- decreaseIndentPattern: new RegExp(
36
- "^\\s*([}\\]]([,)]?\\s*(#|$)|\\.[a-zA-Z_]\\w*\\b)|(end|rescue|ensure|else|elsif|when)\\b)"
37
- )
38
- }
39
- }, t = {
40
- tokenPostfix: ".ruby",
41
- keywords: [
42
- "__LINE__",
43
- "__ENCODING__",
44
- "__FILE__",
45
- "BEGIN",
46
- "END",
47
- "alias",
48
- "and",
49
- "begin",
50
- "break",
51
- "case",
52
- "class",
53
- "def",
54
- "defined?",
55
- "do",
56
- "else",
57
- "elsif",
58
- "end",
59
- "ensure",
60
- "for",
61
- "false",
62
- "if",
63
- "in",
64
- "module",
65
- "next",
66
- "nil",
67
- "not",
68
- "or",
69
- "redo",
70
- "rescue",
71
- "retry",
72
- "return",
73
- "self",
74
- "super",
75
- "then",
76
- "true",
77
- "undef",
78
- "unless",
79
- "until",
80
- "when",
81
- "while",
82
- "yield"
83
- ],
84
- keywordops: ["::", "..", "...", "?", ":", "=>"],
85
- builtins: [
86
- "require",
87
- "public",
88
- "private",
89
- "include",
90
- "extend",
91
- "attr_reader",
92
- "protected",
93
- "private_class_method",
94
- "protected_class_method",
95
- "new"
96
- ],
97
- // these are closed by 'end' (if, while and until are handled separately)
98
- declarations: [
99
- "module",
100
- "class",
101
- "def",
102
- "case",
103
- "do",
104
- "begin",
105
- "for",
106
- "if",
107
- "while",
108
- "until",
109
- "unless"
110
- ],
111
- linedecls: ["def", "case", "do", "begin", "for", "if", "while", "until", "unless"],
112
- operators: [
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
- "%=",
146
- "<<=",
147
- ">>=",
148
- "&=",
149
- "&&=",
150
- "||=",
151
- "|="
152
- ],
153
- brackets: [
154
- { open: "(", close: ")", token: "delimiter.parenthesis" },
155
- { open: "{", close: "}", token: "delimiter.curly" },
156
- { open: "[", close: "]", token: "delimiter.square" }
157
- ],
158
- // we include these common regular expressions
159
- symbols: /[=><!~?:&|+\-*\/\^%\.]+/,
160
- // escape sequences
161
- escape: /(?:[abefnrstv\\"'\n\r]|[0-7]{1,3}|x[0-9A-Fa-f]{1,2}|u[0-9A-Fa-f]{4})/,
162
- escapes: /\\(?:C\-(@escape|.)|c(@escape|.)|@escape)/,
163
- decpart: /\d(_?\d)*/,
164
- decimal: /0|@decpart/,
165
- delim: /[^a-zA-Z0-9\s\n\r]/,
166
- heredelim: /(?:\w+|'[^']*'|"[^"]*"|`[^`]*`)/,
167
- regexpctl: /[(){}\[\]\$\^|\-*+?\.]/,
168
- regexpesc: /\\(?:[AzZbBdDfnrstvwWn0\\\/]|@regexpctl|c[A-Z]|x[0-9a-fA-F]{2}|u[0-9a-fA-F]{4})?/,
169
- // The main tokenizer for our languages
170
- tokenizer: {
171
- // Main entry.
172
- // root.<decl> where decl is the current opening declaration (like 'class')
173
- root: [
174
- // identifiers and keywords
175
- // most complexity here is due to matching 'end' correctly with declarations.
176
- // We distinguish a declaration that comes first on a line, versus declarations further on a line (which are most likey modifiers)
177
- [
178
- /^(\s*)([a-z_]\w*[!?=]?)/,
179
- [
180
- "white",
181
- {
182
- cases: {
183
- "for|until|while": {
184
- token: "keyword.$2",
185
- next: "@dodecl.$2"
186
- },
187
- "@declarations": {
188
- token: "keyword.$2",
189
- next: "@root.$2"
190
- },
191
- end: { token: "keyword.$S2", next: "@pop" },
192
- "@keywords": "keyword",
193
- "@builtins": "predefined",
194
- "@default": "identifier"
195
- }
196
- }
197
- ]
198
- ],
199
- [
200
- /[a-z_]\w*[!?=]?/,
201
- {
202
- cases: {
203
- "if|unless|while|until": {
204
- token: "keyword.$0x",
205
- next: "@modifier.$0x"
206
- },
207
- for: { token: "keyword.$2", next: "@dodecl.$2" },
208
- "@linedecls": { token: "keyword.$0", next: "@root.$0" },
209
- end: { token: "keyword.$S2", next: "@pop" },
210
- "@keywords": "keyword",
211
- "@builtins": "predefined",
212
- "@default": "identifier"
213
- }
214
- }
215
- ],
216
- [/[A-Z][\w]*[!?=]?/, "constructor.identifier"],
217
- // constant
218
- [/\$[\w]*/, "global.constant"],
219
- // global
220
- [/@[\w]*/, "namespace.instance.identifier"],
221
- // instance
222
- [/@@@[\w]*/, "namespace.class.identifier"],
223
- // class
224
- // here document
225
- [/<<[-~](@heredelim).*/, { token: "string.heredoc.delimiter", next: "@heredoc.$1" }],
226
- [/[ \t\r\n]+<<(@heredelim).*/, { token: "string.heredoc.delimiter", next: "@heredoc.$1" }],
227
- [/^<<(@heredelim).*/, { token: "string.heredoc.delimiter", next: "@heredoc.$1" }],
228
- // whitespace
229
- { include: "@whitespace" },
230
- // strings
231
- [/"/, { token: "string.d.delim", next: '@dstring.d."' }],
232
- [/'/, { token: "string.sq.delim", next: "@sstring.sq" }],
233
- // % literals. For efficiency, rematch in the 'pstring' state
234
- [/%([rsqxwW]|Q?)/, { token: "@rematch", next: "pstring" }],
235
- // commands and symbols
236
- [/`/, { token: "string.x.delim", next: "@dstring.x.`" }],
237
- [/:(\w|[$@])\w*[!?=]?/, "string.s"],
238
- [/:"/, { token: "string.s.delim", next: '@dstring.s."' }],
239
- [/:'/, { token: "string.s.delim", next: "@sstring.s" }],
240
- // regular expressions. Lookahead for a (not escaped) closing forwardslash on the same line
241
- [/\/(?=(\\\/|[^\/\n])+\/)/, { token: "regexp.delim", next: "@regexp" }],
242
- // delimiters and operators
243
- [/[{}()\[\]]/, "@brackets"],
244
- [
245
- /@symbols/,
246
- {
247
- cases: {
248
- "@keywordops": "keyword",
249
- "@operators": "operator",
250
- "@default": ""
251
- }
252
- }
253
- ],
254
- [/[;,]/, "delimiter"],
255
- // numbers
256
- [/0[xX][0-9a-fA-F](_?[0-9a-fA-F])*/, "number.hex"],
257
- [/0[_oO][0-7](_?[0-7])*/, "number.octal"],
258
- [/0[bB][01](_?[01])*/, "number.binary"],
259
- [/0[dD]@decpart/, "number"],
260
- [
261
- /@decimal((\.@decpart)?([eE][\-+]?@decpart)?)/,
262
- {
263
- cases: {
264
- $1: "number.float",
265
- "@default": "number"
266
- }
267
- }
268
- ]
269
- ],
270
- // used to not treat a 'do' as a block opener if it occurs on the same
271
- // line as a 'do' statement: 'while|until|for'
272
- // dodecl.<decl> where decl is the declarations started, like 'while'
273
- dodecl: [
274
- [/^/, { token: "", switchTo: "@root.$S2" }],
275
- // get out of do-skipping mode on a new line
276
- [
277
- /[a-z_]\w*[!?=]?/,
278
- {
279
- cases: {
280
- end: { token: "keyword.$S2", next: "@pop" },
281
- // end on same line
282
- do: { token: "keyword", switchTo: "@root.$S2" },
283
- // do on same line: not an open bracket here
284
- "@linedecls": {
285
- token: "@rematch",
286
- switchTo: "@root.$S2"
287
- },
288
- // other declaration on same line: rematch
289
- "@keywords": "keyword",
290
- "@builtins": "predefined",
291
- "@default": "identifier"
292
- }
293
- }
294
- ],
295
- { include: "@root" }
296
- ],
297
- // used to prevent potential modifiers ('if|until|while|unless') to match
298
- // with 'end' keywords.
299
- // modifier.<decl>x where decl is the declaration starter, like 'if'
300
- modifier: [
301
- [/^/, "", "@pop"],
302
- // it was a modifier: get out of modifier mode on a new line
303
- [
304
- /[a-z_]\w*[!?=]?/,
305
- {
306
- cases: {
307
- end: { token: "keyword.$S2", next: "@pop" },
308
- // end on same line
309
- "then|else|elsif|do": {
310
- token: "keyword",
311
- switchTo: "@root.$S2"
312
- },
313
- // real declaration and not a modifier
314
- "@linedecls": {
315
- token: "@rematch",
316
- switchTo: "@root.$S2"
317
- },
318
- // other declaration => not a modifier
319
- "@keywords": "keyword",
320
- "@builtins": "predefined",
321
- "@default": "identifier"
322
- }
323
- }
324
- ],
325
- { include: "@root" }
326
- ],
327
- // single quote strings (also used for symbols)
328
- // sstring.<kind> where kind is 'sq' (single quote) or 's' (symbol)
329
- sstring: [
330
- [/[^\\']+/, "string.$S2"],
331
- [/\\\\|\\'|\\$/, "string.$S2.escape"],
332
- [/\\./, "string.$S2.invalid"],
333
- [/'/, { token: "string.$S2.delim", next: "@pop" }]
334
- ],
335
- // double quoted "string".
336
- // dstring.<kind>.<delim> where kind is 'd' (double quoted), 'x' (command), or 's' (symbol)
337
- // and delim is the ending delimiter (" or `)
338
- dstring: [
339
- [/[^\\`"#]+/, "string.$S2"],
340
- [/#/, "string.$S2.escape", "@interpolated"],
341
- [/\\$/, "string.$S2.escape"],
342
- [/@escapes/, "string.$S2.escape"],
343
- [/\\./, "string.$S2.escape.invalid"],
344
- [
345
- /[`"]/,
346
- {
347
- cases: {
348
- "$#==$S3": { token: "string.$S2.delim", next: "@pop" },
349
- "@default": "string.$S2"
350
- }
351
- }
352
- ]
353
- ],
354
- // literal documents
355
- // heredoc.<close> where close is the closing delimiter
356
- heredoc: [
357
- [
358
- /^(\s*)(@heredelim)$/,
359
- {
360
- cases: {
361
- "$2==$S2": ["string.heredoc", { token: "string.heredoc.delimiter", next: "@pop" }],
362
- "@default": ["string.heredoc", "string.heredoc"]
363
- }
364
- }
365
- ],
366
- [/.*/, "string.heredoc"]
367
- ],
368
- // interpolated sequence
369
- interpolated: [
370
- [/\$\w*/, "global.constant", "@pop"],
371
- [/@\w*/, "namespace.class.identifier", "@pop"],
372
- [/@@@\w*/, "namespace.instance.identifier", "@pop"],
373
- [
374
- /[{]/,
375
- {
376
- token: "string.escape.curly",
377
- switchTo: "@interpolated_compound"
378
- }
379
- ],
380
- ["", "", "@pop"]
381
- // just a # is interpreted as a #
382
- ],
383
- // any code
384
- interpolated_compound: [
385
- [/[}]/, { token: "string.escape.curly", next: "@pop" }],
386
- { include: "@root" }
387
- ],
388
- // %r quoted regexp
389
- // pregexp.<open>.<close> where open/close are the open/close delimiter
390
- pregexp: [
391
- { include: "@whitespace" },
392
- // turns out that you can quote using regex control characters, aargh!
393
- // for example; %r|kgjgaj| is ok (even though | is used for alternation)
394
- // so, we need to match those first
395
- [
396
- /[^\(\{\[\\]/,
397
- {
398
- cases: {
399
- "$#==$S3": { token: "regexp.delim", next: "@pop" },
400
- "$#==$S2": { token: "regexp.delim", next: "@push" },
401
- // nested delimiters are allowed..
402
- "~[)}\\]]": "@brackets.regexp.escape.control",
403
- "~@regexpctl": "regexp.escape.control",
404
- "@default": "regexp"
405
- }
406
- }
407
- ],
408
- { include: "@regexcontrol" }
409
- ],
410
- // We match regular expression quite precisely
411
- regexp: [
412
- { include: "@regexcontrol" },
413
- [/[^\\\/]/, "regexp"],
414
- ["/[ixmp]*", { token: "regexp.delim" }, "@pop"]
415
- ],
416
- regexcontrol: [
417
- [
418
- /(\{)(\d+(?:,\d*)?)(\})/,
419
- [
420
- "@brackets.regexp.escape.control",
421
- "regexp.escape.control",
422
- "@brackets.regexp.escape.control"
423
- ]
424
- ],
425
- [
426
- /(\[)(\^?)/,
427
- ["@brackets.regexp.escape.control", { token: "regexp.escape.control", next: "@regexrange" }]
428
- ],
429
- [/(\()(\?[:=!])/, ["@brackets.regexp.escape.control", "regexp.escape.control"]],
430
- [/\(\?#/, { token: "regexp.escape.control", next: "@regexpcomment" }],
431
- [/[()]/, "@brackets.regexp.escape.control"],
432
- [/@regexpctl/, "regexp.escape.control"],
433
- [/\\$/, "regexp.escape"],
434
- [/@regexpesc/, "regexp.escape"],
435
- [/\\\./, "regexp.invalid"],
436
- [/#/, "regexp.escape", "@interpolated"]
437
- ],
438
- regexrange: [
439
- [/-/, "regexp.escape.control"],
440
- [/\^/, "regexp.invalid"],
441
- [/\\$/, "regexp.escape"],
442
- [/@regexpesc/, "regexp.escape"],
443
- [/[^\]]/, "regexp"],
444
- [/\]/, "@brackets.regexp.escape.control", "@pop"]
445
- ],
446
- regexpcomment: [
447
- [/[^)]+/, "comment"],
448
- [/\)/, { token: "regexp.escape.control", next: "@pop" }]
449
- ],
450
- // % quoted strings
451
- // A bit repetitive since we need to often special case the kind of ending delimiter
452
- pstring: [
453
- [/%([qws])\(/, { token: "string.$1.delim", switchTo: "@qstring.$1.(.)" }],
454
- [/%([qws])\[/, { token: "string.$1.delim", switchTo: "@qstring.$1.[.]" }],
455
- [/%([qws])\{/, { token: "string.$1.delim", switchTo: "@qstring.$1.{.}" }],
456
- [/%([qws])</, { token: "string.$1.delim", switchTo: "@qstring.$1.<.>" }],
457
- [/%([qws])(@delim)/, { token: "string.$1.delim", switchTo: "@qstring.$1.$2.$2" }],
458
- [/%r\(/, { token: "regexp.delim", switchTo: "@pregexp.(.)" }],
459
- [/%r\[/, { token: "regexp.delim", switchTo: "@pregexp.[.]" }],
460
- [/%r\{/, { token: "regexp.delim", switchTo: "@pregexp.{.}" }],
461
- [/%r</, { token: "regexp.delim", switchTo: "@pregexp.<.>" }],
462
- [/%r(@delim)/, { token: "regexp.delim", switchTo: "@pregexp.$1.$1" }],
463
- [/%(x|W|Q?)\(/, { token: "string.$1.delim", switchTo: "@qqstring.$1.(.)" }],
464
- [/%(x|W|Q?)\[/, { token: "string.$1.delim", switchTo: "@qqstring.$1.[.]" }],
465
- [/%(x|W|Q?)\{/, { token: "string.$1.delim", switchTo: "@qqstring.$1.{.}" }],
466
- [/%(x|W|Q?)</, { token: "string.$1.delim", switchTo: "@qqstring.$1.<.>" }],
467
- [/%(x|W|Q?)(@delim)/, { token: "string.$1.delim", switchTo: "@qqstring.$1.$2.$2" }],
468
- [/%([rqwsxW]|Q?)./, { token: "invalid", next: "@pop" }],
469
- // recover
470
- [/./, { token: "invalid", next: "@pop" }]
471
- // recover
472
- ],
473
- // non-expanded quoted string.
474
- // qstring.<kind>.<open>.<close>
475
- // kind = q|w|s (single quote, array, symbol)
476
- // open = open delimiter
477
- // close = close delimiter
478
- qstring: [
479
- [/\\$/, "string.$S2.escape"],
480
- [/\\./, "string.$S2.escape"],
481
- [
482
- /./,
483
- {
484
- cases: {
485
- "$#==$S4": { token: "string.$S2.delim", next: "@pop" },
486
- "$#==$S3": { token: "string.$S2.delim", next: "@push" },
487
- // nested delimiters are allowed..
488
- "@default": "string.$S2"
489
- }
490
- }
491
- ]
492
- ],
493
- // expanded quoted string.
494
- // qqstring.<kind>.<open>.<close>
495
- // kind = Q|W|x (double quote, array, command)
496
- // open = open delimiter
497
- // close = close delimiter
498
- qqstring: [[/#/, "string.$S2.escape", "@interpolated"], { include: "@qstring" }],
499
- // whitespace & comments
500
- whitespace: [
501
- [/[ \t\r\n]+/, ""],
502
- [/^\s*=begin\b/, "comment", "@comment"],
503
- [/#.*$/, "comment"]
504
- ],
505
- comment: [
506
- [/[^=]+/, "comment"],
507
- [/^\s*=begin\b/, "comment.invalid"],
508
- // nested comment
509
- [/^\s*=end\b.*/, "comment", "@pop"],
510
- [/[=]/, "comment"]
511
- ]
512
- }
513
- };
514
- export {
515
- e as conf,
516
- t as language
517
- };