2023-01-16 22:26:34 +00:00
|
|
|
ace.define("ace/mode/gcode_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"], function(require, exports, module){"use strict";
|
|
|
|
var oop = require("../lib/oop");
|
|
|
|
var TextHighlightRules = require("./text_highlight_rules").TextHighlightRules;
|
|
|
|
var GcodeHighlightRules = function () {
|
|
|
|
var keywords = ("IF|DO|WHILE|ENDWHILE|CALL|ENDIF|SUB|ENDSUB|GOTO|REPEAT|ENDREPEAT|CALL");
|
|
|
|
var builtinConstants = ("PI");
|
|
|
|
var builtinFunctions = ("ATAN|ABS|ACOS|ASIN|SIN|COS|EXP|FIX|FUP|ROUND|LN|TAN");
|
|
|
|
var keywordMapper = this.createKeywordMapper({
|
|
|
|
"support.function": builtinFunctions,
|
|
|
|
"keyword": keywords,
|
|
|
|
"constant.language": builtinConstants
|
|
|
|
}, "identifier", true);
|
|
|
|
this.$rules = {
|
|
|
|
"start": [{
|
|
|
|
token: "comment",
|
|
|
|
regex: "\\(.*\\)"
|
2014-07-08 20:15:22 +00:00
|
|
|
}, {
|
2023-01-16 22:26:34 +00:00
|
|
|
token: "comment",
|
|
|
|
regex: "([N])([0-9]+)"
|
2014-07-08 20:15:22 +00:00
|
|
|
}, {
|
2023-01-16 22:26:34 +00:00
|
|
|
token: "string",
|
|
|
|
regex: "([G])([0-9]+\\.?[0-9]?)"
|
2014-07-08 20:15:22 +00:00
|
|
|
}, {
|
2023-01-16 22:26:34 +00:00
|
|
|
token: "string",
|
|
|
|
regex: "([M])([0-9]+\\.?[0-9]?)"
|
2014-07-08 20:15:22 +00:00
|
|
|
}, {
|
2023-01-16 22:26:34 +00:00
|
|
|
token: "constant.numeric",
|
|
|
|
regex: "([-+]?([0-9]*\\.?[0-9]+\\.?))|(\\b0[xX][a-fA-F0-9]+|(\\b\\d+(\\.\\d*)?|\\.\\d+)([eE][-+]?\\d+)?)"
|
2014-07-08 20:15:22 +00:00
|
|
|
}, {
|
2023-01-16 22:26:34 +00:00
|
|
|
token: keywordMapper,
|
|
|
|
regex: "[A-Z]"
|
2014-07-08 20:15:22 +00:00
|
|
|
}, {
|
2023-01-16 22:26:34 +00:00
|
|
|
token: "keyword.operator",
|
|
|
|
regex: "EQ|LT|GT|NE|GE|LE|OR|XOR"
|
2014-07-08 20:15:22 +00:00
|
|
|
}, {
|
2023-01-16 22:26:34 +00:00
|
|
|
token: "paren.lparen",
|
|
|
|
regex: "[\\[]"
|
2014-07-08 20:15:22 +00:00
|
|
|
}, {
|
2023-01-16 22:26:34 +00:00
|
|
|
token: "paren.rparen",
|
|
|
|
regex: "[\\]]"
|
2014-07-08 20:15:22 +00:00
|
|
|
}, {
|
2023-01-16 22:26:34 +00:00
|
|
|
token: "text",
|
|
|
|
regex: "\\s+"
|
|
|
|
}]
|
2014-07-08 20:15:22 +00:00
|
|
|
};
|
2023-01-16 22:26:34 +00:00
|
|
|
};
|
|
|
|
oop.inherits(GcodeHighlightRules, TextHighlightRules);
|
|
|
|
exports.GcodeHighlightRules = GcodeHighlightRules;
|
2014-07-08 20:15:22 +00:00
|
|
|
|
|
|
|
});
|
|
|
|
|
2023-01-16 22:26:34 +00:00
|
|
|
ace.define("ace/mode/gcode",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/gcode_highlight_rules","ace/range"], function(require, exports, module){"use strict";
|
|
|
|
var oop = require("../lib/oop");
|
|
|
|
var TextMode = require("./text").Mode;
|
|
|
|
var GcodeHighlightRules = require("./gcode_highlight_rules").GcodeHighlightRules;
|
|
|
|
var Range = require("../range").Range;
|
|
|
|
var Mode = function () {
|
|
|
|
this.HighlightRules = GcodeHighlightRules;
|
|
|
|
this.$behaviour = this.$defaultBehaviour;
|
|
|
|
};
|
|
|
|
oop.inherits(Mode, TextMode);
|
|
|
|
(function () {
|
|
|
|
this.$id = "ace/mode/gcode";
|
|
|
|
}).call(Mode.prototype);
|
|
|
|
exports.Mode = Mode;
|
2014-07-08 20:15:22 +00:00
|
|
|
|
2020-04-14 12:14:48 +00:00
|
|
|
}); (function() {
|
|
|
|
ace.require(["ace/mode/gcode"], function(m) {
|
|
|
|
if (typeof module == "object" && typeof exports == "object" && module) {
|
|
|
|
module.exports = m;
|
|
|
|
}
|
|
|
|
});
|
|
|
|
})();
|
|
|
|
|