##// END OF EJS Templates
Migrate to jQuery 1.10.2 from 1.10.1....
Migrate to jQuery 1.10.2 from 1.10.1. Include the minified version of jQuery 1.10.2 instead of 1.10.1. The 1.10.2 files were download via these commands: $ wget -N http://code.jquery.com/jquery-1.10.2.min.js $ wget -N http://code.jquery.com/jquery-1.10.2.min.map Meanwhile, since the Javascript code is covered by GPLv3, we should always provide an up-to-date version of the source code. I have included it here by creating the directory jquery-src. I extracted the correct version of the source with the following commands: $ git clone git://github.com/jquery/jquery.git $ git checkout 1.10.2 which is what the jQuery website instructs to do: http://jquery.com/download/ This repository is mirrorred at https://kallithea-scm.org/repos/mirror/jquery/ .

File last commit:

r4120:bb9ef063 rhodecode-2.2.5-gpl
r4123:e13a747e rhodecode-2.2.5-gpl
Show More
jade.js
90 lines | 3.1 KiB | application/javascript | JavascriptLexer
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');