codemirror-rails 0.3.2 → 2.2
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.
- 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
|