Files
@ bbbb013a0e94
Branch filter:
Location: kallithea/rhodecode/public/js/mode/jade/jade.js - annotation
bbbb013a0e94
3.1 KiB
text/javascript
Import some of the files from Select2 3.5.0 Javascript system.
RhodeCode 2.2.5 used a version of Select2. Herein, we bring into
Kallithea only a few files directly from Select2 3.5.0 (6ef7155) upstream,
using the commands indicated below:
(cd /tmp; \
git clone https://github.com/ivaynberg/select2.git; \
cd select2; \
git checkout 3.5.0 \
)
mkdir rhodecode/public/js/select2
cp -pa /tmp/select2/select2.{js,css,png} rhodecode/public/js/select2/
cp -pa /tmp/select2/select2x2.png rhodecode/public/js/select2/
cp -pa /tmp/select2/select2-spinner.gif rhodecode/public/js/select2/
hg add rhodecode/public/js/select2/
RhodeCode 2.2.5 used a version of Select2. Herein, we bring into
Kallithea only a few files directly from Select2 3.5.0 (6ef7155) upstream,
using the commands indicated below:
(cd /tmp; \
git clone https://github.com/ivaynberg/select2.git; \
cd select2; \
git checkout 3.5.0 \
)
mkdir rhodecode/public/js/select2
cp -pa /tmp/select2/select2.{js,css,png} rhodecode/public/js/select2/
cp -pa /tmp/select2/select2x2.png rhodecode/public/js/select2/
cp -pa /tmp/select2/select2-spinner.gif rhodecode/public/js/select2/
hg add rhodecode/public/js/select2/
bb9ef0638069 bb9ef0638069 bb9ef0638069 bb9ef0638069 bb9ef0638069 bb9ef0638069 bb9ef0638069 bb9ef0638069 bb9ef0638069 bb9ef0638069 bb9ef0638069 bb9ef0638069 bb9ef0638069 bb9ef0638069 bb9ef0638069 bb9ef0638069 bb9ef0638069 bb9ef0638069 bb9ef0638069 bb9ef0638069 bb9ef0638069 bb9ef0638069 bb9ef0638069 bb9ef0638069 bb9ef0638069 bb9ef0638069 bb9ef0638069 bb9ef0638069 bb9ef0638069 bb9ef0638069 bb9ef0638069 bb9ef0638069 bb9ef0638069 bb9ef0638069 bb9ef0638069 bb9ef0638069 bb9ef0638069 bb9ef0638069 bb9ef0638069 bb9ef0638069 bb9ef0638069 bb9ef0638069 bb9ef0638069 bb9ef0638069 bb9ef0638069 bb9ef0638069 bb9ef0638069 bb9ef0638069 bb9ef0638069 bb9ef0638069 bb9ef0638069 bb9ef0638069 bb9ef0638069 bb9ef0638069 bb9ef0638069 bb9ef0638069 bb9ef0638069 bb9ef0638069 bb9ef0638069 bb9ef0638069 bb9ef0638069 bb9ef0638069 bb9ef0638069 bb9ef0638069 bb9ef0638069 bb9ef0638069 bb9ef0638069 bb9ef0638069 bb9ef0638069 bb9ef0638069 bb9ef0638069 bb9ef0638069 bb9ef0638069 bb9ef0638069 bb9ef0638069 bb9ef0638069 bb9ef0638069 bb9ef0638069 bb9ef0638069 bb9ef0638069 bb9ef0638069 bb9ef0638069 bb9ef0638069 bb9ef0638069 bb9ef0638069 bb9ef0638069 bb9ef0638069 bb9ef0638069 bb9ef0638069 bb9ef0638069 | CodeMirror.defineMode("jade", function () {
var symbol_regex1 = /^(?:~|!|%|\^|\*|\+|=|\\|:|;|,|\/|\?|&|<|>|\|)/;
var open_paren_regex = /^(\(|\[)/;
var close_paren_regex = /^(\)|\])/;
var keyword_regex1 = /^(if|else|return|var|function|include|doctype|each)/;
var keyword_regex2 = /^(#|{|}|\.)/;
var keyword_regex3 = /^(in)/;
var html_regex1 = /^(html|head|title|meta|link|script|body|br|div|input|span|a|img)/;
var html_regex2 = /^(h1|h2|h3|h4|h5|p|strong|em)/;
return {
startState: function () {
return {
inString: false,
stringType: "",
beforeTag: true,
justMatchedKeyword: false,
afterParen: false
};
},
token: function (stream, state) {
//check for state changes
if (!state.inString && ((stream.peek() == '"') || (stream.peek() == "'"))) {
state.stringType = stream.peek();
stream.next(); // Skip quote
state.inString = true; // Update state
}
//return state
if (state.inString) {
if (stream.skipTo(state.stringType)) { // Quote found on this line
stream.next(); // Skip quote
state.inString = false; // Clear flag
} else {
stream.skipToEnd(); // Rest of line is string
}
state.justMatchedKeyword = false;
return "string"; // Token style
} else if (stream.sol() && stream.eatSpace()) {
if (stream.match(keyword_regex1)) {
state.justMatchedKeyword = true;
stream.eatSpace();
return "keyword";
}
if (stream.match(html_regex1) || stream.match(html_regex2)) {
state.justMatchedKeyword = true;
return "variable";
}
} else if (stream.sol() && stream.match(keyword_regex1)) {
state.justMatchedKeyword = true;
stream.eatSpace();
return "keyword";
} else if (stream.sol() && (stream.match(html_regex1) || stream.match(html_regex2))) {
state.justMatchedKeyword = true;
return "variable";
} else if (stream.eatSpace()) {
state.justMatchedKeyword = false;
if (stream.match(keyword_regex3) && stream.eatSpace()) {
state.justMatchedKeyword = true;
return "keyword";
}
} else if (stream.match(symbol_regex1)) {
state.justMatchedKeyword = false;
return "atom";
} else if (stream.match(open_paren_regex)) {
state.afterParen = true;
state.justMatchedKeyword = true;
return "def";
} else if (stream.match(close_paren_regex)) {
state.afterParen = false;
state.justMatchedKeyword = true;
return "def";
} else if (stream.match(keyword_regex2)) {
state.justMatchedKeyword = true;
return "keyword";
} else if (stream.eatSpace()) {
state.justMatchedKeyword = false;
} else {
stream.next();
if (state.justMatchedKeyword) {
return "property";
} else if (state.afterParen) {
return "property";
}
}
return null;
}
};
});
CodeMirror.defineMIME('text/x-jade', 'jade');
|