Refinement
Includes proper MUSH substitution/register highlighting
This commit is contained in:
parent
7099a2604c
commit
00c5b8cecc
1 changed files with 27 additions and 47 deletions
|
|
@ -10,6 +10,7 @@ var TextHighlightRules = require("./text_highlight_rules").TextHighlightRules;
|
||||||
|
|
||||||
var MushCodeRules = function() {
|
var MushCodeRules = function() {
|
||||||
|
|
||||||
|
|
||||||
var keywords = (
|
var keywords = (
|
||||||
"@if|"+
|
"@if|"+
|
||||||
"@ifelse|"+
|
"@ifelse|"+
|
||||||
|
|
@ -22,6 +23,9 @@ var MushCodeRules = function() {
|
||||||
"@touch|"+
|
"@touch|"+
|
||||||
"@ataste|"+
|
"@ataste|"+
|
||||||
"@osound|"+
|
"@osound|"+
|
||||||
|
"@ahear|"+
|
||||||
|
"@aahear|"+
|
||||||
|
"@amhear|"+
|
||||||
"@otouch|"+
|
"@otouch|"+
|
||||||
"@otaste|"+
|
"@otaste|"+
|
||||||
"@drop|"+
|
"@drop|"+
|
||||||
|
|
@ -285,6 +289,7 @@ var MushCodeRules = function() {
|
||||||
"encrypt|"+
|
"encrypt|"+
|
||||||
"escape|"+
|
"escape|"+
|
||||||
"if|"+
|
"if|"+
|
||||||
|
"ifelse|"+
|
||||||
"lcstr|"+
|
"lcstr|"+
|
||||||
"left|"+
|
"left|"+
|
||||||
"lit|"+
|
"lit|"+
|
||||||
|
|
@ -398,7 +403,7 @@ var MushCodeRules = function() {
|
||||||
"@@|"+
|
"@@|"+
|
||||||
"bakerdays|"+
|
"bakerdays|"+
|
||||||
"bodybuild|"+
|
"bodybuild|"+
|
||||||
"box|"+
|
"box|"+
|
||||||
"capall|"+
|
"capall|"+
|
||||||
"catalog|"+
|
"catalog|"+
|
||||||
"children|"+
|
"children|"+
|
||||||
|
|
@ -485,14 +490,11 @@ var MushCodeRules = function() {
|
||||||
"piechartlabel|"+
|
"piechartlabel|"+
|
||||||
"createmaze|"+
|
"createmaze|"+
|
||||||
"drawmaze|"+
|
"drawmaze|"+
|
||||||
"drawwireframe"
|
"drawwireframe"
|
||||||
);
|
);
|
||||||
|
|
||||||
//var futureReserved = "";
|
|
||||||
var keywordMapper = this.createKeywordMapper({
|
var keywordMapper = this.createKeywordMapper({
|
||||||
"invalid.deprecated": "debugger",
|
"invalid.deprecated": "debugger",
|
||||||
"support.function": builtinFunctions,
|
"support.function": builtinFunctions,
|
||||||
//"invalid.illegal": futureReserved,
|
|
||||||
"constant.language": builtinConstants,
|
"constant.language": builtinConstants,
|
||||||
"keyword": keywords
|
"keyword": keywords
|
||||||
}, "identifier");
|
}, "identifier");
|
||||||
|
|
@ -513,30 +515,24 @@ var MushCodeRules = function() {
|
||||||
var floatNumber = "(?:" + exponentFloat + "|" + pointFloat + ")";
|
var floatNumber = "(?:" + exponentFloat + "|" + pointFloat + ")";
|
||||||
|
|
||||||
this.$rules = {
|
this.$rules = {
|
||||||
"start" : [ {
|
"start" : [
|
||||||
token : "comment",
|
{
|
||||||
regex : ";.*$"
|
token : "variable", // mush substitution register
|
||||||
}, {
|
regex : "%[0-9]{1}"
|
||||||
token : "string", // """ string
|
},
|
||||||
regex : strPre + '"{3}(?:[^\\\\]|\\\\.)*?"{3}'
|
{
|
||||||
}, {
|
token : "variable", // mush substitution register
|
||||||
token : "string", // multi line """ string start
|
regex : "%q[0-9A-Za-z]{1}"
|
||||||
regex : strPre + '"{3}.*$',
|
},
|
||||||
next : "qqstring"
|
{
|
||||||
}, {
|
token : "variable", // mush special character register
|
||||||
token : "string", // " string
|
regex : "%[a-zA-Z]{1}"
|
||||||
regex : strPre + '"(?:[^\\\\]|\\\\.)*?"'
|
},
|
||||||
}, {
|
{
|
||||||
token : "string", // ''' string
|
token: "variable.language",
|
||||||
regex : strPre + "'{3}(?:[^\\\\]|\\\\.)*?'{3}"
|
regex: "%[a-z0-9-_]+"
|
||||||
}, {
|
},
|
||||||
token : "string", // multi line ''' string start
|
{
|
||||||
regex : strPre + "'{3}.*$",
|
|
||||||
next : "qstring"
|
|
||||||
}, {
|
|
||||||
token : "string", // ' string
|
|
||||||
regex : strPre + "'(?:[^\\\\]|\\\\.)*?'"
|
|
||||||
}, {
|
|
||||||
token : "constant.numeric", // imaginary
|
token : "constant.numeric", // imaginary
|
||||||
regex : "(?:" + floatNumber + "|\\d+)[jJ]\\b"
|
regex : "(?:" + floatNumber + "|\\d+)[jJ]\\b"
|
||||||
}, {
|
}, {
|
||||||
|
|
@ -553,7 +549,7 @@ var MushCodeRules = function() {
|
||||||
regex : "[a-zA-Z_$][a-zA-Z0-9_$]*\\b"
|
regex : "[a-zA-Z_$][a-zA-Z0-9_$]*\\b"
|
||||||
}, {
|
}, {
|
||||||
token : "keyword.operator",
|
token : "keyword.operator",
|
||||||
regex : "\\+|\\-|\\*|\\*\\*|\\/|\\/\\/|%|<<|>>|&|\\||\\^|~|<|>|<=|=>|==|!=|<>|="
|
regex : "\\+|\\-|\\*|\\*\\*|\\/|\\/\\/|#|%|<<|>>|\\||\\^|~|<|>|<=|=>|==|!=|<>|="
|
||||||
}, {
|
}, {
|
||||||
token : "paren.lparen",
|
token : "paren.lparen",
|
||||||
regex : "[\\[\\(\\{]"
|
regex : "[\\[\\(\\{]"
|
||||||
|
|
@ -564,22 +560,6 @@ var MushCodeRules = function() {
|
||||||
token : "text",
|
token : "text",
|
||||||
regex : "\\s+"
|
regex : "\\s+"
|
||||||
} ],
|
} ],
|
||||||
"qqstring" : [ {
|
|
||||||
token : "string", // multi line """ string end
|
|
||||||
regex : '(?:[^\\\\]|\\\\.)*?"{3}',
|
|
||||||
next : "start"
|
|
||||||
}, {
|
|
||||||
token : "string",
|
|
||||||
regex : '.+'
|
|
||||||
} ],
|
|
||||||
"qstring" : [ {
|
|
||||||
token : "string", // multi line ''' string end
|
|
||||||
regex : "(?:[^\\\\]|\\\\.)*?'{3}",
|
|
||||||
next : "start"
|
|
||||||
}, {
|
|
||||||
token : "string",
|
|
||||||
regex : '.+'
|
|
||||||
} ]
|
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue