commit
45b8b9e83f
1 changed files with 20 additions and 7 deletions
|
|
@ -58,11 +58,6 @@ var ShHighlightRules = function() {
|
||||||
).split('|')
|
).split('|')
|
||||||
);
|
);
|
||||||
|
|
||||||
var builtinVariables = lang.arrayToMap(
|
|
||||||
// TODO
|
|
||||||
('$?|$$|$!|$SHLVL').split('|')
|
|
||||||
);
|
|
||||||
|
|
||||||
var integer = "(?:(?:[1-9]\\d*)|(?:0))";
|
var integer = "(?:(?:[1-9]\\d*)|(?:0))";
|
||||||
// var integer = "(?:" + decimalInteger + ")";
|
// var integer = "(?:" + decimalInteger + ")";
|
||||||
|
|
||||||
|
|
@ -71,6 +66,14 @@ var ShHighlightRules = function() {
|
||||||
var pointFloat = "(?:(?:" + intPart + "?" + fraction + ")|(?:" + intPart + "\\.))";
|
var pointFloat = "(?:(?:" + intPart + "?" + fraction + ")|(?:" + intPart + "\\.))";
|
||||||
var exponentFloat = "(?:(?:" + pointFloat + "|" + intPart + ")" + ")";
|
var exponentFloat = "(?:(?:" + pointFloat + "|" + intPart + ")" + ")";
|
||||||
var floatNumber = "(?:" + exponentFloat + "|" + pointFloat + ")";
|
var floatNumber = "(?:" + exponentFloat + "|" + pointFloat + ")";
|
||||||
|
var fileDescriptor = "(?:&" + intPart + ")";
|
||||||
|
|
||||||
|
var variableName = "[a-zA-Z][a-zA-Z0-9_]*";
|
||||||
|
var variable = "(?:(?:\\$" + variableName + ")|(?:" + variableName + "=))";
|
||||||
|
|
||||||
|
var builtinVariable = "(?:\\$(?:SHLVL|\\$|\\!|\\?))";
|
||||||
|
|
||||||
|
var func = "(?:" + variableName + "\\s*\\(\\))";
|
||||||
|
|
||||||
this.$rules = {
|
this.$rules = {
|
||||||
"start" : [ {
|
"start" : [ {
|
||||||
|
|
@ -79,6 +82,18 @@ var ShHighlightRules = function() {
|
||||||
}, {
|
}, {
|
||||||
token : "string", // " string
|
token : "string", // " string
|
||||||
regex : '"(?:[^\\\\]|\\\\.)*?"'
|
regex : '"(?:[^\\\\]|\\\\.)*?"'
|
||||||
|
}, {
|
||||||
|
token : "variable.language",
|
||||||
|
regex : builtinVariable
|
||||||
|
}, {
|
||||||
|
token : "variable",
|
||||||
|
regex : variable
|
||||||
|
}, {
|
||||||
|
token : "support.function",
|
||||||
|
regex : func,
|
||||||
|
}, {
|
||||||
|
token : "support.function",
|
||||||
|
regex : fileDescriptor
|
||||||
}, {
|
}, {
|
||||||
token : "string", // ' string
|
token : "string", // ' string
|
||||||
regex : "'(?:[^\\\\]|\\\\.)*?'"
|
regex : "'(?:[^\\\\]|\\\\.)*?'"
|
||||||
|
|
@ -94,8 +109,6 @@ var ShHighlightRules = function() {
|
||||||
return "keyword";
|
return "keyword";
|
||||||
else if (languageConstructs.hasOwnProperty(value))
|
else if (languageConstructs.hasOwnProperty(value))
|
||||||
return "constant.language";
|
return "constant.language";
|
||||||
else if (builtinVariables.hasOwnProperty(value))
|
|
||||||
return "support.function";
|
|
||||||
else if (value == "debugger")
|
else if (value == "debugger")
|
||||||
return "invalid.deprecated";
|
return "invalid.deprecated";
|
||||||
else
|
else
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue