codemirror-rails 2.21.1 → 2.22
Sign up to get free protection for your applications and to get access to all the features.
- data/README.md +8 -0
- data/lib/codemirror/rails/version.rb +2 -2
- data/vendor/assets/javascripts/codemirror.js +160 -86
- data/vendor/assets/javascripts/codemirror/modes/clike.js +2 -2
- data/vendor/assets/javascripts/codemirror/modes/clojure.js +1 -1
- data/vendor/assets/javascripts/codemirror/modes/ecl.js +203 -0
- data/vendor/assets/javascripts/codemirror/modes/gfm.js +1 -1
- data/vendor/assets/javascripts/codemirror/modes/go.js +20 -22
- data/vendor/assets/javascripts/codemirror/modes/less.js +5 -2
- data/vendor/assets/javascripts/codemirror/modes/markdown.js +58 -24
- data/vendor/assets/javascripts/codemirror/modes/pascal.js +2 -46
- data/vendor/assets/javascripts/codemirror/modes/perl.js +1 -1
- data/vendor/assets/javascripts/codemirror/modes/php.js +53 -24
- data/vendor/assets/javascripts/codemirror/modes/properties.js +57 -0
- data/vendor/assets/javascripts/codemirror/modes/rpm-spec.css +5 -0
- data/vendor/assets/javascripts/codemirror/modes/rpm-spec.js +1 -1
- data/vendor/assets/javascripts/codemirror/modes/ruby.js +1 -1
- data/vendor/assets/javascripts/codemirror/modes/smalltalk.js +16 -16
- data/vendor/assets/javascripts/codemirror/modes/verilog.js +194 -194
- data/vendor/assets/javascripts/codemirror/modes/xml.js +15 -8
- data/vendor/assets/javascripts/codemirror/utils/dialog.js +63 -0
- data/vendor/assets/javascripts/codemirror/utils/foldcode.js +186 -0
- data/vendor/assets/javascripts/codemirror/utils/formatting.js +294 -0
- data/vendor/assets/javascripts/codemirror/utils/javascript-hint.js +132 -0
- data/vendor/assets/javascripts/codemirror/utils/match-highlighter.js +44 -0
- data/vendor/assets/javascripts/codemirror/{overlay.js → utils/overlay.js} +0 -0
- data/vendor/assets/javascripts/codemirror/utils/runmode.js +49 -0
- data/vendor/assets/javascripts/codemirror/utils/search.js +114 -0
- data/vendor/assets/javascripts/codemirror/utils/searchcursor.js +117 -0
- data/vendor/assets/javascripts/codemirror/utils/simple-hint.js +66 -0
- data/vendor/assets/stylesheets/codemirror.css +3 -0
- data/vendor/assets/stylesheets/codemirror/modes/properties.css +3 -0
- data/vendor/assets/stylesheets/codemirror/themes/rubyblue.css +1 -1
- data/vendor/assets/stylesheets/codemirror/utils/dialog.css +23 -0
- data/vendor/assets/stylesheets/codemirror/utils/simple-hint.css +16 -0
- metadata +20 -6
- 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
|
}
|
@@ -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: #
|
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.
|
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-
|
12
|
+
date: 2012-02-27 00:00:00.000000000Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: railties
|
16
|
-
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: *
|
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/
|
86
|
-
- vendor/assets/javascripts/codemirror/
|
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
|
-
};
|