Merge pull request #415 from Gozala/bug/parens-color
Allow highlighting parens with a diff color via .ace_paren style.
This commit is contained in:
commit
b697708092
14 changed files with 82 additions and 35 deletions
|
|
@ -121,10 +121,14 @@ var c_cppHighlightRules = function() {
|
||||||
token : "keyword.operator",
|
token : "keyword.operator",
|
||||||
regex : "!|\\$|%|&|\\*|\\-\\-|\\-|\\+\\+|\\+|~|==|=|!=|<=|>=|<<=|>>=|>>>=|<>|<|>|!|&&|\\|\\||\\?\\:|\\*=|%=|\\+=|\\-=|&=|\\^=|\\b(?:in|new|delete|typeof|void)"
|
regex : "!|\\$|%|&|\\*|\\-\\-|\\-|\\+\\+|\\+|~|==|=|!=|<=|>=|<<=|>>=|>>>=|<>|<|>|!|&&|\\|\\||\\?\\:|\\*=|%=|\\+=|\\-=|&=|\\^=|\\b(?:in|new|delete|typeof|void)"
|
||||||
}, {
|
}, {
|
||||||
token : "lparen",
|
token : "punctuation.operator",
|
||||||
|
regex : "\\?|\\:|\\,|\\;|\\.",
|
||||||
|
next : "regex_allowed"
|
||||||
|
}, {
|
||||||
|
token : "paren.lparen",
|
||||||
regex : "[[({]"
|
regex : "[[({]"
|
||||||
}, {
|
}, {
|
||||||
token : "rparen",
|
token : "paren.rparen",
|
||||||
regex : "[\\])}]"
|
regex : "[\\])}]"
|
||||||
}, {
|
}, {
|
||||||
token : "text",
|
token : "text",
|
||||||
|
|
|
||||||
|
|
@ -148,10 +148,14 @@ define(function(require, exports, module) {
|
||||||
token : "comment",
|
token : "comment",
|
||||||
regex : "#.*"
|
regex : "#.*"
|
||||||
}, {
|
}, {
|
||||||
token : "lparen",
|
token : "punctuation.operator",
|
||||||
|
regex : "\\?|\\:|\\,|\\.",
|
||||||
|
next : "regex_allowed"
|
||||||
|
}, {
|
||||||
|
token : "paren.lparen",
|
||||||
regex : "[({[]"
|
regex : "[({[]"
|
||||||
}, {
|
}, {
|
||||||
token : "rparen",
|
token : "paren.rparen",
|
||||||
regex : "[\\]})]"
|
regex : "[\\]})]"
|
||||||
}, {
|
}, {
|
||||||
token : "keyword.operator",
|
token : "keyword.operator",
|
||||||
|
|
|
||||||
|
|
@ -67,10 +67,14 @@ var CSharpHighlightRules = function() {
|
||||||
token : "keyword.operator",
|
token : "keyword.operator",
|
||||||
regex : "!|\\$|%|&|\\*|\\-\\-|\\-|\\+\\+|\\+|~|===|==|=|!=|!==|<=|>=|<<=|>>=|>>>=|<>|<|>|!|&&|\\|\\||\\?\\:|\\*=|%=|\\+=|\\-=|&=|\\^=|\\b(?:in|instanceof|new|delete|typeof|void)"
|
regex : "!|\\$|%|&|\\*|\\-\\-|\\-|\\+\\+|\\+|~|===|==|=|!=|!==|<=|>=|<<=|>>=|>>>=|<>|<|>|!|&&|\\|\\||\\?\\:|\\*=|%=|\\+=|\\-=|&=|\\^=|\\b(?:in|instanceof|new|delete|typeof|void)"
|
||||||
}, {
|
}, {
|
||||||
token : "lparen",
|
token : "punctuation.operator",
|
||||||
|
regex : "\\?|\\:|\\,|\\;|\\.",
|
||||||
|
next : "regex_allowed"
|
||||||
|
}, {
|
||||||
|
token : "paren.lparen",
|
||||||
regex : "[[({]"
|
regex : "[[({]"
|
||||||
}, {
|
}, {
|
||||||
token : "rparen",
|
token : "paren.rparen",
|
||||||
regex : "[\\])}]"
|
regex : "[\\])}]"
|
||||||
}, {
|
}, {
|
||||||
token : "text",
|
token : "text",
|
||||||
|
|
|
||||||
|
|
@ -215,14 +215,14 @@ var CssHighlightRules = function() {
|
||||||
|
|
||||||
var ruleset = lang.copyArray(base_ruleset);
|
var ruleset = lang.copyArray(base_ruleset);
|
||||||
ruleset.unshift({
|
ruleset.unshift({
|
||||||
token : "rparen",
|
token : "paren.rparen",
|
||||||
regex : "\\}",
|
regex : "\\}",
|
||||||
next: "start"
|
next: "start"
|
||||||
});
|
});
|
||||||
|
|
||||||
var media_ruleset = lang.copyArray( base_ruleset );
|
var media_ruleset = lang.copyArray( base_ruleset );
|
||||||
media_ruleset.unshift({
|
media_ruleset.unshift({
|
||||||
token : "rparen",
|
token : "paren.rparen",
|
||||||
regex : "\\}",
|
regex : "\\}",
|
||||||
next: "media"
|
next: "media"
|
||||||
});
|
});
|
||||||
|
|
@ -261,7 +261,7 @@ var CssHighlightRules = function() {
|
||||||
regex : "\\/\\*",
|
regex : "\\/\\*",
|
||||||
next : "comment"
|
next : "comment"
|
||||||
}, {
|
}, {
|
||||||
token: "lparen",
|
token: "paren.lparen",
|
||||||
regex: "\\{",
|
regex: "\\{",
|
||||||
next: "ruleset"
|
next: "ruleset"
|
||||||
}, {
|
}, {
|
||||||
|
|
@ -288,7 +288,7 @@ var CssHighlightRules = function() {
|
||||||
regex : "\\/\\*",
|
regex : "\\/\\*",
|
||||||
next : "media_comment"
|
next : "media_comment"
|
||||||
}, {
|
}, {
|
||||||
token: "lparen",
|
token: "paren.lparen",
|
||||||
regex: "\\{",
|
regex: "\\{",
|
||||||
next: "media_ruleset"
|
next: "media_ruleset"
|
||||||
},{
|
},{
|
||||||
|
|
|
||||||
|
|
@ -46,15 +46,42 @@ var TextHighlightRules = require("ace/mode/text_highlight_rules").TextHighlightR
|
||||||
|
|
||||||
var JavaScriptHighlightRules = function() {
|
var JavaScriptHighlightRules = function() {
|
||||||
|
|
||||||
|
// see: https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects
|
||||||
|
var globals = lang.arrayToMap(
|
||||||
|
// Constructors
|
||||||
|
("Array|Boolean|Date|Function|Iterator|Number|Object|RegExp|String|Proxy|" +
|
||||||
|
// E4X
|
||||||
|
"Namespace|QName|XML|XMLList|" +
|
||||||
|
"ArrayBuffer|Float32Array|Float64Array|Int16Array|Int32Array|Int8Array|" +
|
||||||
|
"Uint16Array|Uint32Array|Uint8Array|Uint8ClampedArray|" +
|
||||||
|
// Errors
|
||||||
|
"Error|EvalError|InternalError|RangeError|ReferenceError|StopIteration|" +
|
||||||
|
"SyntaxError|TypeError|URIError|" +
|
||||||
|
// Non-constructor functions
|
||||||
|
"decodeURI|decodeURIComponent|encodeURI|encodeURIComponent|eval|isFinite|" +
|
||||||
|
"isNaN|parseFloat|parseInt|" +
|
||||||
|
// Other
|
||||||
|
"JSON|Math|" +
|
||||||
|
// Pseudo
|
||||||
|
"this|arguments|prototype|window|document"
|
||||||
|
).split("|")
|
||||||
|
);
|
||||||
|
|
||||||
var keywords = lang.arrayToMap(
|
var keywords = lang.arrayToMap(
|
||||||
("break|case|catch|continue|default|delete|do|else|finally|for|function|" +
|
("break|case|catch|continue|default|delete|do|else|finally|for|function|" +
|
||||||
"if|in|instanceof|new|return|switch|throw|try|typeof|let|var|while|with|" +
|
"if|in|instanceof|new|return|switch|throw|try|typeof|let|var|while|with|" +
|
||||||
"const|yield|import|get|set").split("|")
|
"const|yield|import|get|set").split("|")
|
||||||
);
|
);
|
||||||
|
|
||||||
// keywords which can be followed by regular expressions
|
// keywords which can be followed by regular expressions
|
||||||
var kwBeforeRe = "case|do|else|finally|in|instanceof|return|throw|try|typeof|yield";
|
var kwBeforeRe = "case|do|else|finally|in|instanceof|return|throw|try|typeof|yield";
|
||||||
|
|
||||||
|
var deprecated = lang.arrayToMap(
|
||||||
|
("__parent__|__count__|escape|unescape|with|__proto__").split("|")
|
||||||
|
);
|
||||||
|
|
||||||
|
var definitions = lang.arrayToMap(("const|let|var|function").split("|"));
|
||||||
|
|
||||||
var buildinConstants = lang.arrayToMap(
|
var buildinConstants = lang.arrayToMap(
|
||||||
("null|Infinity|NaN|undefined").split("|")
|
("null|Infinity|NaN|undefined").split("|")
|
||||||
);
|
);
|
||||||
|
|
@ -109,7 +136,7 @@ var JavaScriptHighlightRules = function() {
|
||||||
token : "constant.numeric", // float
|
token : "constant.numeric", // float
|
||||||
regex : "[+-]?\\d+(?:(?:\\.\\d*)?(?:[eE][+-]?\\d+)?)?\\b"
|
regex : "[+-]?\\d+(?:(?:\\.\\d*)?(?:[eE][+-]?\\d+)?)?\\b"
|
||||||
}, {
|
}, {
|
||||||
token : ["keyword", "text", "entity.name.function"],
|
token : ["keyword.definition", "text", "entity.name.function"],
|
||||||
regex : "(function)(\\s+)(" + identifierRe + ")"
|
regex : "(function)(\\s+)(" + identifierRe + ")"
|
||||||
}, {
|
}, {
|
||||||
token : "constant.language.boolean",
|
token : "constant.language.boolean",
|
||||||
|
|
@ -120,8 +147,12 @@ var JavaScriptHighlightRules = function() {
|
||||||
next : "regex_allowed"
|
next : "regex_allowed"
|
||||||
}, {
|
}, {
|
||||||
token : function(value) {
|
token : function(value) {
|
||||||
if (value == "this")
|
if (globals.hasOwnProperty(value))
|
||||||
return "variable.language";
|
return "variable.language";
|
||||||
|
else if (deprecated.hasOwnProperty(value))
|
||||||
|
return "invalid.deprecated";
|
||||||
|
else if (definitions.hasOwnProperty(value))
|
||||||
|
return "keyword.definition";
|
||||||
else if (keywords.hasOwnProperty(value))
|
else if (keywords.hasOwnProperty(value))
|
||||||
return "keyword";
|
return "keyword";
|
||||||
else if (buildinConstants.hasOwnProperty(value))
|
else if (buildinConstants.hasOwnProperty(value))
|
||||||
|
|
@ -139,11 +170,15 @@ var JavaScriptHighlightRules = function() {
|
||||||
regex : "!|\\$|%|&|\\*|\\-\\-|\\-|\\+\\+|\\+|~|===|==|=|!=|!==|<=|>=|<<=|>>=|>>>=|<>|<|>|!|&&|\\|\\||\\?\\:|\\*=|%=|\\+=|\\-=|&=|\\^=|\\b(?:in|instanceof|new|delete|typeof|void)",
|
regex : "!|\\$|%|&|\\*|\\-\\-|\\-|\\+\\+|\\+|~|===|==|=|!=|!==|<=|>=|<<=|>>=|>>>=|<>|<|>|!|&&|\\|\\||\\?\\:|\\*=|%=|\\+=|\\-=|&=|\\^=|\\b(?:in|instanceof|new|delete|typeof|void)",
|
||||||
next : "regex_allowed"
|
next : "regex_allowed"
|
||||||
}, {
|
}, {
|
||||||
token : "lparen",
|
token : "punctuation.operator",
|
||||||
|
regex : "\\?|\\:|\\,|\\;|\\.",
|
||||||
|
next : "regex_allowed"
|
||||||
|
}, {
|
||||||
|
token : "paren.lparen",
|
||||||
regex : "[[({]",
|
regex : "[[({]",
|
||||||
next : "regex_allowed"
|
next : "regex_allowed"
|
||||||
}, {
|
}, {
|
||||||
token : "rparen",
|
token : "paren.rparen",
|
||||||
regex : "[\\])}]"
|
regex : "[\\])}]"
|
||||||
}, {
|
}, {
|
||||||
token : "keyword.operator",
|
token : "keyword.operator",
|
||||||
|
|
|
||||||
|
|
@ -67,10 +67,10 @@ var JsonHighlightRules = function() {
|
||||||
token : "invalid.illegal", // comments are not allowed
|
token : "invalid.illegal", // comments are not allowed
|
||||||
regex : "\\/\\/.*$"
|
regex : "\\/\\/.*$"
|
||||||
}, {
|
}, {
|
||||||
token : "lparen",
|
token : "paren.lparen",
|
||||||
regex : "[[({]"
|
regex : "[[({]"
|
||||||
}, {
|
}, {
|
||||||
token : "rparen",
|
token : "paren.rparen",
|
||||||
regex : "[\\])}]"
|
regex : "[\\])}]"
|
||||||
}, {
|
}, {
|
||||||
token : "text",
|
token : "text",
|
||||||
|
|
@ -84,4 +84,4 @@ var JsonHighlightRules = function() {
|
||||||
oop.inherits(JsonHighlightRules, TextHighlightRules);
|
oop.inherits(JsonHighlightRules, TextHighlightRules);
|
||||||
|
|
||||||
exports.JsonHighlightRules = JsonHighlightRules;
|
exports.JsonHighlightRules = JsonHighlightRules;
|
||||||
});
|
});
|
||||||
|
|
|
||||||
|
|
@ -279,10 +279,10 @@ var LuaHighlightRules = function() {
|
||||||
token : "keyword.operator",
|
token : "keyword.operator",
|
||||||
regex : "\\+|\\-|\\*|\\/|%|\\#|\\^|~|<|>|<=|=>|==|~=|=|\\:|\\.\\.\\.|\\.\\."
|
regex : "\\+|\\-|\\*|\\/|%|\\#|\\^|~|<|>|<=|=>|==|~=|=|\\:|\\.\\.\\.|\\.\\."
|
||||||
}, {
|
}, {
|
||||||
token : "lparen",
|
token : "paren.lparen",
|
||||||
regex : "[\\[\\(\\{]"
|
regex : "[\\[\\(\\{]"
|
||||||
}, {
|
}, {
|
||||||
token : "rparen",
|
token : "paren.rparen",
|
||||||
regex : "[\\]\\)\\}]"
|
regex : "[\\]\\)\\}]"
|
||||||
}, {
|
}, {
|
||||||
token : "text",
|
token : "text",
|
||||||
|
|
|
||||||
|
|
@ -309,11 +309,11 @@ var OcamlHighlightRules = function() {
|
||||||
regex : "\\+\\.|\\-\\.|\\*\\.|\\/\\.|#|;;|\\+|\\-|\\*|\\*\\*\\/|\\/\\/|%|<<|>>|&|\\||\\^|~|<|>|<=|=>|==|!=|<>|<-|="
|
regex : "\\+\\.|\\-\\.|\\*\\.|\\/\\.|#|;;|\\+|\\-|\\*|\\*\\*\\/|\\/\\/|%|<<|>>|&|\\||\\^|~|<|>|<=|=>|==|!=|<>|<-|="
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
token : "lparen",
|
token : "paren.lparen",
|
||||||
regex : "[[({]"
|
regex : "[[({]"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
token : "rparen",
|
token : "paren.rparen",
|
||||||
regex : "[\\])}]"
|
regex : "[\\])}]"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
|
|
||||||
|
|
@ -1004,10 +1004,10 @@ var PhpHighlightRules = function() {
|
||||||
token : "keyword.operator",
|
token : "keyword.operator",
|
||||||
regex : "!|\\$|%|&|\\*|\\-\\-|\\-|\\+\\+|\\+|~|===|==|=|!=|!==|<=|>=|<<=|>>=|>>>=|<>|<|>|!|&&|\\|\\||\\?\\:|\\*=|%=|\\+=|\\-=|&=|\\^=|\\b(?:in|instanceof|new|delete|typeof|void)"
|
regex : "!|\\$|%|&|\\*|\\-\\-|\\-|\\+\\+|\\+|~|===|==|=|!=|!==|<=|>=|<<=|>>=|>>>=|<>|<|>|!|&&|\\|\\||\\?\\:|\\*=|%=|\\+=|\\-=|&=|\\^=|\\b(?:in|instanceof|new|delete|typeof|void)"
|
||||||
}, {
|
}, {
|
||||||
token : "lparen",
|
token : "paren.lparen",
|
||||||
regex : "[[({]"
|
regex : "[[({]"
|
||||||
}, {
|
}, {
|
||||||
token : "rparen",
|
token : "paren.rparen",
|
||||||
regex : "[\\])}]"
|
regex : "[\\])}]"
|
||||||
}, {
|
}, {
|
||||||
token : "text",
|
token : "text",
|
||||||
|
|
|
||||||
|
|
@ -145,10 +145,10 @@ var PythonHighlightRules = function() {
|
||||||
token : "keyword.operator",
|
token : "keyword.operator",
|
||||||
regex : "\\+|\\-|\\*|\\*\\*|\\/|\\/\\/|%|<<|>>|&|\\||\\^|~|<|>|<=|=>|==|!=|<>|="
|
regex : "\\+|\\-|\\*|\\*\\*|\\/|\\/\\/|%|<<|>>|&|\\||\\^|~|<|>|<=|=>|==|!=|<>|="
|
||||||
}, {
|
}, {
|
||||||
token : "lparen",
|
token : "lparen.paren",
|
||||||
regex : "[\\[\\(\\{]"
|
regex : "[\\[\\(\\{]"
|
||||||
}, {
|
}, {
|
||||||
token : "rparen",
|
token : "paren.rparen",
|
||||||
regex : "[\\]\\)\\}]"
|
regex : "[\\]\\)\\}]"
|
||||||
}, {
|
}, {
|
||||||
token : "text",
|
token : "text",
|
||||||
|
|
@ -178,4 +178,4 @@ var PythonHighlightRules = function() {
|
||||||
oop.inherits(PythonHighlightRules, TextHighlightRules);
|
oop.inherits(PythonHighlightRules, TextHighlightRules);
|
||||||
|
|
||||||
exports.PythonHighlightRules = PythonHighlightRules;
|
exports.PythonHighlightRules = PythonHighlightRules;
|
||||||
});
|
});
|
||||||
|
|
|
||||||
|
|
@ -163,10 +163,10 @@ var RubyHighlightRules = function() {
|
||||||
token : "keyword.operator",
|
token : "keyword.operator",
|
||||||
regex : "!|\\$|%|&|\\*|\\-\\-|\\-|\\+\\+|\\+|~|===|==|=|!=|!==|<=|>=|<<=|>>=|>>>=|<>|<|>|!|&&|\\|\\||\\?\\:|\\*=|%=|\\+=|\\-=|&=|\\^=|\\b(?:in|instanceof|new|delete|typeof|void)"
|
regex : "!|\\$|%|&|\\*|\\-\\-|\\-|\\+\\+|\\+|~|===|==|=|!=|!==|<=|>=|<<=|>>=|>>>=|<>|<|>|!|&&|\\|\\||\\?\\:|\\*=|%=|\\+=|\\-=|&=|\\^=|\\b(?:in|instanceof|new|delete|typeof|void)"
|
||||||
}, {
|
}, {
|
||||||
token : "lparen",
|
token : "paren.lparen",
|
||||||
regex : "[[({]"
|
regex : "[[({]"
|
||||||
}, {
|
}, {
|
||||||
token : "rparen",
|
token : "paren.rparen",
|
||||||
regex : "[\\])}]"
|
regex : "[\\])}]"
|
||||||
}, {
|
}, {
|
||||||
token : "text",
|
token : "text",
|
||||||
|
|
|
||||||
|
|
@ -112,10 +112,10 @@ var scadHighlightRules = function() {
|
||||||
token : "keyword.operator",
|
token : "keyword.operator",
|
||||||
regex : "!|\\$|%|&|\\*|\\-\\-|\\-|\\+\\+|\\+|~|==|=|!=|<=|>=|<<=|>>=|>>>=|<>|<|>|!|&&|\\|\\||\\?\\:|\\*=|%=|\\+=|\\-=|&=|\\^=|\\b(?:in|new|delete|typeof|void)"
|
regex : "!|\\$|%|&|\\*|\\-\\-|\\-|\\+\\+|\\+|~|==|=|!=|<=|>=|<<=|>>=|>>>=|<>|<|>|!|&&|\\|\\||\\?\\:|\\*=|%=|\\+=|\\-=|&=|\\^=|\\b(?:in|new|delete|typeof|void)"
|
||||||
}, {
|
}, {
|
||||||
token : "lparen",
|
token : "paren.lparen",
|
||||||
regex : "[[({]"
|
regex : "[[({]"
|
||||||
}, {
|
}, {
|
||||||
token : "rparen",
|
token : "paren.rparen",
|
||||||
regex : "[\\])}]"
|
regex : "[\\])}]"
|
||||||
}, {
|
}, {
|
||||||
token : "text",
|
token : "text",
|
||||||
|
|
|
||||||
|
|
@ -110,10 +110,10 @@ var ScalaHighlightRules = function() {
|
||||||
token : "keyword.operator",
|
token : "keyword.operator",
|
||||||
regex : "!|\\$|%|&|\\*|\\-\\-|\\-|\\+\\+|\\+|~|===|==|=|!=|!==|<=|>=|<<=|>>=|>>>=|<>|<|>|!|&&|\\|\\||\\?\\:|\\*=|%=|\\+=|\\-=|&=|\\^=|\\b(?:in|instanceof|new|delete|typeof|void)"
|
regex : "!|\\$|%|&|\\*|\\-\\-|\\-|\\+\\+|\\+|~|===|==|=|!=|!==|<=|>=|<<=|>>=|>>>=|<>|<|>|!|&&|\\|\\||\\?\\:|\\*=|%=|\\+=|\\-=|&=|\\^=|\\b(?:in|instanceof|new|delete|typeof|void)"
|
||||||
}, {
|
}, {
|
||||||
token : "lparen",
|
token : "paren.lparen",
|
||||||
regex : "[[({]"
|
regex : "[[({]"
|
||||||
}, {
|
}, {
|
||||||
token : "rparen",
|
token : "paren.rparen",
|
||||||
regex : "[\\])}]"
|
regex : "[\\])}]"
|
||||||
}, {
|
}, {
|
||||||
token : "text",
|
token : "text",
|
||||||
|
|
|
||||||
|
|
@ -310,10 +310,10 @@ var ScssHighlightRules = function() {
|
||||||
token : "keyword.operator",
|
token : "keyword.operator",
|
||||||
regex : "<|>|<=|>=|==|!=|-|%|#|\\+|\\$|\\+|\\*"
|
regex : "<|>|<=|>=|==|!=|-|%|#|\\+|\\$|\\+|\\*"
|
||||||
}, {
|
}, {
|
||||||
token : "lparen",
|
token : "paren.lparen",
|
||||||
regex : "[[({]"
|
regex : "[[({]"
|
||||||
}, {
|
}, {
|
||||||
token : "rparen",
|
token : "paren.rparen",
|
||||||
regex : "[\\])}]"
|
regex : "[\\])}]"
|
||||||
}, {
|
}, {
|
||||||
token : "text",
|
token : "text",
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue