@vc-shell/framework 1.1.1 → 1.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 (210) hide show
  1. package/CHANGELOG.md +4 -0
  2. package/dist/assets/apl-NdZ6-T1z.js +142 -0
  3. package/dist/assets/asciiarmor-CmJEbAuq.js +56 -0
  4. package/dist/assets/asn1-Ctc8K72v.js +192 -0
  5. package/dist/assets/asterisk-D6r__RMF.js +187 -0
  6. package/dist/assets/brainfuck-COwWCBpq.js +70 -0
  7. package/dist/assets/clike-C-PtfL50.js +1019 -0
  8. package/dist/assets/clojure-C2XPrGCa.js +274 -0
  9. package/dist/assets/cmake-BGrEgXCL.js +81 -0
  10. package/dist/assets/cobol-DShPmpZe.js +234 -0
  11. package/dist/assets/coffeescript-BG8vTfSz.js +329 -0
  12. package/dist/assets/commonlisp-8oE2EpEe.js +108 -0
  13. package/dist/assets/core-api-BMLS9FrT.js +8288 -0
  14. package/dist/assets/core-composables-DYxpIWyY.js +1799 -0
  15. package/dist/assets/core-constants-DiKDBbnD.js +83 -0
  16. package/dist/assets/core-directives-QhJx9kWh.js +41 -0
  17. package/dist/assets/core-interceptors-CSjUvxQ0.js +78 -0
  18. package/dist/assets/core-plugins-wv2bDZ0l.js +4919 -0
  19. package/dist/assets/core-services-CAfJRsjs.js +4 -0
  20. package/dist/assets/core-utilities-BTktq_a-.js +33 -0
  21. package/dist/assets/crystal--rIRMl16.js +419 -0
  22. package/dist/assets/css/core-directives-FL4vIIkN.css +73 -0
  23. package/dist/assets/css/fonts-M1mtyV8L.css +305 -0
  24. package/dist/assets/css/icons-css-DbCVsovz.css +41 -0
  25. package/dist/assets/css/shared-components-bnLHdCtf.css +429 -0
  26. package/dist/assets/css/shared-modules-CNOICmYQ.css +45 -0
  27. package/dist/assets/css/styles-C62nDZwV.css +4096 -0
  28. package/dist/assets/css/ui-app-Bh9hmlIB.css +1287 -0
  29. package/dist/assets/css/ui-content-B29jsmK7.css +1187 -0
  30. package/dist/assets/css/ui-controls-CRtfFczw.css +387 -0
  31. package/dist/assets/css/ui-data-CYLxfdUa.css +1555 -0
  32. package/dist/assets/css/ui-form-C3WrWfVl.css +71 -0
  33. package/dist/assets/css/ui-form-fields-DOtHhDeM.css +1360 -0
  34. package/dist/assets/css/ui-helpers-bOoNv5dS.css +37 -0
  35. package/dist/assets/css/ui-indicators-CybQnCoU.css +628 -0
  36. package/dist/assets/css/ui-layout-DyGKgizy.css +251 -0
  37. package/dist/assets/css/ui-media-TWYep8js.css +298 -0
  38. package/dist/assets/css/ui-media-advanced-BGxy3VSB.css +183 -0
  39. package/dist/assets/css/ui-navigation-DcPRn8SB.css +1693 -0
  40. package/dist/assets/css-C_ZeEwz2.js +847 -0
  41. package/dist/assets/cypher-Bayei42D.js +122 -0
  42. package/dist/assets/d-B0hhz6be.js +205 -0
  43. package/dist/assets/diff-DQutOIXs.js +30 -0
  44. package/dist/assets/dockerfile-D0MivFIF.js +199 -0
  45. package/dist/assets/dtd-C1CeYVnM.js +121 -0
  46. package/dist/assets/dylan-Dm9-uD-A.js +337 -0
  47. package/dist/assets/ebnf-jWG_1Yly.js +151 -0
  48. package/dist/assets/ecl-CgJPA6z9.js +190 -0
  49. package/dist/assets/eiffel-lj7uLahq.js +146 -0
  50. package/dist/assets/elm-Cz7o1ijk.js +230 -0
  51. package/dist/assets/erlang-CyL5QOyR.js +581 -0
  52. package/dist/assets/factor-BVWHwYpu.js +65 -0
  53. package/dist/assets/fcl-DiozYjc8.js +154 -0
  54. package/dist/assets/forth-B7vn5ze0.js +164 -0
  55. package/dist/assets/fortran-D2XNEnBT.js +172 -0
  56. package/dist/assets/gas-B_Tj57Ve.js +343 -0
  57. package/dist/assets/gherkin-CJ6Qk4EZ.js +147 -0
  58. package/dist/assets/groovy-ioGz2WSV.js +228 -0
  59. package/dist/assets/haskell-BHnm1B83.js +239 -0
  60. package/dist/assets/haxe-Bn6Yo6N3.js +490 -0
  61. package/dist/assets/http-BOd5SYCT.js +89 -0
  62. package/dist/assets/idl-FSFk8_xX.js +274 -0
  63. package/dist/assets/index--5fKpGeN.js +792 -0
  64. package/dist/assets/index-0lME64YH.js +342 -0
  65. package/dist/assets/index-B1srGfDb.js +183 -0
  66. package/dist/assets/index-B6Ip0FgO.js +437 -0
  67. package/dist/assets/index-BKF-A58l.js +106 -0
  68. package/dist/assets/index-BT8o9-M5.js +418 -0
  69. package/dist/assets/index-BmV05E5M.js +479 -0
  70. package/dist/assets/index-Bv_z_qRq.js +137 -0
  71. package/dist/assets/index-C6MavZDA.js +131 -0
  72. package/dist/assets/index-C7zlEJy8.js +338 -0
  73. package/dist/assets/index-CeeaNa4F.js +187 -0
  74. package/dist/assets/index-CtmpJVwa.js +330 -0
  75. package/dist/assets/index-CwKpgcYl.js +85 -0
  76. package/dist/assets/index-DMTL7O1s.js +627 -0
  77. package/dist/assets/index-DRUmDL0J.js +59 -0
  78. package/dist/assets/index-DgFC-M9G.js +96 -0
  79. package/dist/assets/javascript-DGrAs70C.js +922 -0
  80. package/dist/assets/jinja2-D9k5QrXv.js +171 -0
  81. package/dist/assets/julia-DM42tOPB.js +369 -0
  82. package/dist/assets/livescript-Dci8HnOi.js +259 -0
  83. package/dist/assets/lua-CByQu4v6.js +137 -0
  84. package/dist/assets/lucide-icons-af0BY3bi.js +34555 -0
  85. package/dist/assets/mathematica-Dkv0uCYF.js +153 -0
  86. package/dist/assets/mbox-CYTvs5kC.js +114 -0
  87. package/dist/assets/mirc-DpgP3GCo.js +176 -0
  88. package/dist/assets/mllike-C6tNn2Yt.js +343 -0
  89. package/dist/assets/modelica-CR6hTSce.js +192 -0
  90. package/dist/assets/mscgen-D0GXtzMS.js +149 -0
  91. package/dist/assets/mumps-Bf1EyDa6.js +129 -0
  92. package/dist/assets/nginx-By9Phklj.js +163 -0
  93. package/dist/assets/nsis-B5ggMLQ9.js +80 -0
  94. package/dist/assets/ntriples-C7VJ7pnm.js +141 -0
  95. package/dist/assets/octave-6yR_ix15.js +112 -0
  96. package/dist/assets/oz-CEUnktiQ.js +235 -0
  97. package/dist/assets/pascal-Dksf1EyF.js +124 -0
  98. package/dist/assets/perl-B99DUQQt.js +819 -0
  99. package/dist/assets/pig-DFeDRta6.js +149 -0
  100. package/dist/assets/powershell-DhwsNWMx.js +381 -0
  101. package/dist/assets/properties-o21uErwC.js +62 -0
  102. package/dist/assets/protobuf-YxlANsmD.js +54 -0
  103. package/dist/assets/pug-bUgjeODZ.js +504 -0
  104. package/dist/assets/puppet-B8WICGYE.js +205 -0
  105. package/dist/assets/python-D3FFx1Id.js +389 -0
  106. package/dist/assets/q-D2Hjhl2C.js +123 -0
  107. package/dist/assets/r-D73k5lac.js +174 -0
  108. package/dist/assets/rpm-Duv_WH0z.js +89 -0
  109. package/dist/assets/ruby-DGCVqZDt.js +287 -0
  110. package/dist/assets/sas-XjPv1Vy5.js +268 -0
  111. package/dist/assets/scheme-DeaA28vt.js +263 -0
  112. package/dist/assets/shared-components-CfAt2hC6.js +1501 -0
  113. package/dist/assets/shared-composables-v9NkNuAe.js +35 -0
  114. package/dist/assets/shared-modules-CDP-H5ZB.js +3588 -0
  115. package/dist/assets/shared-pages-BGRRA5WB.js +20 -0
  116. package/dist/assets/shell-Bx6QZTgx.js +145 -0
  117. package/dist/assets/sieve-CWCD62sW.js +178 -0
  118. package/dist/assets/simple-mode-BAO9cD7H.js +136 -0
  119. package/dist/assets/smalltalk-DSQbF4MF.js +153 -0
  120. package/dist/assets/solr-v_XRf31C.js +80 -0
  121. package/dist/assets/sparql-BrfDqf0-.js +170 -0
  122. package/dist/assets/spreadsheet-Csn84Pef.js +98 -0
  123. package/dist/assets/sql-D4utlq1l.js +480 -0
  124. package/dist/assets/stex-DBkktma-.js +246 -0
  125. package/dist/assets/stylus-ByG-Fd6f.js +750 -0
  126. package/dist/assets/swift-CHbTprt3.js +202 -0
  127. package/dist/assets/tcl-BRlMUELr.js +125 -0
  128. package/dist/assets/textile-CqfTUjd4.js +441 -0
  129. package/dist/assets/tiddlywiki-BrsoM8KB.js +278 -0
  130. package/dist/assets/tiki-D-ivWPkc.js +289 -0
  131. package/dist/assets/toml-t_IhJu83.js +75 -0
  132. package/dist/assets/troff-DckGF2AE.js +64 -0
  133. package/dist/assets/ttcn-B8TAFbRR.js +253 -0
  134. package/dist/assets/ttcn-cfg-NHh25oCM.js +197 -0
  135. package/dist/assets/turtle-D9Js0BlL.js +141 -0
  136. package/dist/assets/ui-app-D31Pr1WY.js +1993 -0
  137. package/dist/assets/ui-content-B7SxH8y9.js +52887 -0
  138. package/dist/assets/ui-controls-nmDJYLmC.js +348 -0
  139. package/dist/assets/ui-data-Ci3b1ye0.js +22901 -0
  140. package/dist/assets/ui-form-Cs5ooOo7.js +159 -0
  141. package/dist/assets/ui-form-fields-DFQi31jT.js +40575 -0
  142. package/dist/assets/ui-helpers-CF-EUlOg.js +1736 -0
  143. package/dist/assets/ui-indicators-mIQeEqha.js +199 -0
  144. package/dist/assets/ui-layout-v2XBQky3.js +320 -0
  145. package/dist/assets/ui-media-WWYrwmZw.js +1259 -0
  146. package/dist/assets/ui-media-advanced-T8ibi153.js +492 -0
  147. package/dist/assets/ui-modals-BdZXzI85.js +2 -0
  148. package/dist/assets/ui-navigation-BtHa6ovW.js +24269 -0
  149. package/dist/assets/utils-DZK5fu48.js +17216 -0
  150. package/dist/assets/vb-CbIGLrpY.js +249 -0
  151. package/dist/assets/vbscript-8ANWle9n.js +320 -0
  152. package/dist/assets/velocity-D6hz3Hzw.js +186 -0
  153. package/dist/assets/verilog-DIV442at.js +565 -0
  154. package/dist/assets/vhdl-BlTiZo_v.js +174 -0
  155. package/dist/assets/vueuse-CTQm4Zh0.js +9308 -0
  156. package/dist/assets/webidl-Cp3tcqdk.js +179 -0
  157. package/dist/assets/xquery-Dd4TBzXv.js +411 -0
  158. package/dist/assets/yacas-DQ1WucF0.js +182 -0
  159. package/dist/assets/z80-P1j44jDI.js +102 -0
  160. package/dist/framework.js +29 -0
  161. package/dist/index.css +18 -0
  162. package/dist/shared/components/draggable-dashboard/composables/useDashboardDragAndDrop.d.ts +4 -4
  163. package/dist/shared/components/notifications/components/notification-container/index.d.ts +6 -6
  164. package/dist/shared/components/notifications/components/notification-container/index.d.ts.map +1 -1
  165. package/dist/shared/modules/assets-manager/components/assets-manager/assets-manager.vue.d.ts +2 -2
  166. package/dist/shared/modules/dynamic/pages/dynamic-blade-form.vue.d.ts +2 -2
  167. package/dist/shared/modules/dynamic/pages/dynamic-blade-list.vue.d.ts +2 -2
  168. package/dist/shared/pages/InvitePage/components/invite/Invite.vue.d.ts +1 -1
  169. package/dist/shared/pages/InvitePage/components/invite/Invite.vue.d.ts.map +1 -1
  170. package/dist/shared/pages/ResetPasswordPage/components/reset-password/ResetPassword.vue.d.ts +1 -1
  171. package/dist/shared/pages/ResetPasswordPage/components/reset-password/ResetPassword.vue.d.ts.map +1 -1
  172. package/dist/tsconfig.tsbuildinfo +1 -1
  173. package/dist/ui/components/atoms/vc-badge/vc-badge.vue.d.ts +1 -1
  174. package/dist/ui/components/atoms/vc-badge/vc-badge.vue.d.ts.map +1 -1
  175. package/dist/ui/components/atoms/vc-container/vc-container.vue.d.ts +2 -2
  176. package/dist/ui/components/atoms/vc-icon/vc-material-icon.vue.d.ts +1 -1
  177. package/dist/ui/components/atoms/vc-icon/vc-material-icon.vue.d.ts.map +1 -1
  178. package/dist/ui/components/atoms/vc-progress/vc-progress.vue.d.ts +1 -1
  179. package/dist/ui/components/atoms/vc-progress/vc-progress.vue.d.ts.map +1 -1
  180. package/dist/ui/components/molecules/vc-editor/vc-editor.vue.d.ts +2 -2
  181. package/dist/ui/components/molecules/vc-file-upload/vc-file-upload.vue.d.ts +2 -2
  182. package/dist/ui/components/molecules/vc-file-upload/vc-file-upload.vue.d.ts.map +1 -1
  183. package/dist/ui/components/molecules/vc-input/vc-input.vue.d.ts +4 -4
  184. package/dist/ui/components/molecules/vc-input/vc-input.vue.d.ts.map +1 -1
  185. package/dist/ui/components/molecules/vc-pagination/vc-pagination.vue.d.ts +1 -1
  186. package/dist/ui/components/molecules/vc-pagination/vc-pagination.vue.d.ts.map +1 -1
  187. package/dist/ui/components/molecules/vc-rating/vc-rating.vue.d.ts +1 -1
  188. package/dist/ui/components/molecules/vc-rating/vc-rating.vue.d.ts.map +1 -1
  189. package/dist/ui/components/molecules/vc-select/vc-select.vue.d.ts +3 -3
  190. package/dist/ui/components/molecules/vc-select/vc-select.vue.d.ts.map +1 -1
  191. package/dist/ui/components/organisms/vc-app/_internal/vc-app-menu/_internal/vc-app-menu-item/vc-app-menu-item.vue.d.ts +1 -1
  192. package/dist/ui/components/organisms/vc-app/_internal/vc-app-menu/_internal/vc-app-menu-item/vc-app-menu-item.vue.d.ts.map +1 -1
  193. package/dist/ui/components/organisms/vc-blade/_internal/vc-blade-toolbar/_internal/vc-blade-toolbar-buttons/_internal/vc-blade-toolbar-button/vc-blade-toolbar-base-button.vue.d.ts +1 -1
  194. package/dist/ui/components/organisms/vc-blade/_internal/vc-blade-toolbar/_internal/vc-blade-toolbar-buttons/_internal/vc-blade-toolbar-button/vc-blade-toolbar-base-button.vue.d.ts.map +1 -1
  195. package/dist/ui/components/organisms/vc-blade/_internal/vc-blade-toolbar/_internal/vc-blade-toolbar-buttons/_internal/vc-blade-toolbar-button/vc-blade-toolbar-button.vue.d.ts +1 -1
  196. package/dist/ui/components/organisms/vc-blade/_internal/vc-blade-toolbar/_internal/vc-blade-toolbar-buttons/_internal/vc-blade-toolbar-button/vc-blade-toolbar-button.vue.d.ts.map +1 -1
  197. package/dist/ui/components/organisms/vc-blade/_internal/vc-blade-toolbar/_internal/vc-blade-toolbar-buttons/_internal/vc-blade-toolbar-button/vc-blade-toolbar-circle-button.vue.d.ts +1 -1
  198. package/dist/ui/components/organisms/vc-blade/_internal/vc-blade-toolbar/_internal/vc-blade-toolbar-buttons/_internal/vc-blade-toolbar-button/vc-blade-toolbar-circle-button.vue.d.ts.map +1 -1
  199. package/dist/ui/components/organisms/vc-blade/vc-blade.vue.d.ts +1 -1
  200. package/dist/ui/components/organisms/vc-blade/vc-blade.vue.d.ts.map +1 -1
  201. package/dist/ui/components/organisms/vc-gallery/_internal/vc-gallery-item/vc-gallery-item.vue.d.ts +2 -2
  202. package/dist/ui/components/organisms/vc-gallery/_internal/vc-gallery-preview/vc-gallery-preview.vue.d.ts +1 -1
  203. package/dist/ui/components/organisms/vc-gallery/_internal/vc-gallery-preview/vc-gallery-preview.vue.d.ts.map +1 -1
  204. package/dist/ui/components/organisms/vc-gallery/vc-gallery.vue.d.ts +3 -3
  205. package/dist/ui/components/organisms/vc-gallery/vc-gallery.vue.d.ts.map +1 -1
  206. package/dist/ui/components/organisms/vc-popup/vc-popup.vue.d.ts +1 -1
  207. package/dist/ui/components/organisms/vc-popup/vc-popup.vue.d.ts.map +1 -1
  208. package/dist/ui/components/organisms/vc-table/_internal/vc-table-counter/vc-table-counter.vue.d.ts +1 -1
  209. package/dist/ui/components/organisms/vc-table/_internal/vc-table-counter/vc-table-counter.vue.d.ts.map +1 -1
  210. package/package.json +4 -4
@@ -0,0 +1,441 @@
1
+ var TOKEN_STYLES = {
2
+ addition: "inserted",
3
+ attributes: "propertyName",
4
+ bold: "strong",
5
+ cite: "keyword",
6
+ code: "monospace",
7
+ definitionList: "list",
8
+ deletion: "deleted",
9
+ div: "punctuation",
10
+ em: "emphasis",
11
+ footnote: "variable",
12
+ footCite: "qualifier",
13
+ header: "heading",
14
+ html: "comment",
15
+ image: "atom",
16
+ italic: "emphasis",
17
+ link: "link",
18
+ linkDefinition: "link",
19
+ list1: "list",
20
+ list2: "list.special",
21
+ list3: "list",
22
+ notextile: "string.special",
23
+ pre: "operator",
24
+ p: "content",
25
+ quote: "bracket",
26
+ span: "quote",
27
+ specialChar: "character",
28
+ strong: "strong",
29
+ sub: "content.special",
30
+ sup: "content.special",
31
+ table: "variableName.special",
32
+ tableHeading: "operator"
33
+ };
34
+
35
+ function startNewLine(stream, state) {
36
+ state.mode = Modes.newLayout;
37
+ state.tableHeading = false;
38
+
39
+ if (state.layoutType === "definitionList" && state.spanningLayout &&
40
+ stream.match(RE("definitionListEnd"), false))
41
+ state.spanningLayout = false;
42
+ }
43
+
44
+ function handlePhraseModifier(stream, state, ch) {
45
+ if (ch === "_") {
46
+ if (stream.eat("_"))
47
+ return togglePhraseModifier(stream, state, "italic", /__/, 2);
48
+ else
49
+ return togglePhraseModifier(stream, state, "em", /_/, 1);
50
+ }
51
+
52
+ if (ch === "*") {
53
+ if (stream.eat("*")) {
54
+ return togglePhraseModifier(stream, state, "bold", /\*\*/, 2);
55
+ }
56
+ return togglePhraseModifier(stream, state, "strong", /\*/, 1);
57
+ }
58
+
59
+ if (ch === "[") {
60
+ if (stream.match(/\d+\]/)) state.footCite = true;
61
+ return tokenStyles(state);
62
+ }
63
+
64
+ if (ch === "(") {
65
+ var spec = stream.match(/^(r|tm|c)\)/);
66
+ if (spec)
67
+ return TOKEN_STYLES.specialChar
68
+ }
69
+
70
+ if (ch === "<" && stream.match(/(\w+)[^>]+>[^<]+<\/\1>/))
71
+ return TOKEN_STYLES.html
72
+
73
+ if (ch === "?" && stream.eat("?"))
74
+ return togglePhraseModifier(stream, state, "cite", /\?\?/, 2);
75
+
76
+ if (ch === "=" && stream.eat("="))
77
+ return togglePhraseModifier(stream, state, "notextile", /==/, 2);
78
+
79
+ if (ch === "-" && !stream.eat("-"))
80
+ return togglePhraseModifier(stream, state, "deletion", /-/, 1);
81
+
82
+ if (ch === "+")
83
+ return togglePhraseModifier(stream, state, "addition", /\+/, 1);
84
+
85
+ if (ch === "~")
86
+ return togglePhraseModifier(stream, state, "sub", /~/, 1);
87
+
88
+ if (ch === "^")
89
+ return togglePhraseModifier(stream, state, "sup", /\^/, 1);
90
+
91
+ if (ch === "%")
92
+ return togglePhraseModifier(stream, state, "span", /%/, 1);
93
+
94
+ if (ch === "@")
95
+ return togglePhraseModifier(stream, state, "code", /@/, 1);
96
+
97
+ if (ch === "!") {
98
+ var type = togglePhraseModifier(stream, state, "image", /(?:\([^\)]+\))?!/, 1);
99
+ stream.match(/^:\S+/); // optional Url portion
100
+ return type;
101
+ }
102
+ return tokenStyles(state);
103
+ }
104
+
105
+ function togglePhraseModifier(stream, state, phraseModifier, closeRE, openSize) {
106
+ var charBefore = stream.pos > openSize ? stream.string.charAt(stream.pos - openSize - 1) : null;
107
+ var charAfter = stream.peek();
108
+ if (state[phraseModifier]) {
109
+ if ((!charAfter || /\W/.test(charAfter)) && charBefore && /\S/.test(charBefore)) {
110
+ var type = tokenStyles(state);
111
+ state[phraseModifier] = false;
112
+ return type;
113
+ }
114
+ } else if ((!charBefore || /\W/.test(charBefore)) && charAfter && /\S/.test(charAfter) &&
115
+ stream.match(new RegExp("^.*\\S" + closeRE.source + "(?:\\W|$)"), false)) {
116
+ state[phraseModifier] = true;
117
+ state.mode = Modes.attributes;
118
+ }
119
+ return tokenStyles(state);
120
+ }
121
+ function tokenStyles(state) {
122
+ var disabled = textileDisabled(state);
123
+ if (disabled) return disabled;
124
+
125
+ var styles = [];
126
+ if (state.layoutType) styles.push(TOKEN_STYLES[state.layoutType]);
127
+
128
+ styles = styles.concat(activeStyles(
129
+ state, "addition", "bold", "cite", "code", "deletion", "em", "footCite",
130
+ "image", "italic", "link", "span", "strong", "sub", "sup", "table", "tableHeading"));
131
+
132
+ if (state.layoutType === "header")
133
+ styles.push(TOKEN_STYLES.header + "-" + state.header);
134
+
135
+ return styles.length ? styles.join(" ") : null;
136
+ }
137
+
138
+ function textileDisabled(state) {
139
+ var type = state.layoutType;
140
+
141
+ switch(type) {
142
+ case "notextile":
143
+ case "code":
144
+ case "pre":
145
+ return TOKEN_STYLES[type];
146
+ default:
147
+ if (state.notextile)
148
+ return TOKEN_STYLES.notextile + (type ? (" " + TOKEN_STYLES[type]) : "");
149
+ return null;
150
+ }
151
+ }
152
+
153
+ function activeStyles(state) {
154
+ var styles = [];
155
+ for (var i = 1; i < arguments.length; ++i) {
156
+ if (state[arguments[i]])
157
+ styles.push(TOKEN_STYLES[arguments[i]]);
158
+ }
159
+ return styles;
160
+ }
161
+
162
+ function blankLine(state) {
163
+ var spanningLayout = state.spanningLayout, type = state.layoutType;
164
+
165
+ for (var key in state) if (state.hasOwnProperty(key))
166
+ delete state[key];
167
+
168
+ state.mode = Modes.newLayout;
169
+ if (spanningLayout) {
170
+ state.layoutType = type;
171
+ state.spanningLayout = true;
172
+ }
173
+ }
174
+
175
+ var REs = {
176
+ cache: {},
177
+ single: {
178
+ bc: "bc",
179
+ bq: "bq",
180
+ definitionList: /- .*?:=+/,
181
+ definitionListEnd: /.*=:\s*$/,
182
+ div: "div",
183
+ drawTable: /\|.*\|/,
184
+ foot: /fn\d+/,
185
+ header: /h[1-6]/,
186
+ html: /\s*<(?:\/)?(\w+)(?:[^>]+)?>(?:[^<]+<\/\1>)?/,
187
+ link: /[^"]+":\S/,
188
+ linkDefinition: /\[[^\s\]]+\]\S+/,
189
+ list: /(?:#+|\*+)/,
190
+ notextile: "notextile",
191
+ para: "p",
192
+ pre: "pre",
193
+ table: "table",
194
+ tableCellAttributes: /[\/\\]\d+/,
195
+ tableHeading: /\|_\./,
196
+ tableText: /[^"_\*\[\(\?\+~\^%@|-]+/,
197
+ text: /[^!"_=\*\[\(<\?\+~\^%@-]+/
198
+ },
199
+ attributes: {
200
+ align: /(?:<>|<|>|=)/,
201
+ selector: /\([^\(][^\)]+\)/,
202
+ lang: /\[[^\[\]]+\]/,
203
+ pad: /(?:\(+|\)+){1,2}/,
204
+ css: /\{[^\}]+\}/
205
+ },
206
+ createRe: function(name) {
207
+ switch (name) {
208
+ case "drawTable":
209
+ return REs.makeRe("^", REs.single.drawTable, "$");
210
+ case "html":
211
+ return REs.makeRe("^", REs.single.html, "(?:", REs.single.html, ")*", "$");
212
+ case "linkDefinition":
213
+ return REs.makeRe("^", REs.single.linkDefinition, "$");
214
+ case "listLayout":
215
+ return REs.makeRe("^", REs.single.list, RE("allAttributes"), "*\\s+");
216
+ case "tableCellAttributes":
217
+ return REs.makeRe("^", REs.choiceRe(REs.single.tableCellAttributes,
218
+ RE("allAttributes")), "+\\.");
219
+ case "type":
220
+ return REs.makeRe("^", RE("allTypes"));
221
+ case "typeLayout":
222
+ return REs.makeRe("^", RE("allTypes"), RE("allAttributes"),
223
+ "*\\.\\.?", "(\\s+|$)");
224
+ case "attributes":
225
+ return REs.makeRe("^", RE("allAttributes"), "+");
226
+
227
+ case "allTypes":
228
+ return REs.choiceRe(REs.single.div, REs.single.foot,
229
+ REs.single.header, REs.single.bc, REs.single.bq,
230
+ REs.single.notextile, REs.single.pre, REs.single.table,
231
+ REs.single.para);
232
+
233
+ case "allAttributes":
234
+ return REs.choiceRe(REs.attributes.selector, REs.attributes.css,
235
+ REs.attributes.lang, REs.attributes.align, REs.attributes.pad);
236
+
237
+ default:
238
+ return REs.makeRe("^", REs.single[name]);
239
+ }
240
+ },
241
+ makeRe: function() {
242
+ var pattern = "";
243
+ for (var i = 0; i < arguments.length; ++i) {
244
+ var arg = arguments[i];
245
+ pattern += (typeof arg === "string") ? arg : arg.source;
246
+ }
247
+ return new RegExp(pattern);
248
+ },
249
+ choiceRe: function() {
250
+ var parts = [arguments[0]];
251
+ for (var i = 1; i < arguments.length; ++i) {
252
+ parts[i * 2 - 1] = "|";
253
+ parts[i * 2] = arguments[i];
254
+ }
255
+
256
+ parts.unshift("(?:");
257
+ parts.push(")");
258
+ return REs.makeRe.apply(null, parts);
259
+ }
260
+ };
261
+
262
+ function RE(name) {
263
+ return (REs.cache[name] || (REs.cache[name] = REs.createRe(name)));
264
+ }
265
+
266
+ var Modes = {
267
+ newLayout: function(stream, state) {
268
+ if (stream.match(RE("typeLayout"), false)) {
269
+ state.spanningLayout = false;
270
+ return (state.mode = Modes.blockType)(stream, state);
271
+ }
272
+ var newMode;
273
+ if (!textileDisabled(state)) {
274
+ if (stream.match(RE("listLayout"), false))
275
+ newMode = Modes.list;
276
+ else if (stream.match(RE("drawTable"), false))
277
+ newMode = Modes.table;
278
+ else if (stream.match(RE("linkDefinition"), false))
279
+ newMode = Modes.linkDefinition;
280
+ else if (stream.match(RE("definitionList")))
281
+ newMode = Modes.definitionList;
282
+ else if (stream.match(RE("html"), false))
283
+ newMode = Modes.html;
284
+ }
285
+ return (state.mode = (newMode || Modes.text))(stream, state);
286
+ },
287
+
288
+ blockType: function(stream, state) {
289
+ var match, type;
290
+ state.layoutType = null;
291
+
292
+ if (match = stream.match(RE("type")))
293
+ type = match[0];
294
+ else
295
+ return (state.mode = Modes.text)(stream, state);
296
+
297
+ if (match = type.match(RE("header"))) {
298
+ state.layoutType = "header";
299
+ state.header = parseInt(match[0][1]);
300
+ } else if (type.match(RE("bq"))) {
301
+ state.layoutType = "quote";
302
+ } else if (type.match(RE("bc"))) {
303
+ state.layoutType = "code";
304
+ } else if (type.match(RE("foot"))) {
305
+ state.layoutType = "footnote";
306
+ } else if (type.match(RE("notextile"))) {
307
+ state.layoutType = "notextile";
308
+ } else if (type.match(RE("pre"))) {
309
+ state.layoutType = "pre";
310
+ } else if (type.match(RE("div"))) {
311
+ state.layoutType = "div";
312
+ } else if (type.match(RE("table"))) {
313
+ state.layoutType = "table";
314
+ }
315
+
316
+ state.mode = Modes.attributes;
317
+ return tokenStyles(state);
318
+ },
319
+
320
+ text: function(stream, state) {
321
+ if (stream.match(RE("text"))) return tokenStyles(state);
322
+
323
+ var ch = stream.next();
324
+ if (ch === '"')
325
+ return (state.mode = Modes.link)(stream, state);
326
+ return handlePhraseModifier(stream, state, ch);
327
+ },
328
+
329
+ attributes: function(stream, state) {
330
+ state.mode = Modes.layoutLength;
331
+
332
+ if (stream.match(RE("attributes")))
333
+ return TOKEN_STYLES.attributes
334
+ else
335
+ return tokenStyles(state);
336
+ },
337
+
338
+ layoutLength: function(stream, state) {
339
+ if (stream.eat(".") && stream.eat("."))
340
+ state.spanningLayout = true;
341
+
342
+ state.mode = Modes.text;
343
+ return tokenStyles(state);
344
+ },
345
+
346
+ list: function(stream, state) {
347
+ var match = stream.match(RE("list"));
348
+ state.listDepth = match[0].length;
349
+ var listMod = (state.listDepth - 1) % 3;
350
+ if (!listMod)
351
+ state.layoutType = "list1";
352
+ else if (listMod === 1)
353
+ state.layoutType = "list2";
354
+ else
355
+ state.layoutType = "list3";
356
+
357
+ state.mode = Modes.attributes;
358
+ return tokenStyles(state);
359
+ },
360
+
361
+ link: function(stream, state) {
362
+ state.mode = Modes.text;
363
+ if (stream.match(RE("link"))) {
364
+ stream.match(/\S+/);
365
+ return TOKEN_STYLES.link
366
+ }
367
+ return tokenStyles(state);
368
+ },
369
+
370
+ linkDefinition: function(stream) {
371
+ stream.skipToEnd();
372
+ return TOKEN_STYLES.linkDefinition
373
+ },
374
+
375
+ definitionList: function(stream, state) {
376
+ stream.match(RE("definitionList"));
377
+
378
+ state.layoutType = "definitionList";
379
+
380
+ if (stream.match(/\s*$/))
381
+ state.spanningLayout = true;
382
+ else
383
+ state.mode = Modes.attributes;
384
+
385
+ return tokenStyles(state);
386
+ },
387
+
388
+ html: function(stream) {
389
+ stream.skipToEnd();
390
+ return TOKEN_STYLES.html
391
+ },
392
+
393
+ table: function(stream, state) {
394
+ state.layoutType = "table";
395
+ return (state.mode = Modes.tableCell)(stream, state);
396
+ },
397
+
398
+ tableCell: function(stream, state) {
399
+ if (stream.match(RE("tableHeading")))
400
+ state.tableHeading = true;
401
+ else
402
+ stream.eat("|");
403
+
404
+ state.mode = Modes.tableCellAttributes;
405
+ return tokenStyles(state);
406
+ },
407
+
408
+ tableCellAttributes: function(stream, state) {
409
+ state.mode = Modes.tableText;
410
+
411
+ if (stream.match(RE("tableCellAttributes")))
412
+ return TOKEN_STYLES.attributes
413
+ else
414
+ return tokenStyles(state);
415
+ },
416
+
417
+ tableText: function(stream, state) {
418
+ if (stream.match(RE("tableText")))
419
+ return tokenStyles(state);
420
+
421
+ if (stream.peek() === "|") { // end of cell
422
+ state.mode = Modes.tableCell;
423
+ return tokenStyles(state);
424
+ }
425
+ return handlePhraseModifier(stream, state, stream.next());
426
+ }
427
+ };
428
+
429
+ const textile = {
430
+ name: "textile",
431
+ startState: function() {
432
+ return { mode: Modes.newLayout };
433
+ },
434
+ token: function(stream, state) {
435
+ if (stream.sol()) startNewLine(stream, state);
436
+ return state.mode(stream, state);
437
+ },
438
+ blankLine: blankLine
439
+ };
440
+
441
+ export { textile };
@@ -0,0 +1,278 @@
1
+ // Tokenizer
2
+ var textwords = {};
3
+
4
+ var keywords = {
5
+ "allTags": true, "closeAll": true, "list": true,
6
+ "newJournal": true, "newTiddler": true,
7
+ "permaview": true, "saveChanges": true,
8
+ "search": true, "slider": true, "tabs": true,
9
+ "tag": true, "tagging": true, "tags": true,
10
+ "tiddler": true, "timeline": true,
11
+ "today": true, "version": true, "option": true,
12
+ "with": true, "filter": true
13
+ };
14
+
15
+ var isSpaceName = /[\w_\-]/i,
16
+ reHR = /^\-\-\-\-+$/, // <hr>
17
+ reWikiCommentStart = /^\/\*\*\*$/, // /***
18
+ reWikiCommentStop = /^\*\*\*\/$/, // ***/
19
+ reBlockQuote = /^<<<$/,
20
+
21
+ reJsCodeStart = /^\/\/\{\{\{$/, // //{{{ js block start
22
+ reJsCodeStop = /^\/\/\}\}\}$/, // //}}} js stop
23
+ reXmlCodeStart = /^<!--\{\{\{-->$/, // xml block start
24
+ reXmlCodeStop = /^<!--\}\}\}-->$/, // xml stop
25
+
26
+ reCodeBlockStart = /^\{\{\{$/, // {{{ TW text div block start
27
+ reCodeBlockStop = /^\}\}\}$/, // }}} TW text stop
28
+
29
+ reUntilCodeStop = /.*?\}\}\}/;
30
+
31
+ function chain(stream, state, f) {
32
+ state.tokenize = f;
33
+ return f(stream, state);
34
+ }
35
+
36
+ function tokenBase(stream, state) {
37
+ var sol = stream.sol(), ch = stream.peek();
38
+
39
+ state.block = false; // indicates the start of a code block.
40
+
41
+ // check start of blocks
42
+ if (sol && /[<\/\*{}\-]/.test(ch)) {
43
+ if (stream.match(reCodeBlockStart)) {
44
+ state.block = true;
45
+ return chain(stream, state, twTokenCode);
46
+ }
47
+ if (stream.match(reBlockQuote))
48
+ return 'quote';
49
+ if (stream.match(reWikiCommentStart) || stream.match(reWikiCommentStop))
50
+ return 'comment';
51
+ if (stream.match(reJsCodeStart) || stream.match(reJsCodeStop) || stream.match(reXmlCodeStart) || stream.match(reXmlCodeStop))
52
+ return 'comment';
53
+ if (stream.match(reHR))
54
+ return 'contentSeparator';
55
+ }
56
+
57
+ stream.next();
58
+ if (sol && /[\/\*!#;:>|]/.test(ch)) {
59
+ if (ch == "!") { // tw header
60
+ stream.skipToEnd();
61
+ return "header";
62
+ }
63
+ if (ch == "*") { // tw list
64
+ stream.eatWhile('*');
65
+ return "comment";
66
+ }
67
+ if (ch == "#") { // tw numbered list
68
+ stream.eatWhile('#');
69
+ return "comment";
70
+ }
71
+ if (ch == ";") { // definition list, term
72
+ stream.eatWhile(';');
73
+ return "comment";
74
+ }
75
+ if (ch == ":") { // definition list, description
76
+ stream.eatWhile(':');
77
+ return "comment";
78
+ }
79
+ if (ch == ">") { // single line quote
80
+ stream.eatWhile(">");
81
+ return "quote";
82
+ }
83
+ if (ch == '|')
84
+ return 'header';
85
+ }
86
+
87
+ if (ch == '{' && stream.match('{{'))
88
+ return chain(stream, state, twTokenCode);
89
+
90
+ // rudimentary html:// file:// link matching. TW knows much more ...
91
+ if (/[hf]/i.test(ch) &&
92
+ /[ti]/i.test(stream.peek()) &&
93
+ stream.match(/\b(ttps?|tp|ile):\/\/[\-A-Z0-9+&@#\/%?=~_|$!:,.;]*[A-Z0-9+&@#\/%=~_|$]/i))
94
+ return "link";
95
+
96
+ // just a little string indicator, don't want to have the whole string covered
97
+ if (ch == '"')
98
+ return 'string';
99
+
100
+ if (ch == '~') // _no_ CamelCase indicator should be bold
101
+ return 'brace';
102
+
103
+ if (/[\[\]]/.test(ch) && stream.match(ch)) // check for [[..]]
104
+ return 'brace';
105
+
106
+ if (ch == "@") { // check for space link. TODO fix @@...@@ highlighting
107
+ stream.eatWhile(isSpaceName);
108
+ return "link";
109
+ }
110
+
111
+ if (/\d/.test(ch)) { // numbers
112
+ stream.eatWhile(/\d/);
113
+ return "number";
114
+ }
115
+
116
+ if (ch == "/") { // tw invisible comment
117
+ if (stream.eat("%")) {
118
+ return chain(stream, state, twTokenComment);
119
+ } else if (stream.eat("/")) { //
120
+ return chain(stream, state, twTokenEm);
121
+ }
122
+ }
123
+
124
+ if (ch == "_" && stream.eat("_")) // tw underline
125
+ return chain(stream, state, twTokenUnderline);
126
+
127
+ // strikethrough and mdash handling
128
+ if (ch == "-" && stream.eat("-")) {
129
+ // if strikethrough looks ugly, change CSS.
130
+ if (stream.peek() != ' ')
131
+ return chain(stream, state, twTokenStrike);
132
+ // mdash
133
+ if (stream.peek() == ' ')
134
+ return 'brace';
135
+ }
136
+
137
+ if (ch == "'" && stream.eat("'")) // tw bold
138
+ return chain(stream, state, twTokenStrong);
139
+
140
+ if (ch == "<" && stream.eat("<")) // tw macro
141
+ return chain(stream, state, twTokenMacro);
142
+
143
+ // core macro handling
144
+ stream.eatWhile(/[\w\$_]/);
145
+ return textwords.propertyIsEnumerable(stream.current()) ? "keyword" : null
146
+ }
147
+
148
+ // tw invisible comment
149
+ function twTokenComment(stream, state) {
150
+ var maybeEnd = false, ch;
151
+ while (ch = stream.next()) {
152
+ if (ch == "/" && maybeEnd) {
153
+ state.tokenize = tokenBase;
154
+ break;
155
+ }
156
+ maybeEnd = (ch == "%");
157
+ }
158
+ return "comment";
159
+ }
160
+
161
+ // tw strong / bold
162
+ function twTokenStrong(stream, state) {
163
+ var maybeEnd = false,
164
+ ch;
165
+ while (ch = stream.next()) {
166
+ if (ch == "'" && maybeEnd) {
167
+ state.tokenize = tokenBase;
168
+ break;
169
+ }
170
+ maybeEnd = (ch == "'");
171
+ }
172
+ return "strong";
173
+ }
174
+
175
+ // tw code
176
+ function twTokenCode(stream, state) {
177
+ var sb = state.block;
178
+
179
+ if (sb && stream.current()) {
180
+ return "comment";
181
+ }
182
+
183
+ if (!sb && stream.match(reUntilCodeStop)) {
184
+ state.tokenize = tokenBase;
185
+ return "comment";
186
+ }
187
+
188
+ if (sb && stream.sol() && stream.match(reCodeBlockStop)) {
189
+ state.tokenize = tokenBase;
190
+ return "comment";
191
+ }
192
+
193
+ stream.next();
194
+ return "comment";
195
+ }
196
+
197
+ // tw em / italic
198
+ function twTokenEm(stream, state) {
199
+ var maybeEnd = false,
200
+ ch;
201
+ while (ch = stream.next()) {
202
+ if (ch == "/" && maybeEnd) {
203
+ state.tokenize = tokenBase;
204
+ break;
205
+ }
206
+ maybeEnd = (ch == "/");
207
+ }
208
+ return "emphasis";
209
+ }
210
+
211
+ // tw underlined text
212
+ function twTokenUnderline(stream, state) {
213
+ var maybeEnd = false,
214
+ ch;
215
+ while (ch = stream.next()) {
216
+ if (ch == "_" && maybeEnd) {
217
+ state.tokenize = tokenBase;
218
+ break;
219
+ }
220
+ maybeEnd = (ch == "_");
221
+ }
222
+ return "link";
223
+ }
224
+
225
+ // tw strike through text looks ugly
226
+ // change CSS if needed
227
+ function twTokenStrike(stream, state) {
228
+ var maybeEnd = false, ch;
229
+
230
+ while (ch = stream.next()) {
231
+ if (ch == "-" && maybeEnd) {
232
+ state.tokenize = tokenBase;
233
+ break;
234
+ }
235
+ maybeEnd = (ch == "-");
236
+ }
237
+ return "deleted";
238
+ }
239
+
240
+ // macro
241
+ function twTokenMacro(stream, state) {
242
+ if (stream.current() == '<<') {
243
+ return 'meta';
244
+ }
245
+
246
+ var ch = stream.next();
247
+ if (!ch) {
248
+ state.tokenize = tokenBase;
249
+ return null;
250
+ }
251
+ if (ch == ">") {
252
+ if (stream.peek() == '>') {
253
+ stream.next();
254
+ state.tokenize = tokenBase;
255
+ return "meta";
256
+ }
257
+ }
258
+
259
+ stream.eatWhile(/[\w\$_]/);
260
+ return keywords.propertyIsEnumerable(stream.current()) ? "keyword" : null
261
+ }
262
+
263
+ // Interface
264
+ const tiddlyWiki = {
265
+ name: "tiddlywiki",
266
+
267
+ startState: function () {
268
+ return {tokenize: tokenBase};
269
+ },
270
+
271
+ token: function (stream, state) {
272
+ if (stream.eatSpace()) return null;
273
+ var style = state.tokenize(stream, state);
274
+ return style;
275
+ }
276
+ };
277
+
278
+ export { tiddlyWiki };