marty 2.4.7 → 2.4.8

Sign up to get free protection for your applications and to get access to all the features.
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,42 +0,0 @@
1
- <!doctype html>
2
- <html>
3
- <head>
4
- <meta charset="utf-8">
5
- <title>CodeMirror: MySQL mode</title>
6
- <link rel="stylesheet" href="../../lib/codemirror.css">
7
- <script src="../../lib/codemirror.js"></script>
8
- <script src="mysql.js"></script>
9
- <style>.CodeMirror {border-top: 1px solid black; border-bottom: 1px solid black;}</style>
10
- <link rel="stylesheet" href="../../doc/docs.css">
11
- </head>
12
- <body>
13
- <h1>CodeMirror: MySQL mode</h1>
14
- <form><textarea id="code" name="code">
15
- -- Comment for the code
16
- -- MySQL Mode for CodeMirror2 by MySQLTools http://github.com/partydroid/MySQL-Tools
17
- SELECT UNIQUE `var1` as `variable`,
18
- MAX(`var5`) as `max`,
19
- MIN(`var5`) as `min`,
20
- STDEV(`var5`) as `dev`
21
- FROM `table`
22
-
23
- LEFT JOIN `table2` ON `var2` = `variable`
24
-
25
- ORDER BY `var3` DESC
26
- GROUP BY `groupvar`
27
-
28
- LIMIT 0,30;
29
-
30
- </textarea></form>
31
- <script>
32
- var editor = CodeMirror.fromTextArea(document.getElementById("code"), {
33
- mode: "text/x-mysql",
34
- tabMode: "indent",
35
- matchBrackets: true
36
- });
37
- </script>
38
-
39
- <p><strong>MIME types defined:</strong> <code>text/x-mysql</code>.</p>
40
-
41
- </body>
42
- </html>
@@ -1,186 +0,0 @@
1
- /*
2
- * MySQL Mode for CodeMirror 2 by MySQL-Tools
3
- * @author James Thorne (partydroid)
4
- * @link http://github.com/partydroid/MySQL-Tools
5
- * @link http://mysqltools.org
6
- * @version 02/Jan/2012
7
- */
8
- CodeMirror.defineMode("mysql", function(config) {
9
- var indentUnit = config.indentUnit;
10
- var curPunc;
11
-
12
- function wordRegexp(words) {
13
- return new RegExp("^(?:" + words.join("|") + ")$", "i");
14
- }
15
- var ops = wordRegexp(["str", "lang", "langmatches", "datatype", "bound", "sameterm", "isiri", "isuri",
16
- "isblank", "isliteral", "union", "a"]);
17
- var keywords = wordRegexp([
18
- ('ACCESSIBLE'),('ALTER'),('AS'),('BEFORE'),('BINARY'),('BY'),('CASE'),('CHARACTER'),('COLUMN'),('CONTINUE'),('CROSS'),('CURRENT_TIMESTAMP'),('DATABASE'),('DAY_MICROSECOND'),('DEC'),('DEFAULT'),
19
- ('DESC'),('DISTINCT'),('DOUBLE'),('EACH'),('ENCLOSED'),('EXIT'),('FETCH'),('FLOAT8'),('FOREIGN'),('GRANT'),('HIGH_PRIORITY'),('HOUR_SECOND'),('IN'),('INNER'),('INSERT'),('INT2'),('INT8'),
20
- ('INTO'),('JOIN'),('KILL'),('LEFT'),('LINEAR'),('LOCALTIME'),('LONG'),('LOOP'),('MATCH'),('MEDIUMTEXT'),('MINUTE_SECOND'),('NATURAL'),('NULL'),('OPTIMIZE'),('OR'),('OUTER'),('PRIMARY'),
21
- ('RANGE'),('READ_WRITE'),('REGEXP'),('REPEAT'),('RESTRICT'),('RIGHT'),('SCHEMAS'),('SENSITIVE'),('SHOW'),('SPECIFIC'),('SQLSTATE'),('SQL_CALC_FOUND_ROWS'),('STARTING'),('TERMINATED'),
22
- ('TINYINT'),('TRAILING'),('UNDO'),('UNLOCK'),('USAGE'),('UTC_DATE'),('VALUES'),('VARCHARACTER'),('WHERE'),('WRITE'),('ZEROFILL'),('ALL'),('AND'),('ASENSITIVE'),('BIGINT'),('BOTH'),('CASCADE'),
23
- ('CHAR'),('COLLATE'),('CONSTRAINT'),('CREATE'),('CURRENT_TIME'),('CURSOR'),('DAY_HOUR'),('DAY_SECOND'),('DECLARE'),('DELETE'),('DETERMINISTIC'),('DIV'),('DUAL'),('ELSEIF'),('EXISTS'),('FALSE'),
24
- ('FLOAT4'),('FORCE'),('FULLTEXT'),('HAVING'),('HOUR_MINUTE'),('IGNORE'),('INFILE'),('INSENSITIVE'),('INT1'),('INT4'),('INTERVAL'),('ITERATE'),('KEYS'),('LEAVE'),('LIMIT'),('LOAD'),('LOCK'),
25
- ('LONGTEXT'),('MASTER_SSL_VERIFY_SERVER_CERT'),('MEDIUMINT'),('MINUTE_MICROSECOND'),('MODIFIES'),('NO_WRITE_TO_BINLOG'),('ON'),('OPTIONALLY'),('OUT'),('PRECISION'),('PURGE'),('READS'),
26
- ('REFERENCES'),('RENAME'),('REQUIRE'),('REVOKE'),('SCHEMA'),('SELECT'),('SET'),('SPATIAL'),('SQLEXCEPTION'),('SQL_BIG_RESULT'),('SSL'),('TABLE'),('TINYBLOB'),('TO'),('TRUE'),('UNIQUE'),
27
- ('UPDATE'),('USING'),('UTC_TIMESTAMP'),('VARCHAR'),('WHEN'),('WITH'),('YEAR_MONTH'),('ADD'),('ANALYZE'),('ASC'),('BETWEEN'),('BLOB'),('CALL'),('CHANGE'),('CHECK'),('CONDITION'),('CONVERT'),
28
- ('CURRENT_DATE'),('CURRENT_USER'),('DATABASES'),('DAY_MINUTE'),('DECIMAL'),('DELAYED'),('DESCRIBE'),('DISTINCTROW'),('DROP'),('ELSE'),('ESCAPED'),('EXPLAIN'),('FLOAT'),('FOR'),('FROM'),
29
- ('GROUP'),('HOUR_MICROSECOND'),('IF'),('INDEX'),('INOUT'),('INT'),('INT3'),('INTEGER'),('IS'),('KEY'),('LEADING'),('LIKE'),('LINES'),('LOCALTIMESTAMP'),('LONGBLOB'),('LOW_PRIORITY'),
30
- ('MEDIUMBLOB'),('MIDDLEINT'),('MOD'),('NOT'),('NUMERIC'),('OPTION'),('ORDER'),('OUTFILE'),('PROCEDURE'),('READ'),('REAL'),('RELEASE'),('REPLACE'),('RETURN'),('RLIKE'),('SECOND_MICROSECOND'),
31
- ('SEPARATOR'),('SMALLINT'),('SQL'),('SQLWARNING'),('SQL_SMALL_RESULT'),('STRAIGHT_JOIN'),('THEN'),('TINYTEXT'),('TRIGGER'),('UNION'),('UNSIGNED'),('USE'),('UTC_TIME'),('VARBINARY'),('VARYING'),
32
- ('WHILE'),('XOR'),('FULL'),('COLUMNS'),('MIN'),('MAX'),('STDEV'),('COUNT')
33
- ]);
34
- var operatorChars = /[*+\-<>=&|]/;
35
-
36
- function tokenBase(stream, state) {
37
- var ch = stream.next();
38
- curPunc = null;
39
- if (ch == "$" || ch == "?") {
40
- stream.match(/^[\w\d]*/);
41
- return "variable-2";
42
- }
43
- else if (ch == "<" && !stream.match(/^[\s\u00a0=]/, false)) {
44
- stream.match(/^[^\s\u00a0>]*>?/);
45
- return "atom";
46
- }
47
- else if (ch == "\"" || ch == "'") {
48
- state.tokenize = tokenLiteral(ch);
49
- return state.tokenize(stream, state);
50
- }
51
- else if (ch == "`") {
52
- state.tokenize = tokenOpLiteral(ch);
53
- return state.tokenize(stream, state);
54
- }
55
- else if (/[{}\(\),\.;\[\]]/.test(ch)) {
56
- curPunc = ch;
57
- return null;
58
- }
59
- else if (ch == "-") {
60
- var ch2 = stream.next();
61
- if (ch2=="-") {
62
- stream.skipToEnd();
63
- return "comment";
64
- }
65
- }
66
- else if (operatorChars.test(ch)) {
67
- stream.eatWhile(operatorChars);
68
- return null;
69
- }
70
- else if (ch == ":") {
71
- stream.eatWhile(/[\w\d\._\-]/);
72
- return "atom";
73
- }
74
- else {
75
- stream.eatWhile(/[_\w\d]/);
76
- if (stream.eat(":")) {
77
- stream.eatWhile(/[\w\d_\-]/);
78
- return "atom";
79
- }
80
- var word = stream.current(), type;
81
- if (ops.test(word))
82
- return null;
83
- else if (keywords.test(word))
84
- return "keyword";
85
- else
86
- return "variable";
87
- }
88
- }
89
-
90
- function tokenLiteral(quote) {
91
- return function(stream, state) {
92
- var escaped = false, ch;
93
- while ((ch = stream.next()) != null) {
94
- if (ch == quote && !escaped) {
95
- state.tokenize = tokenBase;
96
- break;
97
- }
98
- escaped = !escaped && ch == "\\";
99
- }
100
- return "string";
101
- };
102
- }
103
-
104
- function tokenOpLiteral(quote) {
105
- return function(stream, state) {
106
- var escaped = false, ch;
107
- while ((ch = stream.next()) != null) {
108
- if (ch == quote && !escaped) {
109
- state.tokenize = tokenBase;
110
- break;
111
- }
112
- escaped = !escaped && ch == "\\";
113
- }
114
- return "variable-2";
115
- };
116
- }
117
-
118
-
119
- function pushContext(state, type, col) {
120
- state.context = {prev: state.context, indent: state.indent, col: col, type: type};
121
- }
122
- function popContext(state) {
123
- state.indent = state.context.indent;
124
- state.context = state.context.prev;
125
- }
126
-
127
- return {
128
- startState: function(base) {
129
- return {tokenize: tokenBase,
130
- context: null,
131
- indent: 0,
132
- col: 0};
133
- },
134
-
135
- token: function(stream, state) {
136
- if (stream.sol()) {
137
- if (state.context && state.context.align == null) state.context.align = false;
138
- state.indent = stream.indentation();
139
- }
140
- if (stream.eatSpace()) return null;
141
- var style = state.tokenize(stream, state);
142
-
143
- if (style != "comment" && state.context && state.context.align == null && state.context.type != "pattern") {
144
- state.context.align = true;
145
- }
146
-
147
- if (curPunc == "(") pushContext(state, ")", stream.column());
148
- else if (curPunc == "[") pushContext(state, "]", stream.column());
149
- else if (curPunc == "{") pushContext(state, "}", stream.column());
150
- else if (/[\]\}\)]/.test(curPunc)) {
151
- while (state.context && state.context.type == "pattern") popContext(state);
152
- if (state.context && curPunc == state.context.type) popContext(state);
153
- }
154
- else if (curPunc == "." && state.context && state.context.type == "pattern") popContext(state);
155
- else if (/atom|string|variable/.test(style) && state.context) {
156
- if (/[\}\]]/.test(state.context.type))
157
- pushContext(state, "pattern", stream.column());
158
- else if (state.context.type == "pattern" && !state.context.align) {
159
- state.context.align = true;
160
- state.context.col = stream.column();
161
- }
162
- }
163
-
164
- return style;
165
- },
166
-
167
- indent: function(state, textAfter) {
168
- var firstChar = textAfter && textAfter.charAt(0);
169
- var context = state.context;
170
- if (/[\]\}]/.test(firstChar))
171
- while (context && context.type == "pattern") context = context.prev;
172
-
173
- var closing = context && firstChar == context.type;
174
- if (!context)
175
- return 0;
176
- else if (context.type == "pattern")
177
- return context.col;
178
- else if (context.align)
179
- return context.col + (closing ? 0 : 1);
180
- else
181
- return context.indent + (closing ? 0 : indentUnit);
182
- }
183
- };
184
- });
185
-
186
- CodeMirror.defineMIME("text/x-mysql", "mysql");
@@ -1,33 +0,0 @@
1
- <!doctype html>
2
- <html>
3
- <head>
4
- <meta charset="utf-8">
5
- <title>CodeMirror: NTriples mode</title>
6
- <link rel="stylesheet" href="../../lib/codemirror.css">
7
- <script src="../../lib/codemirror.js"></script>
8
- <script src="ntriples.js"></script>
9
- <link rel="stylesheet" href="../../doc/docs.css">
10
- <style type="text/css">
11
- .CodeMirror {
12
- border: 1px solid #eee;
13
- }
14
- </style>
15
- </head>
16
- <body>
17
- <h1>CodeMirror: NTriples mode</h1>
18
- <form>
19
- <textarea id="ntriples" name="ntriples">
20
- <http://Sub1> <http://pred1> <http://obj> .
21
- <http://Sub2> <http://pred2#an2> "literal 1" .
22
- <http://Sub3#an3> <http://pred3> _:bnode3 .
23
- _:bnode4 <http://pred4> "literal 2"@lang .
24
- _:bnode5 <http://pred5> "literal 3"^^<http://type> .
25
- </textarea>
26
- </form>
27
-
28
- <script>
29
- var editor = CodeMirror.fromTextArea(document.getElementById("ntriples"), {});
30
- </script>
31
- <p><strong>MIME types defined:</strong> <code>text/n-triples</code>.</p>
32
- </body>
33
- </html>
@@ -1,172 +0,0 @@
1
- /**********************************************************
2
- * This script provides syntax highlighting support for
3
- * the Ntriples format.
4
- * Ntriples format specification:
5
- * http://www.w3.org/TR/rdf-testcases/#ntriples
6
- ***********************************************************/
7
-
8
- /*
9
- The following expression defines the defined ASF grammar transitions.
10
-
11
- pre_subject ->
12
- {
13
- ( writing_subject_uri | writing_bnode_uri )
14
- -> pre_predicate
15
- -> writing_predicate_uri
16
- -> pre_object
17
- -> writing_object_uri | writing_object_bnode |
18
- (
19
- writing_object_literal
20
- -> writing_literal_lang | writing_literal_type
21
- )
22
- -> post_object
23
- -> BEGIN
24
- } otherwise {
25
- -> ERROR
26
- }
27
- */
28
- CodeMirror.defineMode("ntriples", function() {
29
-
30
- var Location = {
31
- PRE_SUBJECT : 0,
32
- WRITING_SUB_URI : 1,
33
- WRITING_BNODE_URI : 2,
34
- PRE_PRED : 3,
35
- WRITING_PRED_URI : 4,
36
- PRE_OBJ : 5,
37
- WRITING_OBJ_URI : 6,
38
- WRITING_OBJ_BNODE : 7,
39
- WRITING_OBJ_LITERAL : 8,
40
- WRITING_LIT_LANG : 9,
41
- WRITING_LIT_TYPE : 10,
42
- POST_OBJ : 11,
43
- ERROR : 12
44
- };
45
- function transitState(currState, c) {
46
- var currLocation = currState.location;
47
- var ret;
48
-
49
- // Opening.
50
- if (currLocation == Location.PRE_SUBJECT && c == '<') ret = Location.WRITING_SUB_URI;
51
- else if(currLocation == Location.PRE_SUBJECT && c == '_') ret = Location.WRITING_BNODE_URI;
52
- else if(currLocation == Location.PRE_PRED && c == '<') ret = Location.WRITING_PRED_URI;
53
- else if(currLocation == Location.PRE_OBJ && c == '<') ret = Location.WRITING_OBJ_URI;
54
- else if(currLocation == Location.PRE_OBJ && c == '_') ret = Location.WRITING_OBJ_BNODE;
55
- else if(currLocation == Location.PRE_OBJ && c == '"') ret = Location.WRITING_OBJ_LITERAL;
56
-
57
- // Closing.
58
- else if(currLocation == Location.WRITING_SUB_URI && c == '>') ret = Location.PRE_PRED;
59
- else if(currLocation == Location.WRITING_BNODE_URI && c == ' ') ret = Location.PRE_PRED;
60
- else if(currLocation == Location.WRITING_PRED_URI && c == '>') ret = Location.PRE_OBJ;
61
- else if(currLocation == Location.WRITING_OBJ_URI && c == '>') ret = Location.POST_OBJ;
62
- else if(currLocation == Location.WRITING_OBJ_BNODE && c == ' ') ret = Location.POST_OBJ;
63
- else if(currLocation == Location.WRITING_OBJ_LITERAL && c == '"') ret = Location.POST_OBJ;
64
- else if(currLocation == Location.WRITING_LIT_LANG && c == ' ') ret = Location.POST_OBJ;
65
- else if(currLocation == Location.WRITING_LIT_TYPE && c == '>') ret = Location.POST_OBJ;
66
-
67
- // Closing typed and language literal.
68
- else if(currLocation == Location.WRITING_OBJ_LITERAL && c == '@') ret = Location.WRITING_LIT_LANG;
69
- else if(currLocation == Location.WRITING_OBJ_LITERAL && c == '^') ret = Location.WRITING_LIT_TYPE;
70
-
71
- // Spaces.
72
- else if( c == ' ' &&
73
- (
74
- currLocation == Location.PRE_SUBJECT ||
75
- currLocation == Location.PRE_PRED ||
76
- currLocation == Location.PRE_OBJ ||
77
- currLocation == Location.POST_OBJ
78
- )
79
- ) ret = currLocation;
80
-
81
- // Reset.
82
- else if(currLocation == Location.POST_OBJ && c == '.') ret = Location.PRE_SUBJECT;
83
-
84
- // Error
85
- else ret = Location.ERROR;
86
-
87
- currState.location=ret;
88
- }
89
-
90
- var untilSpace = function(c) { return c != ' '; };
91
- var untilEndURI = function(c) { return c != '>'; };
92
- return {
93
- startState: function() {
94
- return {
95
- location : Location.PRE_SUBJECT,
96
- uris : [],
97
- anchors : [],
98
- bnodes : [],
99
- langs : [],
100
- types : []
101
- };
102
- },
103
- token: function(stream, state) {
104
- var ch = stream.next();
105
- if(ch == '<') {
106
- transitState(state, ch);
107
- var parsedURI = '';
108
- stream.eatWhile( function(c) { if( c != '#' && c != '>' ) { parsedURI += c; return true; } return false;} );
109
- state.uris.push(parsedURI);
110
- if( stream.match('#', false) ) return 'variable';
111
- stream.next();
112
- transitState(state, '>');
113
- return 'variable';
114
- }
115
- if(ch == '#') {
116
- var parsedAnchor = '';
117
- stream.eatWhile(function(c) { if(c != '>' && c != ' ') { parsedAnchor+= c; return true; } return false;});
118
- state.anchors.push(parsedAnchor);
119
- return 'variable-2';
120
- }
121
- if(ch == '>') {
122
- transitState(state, '>');
123
- return 'variable';
124
- }
125
- if(ch == '_') {
126
- transitState(state, ch);
127
- var parsedBNode = '';
128
- stream.eatWhile(function(c) { if( c != ' ' ) { parsedBNode += c; return true; } return false;});
129
- state.bnodes.push(parsedBNode);
130
- stream.next();
131
- transitState(state, ' ');
132
- return 'builtin';
133
- }
134
- if(ch == '"') {
135
- transitState(state, ch);
136
- stream.eatWhile( function(c) { return c != '"'; } );
137
- stream.next();
138
- if( stream.peek() != '@' && stream.peek() != '^' ) {
139
- transitState(state, '"');
140
- }
141
- return 'string';
142
- }
143
- if( ch == '@' ) {
144
- transitState(state, '@');
145
- var parsedLang = '';
146
- stream.eatWhile(function(c) { if( c != ' ' ) { parsedLang += c; return true; } return false;});
147
- state.langs.push(parsedLang);
148
- stream.next();
149
- transitState(state, ' ');
150
- return 'string-2';
151
- }
152
- if( ch == '^' ) {
153
- stream.next();
154
- transitState(state, '^');
155
- var parsedType = '';
156
- stream.eatWhile(function(c) { if( c != '>' ) { parsedType += c; return true; } return false;} );
157
- state.types.push(parsedType);
158
- stream.next();
159
- transitState(state, '>');
160
- return 'variable';
161
- }
162
- if( ch == ' ' ) {
163
- transitState(state, ch);
164
- }
165
- if( ch == '.' ) {
166
- transitState(state, ch);
167
- }
168
- }
169
- };
170
- });
171
-
172
- CodeMirror.defineMIME("text/n-triples", "ntriples");
@@ -1,130 +0,0 @@
1
- <!doctype html>
2
- <meta charset=utf-8>
3
- <title>CodeMirror: OCaml mode</title>
4
-
5
- <link rel=stylesheet href=../../lib/codemirror.css>
6
- <link rel=stylesheet href=../../doc/docs.css>
7
-
8
- <style type=text/css>
9
- .CodeMirror {border-top: 1px solid black; border-bottom: 1px solid black;}
10
- </style>
11
-
12
- <script src=../../lib/codemirror.js></script>
13
- <script src=ocaml.js></script>
14
-
15
- <h1>CodeMirror: OCaml mode</h1>
16
-
17
- <textarea id=code>
18
- (* Summing a list of integers *)
19
- let rec sum xs =
20
- match xs with
21
- | [] -&gt; 0
22
- | x :: xs' -&gt; x + sum xs'
23
-
24
- (* Quicksort *)
25
- let rec qsort = function
26
- | [] -&gt; []
27
- | pivot :: rest -&gt;
28
- let is_less x = x &lt; pivot in
29
- let left, right = List.partition is_less rest in
30
- qsort left @ [pivot] @ qsort right
31
-
32
- (* Fibonacci Sequence *)
33
- let rec fib_aux n a b =
34
- match n with
35
- | 0 -&gt; a
36
- | _ -&gt; fib_aux (n - 1) (a + b) a
37
- let fib n = fib_aux n 0 1
38
-
39
- (* Birthday paradox *)
40
- let year_size = 365.
41
-
42
- let rec birthday_paradox prob people =
43
- let prob' = (year_size -. float people) /. year_size *. prob in
44
- if prob' &lt; 0.5 then
45
- Printf.printf "answer = %d\n" (people+1)
46
- else
47
- birthday_paradox prob' (people+1) ;;
48
-
49
- birthday_paradox 1.0 1
50
-
51
- (* Church numerals *)
52
- let zero f x = x
53
- let succ n f x = f (n f x)
54
- let one = succ zero
55
- let two = succ (succ zero)
56
- let add n1 n2 f x = n1 f (n2 f x)
57
- let to_string n = n (fun k -&gt; "S" ^ k) "0"
58
- let _ = to_string (add (succ two) two)
59
-
60
- (* Elementary functions *)
61
- let square x = x * x;;
62
- let rec fact x =
63
- if x &lt;= 1 then 1 else x * fact (x - 1);;
64
-
65
- (* Automatic memory management *)
66
- let l = 1 :: 2 :: 3 :: [];;
67
- [1; 2; 3];;
68
- 5 :: l;;
69
-
70
- (* Polymorphism: sorting lists *)
71
- let rec sort = function
72
- | [] -&gt; []
73
- | x :: l -&gt; insert x (sort l)
74
-
75
- and insert elem = function
76
- | [] -&gt; [elem]
77
- | x :: l -&gt;
78
- if elem &lt; x then elem :: x :: l else x :: insert elem l;;
79
-
80
- (* Imperative features *)
81
- let add_polynom p1 p2 =
82
- let n1 = Array.length p1
83
- and n2 = Array.length p2 in
84
- let result = Array.create (max n1 n2) 0 in
85
- for i = 0 to n1 - 1 do result.(i) &lt;- p1.(i) done;
86
- for i = 0 to n2 - 1 do result.(i) &lt;- result.(i) + p2.(i) done;
87
- result;;
88
- add_polynom [| 1; 2 |] [| 1; 2; 3 |];;
89
-
90
- (* We may redefine fact using a reference cell and a for loop *)
91
- let fact n =
92
- let result = ref 1 in
93
- for i = 2 to n do
94
- result := i * !result
95
- done;
96
- !result;;
97
- fact 5;;
98
-
99
- (* Triangle (graphics) *)
100
- let () =
101
- ignore( Glut.init Sys.argv );
102
- Glut.initDisplayMode ~double_buffer:true ();
103
- ignore (Glut.createWindow ~title:"OpenGL Demo");
104
- let angle t = 10. *. t *. t in
105
- let render () =
106
- GlClear.clear [ `color ];
107
- GlMat.load_identity ();
108
- GlMat.rotate ~angle: (angle (Sys.time ())) ~z:1. ();
109
- GlDraw.begins `triangles;
110
- List.iter GlDraw.vertex2 [-1., -1.; 0., 1.; 1., -1.];
111
- GlDraw.ends ();
112
- Glut.swapBuffers () in
113
- GlMat.mode `modelview;
114
- Glut.displayFunc ~cb:render;
115
- Glut.idleFunc ~cb:(Some Glut.postRedisplay);
116
- Glut.mainLoop ()
117
-
118
- (* A Hundred Lines of Caml - http://caml.inria.fr/about/taste.en.html *)
119
- (* OCaml page on Wikipedia - http://en.wikipedia.org/wiki/OCaml *)
120
- </textarea>
121
-
122
- <script>
123
- var editor = CodeMirror.fromTextArea(document.getElementById('code'), {
124
- mode: 'ocaml',
125
- lineNumbers: true,
126
- matchBrackets: true
127
- });
128
- </script>
129
-
130
- <p><strong>MIME types defined:</strong> <code>text/x-ocaml</code>.</p>