codemirror-rails 0.3.2 → 2.2
Sign up to get free protection for your applications and to get access to all the features.
- data/lib/codemirror/rails/version.rb +2 -2
- data/vendor/assets/javascripts/codemirror.js +501 -525
- data/vendor/assets/javascripts/codemirror/modes/clike.js +3 -1
- data/vendor/assets/javascripts/codemirror/modes/groovy.js +1 -1
- data/vendor/assets/javascripts/codemirror/modes/htmlembedded.js +68 -0
- data/vendor/assets/javascripts/codemirror/modes/javascript.js +3 -1
- data/vendor/assets/javascripts/codemirror/modes/markdown.js +4 -4
- data/vendor/assets/javascripts/codemirror/modes/php.js +3 -3
- data/vendor/assets/javascripts/codemirror/modes/python.js +17 -4
- data/vendor/assets/javascripts/codemirror/modes/rst.js +14 -21
- data/vendor/assets/javascripts/codemirror/modes/smalltalk.js +137 -130
- data/vendor/assets/javascripts/codemirror/modes/xml.js +32 -13
- data/vendor/assets/javascripts/codemirror/modes/xmlpure.js +6 -2
- data/vendor/assets/stylesheets/codemirror.css +41 -14
- data/vendor/assets/stylesheets/codemirror/modes/diff.css +3 -3
- data/vendor/assets/stylesheets/codemirror/themes/cobalt.css +1 -0
- data/vendor/assets/stylesheets/codemirror/themes/eclipse.css +3 -2
- data/vendor/assets/stylesheets/codemirror/themes/elegant.css +1 -0
- data/vendor/assets/stylesheets/codemirror/themes/monokai.css +22 -21
- data/vendor/assets/stylesheets/codemirror/themes/neat.css +1 -0
- data/vendor/assets/stylesheets/codemirror/themes/night.css +1 -0
- data/vendor/assets/stylesheets/codemirror/themes/rubyblue.css +1 -0
- metadata +5 -4
@@ -3,9 +3,9 @@ CodeMirror.defineMode("xml", function(config, parserConfig) {
|
|
3
3
|
var Kludges = parserConfig.htmlMode ? {
|
4
4
|
autoSelfClosers: {"br": true, "img": true, "hr": true, "link": true, "input": true,
|
5
5
|
"meta": true, "col": true, "frame": true, "base": true, "area": true},
|
6
|
-
doNotIndent: {"pre": true
|
6
|
+
doNotIndent: {"pre": true},
|
7
7
|
allowUnquoted: true
|
8
|
-
} : {autoSelfClosers: {}, doNotIndent: {
|
8
|
+
} : {autoSelfClosers: {}, doNotIndent: {}, allowUnquoted: false};
|
9
9
|
var alignCDATA = parserConfig.alignCDATA;
|
10
10
|
|
11
11
|
// Return variables for tokenizers
|
@@ -27,7 +27,7 @@ CodeMirror.defineMode("xml", function(config, parserConfig) {
|
|
27
27
|
else if (stream.match("--")) return chain(inBlock("comment", "-->"));
|
28
28
|
else if (stream.match("DOCTYPE", true, true)) {
|
29
29
|
stream.eatWhile(/[\w\._\-]/);
|
30
|
-
return chain(
|
30
|
+
return chain(doctype(1));
|
31
31
|
}
|
32
32
|
else return null;
|
33
33
|
}
|
@@ -102,6 +102,26 @@ CodeMirror.defineMode("xml", function(config, parserConfig) {
|
|
102
102
|
return style;
|
103
103
|
};
|
104
104
|
}
|
105
|
+
function doctype(depth) {
|
106
|
+
return function(stream, state) {
|
107
|
+
var ch;
|
108
|
+
while ((ch = stream.next()) != null) {
|
109
|
+
if (ch == "<") {
|
110
|
+
state.tokenize = doctype(depth + 1);
|
111
|
+
return state.tokenize(stream, state);
|
112
|
+
} else if (ch == ">") {
|
113
|
+
if (depth == 1) {
|
114
|
+
state.tokenize = inText;
|
115
|
+
break;
|
116
|
+
} else {
|
117
|
+
state.tokenize = doctype(depth - 1);
|
118
|
+
return state.tokenize(stream, state);
|
119
|
+
}
|
120
|
+
}
|
121
|
+
}
|
122
|
+
return "meta";
|
123
|
+
};
|
124
|
+
}
|
105
125
|
|
106
126
|
var curState, setStyle;
|
107
127
|
function pass() {
|
@@ -127,8 +147,10 @@ CodeMirror.defineMode("xml", function(config, parserConfig) {
|
|
127
147
|
}
|
128
148
|
|
129
149
|
function element(type) {
|
130
|
-
if (type == "openTag") {
|
131
|
-
|
150
|
+
if (type == "openTag") {
|
151
|
+
curState.tagName = tagName;
|
152
|
+
return cont(attributes, endtag(curState.startOfLine));
|
153
|
+
} else if (type == "closeTag") {
|
132
154
|
var err = false;
|
133
155
|
if (curState.context) {
|
134
156
|
err = curState.context.tagName != tagName;
|
@@ -138,12 +160,7 @@ CodeMirror.defineMode("xml", function(config, parserConfig) {
|
|
138
160
|
if (err) setStyle = "error";
|
139
161
|
return cont(endclosetag(err));
|
140
162
|
}
|
141
|
-
|
142
|
-
if (!curState.context || curState.context.name != "!cdata") pushContext("!cdata");
|
143
|
-
if (curState.tokenize == inText) popContext();
|
144
|
-
return cont();
|
145
|
-
}
|
146
|
-
else return cont();
|
163
|
+
return cont();
|
147
164
|
}
|
148
165
|
function endtag(startOfLine) {
|
149
166
|
return function(type) {
|
@@ -205,9 +222,11 @@ CodeMirror.defineMode("xml", function(config, parserConfig) {
|
|
205
222
|
return setStyle || style;
|
206
223
|
},
|
207
224
|
|
208
|
-
indent: function(state, textAfter) {
|
225
|
+
indent: function(state, textAfter, fullLine) {
|
209
226
|
var context = state.context;
|
210
|
-
if (
|
227
|
+
if ((state.tokenize != inTag && state.tokenize != inText) ||
|
228
|
+
context && context.noIndent)
|
229
|
+
return fullLine ? fullLine.match(/^(\s*)/)[0].length : 0;
|
211
230
|
if (alignCDATA && /<!\[CDATA\[/.test(textAfter)) return 0;
|
212
231
|
if (context && /^<\//.test(textAfter))
|
213
232
|
context = context.prev;
|
@@ -412,7 +412,7 @@ CodeMirror.defineMode("xmlpure", function(config, parserConfig) {
|
|
412
412
|
///////////////////////////////////////////////////////////////////////////
|
413
413
|
// returned object
|
414
414
|
return {
|
415
|
-
electricChars: "/",
|
415
|
+
electricChars: "/[",
|
416
416
|
|
417
417
|
startState: function() {
|
418
418
|
return {
|
@@ -458,9 +458,13 @@ CodeMirror.defineMode("xmlpure", function(config, parserConfig) {
|
|
458
458
|
return;
|
459
459
|
}
|
460
460
|
if(textAfter.match(/^<\/.*/)) {
|
461
|
-
//
|
461
|
+
// end-tag - indent back to last context
|
462
462
|
return state.context.indent;
|
463
463
|
}
|
464
|
+
if(textAfter.match(/^<!\[CDATA\[/)) {
|
465
|
+
// a stand-alone CDATA start-tag - indent back to column 0
|
466
|
+
return 0;
|
467
|
+
}
|
464
468
|
// indent to last context + regular indent unit
|
465
469
|
return state.context.indent + indentUnit;
|
466
470
|
}
|
@@ -51,27 +51,54 @@
|
|
51
51
|
}
|
52
52
|
|
53
53
|
.CodeMirror textarea {
|
54
|
-
|
55
|
-
font-size: inherit !important;
|
54
|
+
outline: none !important;
|
56
55
|
}
|
57
56
|
|
58
|
-
.CodeMirror-cursor {
|
57
|
+
.CodeMirror pre.CodeMirror-cursor {
|
59
58
|
z-index: 10;
|
60
59
|
position: absolute;
|
61
60
|
visibility: hidden;
|
62
|
-
border-left: 1px solid black
|
61
|
+
border-left: 1px solid black;
|
63
62
|
}
|
64
|
-
.CodeMirror-focused .CodeMirror-cursor {
|
63
|
+
.CodeMirror-focused pre.CodeMirror-cursor {
|
65
64
|
visibility: visible;
|
66
65
|
}
|
67
66
|
|
68
|
-
span.CodeMirror-selected {
|
69
|
-
|
70
|
-
|
71
|
-
}
|
72
|
-
|
73
|
-
|
74
|
-
|
67
|
+
span.CodeMirror-selected { background: #d9d9d9; }
|
68
|
+
.CodeMirror-focused span.CodeMirror-selected { background: #d2dcf8; }
|
69
|
+
|
70
|
+
.CodeMirror-searching {background: #ffa;}
|
71
|
+
|
72
|
+
/* Default theme */
|
73
|
+
|
74
|
+
.cm-s-default span.cm-keyword {color: #708;}
|
75
|
+
.cm-s-default span.cm-atom {color: #219;}
|
76
|
+
.cm-s-default span.cm-number {color: #164;}
|
77
|
+
.cm-s-default span.cm-def {color: #00f;}
|
78
|
+
.cm-s-default span.cm-variable {color: black;}
|
79
|
+
.cm-s-default span.cm-variable-2 {color: #05a;}
|
80
|
+
.cm-s-default span.cm-variable-3 {color: #085;}
|
81
|
+
.cm-s-default span.cm-property {color: black;}
|
82
|
+
.cm-s-default span.cm-operator {color: black;}
|
83
|
+
.cm-s-default span.cm-comment {color: #a50;}
|
84
|
+
.cm-s-default span.cm-string {color: #a11;}
|
85
|
+
.cm-s-default span.cm-string-2 {color: #f50;}
|
86
|
+
.cm-s-default span.cm-meta {color: #555;}
|
87
|
+
.cm-s-default span.cm-error {color: #f00;}
|
88
|
+
.cm-s-default span.cm-qualifier {color: #555;}
|
89
|
+
.cm-s-default span.cm-builtin {color: #30a;}
|
90
|
+
.cm-s-default span.cm-bracket {color: #cc7;}
|
91
|
+
.cm-s-default span.cm-tag {color: #170;}
|
92
|
+
.cm-s-default span.cm-attribute {color: #00c;}
|
93
|
+
.cm-s-default span.cm-header {color: #a0a;}
|
94
|
+
.cm-s-default span.cm-quote {color: #090;}
|
95
|
+
.cm-s-default span.cm-hr {color: #999;}
|
96
|
+
.cm-s-default span.cm-link {color: #00c;}
|
97
|
+
|
98
|
+
span.cm-header, span.cm-strong {font-weight: bold;}
|
99
|
+
span.cm-em {font-style: italic;}
|
100
|
+
span.cm-emstrong {font-style: italic; font-weight: bold;}
|
101
|
+
span.cm-link {text-decoration: underline;}
|
75
102
|
|
76
|
-
.CodeMirror-matchingbracket {color: #0f0
|
77
|
-
.CodeMirror-nonmatchingbracket {color: #f22
|
103
|
+
div.CodeMirror span.CodeMirror-matchingbracket {color: #0f0;}
|
104
|
+
div.CodeMirror span.CodeMirror-nonmatchingbracket {color: #f22;}
|
@@ -1,3 +1,3 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
|
1
|
+
span.cm-rangeinfo {color: #a0b;}
|
2
|
+
span.cm-minus {color: red;}
|
3
|
+
span.cm-plus {color: #2b2;}
|
@@ -17,8 +17,9 @@
|
|
17
17
|
.cm-s-eclipse span.cm-bracket {color: #cc7;}
|
18
18
|
.cm-s-eclipse span.cm-tag {color: #170;}
|
19
19
|
.cm-s-eclipse span.cm-attribute {color: #00c;}
|
20
|
+
.cm-s-eclipse span.cm-link {color: #219;}
|
20
21
|
|
21
|
-
.CodeMirror-matchingbracket{
|
22
|
+
.cm-s-eclipse .CodeMirror-matchingbracket {
|
22
23
|
border:1px solid grey;
|
23
24
|
color:black !important;;
|
24
|
-
}
|
25
|
+
}
|
@@ -1,27 +1,28 @@
|
|
1
1
|
/* Based on Sublime Text's Monokai theme */
|
2
2
|
|
3
|
-
.cm-s-monokai {
|
4
|
-
.cm-s-monokai span.CodeMirror-selected {
|
5
|
-
.cm-s-monokai .CodeMirror-gutter {
|
6
|
-
.cm-s-monokai .CodeMirror-gutter-text {
|
7
|
-
.cm-s-monokai .CodeMirror-cursor {
|
3
|
+
.cm-s-monokai {background: #272822; color: #f8f8f2;}
|
4
|
+
.cm-s-monokai span.CodeMirror-selected {background: #ffe792 !important;}
|
5
|
+
.cm-s-monokai .CodeMirror-gutter {background: #272822; border-right: 0px;}
|
6
|
+
.cm-s-monokai .CodeMirror-gutter-text {color: #d0d0d0;}
|
7
|
+
.cm-s-monokai .CodeMirror-cursor {border-left: 1px solid #f8f8f0 !important;}
|
8
8
|
|
9
|
-
.cm-s-monokai span.cm-comment {
|
10
|
-
.cm-s-monokai span.cm-atom {
|
11
|
-
.cm-s-monokai span.cm-number {
|
9
|
+
.cm-s-monokai span.cm-comment {color: #75715e;}
|
10
|
+
.cm-s-monokai span.cm-atom {color: #ae81ff;}
|
11
|
+
.cm-s-monokai span.cm-number {color: #ae81ff;}
|
12
12
|
|
13
|
-
.cm-s-monokai span.cm-property, .cm-s-monokai span.cm-attribute {color: #
|
14
|
-
.cm-s-monokai span.cm-keyword {
|
15
|
-
.cm-s-monokai span.cm-string {
|
13
|
+
.cm-s-monokai span.cm-property, .cm-s-monokai span.cm-attribute {color: #a6e22e;}
|
14
|
+
.cm-s-monokai span.cm-keyword {color: #f92672;}
|
15
|
+
.cm-s-monokai span.cm-string {color: #e6db74;}
|
16
16
|
|
17
|
-
.cm-s-monokai span.cm-variable {color: #
|
18
|
-
.cm-s-monokai span.cm-variable-2 {
|
19
|
-
.cm-s-monokai span.cm-def {
|
20
|
-
.cm-s-monokai span.cm-error {
|
21
|
-
.cm-s-monokai span.cm-bracket {
|
22
|
-
.cm-s-monokai span.cm-tag {color: #
|
17
|
+
.cm-s-monokai span.cm-variable {color: #a6e22e;}
|
18
|
+
.cm-s-monokai span.cm-variable-2 {color: #9effff;}
|
19
|
+
.cm-s-monokai span.cm-def {color: #fd971f;}
|
20
|
+
.cm-s-monokai span.cm-error {background: #f92672; color: #f8f8f0;}
|
21
|
+
.cm-s-monokai span.cm-bracket {color: #f8f8f2;}
|
22
|
+
.cm-s-monokai span.cm-tag {color: #f92672;}
|
23
|
+
.cm-s-monokai span.cm-link {color: #ae81ff;}
|
23
24
|
|
24
|
-
.CodeMirror-matchingbracket{
|
25
|
-
|
26
|
-
|
27
|
-
}
|
25
|
+
.cm-s-monokai .CodeMirror-matchingbracket {
|
26
|
+
text-decoration: underline;
|
27
|
+
color: white !important;
|
28
|
+
}
|
@@ -16,5 +16,6 @@
|
|
16
16
|
.cm-s-rubyblue span.cm-variable-3, .cm-s-rubyblue span.cm-def { color: white; }
|
17
17
|
.cm-s-rubyblue span.cm-error { color: #AF2018; }
|
18
18
|
.cm-s-rubyblue span.cm-bracket { color: #F0F; }
|
19
|
+
.cm-s-rubyblue span.cm-link { color: #F4C20B; }
|
19
20
|
.cm-s-rubyblue span.CodeMirror-matchingbracket { color:#F0F !important; }
|
20
21
|
.cm-s-rubyblue span.cm-builtin, .cm-s-rubyblue span.cm-special { color: #FF9D00; }
|
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:
|
4
|
+
version: '2.2'
|
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:
|
12
|
+
date: 2012-01-12 00:00:00.000000000Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: railties
|
16
|
-
requirement: &
|
16
|
+
requirement: &2164530160 !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: *2164530160
|
25
25
|
description: This gem provides CodeMirror assets for your Rails 3 application.
|
26
26
|
email: nathan@fixler.org
|
27
27
|
executables: []
|
@@ -49,6 +49,7 @@ files:
|
|
49
49
|
- vendor/assets/javascripts/codemirror/modes/gfm.js
|
50
50
|
- vendor/assets/javascripts/codemirror/modes/groovy.js
|
51
51
|
- vendor/assets/javascripts/codemirror/modes/haskell.js
|
52
|
+
- vendor/assets/javascripts/codemirror/modes/htmlembedded.js
|
52
53
|
- vendor/assets/javascripts/codemirror/modes/htmlmixed.js
|
53
54
|
- vendor/assets/javascripts/codemirror/modes/javascript.js
|
54
55
|
- vendor/assets/javascripts/codemirror/modes/jinja2.js
|