marty 2.4.7 → 2.4.8

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 (225) hide show
  1. checksums.yaml +4 -4
  2. data/Dockerfile.dummy +8 -5
  3. data/Gemfile.lock +1 -1
  4. data/README.md +8 -0
  5. data/app/assets/javascripts/marty/application.js +1 -0
  6. data/app/assets/javascripts/marty/codemirror/codemirror.js +9730 -0
  7. data/app/{components/marty/script_form/client → assets/javascripts/marty/codemirror}/mode/delorean/delorean.js +0 -0
  8. data/app/assets/javascripts/marty/codemirror/mode/javascript/javascript.js +900 -0
  9. data/app/assets/javascripts/marty/codemirror/mode/python/python.js +399 -0
  10. data/app/{components/marty/script_form/client → assets/javascripts/marty/codemirror}/mode/ruby/ruby.js +135 -34
  11. data/app/{components/marty/script_form/client/Ext.ux.form.field.CodeMirror.js → assets/javascripts/marty/extjs/extensions/marty.js} +87 -6
  12. data/app/assets/stylesheets/marty/application.css +1 -13
  13. data/app/assets/stylesheets/marty/codemirror/codemirror.css +346 -0
  14. data/app/{components/marty/script_form/client → assets/stylesheets/marty/codemirror}/delorean.css +0 -0
  15. data/app/components/marty/auth_app/client/auth_app.js +82 -80
  16. data/app/components/marty/data_grid_view.rb +1 -54
  17. data/app/components/marty/data_grid_view/client/data_grid_view.js +49 -0
  18. data/app/components/marty/form.rb +1 -5
  19. data/app/components/marty/form/client/form.js +5 -0
  20. data/app/components/marty/grid.rb +1 -146
  21. data/app/components/marty/grid/client/grid.js +146 -0
  22. data/app/components/marty/import_view.rb +1 -32
  23. data/app/components/marty/import_view/client/import_view.js +32 -0
  24. data/app/components/marty/live_search_grid_panel.rb +1 -21
  25. data/app/components/marty/live_search_grid_panel/client/live_search_grid_panel.js +27 -0
  26. data/app/components/marty/main_auth_app.rb +4 -145
  27. data/app/components/marty/main_auth_app/client/main_auth_app.js +124 -0
  28. data/app/components/marty/mcfly_grid_panel.rb +1 -17
  29. data/app/components/marty/mcfly_grid_panel/client/mcfly_grid_panel.js +37 -0
  30. data/app/components/marty/new_posting_form.rb +1 -6
  31. data/app/components/marty/new_posting_form/client/new_posting_form.js +6 -0
  32. data/app/components/marty/panel.rb +1 -5
  33. data/app/components/marty/panel/client/panel.js +5 -0
  34. data/app/components/marty/posting_grid.rb +4 -55
  35. data/app/components/marty/posting_grid/client/posting_grid.js +50 -0
  36. data/app/components/marty/promise_view.rb +2 -75
  37. data/app/components/marty/promise_view/client/promise_view.css +12 -9
  38. data/app/components/marty/promise_view/client/promise_view.js +57 -0
  39. data/app/components/marty/report_form.rb +3 -69
  40. data/app/components/marty/report_form/client/report_form.js +78 -0
  41. data/app/components/marty/report_select.rb +1 -45
  42. data/app/components/marty/report_select/client/report_select.js +50 -0
  43. data/app/components/marty/reporting.rb +1 -8
  44. data/app/components/marty/reporting/client/reporting.js +8 -0
  45. data/app/components/marty/script_form.rb +2 -63
  46. data/app/components/marty/script_form/client/script_form.js +44 -0
  47. data/app/components/marty/script_tester.rb +1 -7
  48. data/app/components/marty/script_tester/client/script_tester.js +7 -0
  49. data/app/components/marty/scripting.rb +1 -55
  50. data/app/components/marty/scripting/client/scripting.js +62 -0
  51. data/app/components/marty/simple_app/client/simple_app.js +21 -13
  52. data/app/models/marty/promise.rb +22 -1
  53. data/app/views/layouts/marty/application.html.erb +8 -6
  54. data/docker-compose.dummy.yml +2 -0
  55. data/lib/marty/monkey.rb +0 -16
  56. data/lib/marty/version.rb +1 -1
  57. data/spec/dummy/config/initializers/assets.rb +1 -0
  58. data/spec/features/reporting_spec.rb +1 -0
  59. data/spec/features/scripting_spec.rb +4 -4
  60. data/spec/spec_helper.rb +1 -0
  61. data/spec/support/chromedriver.rb +5 -1
  62. data/spec/support/shared_connection_db_helpers.rb +42 -2
  63. metadata +29 -168
  64. data/app/assets/images/marty/.gitkeep +0 -0
  65. data/app/components/marty/mcfly_grid_panel/client/dup_in_form.js +0 -20
  66. data/app/components/marty/script_form/client/codemirror.css +0 -172
  67. data/app/components/marty/script_form/client/codemirror.js +0 -3130
  68. data/app/components/marty/script_form/client/mode/clike/clike.js +0 -284
  69. data/app/components/marty/script_form/client/mode/clike/index.html +0 -102
  70. data/app/components/marty/script_form/client/mode/clike/scala.html +0 -766
  71. data/app/components/marty/script_form/client/mode/clojure/clojure.js +0 -206
  72. data/app/components/marty/script_form/client/mode/clojure/index.html +0 -67
  73. data/app/components/marty/script_form/client/mode/coffeescript/LICENSE +0 -22
  74. data/app/components/marty/script_form/client/mode/coffeescript/coffeescript.js +0 -346
  75. data/app/components/marty/script_form/client/mode/coffeescript/index.html +0 -728
  76. data/app/components/marty/script_form/client/mode/commonlisp/commonlisp.js +0 -101
  77. data/app/components/marty/script_form/client/mode/commonlisp/index.html +0 -165
  78. data/app/components/marty/script_form/client/mode/css/css.js +0 -448
  79. data/app/components/marty/script_form/client/mode/css/index.html +0 -58
  80. data/app/components/marty/script_form/client/mode/css/test.js +0 -501
  81. data/app/components/marty/script_form/client/mode/diff/diff.js +0 -32
  82. data/app/components/marty/script_form/client/mode/diff/index.html +0 -105
  83. data/app/components/marty/script_form/client/mode/ecl/ecl.js +0 -203
  84. data/app/components/marty/script_form/client/mode/ecl/index.html +0 -42
  85. data/app/components/marty/script_form/client/mode/erlang/erlang.js +0 -463
  86. data/app/components/marty/script_form/client/mode/erlang/index.html +0 -63
  87. data/app/components/marty/script_form/client/mode/gfm/gfm.js +0 -150
  88. data/app/components/marty/script_form/client/mode/gfm/index.html +0 -48
  89. data/app/components/marty/script_form/client/mode/go/go.js +0 -170
  90. data/app/components/marty/script_form/client/mode/go/index.html +0 -73
  91. data/app/components/marty/script_form/client/mode/groovy/groovy.js +0 -210
  92. data/app/components/marty/script_form/client/mode/groovy/index.html +0 -72
  93. data/app/components/marty/script_form/client/mode/haskell/haskell.js +0 -242
  94. data/app/components/marty/script_form/client/mode/haskell/index.html +0 -61
  95. data/app/components/marty/script_form/client/mode/haxe/haxe.js +0 -429
  96. data/app/components/marty/script_form/client/mode/haxe/index.html +0 -91
  97. data/app/components/marty/script_form/client/mode/htmlembedded/htmlembedded.js +0 -72
  98. data/app/components/marty/script_form/client/mode/htmlembedded/index.html +0 -50
  99. data/app/components/marty/script_form/client/mode/htmlmixed/htmlmixed.js +0 -84
  100. data/app/components/marty/script_form/client/mode/htmlmixed/index.html +0 -52
  101. data/app/components/marty/script_form/client/mode/javascript/index.html +0 -78
  102. data/app/components/marty/script_form/client/mode/javascript/javascript.js +0 -361
  103. data/app/components/marty/script_form/client/mode/jinja2/index.html +0 -38
  104. data/app/components/marty/script_form/client/mode/jinja2/jinja2.js +0 -42
  105. data/app/components/marty/script_form/client/mode/less/index.html +0 -740
  106. data/app/components/marty/script_form/client/mode/less/less.js +0 -266
  107. data/app/components/marty/script_form/client/mode/lua/index.html +0 -73
  108. data/app/components/marty/script_form/client/mode/lua/lua.js +0 -140
  109. data/app/components/marty/script_form/client/mode/markdown/index.html +0 -343
  110. data/app/components/marty/script_form/client/mode/markdown/markdown.js +0 -382
  111. data/app/components/marty/script_form/client/mode/markdown/test.js +0 -1084
  112. data/app/components/marty/script_form/client/mode/mysql/index.html +0 -42
  113. data/app/components/marty/script_form/client/mode/mysql/mysql.js +0 -186
  114. data/app/components/marty/script_form/client/mode/ntriples/index.html +0 -33
  115. data/app/components/marty/script_form/client/mode/ntriples/ntriples.js +0 -172
  116. data/app/components/marty/script_form/client/mode/ocaml/index.html +0 -130
  117. data/app/components/marty/script_form/client/mode/ocaml/ocaml.js +0 -114
  118. data/app/components/marty/script_form/client/mode/pascal/LICENSE +0 -7
  119. data/app/components/marty/script_form/client/mode/pascal/index.html +0 -49
  120. data/app/components/marty/script_form/client/mode/pascal/pascal.js +0 -94
  121. data/app/components/marty/script_form/client/mode/perl/LICENSE +0 -19
  122. data/app/components/marty/script_form/client/mode/perl/index.html +0 -63
  123. data/app/components/marty/script_form/client/mode/perl/perl.js +0 -816
  124. data/app/components/marty/script_form/client/mode/php/index.html +0 -49
  125. data/app/components/marty/script_form/client/mode/php/php.js +0 -148
  126. data/app/components/marty/script_form/client/mode/pig/index.html +0 -43
  127. data/app/components/marty/script_form/client/mode/pig/pig.js +0 -172
  128. data/app/components/marty/script_form/client/mode/plsql/index.html +0 -63
  129. data/app/components/marty/script_form/client/mode/plsql/plsql.js +0 -217
  130. data/app/components/marty/script_form/client/mode/properties/index.html +0 -41
  131. data/app/components/marty/script_form/client/mode/properties/properties.js +0 -63
  132. data/app/components/marty/script_form/client/mode/python/LICENSE.txt +0 -21
  133. data/app/components/marty/script_form/client/mode/python/index.html +0 -123
  134. data/app/components/marty/script_form/client/mode/python/python.js +0 -338
  135. data/app/components/marty/script_form/client/mode/r/LICENSE +0 -24
  136. data/app/components/marty/script_form/client/mode/r/index.html +0 -74
  137. data/app/components/marty/script_form/client/mode/r/r.js +0 -141
  138. data/app/components/marty/script_form/client/mode/rpm/changes/changes.js +0 -19
  139. data/app/components/marty/script_form/client/mode/rpm/changes/index.html +0 -54
  140. data/app/components/marty/script_form/client/mode/rpm/spec/index.html +0 -100
  141. data/app/components/marty/script_form/client/mode/rpm/spec/spec.css +0 -5
  142. data/app/components/marty/script_form/client/mode/rpm/spec/spec.js +0 -66
  143. data/app/components/marty/script_form/client/mode/rst/index.html +0 -526
  144. data/app/components/marty/script_form/client/mode/rst/rst.js +0 -326
  145. data/app/components/marty/script_form/client/mode/ruby/LICENSE +0 -24
  146. data/app/components/marty/script_form/client/mode/ruby/index.html +0 -172
  147. data/app/components/marty/script_form/client/mode/rust/index.html +0 -49
  148. data/app/components/marty/script_form/client/mode/rust/rust.js +0 -432
  149. data/app/components/marty/script_form/client/mode/scheme/index.html +0 -65
  150. data/app/components/marty/script_form/client/mode/scheme/scheme.js +0 -230
  151. data/app/components/marty/script_form/client/mode/shell/index.html +0 -50
  152. data/app/components/marty/script_form/client/mode/shell/shell.js +0 -118
  153. data/app/components/marty/script_form/client/mode/sieve/LICENSE +0 -23
  154. data/app/components/marty/script_form/client/mode/sieve/index.html +0 -81
  155. data/app/components/marty/script_form/client/mode/sieve/sieve.js +0 -156
  156. data/app/components/marty/script_form/client/mode/smalltalk/index.html +0 -56
  157. data/app/components/marty/script_form/client/mode/smalltalk/smalltalk.js +0 -139
  158. data/app/components/marty/script_form/client/mode/smarty/index.html +0 -83
  159. data/app/components/marty/script_form/client/mode/smarty/smarty.js +0 -148
  160. data/app/components/marty/script_form/client/mode/sparql/index.html +0 -41
  161. data/app/components/marty/script_form/client/mode/sparql/sparql.js +0 -143
  162. data/app/components/marty/script_form/client/mode/stex/index.html +0 -98
  163. data/app/components/marty/script_form/client/mode/stex/stex.js +0 -182
  164. data/app/components/marty/script_form/client/mode/stex/test.js +0 -343
  165. data/app/components/marty/script_form/client/mode/tiddlywiki/index.html +0 -141
  166. data/app/components/marty/script_form/client/mode/tiddlywiki/tiddlywiki.css +0 -14
  167. data/app/components/marty/script_form/client/mode/tiddlywiki/tiddlywiki.js +0 -384
  168. data/app/components/marty/script_form/client/mode/tiki/index.html +0 -83
  169. data/app/components/marty/script_form/client/mode/tiki/tiki.css +0 -26
  170. data/app/components/marty/script_form/client/mode/tiki/tiki.js +0 -309
  171. data/app/components/marty/script_form/client/mode/vb/LICENSE.txt +0 -21
  172. data/app/components/marty/script_form/client/mode/vb/index.html +0 -89
  173. data/app/components/marty/script_form/client/mode/vb/vb.js +0 -260
  174. data/app/components/marty/script_form/client/mode/vbscript/index.html +0 -43
  175. data/app/components/marty/script_form/client/mode/vbscript/vbscript.js +0 -26
  176. data/app/components/marty/script_form/client/mode/velocity/index.html +0 -104
  177. data/app/components/marty/script_form/client/mode/velocity/velocity.js +0 -146
  178. data/app/components/marty/script_form/client/mode/verilog/index.html +0 -211
  179. data/app/components/marty/script_form/client/mode/verilog/verilog.js +0 -194
  180. data/app/components/marty/script_form/client/mode/xml/index.html +0 -45
  181. data/app/components/marty/script_form/client/mode/xml/xml.js +0 -318
  182. data/app/components/marty/script_form/client/mode/xquery/LICENSE +0 -20
  183. data/app/components/marty/script_form/client/mode/xquery/index.html +0 -223
  184. data/app/components/marty/script_form/client/mode/xquery/test/index.html +0 -27
  185. data/app/components/marty/script_form/client/mode/xquery/test/testBase.js +0 -42
  186. data/app/components/marty/script_form/client/mode/xquery/test/testEmptySequenceKeyword.js +0 -16
  187. data/app/components/marty/script_form/client/mode/xquery/test/testMultiAttr.js +0 -16
  188. data/app/components/marty/script_form/client/mode/xquery/test/testNamespaces.js +0 -91
  189. data/app/components/marty/script_form/client/mode/xquery/test/testProcessingInstructions.js +0 -16
  190. data/app/components/marty/script_form/client/mode/xquery/test/testQuotes.js +0 -19
  191. data/app/components/marty/script_form/client/mode/xquery/xquery.js +0 -451
  192. data/app/components/marty/script_form/client/mode/yaml/index.html +0 -68
  193. data/app/components/marty/script_form/client/mode/yaml/yaml.js +0 -95
  194. data/app/components/marty/script_form/client/theme/ambiance.css +0 -81
  195. data/app/components/marty/script_form/client/theme/blackboard.css +0 -25
  196. data/app/components/marty/script_form/client/theme/cobalt.css +0 -18
  197. data/app/components/marty/script_form/client/theme/eclipse.css +0 -25
  198. data/app/components/marty/script_form/client/theme/elegant.css +0 -10
  199. data/app/components/marty/script_form/client/theme/erlang-dark.css +0 -21
  200. data/app/components/marty/script_form/client/theme/lesser-dark.css +0 -44
  201. data/app/components/marty/script_form/client/theme/monokai.css +0 -28
  202. data/app/components/marty/script_form/client/theme/neat.css +0 -9
  203. data/app/components/marty/script_form/client/theme/night.css +0 -21
  204. data/app/components/marty/script_form/client/theme/rubyblue.css +0 -21
  205. data/app/components/marty/script_form/client/theme/vibrant-ink.css +0 -27
  206. data/app/components/marty/script_form/client/theme/xq-dark.css +0 -46
  207. data/app/components/marty/script_form/client/util/closetag.js +0 -164
  208. data/app/components/marty/script_form/client/util/dialog.css +0 -27
  209. data/app/components/marty/script_form/client/util/dialog.js +0 -70
  210. data/app/components/marty/script_form/client/util/foldcode.js +0 -196
  211. data/app/components/marty/script_form/client/util/formatting.js +0 -193
  212. data/app/components/marty/script_form/client/util/javascript-hint.js +0 -134
  213. data/app/components/marty/script_form/client/util/loadmode.js +0 -51
  214. data/app/components/marty/script_form/client/util/match-highlighter.js +0 -44
  215. data/app/components/marty/script_form/client/util/multiplex.js +0 -77
  216. data/app/components/marty/script_form/client/util/overlay.js +0 -54
  217. data/app/components/marty/script_form/client/util/pig-hint.js +0 -123
  218. data/app/components/marty/script_form/client/util/runmode-standalone.js +0 -90
  219. data/app/components/marty/script_form/client/util/runmode.js +0 -53
  220. data/app/components/marty/script_form/client/util/search.js +0 -118
  221. data/app/components/marty/script_form/client/util/searchcursor.js +0 -119
  222. data/app/components/marty/script_form/client/util/simple-hint.css +0 -16
  223. data/app/components/marty/script_form/client/util/simple-hint.js +0 -97
  224. data/app/components/marty/script_form/client/util/xml-hint.js +0 -137
  225. data/lib/marty/javascript/grid_view_in_form.js +0 -81
@@ -1,260 +0,0 @@
1
- CodeMirror.defineMode("vb", function(conf, parserConf) {
2
- var ERRORCLASS = 'error';
3
-
4
- function wordRegexp(words) {
5
- return new RegExp("^((" + words.join(")|(") + "))\\b", "i");
6
- }
7
-
8
- var singleOperators = new RegExp("^[\\+\\-\\*/%&\\\\|\\^~<>!]");
9
- var singleDelimiters = new RegExp('^[\\(\\)\\[\\]\\{\\}@,:`=;\\.]');
10
- var doubleOperators = new RegExp("^((==)|(<>)|(<=)|(>=)|(<>)|(<<)|(>>)|(//)|(\\*\\*))");
11
- var doubleDelimiters = new RegExp("^((\\+=)|(\\-=)|(\\*=)|(%=)|(/=)|(&=)|(\\|=)|(\\^=))");
12
- var tripleDelimiters = new RegExp("^((//=)|(>>=)|(<<=)|(\\*\\*=))");
13
- var identifiers = new RegExp("^[_A-Za-z][_A-Za-z0-9]*");
14
-
15
- var openingKeywords = ['class','module', 'sub','enum','select','while','if','function', 'get','set','property'];
16
- var middleKeywords = ['else','elseif','case'];
17
- var endKeywords = ['next','loop'];
18
-
19
- var wordOperators = wordRegexp(['and', 'or', 'not', 'xor', 'in']);
20
- var commonkeywords = ['as', 'dim', 'break', 'continue','optional', 'then', 'until',
21
- 'goto', 'byval','byref','new','handles','property', 'return',
22
- 'const','private', 'protected', 'friend', 'public', 'shared', 'static', 'true','false'];
23
- var commontypes = ['integer','string','double','decimal','boolean','short','char', 'float','single'];
24
-
25
- var keywords = wordRegexp(commonkeywords);
26
- var types = wordRegexp(commontypes);
27
- var stringPrefixes = '"';
28
-
29
- var opening = wordRegexp(openingKeywords);
30
- var middle = wordRegexp(middleKeywords);
31
- var closing = wordRegexp(endKeywords);
32
- var doubleClosing = wordRegexp(['end']);
33
- var doOpening = wordRegexp(['do']);
34
-
35
- var indentInfo = null;
36
-
37
-
38
-
39
-
40
- function indent(stream, state) {
41
- state.currentIndent++;
42
- }
43
-
44
- function dedent(stream, state) {
45
- state.currentIndent--;
46
- }
47
- // tokenizers
48
- function tokenBase(stream, state) {
49
- if (stream.eatSpace()) {
50
- return null;
51
- }
52
-
53
- var ch = stream.peek();
54
-
55
- // Handle Comments
56
- if (ch === "'") {
57
- stream.skipToEnd();
58
- return 'comment';
59
- }
60
-
61
-
62
- // Handle Number Literals
63
- if (stream.match(/^((&H)|(&O))?[0-9\.a-f]/i, false)) {
64
- var floatLiteral = false;
65
- // Floats
66
- if (stream.match(/^\d*\.\d+F?/i)) { floatLiteral = true; }
67
- else if (stream.match(/^\d+\.\d*F?/)) { floatLiteral = true; }
68
- else if (stream.match(/^\.\d+F?/)) { floatLiteral = true; }
69
-
70
- if (floatLiteral) {
71
- // Float literals may be "imaginary"
72
- stream.eat(/J/i);
73
- return 'number';
74
- }
75
- // Integers
76
- var intLiteral = false;
77
- // Hex
78
- if (stream.match(/^&H[0-9a-f]+/i)) { intLiteral = true; }
79
- // Octal
80
- else if (stream.match(/^&O[0-7]+/i)) { intLiteral = true; }
81
- // Decimal
82
- else if (stream.match(/^[1-9]\d*F?/)) {
83
- // Decimal literals may be "imaginary"
84
- stream.eat(/J/i);
85
- // TODO - Can you have imaginary longs?
86
- intLiteral = true;
87
- }
88
- // Zero by itself with no other piece of number.
89
- else if (stream.match(/^0(?![\dx])/i)) { intLiteral = true; }
90
- if (intLiteral) {
91
- // Integer literals may be "long"
92
- stream.eat(/L/i);
93
- return 'number';
94
- }
95
- }
96
-
97
- // Handle Strings
98
- if (stream.match(stringPrefixes)) {
99
- state.tokenize = tokenStringFactory(stream.current());
100
- return state.tokenize(stream, state);
101
- }
102
-
103
- // Handle operators and Delimiters
104
- if (stream.match(tripleDelimiters) || stream.match(doubleDelimiters)) {
105
- return null;
106
- }
107
- if (stream.match(doubleOperators)
108
- || stream.match(singleOperators)
109
- || stream.match(wordOperators)) {
110
- return 'operator';
111
- }
112
- if (stream.match(singleDelimiters)) {
113
- return null;
114
- }
115
- if (stream.match(doOpening)) {
116
- indent(stream,state);
117
- state.doInCurrentLine = true;
118
- return 'keyword';
119
- }
120
- if (stream.match(opening)) {
121
- if (! state.doInCurrentLine)
122
- indent(stream,state);
123
- else
124
- state.doInCurrentLine = false;
125
- return 'keyword';
126
- }
127
- if (stream.match(middle)) {
128
- return 'keyword';
129
- }
130
-
131
- if (stream.match(doubleClosing)) {
132
- dedent(stream,state);
133
- dedent(stream,state);
134
- return 'keyword';
135
- }
136
- if (stream.match(closing)) {
137
- dedent(stream,state);
138
- return 'keyword';
139
- }
140
-
141
- if (stream.match(types)) {
142
- return 'keyword';
143
- }
144
-
145
- if (stream.match(keywords)) {
146
- return 'keyword';
147
- }
148
-
149
- if (stream.match(identifiers)) {
150
- return 'variable';
151
- }
152
-
153
- // Handle non-detected items
154
- stream.next();
155
- return ERRORCLASS;
156
- }
157
-
158
- function tokenStringFactory(delimiter) {
159
- var singleline = delimiter.length == 1;
160
- var OUTCLASS = 'string';
161
-
162
- return function tokenString(stream, state) {
163
- while (!stream.eol()) {
164
- stream.eatWhile(/[^'"]/);
165
- if (stream.match(delimiter)) {
166
- state.tokenize = tokenBase;
167
- return OUTCLASS;
168
- } else {
169
- stream.eat(/['"]/);
170
- }
171
- }
172
- if (singleline) {
173
- if (parserConf.singleLineStringErrors) {
174
- return ERRORCLASS;
175
- } else {
176
- state.tokenize = tokenBase;
177
- }
178
- }
179
- return OUTCLASS;
180
- };
181
- }
182
-
183
-
184
- function tokenLexer(stream, state) {
185
- var style = state.tokenize(stream, state);
186
- var current = stream.current();
187
-
188
- // Handle '.' connected identifiers
189
- if (current === '.') {
190
- style = state.tokenize(stream, state);
191
- current = stream.current();
192
- if (style === 'variable') {
193
- return 'variable';
194
- } else {
195
- return ERRORCLASS;
196
- }
197
- }
198
-
199
-
200
- var delimiter_index = '[({'.indexOf(current);
201
- if (delimiter_index !== -1) {
202
- indent(stream, state );
203
- }
204
- if (indentInfo === 'dedent') {
205
- if (dedent(stream, state)) {
206
- return ERRORCLASS;
207
- }
208
- }
209
- delimiter_index = '])}'.indexOf(current);
210
- if (delimiter_index !== -1) {
211
- if (dedent(stream, state)) {
212
- return ERRORCLASS;
213
- }
214
- }
215
-
216
- return style;
217
- }
218
-
219
- var external = {
220
- electricChars:"dDpPtTfFeE ",
221
- startState: function(basecolumn) {
222
- return {
223
- tokenize: tokenBase,
224
- lastToken: null,
225
- currentIndent: 0,
226
- nextLineIndent: 0,
227
- doInCurrentLine: false
228
-
229
-
230
- };
231
- },
232
-
233
- token: function(stream, state) {
234
- if (stream.sol()) {
235
- state.currentIndent += state.nextLineIndent;
236
- state.nextLineIndent = 0;
237
- state.doInCurrentLine = 0;
238
- }
239
- var style = tokenLexer(stream, state);
240
-
241
- state.lastToken = {style:style, content: stream.current()};
242
-
243
-
244
-
245
- return style;
246
- },
247
-
248
- indent: function(state, textAfter) {
249
- var trueText = textAfter.replace(/^\s+|\s+$/g, '') ;
250
- if (trueText.match(closing) || trueText.match(doubleClosing) || trueText.match(middle)) return conf.indentUnit*(state.currentIndent-1);
251
- if(state.currentIndent < 0) return 0;
252
- return state.currentIndent * conf.indentUnit;
253
- }
254
-
255
- };
256
- return external;
257
- });
258
-
259
- CodeMirror.defineMIME("text/x-vb", "vb");
260
-
@@ -1,43 +0,0 @@
1
- <!doctype html>
2
- <html>
3
- <head>
4
- <meta charset="utf-8">
5
- <title>CodeMirror: VBScript mode</title>
6
- <link rel="stylesheet" href="../../lib/codemirror.css">
7
- <script src="../../lib/codemirror.js"></script>
8
- <script src="vbscript.js"></script>
9
- <link rel="stylesheet" href="../../doc/docs.css">
10
- <style type="text/css">.CodeMirror {border-top: 1px solid black; border-bottom: 1px solid black;}</style>
11
- </head>
12
- <body>
13
- <h1>CodeMirror: VBScript mode</h1>
14
-
15
- <div><textarea id="code" name="code">
16
- ' Pete Guhl
17
- ' 03-04-2012
18
- '
19
- ' Basic VBScript support for codemirror2
20
-
21
- Const ForReading = 1, ForWriting = 2, ForAppending = 8
22
-
23
- Call Sub020_PostBroadcastToUrbanAirship(strUserName, strPassword, intTransmitID, strResponse)
24
-
25
- If Not IsNull(strResponse) AND Len(strResponse) = 0 Then
26
- boolTransmitOkYN = False
27
- Else
28
- ' WScript.Echo "Oh Happy Day! Oh Happy DAY!"
29
- boolTransmitOkYN = True
30
- End If
31
- </textarea></div>
32
-
33
- <script>
34
- var editor = CodeMirror.fromTextArea(document.getElementById("code"), {
35
- lineNumbers: true,
36
- matchBrackets: true
37
- });
38
- </script>
39
-
40
- <p><strong>MIME types defined:</strong> <code>text/vbscript</code>.</p>
41
- </body>
42
- </html>
43
-
@@ -1,26 +0,0 @@
1
- CodeMirror.defineMode("vbscript", function() {
2
- var regexVBScriptKeyword = /^(?:Call|Case|CDate|Clear|CInt|CLng|Const|CStr|Description|Dim|Do|Each|Else|ElseIf|End|Err|Error|Exit|False|For|Function|If|LCase|Loop|LTrim|Next|Nothing|Now|Number|On|Preserve|Quit|ReDim|Resume|RTrim|Select|Set|Sub|Then|To|Trim|True|UBound|UCase|Until|VbCr|VbCrLf|VbLf|VbTab)$/im;
3
-
4
- return {
5
- token: function(stream) {
6
- if (stream.eatSpace()) return null;
7
- var ch = stream.next();
8
- if (ch == "'") {
9
- stream.skipToEnd();
10
- return "comment";
11
- }
12
- if (ch == '"') {
13
- stream.skipTo('"');
14
- return "string";
15
- }
16
-
17
- if (/\w/.test(ch)) {
18
- stream.eatWhile(/\w/);
19
- if (regexVBScriptKeyword.test(stream.current())) return "keyword";
20
- }
21
- return null;
22
- }
23
- };
24
- });
25
-
26
- CodeMirror.defineMIME("text/vbscript", "vbscript");
@@ -1,104 +0,0 @@
1
- <!doctype html>
2
- <html>
3
- <head>
4
- <meta charset="utf-8">
5
- <title>CodeMirror: Velocity mode</title>
6
- <link rel="stylesheet" href="../../lib/codemirror.css">
7
- <script src="../../lib/codemirror.js"></script>
8
- <script src="velocity.js"></script>
9
- <link rel="stylesheet" href="../../theme/night.css">
10
- <style>.CodeMirror {border: 1px solid black;}</style>
11
- <link rel="stylesheet" href="../../doc/docs.css">
12
- </head>
13
- <body>
14
- <h1>CodeMirror: Velocity mode</h1>
15
- <form><textarea id="code" name="code">
16
- ## Velocity Code Demo
17
- #*
18
- based on PL/SQL mode by Peter Raganitsch, adapted to Velocity by Steve O'Hara ( http://www.pivotal-solutions.co.uk )
19
- August 2011
20
- *#
21
-
22
- #*
23
- This is a multiline comment.
24
- This is the second line
25
- *#
26
-
27
- #[[ hello steve
28
- This has invalid syntax that would normally need "poor man's escaping" like:
29
-
30
- #define()
31
-
32
- ${blah
33
- ]]#
34
-
35
- #include( "disclaimer.txt" "opinion.txt" )
36
- #include( $foo $bar )
37
-
38
- #parse( "lecorbusier.vm" )
39
- #parse( $foo )
40
-
41
- #evaluate( 'string with VTL #if(true)will be displayed#end' )
42
-
43
- #define( $hello ) Hello $who #end #set( $who = "World!") $hello ## displays Hello World!
44
-
45
- #foreach( $customer in $customerList )
46
-
47
- $foreach.count $customer.Name
48
-
49
- #if( $foo == ${bar})
50
- it's true!
51
- #break
52
- #{else}
53
- it's not!
54
- #stop
55
- #end
56
-
57
- #if ($foreach.parent.hasNext)
58
- $velocityCount
59
- #end
60
- #end
61
-
62
- $someObject.getValues("this is a string split
63
- across lines")
64
-
65
- #macro( tablerows $color $somelist )
66
- #foreach( $something in $somelist )
67
- <tr><td bgcolor=$color>$something</td></tr>
68
- #end
69
- #end
70
-
71
- #tablerows("red" ["dadsdf","dsa"])
72
-
73
- Variable reference: #set( $monkey = $bill )
74
- String literal: #set( $monkey.Friend = 'monica' )
75
- Property reference: #set( $monkey.Blame = $whitehouse.Leak )
76
- Method reference: #set( $monkey.Plan = $spindoctor.weave($web) )
77
- Number literal: #set( $monkey.Number = 123 )
78
- Range operator: #set( $monkey.Numbers = [1..3] )
79
- Object list: #set( $monkey.Say = ["Not", $my, "fault"] )
80
- Object map: #set( $monkey.Map = {"banana" : "good", "roast beef" : "bad"})
81
-
82
- The RHS can also be a simple arithmetic expression, such as:
83
- Addition: #set( $value = $foo + 1 )
84
- Subtraction: #set( $value = $bar - 1 )
85
- Multiplication: #set( $value = $foo * $bar )
86
- Division: #set( $value = $foo / $bar )
87
- Remainder: #set( $value = $foo % $bar )
88
-
89
- </textarea></form>
90
- <script>
91
- var editor = CodeMirror.fromTextArea(document.getElementById("code"), {
92
- tabMode: "indent",
93
- matchBrackets: true,
94
- theme: "night",
95
- lineNumbers: true,
96
- indentUnit: 4,
97
- mode: "text/velocity"
98
- });
99
- </script>
100
-
101
- <p><strong>MIME types defined:</strong> <code>text/velocity</code>.</p>
102
-
103
- </body>
104
- </html>
@@ -1,146 +0,0 @@
1
- CodeMirror.defineMode("velocity", function(config) {
2
- function parseWords(str) {
3
- var obj = {}, words = str.split(" ");
4
- for (var i = 0; i < words.length; ++i) obj[words[i]] = true;
5
- return obj;
6
- }
7
-
8
- var indentUnit = config.indentUnit;
9
- var keywords = parseWords("#end #else #break #stop #[[ #]] " +
10
- "#{end} #{else} #{break} #{stop}");
11
- var functions = parseWords("#if #elseif #foreach #set #include #parse #macro #define #evaluate " +
12
- "#{if} #{elseif} #{foreach} #{set} #{include} #{parse} #{macro} #{define} #{evaluate}");
13
- var specials = parseWords("$foreach.count $foreach.hasNext $foreach.first $foreach.last $foreach.topmost $foreach.parent $velocityCount");
14
- var isOperatorChar = /[+\-*&%=<>!?:\/|]/;
15
- var multiLineStrings =true;
16
-
17
- function chain(stream, state, f) {
18
- state.tokenize = f;
19
- return f(stream, state);
20
- }
21
- function tokenBase(stream, state) {
22
- var beforeParams = state.beforeParams;
23
- state.beforeParams = false;
24
- var ch = stream.next();
25
- // start of string?
26
- if ((ch == '"' || ch == "'") && state.inParams)
27
- return chain(stream, state, tokenString(ch));
28
- // is it one of the special signs []{}().,;? Seperator?
29
- else if (/[\[\]{}\(\),;\.]/.test(ch)) {
30
- if (ch == "(" && beforeParams) state.inParams = true;
31
- else if (ch == ")") state.inParams = false;
32
- return null;
33
- }
34
- // start of a number value?
35
- else if (/\d/.test(ch)) {
36
- stream.eatWhile(/[\w\.]/);
37
- return "number";
38
- }
39
- // multi line comment?
40
- else if (ch == "#" && stream.eat("*")) {
41
- return chain(stream, state, tokenComment);
42
- }
43
- // unparsed content?
44
- else if (ch == "#" && stream.match(/ *\[ *\[/)) {
45
- return chain(stream, state, tokenUnparsed);
46
- }
47
- // single line comment?
48
- else if (ch == "#" && stream.eat("#")) {
49
- stream.skipToEnd();
50
- return "comment";
51
- }
52
- // variable?
53
- else if (ch == "$") {
54
- stream.eatWhile(/[\w\d\$_\.{}]/);
55
- // is it one of the specials?
56
- if (specials && specials.propertyIsEnumerable(stream.current().toLowerCase())) {
57
- return "keyword";
58
- }
59
- else {
60
- state.beforeParams = true;
61
- return "builtin";
62
- }
63
- }
64
- // is it a operator?
65
- else if (isOperatorChar.test(ch)) {
66
- stream.eatWhile(isOperatorChar);
67
- return "operator";
68
- }
69
- else {
70
- // get the whole word
71
- stream.eatWhile(/[\w\$_{}]/);
72
- var word = stream.current().toLowerCase();
73
- // is it one of the listed keywords?
74
- if (keywords && keywords.propertyIsEnumerable(word))
75
- return "keyword";
76
- // is it one of the listed functions?
77
- if (functions && functions.propertyIsEnumerable(word) ||
78
- stream.current().match(/^#[a-z0-9_]+ *$/i) && stream.peek()=="(") {
79
- state.beforeParams = true;
80
- return "keyword";
81
- }
82
- // default: just a "word"
83
- return null;
84
- }
85
- }
86
-
87
- function tokenString(quote) {
88
- return function(stream, state) {
89
- var escaped = false, next, end = false;
90
- while ((next = stream.next()) != null) {
91
- if (next == quote && !escaped) {
92
- end = true;
93
- break;
94
- }
95
- escaped = !escaped && next == "\\";
96
- }
97
- if (end) state.tokenize = tokenBase;
98
- return "string";
99
- };
100
- }
101
-
102
- function tokenComment(stream, state) {
103
- var maybeEnd = false, ch;
104
- while (ch = stream.next()) {
105
- if (ch == "#" && maybeEnd) {
106
- state.tokenize = tokenBase;
107
- break;
108
- }
109
- maybeEnd = (ch == "*");
110
- }
111
- return "comment";
112
- }
113
-
114
- function tokenUnparsed(stream, state) {
115
- var maybeEnd = 0, ch;
116
- while (ch = stream.next()) {
117
- if (ch == "#" && maybeEnd == 2) {
118
- state.tokenize = tokenBase;
119
- break;
120
- }
121
- if (ch == "]")
122
- maybeEnd++;
123
- else if (ch != " ")
124
- maybeEnd = 0;
125
- }
126
- return "meta";
127
- }
128
- // Interface
129
-
130
- return {
131
- startState: function(basecolumn) {
132
- return {
133
- tokenize: tokenBase,
134
- beforeParams: false,
135
- inParams: false
136
- };
137
- },
138
-
139
- token: function(stream, state) {
140
- if (stream.eatSpace()) return null;
141
- return state.tokenize(stream, state);
142
- }
143
- };
144
- });
145
-
146
- CodeMirror.defineMIME("text/velocity", "velocity");