codemirror-rails 3.12 → 3.13

Sign up to get free protection for your applications and to get access to all the features.
Files changed (49) hide show
  1. checksums.yaml +4 -4
  2. data/codemirror-rails.gemspec +1 -1
  3. data/lib/codemirror/rails/version.rb +2 -2
  4. data/vendor/assets/javascripts/codemirror.js +168 -116
  5. data/vendor/assets/javascripts/codemirror/addons/comment/comment.js +144 -0
  6. data/vendor/assets/javascripts/codemirror/addons/display/placeholder.js +4 -4
  7. data/vendor/assets/javascripts/codemirror/addons/edit/closebrackets.js +2 -2
  8. data/vendor/assets/javascripts/codemirror/addons/fold/brace-fold.js +9 -3
  9. data/vendor/assets/javascripts/codemirror/addons/lint/lint.js +13 -13
  10. data/vendor/assets/javascripts/codemirror/addons/runmode/runmode.js +5 -1
  11. data/vendor/assets/javascripts/codemirror/addons/runmode/runmode.node.js +13 -1
  12. data/vendor/assets/javascripts/codemirror/addons/search/match-highlighter.js +4 -4
  13. data/vendor/assets/javascripts/codemirror/addons/search/search.js +1 -1
  14. data/vendor/assets/javascripts/codemirror/addons/search/searchcursor.js +15 -5
  15. data/vendor/assets/javascripts/codemirror/addons/selection/active-line.js +6 -6
  16. data/vendor/assets/javascripts/codemirror/addons/selection/mark-selection.js +89 -15
  17. data/vendor/assets/javascripts/codemirror/keymaps/vim.js +451 -187
  18. data/vendor/assets/javascripts/codemirror/modes/clike.js +6 -3
  19. data/vendor/assets/javascripts/codemirror/modes/clojure.js +3 -1
  20. data/vendor/assets/javascripts/codemirror/modes/cobol.js +240 -0
  21. data/vendor/assets/javascripts/codemirror/modes/coffeescript.js +2 -1
  22. data/vendor/assets/javascripts/codemirror/modes/commonlisp.js +5 -1
  23. data/vendor/assets/javascripts/codemirror/modes/css.js +63 -24
  24. data/vendor/assets/javascripts/codemirror/modes/erlang.js +3 -2
  25. data/vendor/assets/javascripts/codemirror/modes/gas.js +5 -1
  26. data/vendor/assets/javascripts/codemirror/modes/go.js +4 -1
  27. data/vendor/assets/javascripts/codemirror/modes/haml.js +153 -0
  28. data/vendor/assets/javascripts/codemirror/modes/haskell.js +5 -1
  29. data/vendor/assets/javascripts/codemirror/modes/javascript.js +5 -1
  30. data/vendor/assets/javascripts/codemirror/modes/less.js +0 -8
  31. data/vendor/assets/javascripts/codemirror/modes/lua.js +5 -1
  32. data/vendor/assets/javascripts/codemirror/modes/markdown.js +2 -2
  33. data/vendor/assets/javascripts/codemirror/modes/ocaml.js +4 -1
  34. data/vendor/assets/javascripts/codemirror/modes/php.js +3 -0
  35. data/vendor/assets/javascripts/codemirror/modes/python.js +2 -1
  36. data/vendor/assets/javascripts/codemirror/modes/ruby.js +2 -1
  37. data/vendor/assets/javascripts/codemirror/modes/rust.js +4 -1
  38. data/vendor/assets/javascripts/codemirror/modes/sass.js +8 -27
  39. data/vendor/assets/javascripts/codemirror/modes/scheme.js +3 -1
  40. data/vendor/assets/javascripts/codemirror/modes/smalltalk.js +6 -4
  41. data/vendor/assets/javascripts/codemirror/modes/sql.js +3 -4
  42. data/vendor/assets/javascripts/codemirror/modes/stex.js +1 -1
  43. data/vendor/assets/javascripts/codemirror/modes/xml.js +2 -0
  44. data/vendor/assets/javascripts/codemirror/modes/yaml.js +3 -1
  45. data/vendor/assets/stylesheets/codemirror.css +7 -4
  46. data/vendor/assets/stylesheets/codemirror/addons/lint/lint.css +3 -3
  47. data/vendor/assets/stylesheets/codemirror/themes/rubyblue.css +1 -1
  48. metadata +14 -6
  49. data/vendor/assets/javascripts/codemirror/modes/test.js +0 -64
@@ -51,7 +51,7 @@ CodeMirror.defineMode("sql", function(config, parserConfig) {
51
51
  return state.tokenize(stream, state);
52
52
  } else if (ch == ".") {
53
53
  // .1 for 0.1
54
- if (stream.match(/^[0-9eE]+/) && support.zerolessFloat == true) {
54
+ if (support.zerolessFloat == true && stream.match(/^(?:\d+(?:e\d*)?|\d*e\d+)/i)) {
55
55
  return "number";
56
56
  }
57
57
  // .table_name (ODBC)
@@ -166,10 +166,9 @@ CodeMirror.defineMode("sql", function(config, parserConfig) {
166
166
 
167
167
  // `identifier`
168
168
  function hookIdentifier(stream) {
169
- var escaped = false, ch;
169
+ var ch;
170
170
  while ((ch = stream.next()) != null) {
171
- if (ch == "`" && !escaped) return "variable-2";
172
- escaped = !escaped && ch == "`";
171
+ if (ch == "`" && !stream.eat("`")) return "variable-2";
173
172
  }
174
173
  return null;
175
174
  }
@@ -95,7 +95,7 @@ CodeMirror.defineMode("stex", function() {
95
95
  }
96
96
 
97
97
  // white space control characters
98
- if (source.match(/^\\[,;!\/]/)) {
98
+ if (source.match(/^\\[,;!\/\\]/)) {
99
99
  return "tag";
100
100
  }
101
101
 
@@ -317,6 +317,8 @@ CodeMirror.defineMode("xml", function(config, parserConfig) {
317
317
  },
318
318
 
319
319
  electricChars: "/",
320
+ blockCommentStart: "<!--",
321
+ blockCommentEnd: "-->",
320
322
 
321
323
  configuration: parserConfig.htmlMode ? "html" : "xml"
322
324
  };
@@ -9,7 +9,9 @@ CodeMirror.defineMode("yaml", function() {
9
9
  var esc = state.escaped;
10
10
  state.escaped = false;
11
11
  /* comments */
12
- if (ch == "#") { stream.skipToEnd(); return "comment"; }
12
+ if (ch == "#" && (stream.pos == 0 || /\s/.test(stream.string.charAt(stream.pos - 1)))) {
13
+ stream.skipToEnd(); return "comment";
14
+ }
13
15
  if (state.literal && stream.indentation() > state.keyCol) {
14
16
  stream.skipToEnd(); return "string";
15
17
  } else if (state.literal) { state.literal = false; }
@@ -19,7 +19,7 @@
19
19
  padding: 0 4px; /* Horizontal padding of content */
20
20
  }
21
21
 
22
- .CodeMirror-scrollbar-filler {
22
+ .CodeMirror-scrollbar-filler, .CodeMirror-gutter-filler {
23
23
  background-color: white; /* The little square between H and V scrollbars */
24
24
  }
25
25
 
@@ -28,6 +28,7 @@
28
28
  .CodeMirror-gutters {
29
29
  border-right: 1px solid #ddd;
30
30
  background-color: #f7f7f7;
31
+ white-space: nowrap;
31
32
  }
32
33
  .CodeMirror-linenumbers {}
33
34
  .CodeMirror-linenumber {
@@ -124,7 +125,7 @@ div.CodeMirror span.CodeMirror-nonmatchingbracket {color: #f22;}
124
125
  /* The fake, visible scrollbars. Used to force redraw during scrolling
125
126
  before actuall scrolling happens, thus preventing shaking and
126
127
  flickering artifacts. */
127
- .CodeMirror-vscrollbar, .CodeMirror-hscrollbar, .CodeMirror-scrollbar-filler {
128
+ .CodeMirror-vscrollbar, .CodeMirror-hscrollbar, .CodeMirror-scrollbar-filler, .CodeMirror-gutter-filler {
128
129
  position: absolute;
129
130
  z-index: 6;
130
131
  display: none;
@@ -141,16 +142,18 @@ div.CodeMirror span.CodeMirror-nonmatchingbracket {color: #f22;}
141
142
  }
142
143
  .CodeMirror-scrollbar-filler {
143
144
  right: 0; bottom: 0;
144
- z-index: 6;
145
+ }
146
+ .CodeMirror-gutter-filler {
147
+ left: 0; bottom: 0;
145
148
  }
146
149
 
147
150
  .CodeMirror-gutters {
148
151
  position: absolute; left: 0; top: 0;
149
- height: 100%;
150
152
  padding-bottom: 30px;
151
153
  z-index: 3;
152
154
  }
153
155
  .CodeMirror-gutter {
156
+ white-space: normal;
154
157
  height: 100%;
155
158
  padding-bottom: 30px;
156
159
  margin-bottom: -32px;
@@ -24,18 +24,18 @@
24
24
  -ms-transition: opacity .4s;
25
25
  }
26
26
 
27
- .CodeMirror-lint-span-error, .CodeMirror-lint-span-warning {
27
+ .CodeMirror-lint-mark-error, .CodeMirror-lint-mark-warning {
28
28
  background-position: left bottom;
29
29
  background-repeat: repeat-x;
30
30
  }
31
31
 
32
- .CodeMirror-lint-span-error {
32
+ .CodeMirror-lint-mark-error {
33
33
  background-image:
34
34
  url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAQAAAADCAYAAAC09K7GAAAAAXNSR0IArs4c6QAAAAZiS0dEAP8A/wD/oL2nkwAAAAlwSFlzAAALEwAACxMBAJqcGAAAAAd0SU1FB9sJDw4cOCW1/KIAAAAZdEVYdENvbW1lbnQAQ3JlYXRlZCB3aXRoIEdJTVBXgQ4XAAAAHElEQVQI12NggIL/DAz/GdA5/xkY/qPKMDAwAADLZwf5rvm+LQAAAABJRU5ErkJggg==")
35
35
  ;
36
36
  }
37
37
 
38
- .CodeMirror-lint-span-warning {
38
+ .CodeMirror-lint-mark-warning {
39
39
  background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAQAAAADCAYAAAC09K7GAAAAAXNSR0IArs4c6QAAAAZiS0dEAP8A/wD/oL2nkwAAAAlwSFlzAAALEwAACxMBAJqcGAAAAAd0SU1FB9sJFhQXEbhTg7YAAAAZdEVYdENvbW1lbnQAQ3JlYXRlZCB3aXRoIEdJTVBXgQ4XAAAAMklEQVQI12NkgIIvJ3QXMjAwdDN+OaEbysDA4MPAwNDNwMCwiOHLCd1zX07o6kBVGQEAKBANtobskNMAAAAASUVORK5CYII=");
40
40
  }
41
41
 
@@ -1,4 +1,4 @@
1
- .cm-s-rubyblue { font:13px/1.4em Trebuchet, Verdana, sans-serif; } /* - customized editor font - */
1
+ .cm-s-rubyblue { font-family: Trebuchet, Verdana, sans-serif; } /* - customized editor font - */
2
2
 
3
3
  .cm-s-rubyblue.CodeMirror { background: #112435; color: white; }
4
4
  .cm-s-rubyblue div.CodeMirror-selected { background: #38566F !important; }
metadata CHANGED
@@ -1,29 +1,35 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: codemirror-rails
3
3
  version: !ruby/object:Gem::Version
4
- version: '3.12'
4
+ version: '3.13'
5
5
  platform: ruby
6
6
  authors:
7
7
  - Nathan Fixler
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2013-05-07 00:00:00.000000000 Z
11
+ date: 2013-05-27 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: railties
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - ~>
17
+ - - '>='
18
18
  - !ruby/object:Gem::Version
19
19
  version: '3.0'
20
+ - - <
21
+ - !ruby/object:Gem::Version
22
+ version: '5'
20
23
  type: :runtime
21
24
  prerelease: false
22
25
  version_requirements: !ruby/object:Gem::Requirement
23
26
  requirements:
24
- - - ~>
27
+ - - '>='
25
28
  - !ruby/object:Gem::Version
26
29
  version: '3.0'
30
+ - - <
31
+ - !ruby/object:Gem::Version
32
+ version: '5'
27
33
  - !ruby/object:Gem::Dependency
28
34
  name: rails
29
35
  requirement: !ruby/object:Gem::Requirement
@@ -141,6 +147,7 @@ files:
141
147
  - test/integration/codemirror_rails_integration_test.rb
142
148
  - test/test_helper.rb
143
149
  - vendor/assets/javascripts/codemirror.js
150
+ - vendor/assets/javascripts/codemirror/addons/comment/comment.js
144
151
  - vendor/assets/javascripts/codemirror/addons/dialog/dialog.js
145
152
  - vendor/assets/javascripts/codemirror/addons/display/placeholder.js
146
153
  - vendor/assets/javascripts/codemirror/addons/edit/closebrackets.js
@@ -179,6 +186,7 @@ files:
179
186
  - vendor/assets/javascripts/codemirror/modes/asterisk.js
180
187
  - vendor/assets/javascripts/codemirror/modes/clike.js
181
188
  - vendor/assets/javascripts/codemirror/modes/clojure.js
189
+ - vendor/assets/javascripts/codemirror/modes/cobol.js
182
190
  - vendor/assets/javascripts/codemirror/modes/coffeescript.js
183
191
  - vendor/assets/javascripts/codemirror/modes/commonlisp.js
184
192
  - vendor/assets/javascripts/codemirror/modes/css.js
@@ -190,6 +198,7 @@ files:
190
198
  - vendor/assets/javascripts/codemirror/modes/gfm.js
191
199
  - vendor/assets/javascripts/codemirror/modes/go.js
192
200
  - vendor/assets/javascripts/codemirror/modes/groovy.js
201
+ - vendor/assets/javascripts/codemirror/modes/haml.js
193
202
  - vendor/assets/javascripts/codemirror/modes/haskell.js
194
203
  - vendor/assets/javascripts/codemirror/modes/haxe.js
195
204
  - vendor/assets/javascripts/codemirror/modes/htmlembedded.js
@@ -228,7 +237,6 @@ files:
228
237
  - vendor/assets/javascripts/codemirror/modes/sql.js
229
238
  - vendor/assets/javascripts/codemirror/modes/stex.js
230
239
  - vendor/assets/javascripts/codemirror/modes/tcl.js
231
- - vendor/assets/javascripts/codemirror/modes/test.js
232
240
  - vendor/assets/javascripts/codemirror/modes/tiddlywiki.js
233
241
  - vendor/assets/javascripts/codemirror/modes/tiki.js
234
242
  - vendor/assets/javascripts/codemirror/modes/turtle.js
@@ -285,7 +293,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
285
293
  version: '0'
286
294
  requirements: []
287
295
  rubyforge_project:
288
- rubygems_version: 2.0.0
296
+ rubygems_version: 2.0.2
289
297
  signing_key:
290
298
  specification_version: 4
291
299
  summary: Use CodeMirror with Rails 3
@@ -1,64 +0,0 @@
1
- // Don't take these too seriously -- the expected results appear to be
2
- // based on the results of actual runs without any serious manual
3
- // verification. If a change you made causes them to fail, the test is
4
- // as likely to wrong as the code.
5
-
6
- (function() {
7
- var mode = CodeMirror.getMode({tabSize: 4}, "xquery");
8
- function MT(name) { test.mode(name, mode, Array.prototype.slice.call(arguments, 1)); }
9
-
10
- MT("eviltest",
11
- "[keyword xquery] [keyword version] [variable &quot;1][keyword .][atom 0][keyword -][variable ml&quot;][def&variable ;] [comment (: this is : a \"comment\" :)]",
12
- " [keyword let] [variable $let] [keyword :=] [variable &lt;x] [variable attr][keyword =][variable &quot;value&quot;&gt;&quot;test&quot;&lt;func&gt][def&variable ;function]() [variable $var] {[keyword function]()} {[variable $var]}[variable &lt;][keyword /][variable func&gt;&lt;][keyword /][variable x&gt;]",
13
- " [keyword let] [variable $joe][keyword :=][atom 1]",
14
- " [keyword return] [keyword element] [variable element] {",
15
- " [keyword attribute] [variable attribute] { [atom 1] },",
16
- " [keyword element] [variable test] { [variable &#39;a&#39;] }, [keyword attribute] [variable foo] { [variable &quot;bar&quot;] },",
17
- " [def&variable fn:doc]()[[ [variable foo][keyword /][variable @bar] [keyword eq] [variable $let] ]],",
18
- " [keyword //][variable x] } [comment (: a more 'evil' test :)]",
19
- " [comment (: Modified Blakeley example (: with nested comment :) ... :)]",
20
- " [keyword declare] [keyword private] [keyword function] [def&variable local:declare]() {()}[variable ;]",
21
- " [keyword declare] [keyword private] [keyword function] [def&variable local:private]() {()}[variable ;]",
22
- " [keyword declare] [keyword private] [keyword function] [def&variable local:function]() {()}[variable ;]",
23
- " [keyword declare] [keyword private] [keyword function] [def&variable local:local]() {()}[variable ;]",
24
- " [keyword let] [variable $let] [keyword :=] [variable &lt;let&gt;let] [variable $let] [keyword :=] [variable &quot;let&quot;&lt;][keyword /let][variable &gt;]",
25
- " [keyword return] [keyword element] [variable element] {",
26
- " [keyword attribute] [variable attribute] { [keyword try] { [def&variable xdmp:version]() } [keyword catch]([variable $e]) { [def&variable xdmp:log]([variable $e]) } },",
27
- " [keyword attribute] [variable fn:doc] { [variable &quot;bar&quot;] [variable castable] [keyword as] [atom xs:string] },",
28
- " [keyword element] [variable text] { [keyword text] { [variable &quot;text&quot;] } },",
29
- " [def&variable fn:doc]()[[ [qualifier child::][variable eq][keyword /]([variable @bar] [keyword |] [qualifier attribute::][variable attribute]) [keyword eq] [variable $let] ]],",
30
- " [keyword //][variable fn:doc]",
31
- " }");
32
-
33
- MT("testEmptySequenceKeyword",
34
- "[string \"foo\"] [keyword instance] [keyword of] [keyword empty-sequence]()");
35
-
36
- MT("testMultiAttr",
37
- "[tag <p ][attribute a1]=[string \"foo\"] [attribute a2]=[string \"bar\"][tag >][variable hello] [variable world][tag </p>]");
38
-
39
- MT("test namespaced variable",
40
- "[keyword declare] [keyword namespace] [variable e] [keyword =] [string \"http://example.com/ANamespace\"][variable ;declare] [keyword variable] [variable $e:exampleComThisVarIsNotRecognized] [keyword as] [keyword element]([keyword *]) [variable external;]");
41
-
42
- MT("test EQName variable",
43
- "[keyword declare] [keyword variable] [variable $\"http://www.example.com/ns/my\":var] [keyword :=] [atom 12][variable ;]",
44
- "[tag <out>]{[variable $\"http://www.example.com/ns/my\":var]}[tag </out>]");
45
-
46
- MT("test EQName function",
47
- "[keyword declare] [keyword function] [def&variable \"http://www.example.com/ns/my\":fn] ([variable $a] [keyword as] [atom xs:integer]) [keyword as] [atom xs:integer] {",
48
- " [variable $a] [keyword +] [atom 2]",
49
- "}[variable ;]",
50
- "[tag <out>]{[def&variable \"http://www.example.com/ns/my\":fn]([atom 12])}[tag </out>]");
51
-
52
- MT("test EQName function with single quotes",
53
- "[keyword declare] [keyword function] [def&variable 'http://www.example.com/ns/my':fn] ([variable $a] [keyword as] [atom xs:integer]) [keyword as] [atom xs:integer] {",
54
- " [variable $a] [keyword +] [atom 2]",
55
- "}[variable ;]",
56
- "[tag <out>]{[def&variable 'http://www.example.com/ns/my':fn]([atom 12])}[tag </out>]");
57
-
58
- MT("testProcessingInstructions",
59
- "[def&variable data]([comment&meta <?target content?>]) [keyword instance] [keyword of] [atom xs:string]");
60
-
61
- MT("testQuoteEscapeDouble",
62
- "[keyword let] [variable $rootfolder] [keyword :=] [string \"c:\\builds\\winnt\\HEAD\\qa\\scripts\\\"]",
63
- "[keyword let] [variable $keysfolder] [keyword :=] [def&variable concat]([variable $rootfolder], [string \"keys\\\"])");
64
- })();