##// END OF EJS Templates
Import some of the files from Select2 3.5.0 Javascript system....
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/

File last commit:

r4026:a60a0e90 default
r4128:bbbb013a rhodecode-2.2.5-gpl
Show More
properties.js
63 lines | 1.7 KiB | application/javascript | JavascriptLexer
CodeMirror.defineMode("properties", function() {
return {
token: function(stream, state) {
var sol = stream.sol() || state.afterSection;
var eol = stream.eol();
state.afterSection = false;
if (sol) {
if (state.nextMultiline) {
state.inMultiline = true;
state.nextMultiline = false;
} else {
state.position = "def";
}
}
if (eol && ! state.nextMultiline) {
state.inMultiline = false;
state.position = "def";
}
if (sol) {
while(stream.eatSpace());
}
var ch = stream.next();
if (sol && (ch === "#" || ch === "!" || ch === ";")) {
state.position = "comment";
stream.skipToEnd();
return "comment";
} else if (sol && ch === "[") {
state.afterSection = true;
stream.skipTo("]"); stream.eat("]");
return "header";
} else if (ch === "=" || ch === ":") {
state.position = "quote";
return null;
} else if (ch === "\\" && state.position === "quote") {
if (stream.next() !== "u") { // u = Unicode sequence \u1234
// Multiline value
state.nextMultiline = true;
}
}
return state.position;
},
startState: function() {
return {
position : "def", // Current position, "def", "quote" or "comment"
nextMultiline : false, // Is the next line multiline value
inMultiline : false, // Is the current line a multiline value
afterSection : false // Did we just open a section
};
}
};
});
CodeMirror.defineMIME("text/x-properties", "properties");
CodeMirror.defineMIME("text/x-ini", "properties");