codemirror-rails 2.21.1 → 2.22

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 (37) hide show
  1. data/README.md +8 -0
  2. data/lib/codemirror/rails/version.rb +2 -2
  3. data/vendor/assets/javascripts/codemirror.js +160 -86
  4. data/vendor/assets/javascripts/codemirror/modes/clike.js +2 -2
  5. data/vendor/assets/javascripts/codemirror/modes/clojure.js +1 -1
  6. data/vendor/assets/javascripts/codemirror/modes/ecl.js +203 -0
  7. data/vendor/assets/javascripts/codemirror/modes/gfm.js +1 -1
  8. data/vendor/assets/javascripts/codemirror/modes/go.js +20 -22
  9. data/vendor/assets/javascripts/codemirror/modes/less.js +5 -2
  10. data/vendor/assets/javascripts/codemirror/modes/markdown.js +58 -24
  11. data/vendor/assets/javascripts/codemirror/modes/pascal.js +2 -46
  12. data/vendor/assets/javascripts/codemirror/modes/perl.js +1 -1
  13. data/vendor/assets/javascripts/codemirror/modes/php.js +53 -24
  14. data/vendor/assets/javascripts/codemirror/modes/properties.js +57 -0
  15. data/vendor/assets/javascripts/codemirror/modes/rpm-spec.css +5 -0
  16. data/vendor/assets/javascripts/codemirror/modes/rpm-spec.js +1 -1
  17. data/vendor/assets/javascripts/codemirror/modes/ruby.js +1 -1
  18. data/vendor/assets/javascripts/codemirror/modes/smalltalk.js +16 -16
  19. data/vendor/assets/javascripts/codemirror/modes/verilog.js +194 -194
  20. data/vendor/assets/javascripts/codemirror/modes/xml.js +15 -8
  21. data/vendor/assets/javascripts/codemirror/utils/dialog.js +63 -0
  22. data/vendor/assets/javascripts/codemirror/utils/foldcode.js +186 -0
  23. data/vendor/assets/javascripts/codemirror/utils/formatting.js +294 -0
  24. data/vendor/assets/javascripts/codemirror/utils/javascript-hint.js +132 -0
  25. data/vendor/assets/javascripts/codemirror/utils/match-highlighter.js +44 -0
  26. data/vendor/assets/javascripts/codemirror/{overlay.js → utils/overlay.js} +0 -0
  27. data/vendor/assets/javascripts/codemirror/utils/runmode.js +49 -0
  28. data/vendor/assets/javascripts/codemirror/utils/search.js +114 -0
  29. data/vendor/assets/javascripts/codemirror/utils/searchcursor.js +117 -0
  30. data/vendor/assets/javascripts/codemirror/utils/simple-hint.js +66 -0
  31. data/vendor/assets/stylesheets/codemirror.css +3 -0
  32. data/vendor/assets/stylesheets/codemirror/modes/properties.css +3 -0
  33. data/vendor/assets/stylesheets/codemirror/themes/rubyblue.css +1 -1
  34. data/vendor/assets/stylesheets/codemirror/utils/dialog.css +23 -0
  35. data/vendor/assets/stylesheets/codemirror/utils/simple-hint.css +16 -0
  36. metadata +20 -6
  37. data/vendor/assets/javascripts/codemirror/runmode.js +0 -27
@@ -0,0 +1,66 @@
1
+ (function() {
2
+ CodeMirror.simpleHint = function(editor, getHints) {
3
+ // We want a single cursor position.
4
+ if (editor.somethingSelected()) return;
5
+ var result = getHints(editor);
6
+ if (!result || !result.list.length) return;
7
+ var completions = result.list;
8
+ function insert(str) {
9
+ editor.replaceRange(str, result.from, result.to);
10
+ }
11
+ // When there is only one completion, use it directly.
12
+ if (completions.length == 1) {insert(completions[0]); return true;}
13
+
14
+ // Build the select widget
15
+ var complete = document.createElement("div");
16
+ complete.className = "CodeMirror-completions";
17
+ var sel = complete.appendChild(document.createElement("select"));
18
+ // Opera doesn't move the selection when pressing up/down in a
19
+ // multi-select, but it does properly support the size property on
20
+ // single-selects, so no multi-select is necessary.
21
+ if (!window.opera) sel.multiple = true;
22
+ for (var i = 0; i < completions.length; ++i) {
23
+ var opt = sel.appendChild(document.createElement("option"));
24
+ opt.appendChild(document.createTextNode(completions[i]));
25
+ }
26
+ sel.firstChild.selected = true;
27
+ sel.size = Math.min(10, completions.length);
28
+ var pos = editor.cursorCoords();
29
+ complete.style.left = pos.x + "px";
30
+ complete.style.top = pos.yBot + "px";
31
+ document.body.appendChild(complete);
32
+ // Hack to hide the scrollbar.
33
+ if (completions.length <= 10)
34
+ complete.style.width = (sel.clientWidth - 1) + "px";
35
+
36
+ var done = false;
37
+ function close() {
38
+ if (done) return;
39
+ done = true;
40
+ complete.parentNode.removeChild(complete);
41
+ }
42
+ function pick() {
43
+ insert(completions[sel.selectedIndex]);
44
+ close();
45
+ setTimeout(function(){editor.focus();}, 50);
46
+ }
47
+ CodeMirror.connect(sel, "blur", close);
48
+ CodeMirror.connect(sel, "keydown", function(event) {
49
+ var code = event.keyCode;
50
+ // Enter
51
+ if (code == 13) {CodeMirror.e_stop(event); pick();}
52
+ // Escape
53
+ else if (code == 27) {CodeMirror.e_stop(event); close(); editor.focus();}
54
+ else if (code != 38 && code != 40) {
55
+ close(); editor.focus();
56
+ setTimeout(function(){CodeMirror.simpleHint(editor, getHints);}, 50);
57
+ }
58
+ });
59
+ CodeMirror.connect(sel, "dblclick", pick);
60
+
61
+ sel.focus();
62
+ // Opera sometimes ignores focusing a freshly created node
63
+ if (window.opera) setTimeout(function(){if (!done) sel.focus();}, 100);
64
+ return true;
65
+ };
66
+ })();
@@ -59,7 +59,10 @@
59
59
  position: absolute;
60
60
  visibility: hidden;
61
61
  border-left: 1px solid black;
62
+ border-right:none;
63
+ width:0;
62
64
  }
65
+ .CodeMirror pre.CodeMirror-cursor.CodeMirror-overwrite {}
63
66
  .CodeMirror-focused pre.CodeMirror-cursor {
64
67
  visibility: visible;
65
68
  }
@@ -0,0 +1,3 @@
1
+ span.cm-key {color: #00c;}
2
+ span.cm-equals {color: #a11;}
3
+ span.cm-value {color: #170;}
@@ -1,7 +1,7 @@
1
1
  .cm-s-rubyblue { font:13px/1.4em Trebuchet, Verdana, sans-serif; } /* - customized editor font - */
2
2
 
3
3
  .cm-s-rubyblue { background: #112435; color: white; }
4
- .cm-s-rubyblue div.CodeMirror-selected { background: #0000FF !important; }
4
+ .cm-s-rubyblue div.CodeMirror-selected { background: #38566F !important; }
5
5
  .cm-s-rubyblue .CodeMirror-gutter { background: #1F4661; border-right: 7px solid #3E7087; min-width:2.5em; }
6
6
  .cm-s-rubyblue .CodeMirror-gutter-text { color: white; }
7
7
  .cm-s-rubyblue .CodeMirror-cursor { border-left: 1px solid white !important; }
@@ -0,0 +1,23 @@
1
+ .CodeMirror-dialog {
2
+ position: relative;
3
+ }
4
+
5
+ .CodeMirror-dialog > div {
6
+ position: absolute;
7
+ top: 0; left: 0; right: 0;
8
+ background: white;
9
+ border-bottom: 1px solid #eee;
10
+ z-index: 15;
11
+ padding: .1em .8em;
12
+ overflow: hidden;
13
+ color: #333;
14
+ }
15
+
16
+ .CodeMirror-dialog input {
17
+ border: none;
18
+ outline: none;
19
+ background: transparent;
20
+ width: 20em;
21
+ color: inherit;
22
+ font-family: monospace;
23
+ }
@@ -0,0 +1,16 @@
1
+ .CodeMirror-completions {
2
+ position: absolute;
3
+ z-index: 10;
4
+ overflow: hidden;
5
+ -webkit-box-shadow: 2px 3px 5px rgba(0,0,0,.2);
6
+ -moz-box-shadow: 2px 3px 5px rgba(0,0,0,.2);
7
+ box-shadow: 2px 3px 5px rgba(0,0,0,.2);
8
+ }
9
+ .CodeMirror-completions select {
10
+ background: #fafafa;
11
+ outline: none;
12
+ border: none;
13
+ padding: 0;
14
+ margin: 0;
15
+ font-family: monospace;
16
+ }
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: codemirror-rails
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.21.1
4
+ version: '2.22'
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,11 +9,11 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2012-02-02 00:00:00.000000000Z
12
+ date: 2012-02-27 00:00:00.000000000Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: railties
16
- requirement: &2153355080 !ruby/object:Gem::Requirement
16
+ requirement: &2152221920 !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements:
19
19
  - - ~>
@@ -21,7 +21,7 @@ dependencies:
21
21
  version: '3.0'
22
22
  type: :runtime
23
23
  prerelease: false
24
- version_requirements: *2153355080
24
+ version_requirements: *2152221920
25
25
  description: This gem provides CodeMirror assets for your Rails 3 application.
26
26
  email: nathan@fixler.org
27
27
  executables: []
@@ -48,6 +48,7 @@ files:
48
48
  - vendor/assets/javascripts/codemirror/modes/coffeescript.js
49
49
  - vendor/assets/javascripts/codemirror/modes/css.js
50
50
  - vendor/assets/javascripts/codemirror/modes/diff.js
51
+ - vendor/assets/javascripts/codemirror/modes/ecl.js
51
52
  - vendor/assets/javascripts/codemirror/modes/gfm.js
52
53
  - vendor/assets/javascripts/codemirror/modes/go.js
53
54
  - vendor/assets/javascripts/codemirror/modes/groovy.js
@@ -65,9 +66,11 @@ files:
65
66
  - vendor/assets/javascripts/codemirror/modes/perl.js
66
67
  - vendor/assets/javascripts/codemirror/modes/php.js
67
68
  - vendor/assets/javascripts/codemirror/modes/plsql.js
69
+ - vendor/assets/javascripts/codemirror/modes/properties.js
68
70
  - vendor/assets/javascripts/codemirror/modes/python.js
69
71
  - vendor/assets/javascripts/codemirror/modes/r.js
70
72
  - vendor/assets/javascripts/codemirror/modes/rpm-changes.js
73
+ - vendor/assets/javascripts/codemirror/modes/rpm-spec.css
71
74
  - vendor/assets/javascripts/codemirror/modes/rpm-spec.js
72
75
  - vendor/assets/javascripts/codemirror/modes/rst.js
73
76
  - vendor/assets/javascripts/codemirror/modes/ruby.js
@@ -82,10 +85,19 @@ files:
82
85
  - vendor/assets/javascripts/codemirror/modes/xml.js
83
86
  - vendor/assets/javascripts/codemirror/modes/xmlpure.js
84
87
  - vendor/assets/javascripts/codemirror/modes/yaml.js
85
- - vendor/assets/javascripts/codemirror/overlay.js
86
- - vendor/assets/javascripts/codemirror/runmode.js
88
+ - vendor/assets/javascripts/codemirror/utils/dialog.js
89
+ - vendor/assets/javascripts/codemirror/utils/foldcode.js
90
+ - vendor/assets/javascripts/codemirror/utils/formatting.js
91
+ - vendor/assets/javascripts/codemirror/utils/javascript-hint.js
92
+ - vendor/assets/javascripts/codemirror/utils/match-highlighter.js
93
+ - vendor/assets/javascripts/codemirror/utils/overlay.js
94
+ - vendor/assets/javascripts/codemirror/utils/runmode.js
95
+ - vendor/assets/javascripts/codemirror/utils/search.js
96
+ - vendor/assets/javascripts/codemirror/utils/searchcursor.js
97
+ - vendor/assets/javascripts/codemirror/utils/simple-hint.js
87
98
  - vendor/assets/stylesheets/codemirror.css
88
99
  - vendor/assets/stylesheets/codemirror/modes/diff.css
100
+ - vendor/assets/stylesheets/codemirror/modes/properties.css
89
101
  - vendor/assets/stylesheets/codemirror/modes/rpm-spec.css
90
102
  - vendor/assets/stylesheets/codemirror/modes/tiddlywiki.css
91
103
  - vendor/assets/stylesheets/codemirror/themes/cobalt.css
@@ -95,6 +107,8 @@ files:
95
107
  - vendor/assets/stylesheets/codemirror/themes/neat.css
96
108
  - vendor/assets/stylesheets/codemirror/themes/night.css
97
109
  - vendor/assets/stylesheets/codemirror/themes/rubyblue.css
110
+ - vendor/assets/stylesheets/codemirror/utils/dialog.css
111
+ - vendor/assets/stylesheets/codemirror/utils/simple-hint.css
98
112
  homepage: https://rubygems.org/gems/codemirror-rails
99
113
  licenses: []
100
114
  post_install_message:
@@ -1,27 +0,0 @@
1
- CodeMirror.runMode = function(string, modespec, callback) {
2
- var mode = CodeMirror.getMode({indentUnit: 2}, modespec);
3
- var isNode = callback.nodeType == 1;
4
- if (isNode) {
5
- var node = callback, accum = [];
6
- callback = function(string, style) {
7
- if (string == "\n")
8
- accum.push("<br>");
9
- else if (style)
10
- accum.push("<span class=\"cm-" + CodeMirror.htmlEscape(style) + "\">" + CodeMirror.htmlEscape(string) + "</span>");
11
- else
12
- accum.push(CodeMirror.htmlEscape(string));
13
- }
14
- }
15
- var lines = CodeMirror.splitLines(string), state = CodeMirror.startState(mode);
16
- for (var i = 0, e = lines.length; i < e; ++i) {
17
- if (i) callback("\n");
18
- var stream = new CodeMirror.StringStream(lines[i]);
19
- while (!stream.eol()) {
20
- var style = mode.token(stream, state);
21
- callback(stream.current(), style, i, stream.start);
22
- stream.start = stream.pos;
23
- }
24
- }
25
- if (isNode)
26
- node.innerHTML = accum.join("");
27
- };