sun-form-v3 1.0.65 → 1.0.67

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 (157) 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 +20 -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-B2c4O0YS.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-C0V-2C6A.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-Dq-D2gGP.js +0 -425
  93. package/dist/hcl-C__KLIXe.js +0 -189
  94. package/dist/html-CHe4dRTt.js +0 -314
  95. package/dist/htmlMode-DmZav6BJ.js +0 -1551
  96. package/dist/index2-CDdAhO0H.js +0 -124690
  97. package/dist/ini-CeKYn_zA.js +0 -77
  98. package/dist/java-Dm24deQl.js +0 -238
  99. package/dist/javascript-e6NjSQC6.js +0 -76
  100. package/dist/jsonMode-pOauncTt.js +0 -1957
  101. package/dist/julia-BImNW7VE.js +0 -517
  102. package/dist/kotlin-BfE79GEb.js +0 -259
  103. package/dist/less-DglNOcaC.js +0 -168
  104. package/dist/lexon-BA0dRz9Q.js +0 -163
  105. package/dist/liquid-DGCC4WOg.js +0 -246
  106. package/dist/lua-DMkWzJcm.js +0 -168
  107. package/dist/m3-sA-5shO8.js +0 -216
  108. package/dist/markdown-OYRB1igA.js +0 -235
  109. package/dist/mdx-GitjX2xy.js +0 -171
  110. package/dist/mips-rRzkJ_7G.js +0 -204
  111. package/dist/msdax-DoVJdUhd.js +0 -381
  112. package/dist/mysql-Ty44IHXo.js +0 -884
  113. package/dist/objective-c-VUfyhYrA.js +0 -189
  114. package/dist/pascal-DkASiYyw.js +0 -257
  115. package/dist/pascaligo-p-ELPlVO.js +0 -170
  116. package/dist/perl-Cjl1FxLZ.js +0 -632
  117. package/dist/pgsql-DjVenF7s.js +0 -857
  118. package/dist/php-CwvGzZOO.js +0 -506
  119. package/dist/pla-Br1iaBIV.js +0 -143
  120. package/dist/postiats-BaeP8zZY.js +0 -913
  121. package/dist/powerquery-CLCshuo8.js +0 -896
  122. package/dist/powershell-CZV50w5N.js +0 -245
  123. package/dist/protobuf-MV3XTewJ.js +0 -426
  124. package/dist/pug-DkDg4c4l.js +0 -408
  125. package/dist/python-BxUPejAm.js +0 -282
  126. package/dist/qsharp-BAtiKA97.js +0 -291
  127. package/dist/r-8ocrd-h-.js +0 -249
  128. package/dist/razor-B0zHeS7k.js +0 -556
  129. package/dist/redis-9sZiddxc.js +0 -308
  130. package/dist/redshift-DQfTOGC0.js +0 -815
  131. package/dist/restructuredtext-DXU-vkgr.js +0 -180
  132. package/dist/ruby-DotfqwMf.js +0 -517
  133. package/dist/rust-BIauJ5KN.js +0 -349
  134. package/dist/sb-CmWMvDEV.js +0 -121
  135. package/dist/scala-C81brEbk.js +0 -376
  136. package/dist/scheme-D0pcFz2x.js +0 -114
  137. package/dist/scss-BOdN2fGG.js +0 -268
  138. package/dist/shell-6E09eAkU.js +0 -227
  139. package/dist/solidity-CWStzA1K.js +0 -1373
  140. package/dist/sophia-76Sb6CWe.js +0 -205
  141. package/dist/sparql-BmZTkOWT.js +0 -207
  142. package/dist/sql-Cs9TBAW5.js +0 -859
  143. package/dist/st-B-rqE1Bu.js +0 -422
  144. package/dist/style.css +0 -1
  145. package/dist/sun-form-v3.es.js +0 -4
  146. package/dist/sun-form-v3.umd.js +0 -1908
  147. package/dist/swift-Btsj6YxQ.js +0 -318
  148. package/dist/systemverilog-B3RHBRa2.js +0 -582
  149. package/dist/tcl-Dpj776pn.js +0 -238
  150. package/dist/tsMode-AhR0apFR.js +0 -886
  151. package/dist/twig-Bb9JmBsE.js +0 -398
  152. package/dist/typescript-DW_IjlW5.js +0 -349
  153. package/dist/typespec-CDWeg3SU.js +0 -123
  154. package/dist/vb-DEXnYwEI.js +0 -378
  155. package/dist/wgsl-D602c1lx.js +0 -445
  156. package/dist/xml-CraN90Vi.js +0 -101
  157. package/dist/yaml-D6yA8dTm.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
- };