123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459 |
- ace.define("ace/mode/doc_comment_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 DocCommentHighlightRules = function() {
- this.$rules = {
- "start" : [ {
- token : "comment.doc.tag",
- regex : "@[\\w\\d_]+" // TODO: fix email addresses
- },
- DocCommentHighlightRules.getTagRule(),
- {
- defaultToken : "comment.doc",
- caseInsensitive: true
- }]
- };
- };
- oop.inherits(DocCommentHighlightRules, TextHighlightRules);
- DocCommentHighlightRules.getTagRule = function(start) {
- return {
- token : "comment.doc.tag.storage.type",
- regex : "\\b(?:TODO|FIXME|XXX|HACK)\\b"
- };
- }
- DocCommentHighlightRules.getStartRule = function(start) {
- return {
- token : "comment.doc", // doc comment
- regex : "\\/\\*(?=\\*)",
- next : start
- };
- };
- DocCommentHighlightRules.getEndRule = function (start) {
- return {
- token : "comment.doc", // closing comment
- regex : "\\*\\/",
- next : start
- };
- };
- exports.DocCommentHighlightRules = DocCommentHighlightRules;
- });
- ace.define("ace/mode/java_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/doc_comment_highlight_rules","ace/mode/text_highlight_rules"], function(require, exports, module) {
- "use strict";
- var oop = require("../lib/oop");
- var DocCommentHighlightRules = require("./doc_comment_highlight_rules").DocCommentHighlightRules;
- var TextHighlightRules = require("./text_highlight_rules").TextHighlightRules;
- var JavaHighlightRules = function() {
- var keywords = (
- "abstract|continue|for|new|switch|" +
- "assert|default|goto|package|synchronized|" +
- "boolean|do|if|private|this|" +
- "break|double|implements|protected|throw|" +
- "byte|else|import|public|throws|" +
- "case|enum|instanceof|return|transient|" +
- "catch|extends|int|short|try|" +
- "char|final|interface|static|void|" +
- "class|finally|long|strictfp|volatile|" +
- "const|float|native|super|while"
- );
- var buildinConstants = ("null|Infinity|NaN|undefined");
- var langClasses = (
- "AbstractMethodError|AssertionError|ClassCircularityError|"+
- "ClassFormatError|Deprecated|EnumConstantNotPresentException|"+
- "ExceptionInInitializerError|IllegalAccessError|"+
- "IllegalThreadStateException|InstantiationError|InternalError|"+
- "NegativeArraySizeException|NoSuchFieldError|Override|Process|"+
- "ProcessBuilder|SecurityManager|StringIndexOutOfBoundsException|"+
- "SuppressWarnings|TypeNotPresentException|UnknownError|"+
- "UnsatisfiedLinkError|UnsupportedClassVersionError|VerifyError|"+
- "InstantiationException|IndexOutOfBoundsException|"+
- "ArrayIndexOutOfBoundsException|CloneNotSupportedException|"+
- "NoSuchFieldException|IllegalArgumentException|NumberFormatException|"+
- "SecurityException|Void|InheritableThreadLocal|IllegalStateException|"+
- "InterruptedException|NoSuchMethodException|IllegalAccessException|"+
- "UnsupportedOperationException|Enum|StrictMath|Package|Compiler|"+
- "Readable|Runtime|StringBuilder|Math|IncompatibleClassChangeError|"+
- "NoSuchMethodError|ThreadLocal|RuntimePermission|ArithmeticException|"+
- "NullPointerException|Long|Integer|Short|Byte|Double|Number|Float|"+
- "Character|Boolean|StackTraceElement|Appendable|StringBuffer|"+
- "Iterable|ThreadGroup|Runnable|Thread|IllegalMonitorStateException|"+
- "StackOverflowError|OutOfMemoryError|VirtualMachineError|"+
- "ArrayStoreException|ClassCastException|LinkageError|"+
- "NoClassDefFoundError|ClassNotFoundException|RuntimeException|"+
- "Exception|ThreadDeath|Error|Throwable|System|ClassLoader|"+
- "Cloneable|Class|CharSequence|Comparable|String|Object"
- );
- var keywordMapper = this.createKeywordMapper({
- "variable.language": "this",
- "keyword": keywords,
- "constant.language": buildinConstants,
- "support.function": langClasses
- }, "identifier");
- this.$rules = {
- "start" : [
- {
- token : "comment",
- regex : "\\/\\/.*$"
- },
- DocCommentHighlightRules.getStartRule("doc-start"),
- {
- token : "comment", // multi line comment
- regex : "\\/\\*",
- next : "comment"
- }, {
- token : "string", // single line
- regex : '["](?:(?:\\\\.)|(?:[^"\\\\]))*?["]'
- }, {
- token : "string", // single line
- regex : "['](?:(?:\\\\.)|(?:[^'\\\\]))*?[']"
- }, {
- token : "constant.numeric", // hex
- regex : /0(?:[xX][0-9a-fA-F][0-9a-fA-F_]*|[bB][01][01_]*)[LlSsDdFfYy]?\b/
- }, {
- token : "constant.numeric", // float
- regex : /[+-]?\d[\d_]*(?:(?:\.[\d_]*)?(?:[eE][+-]?[\d_]+)?)?[LlSsDdFfYy]?\b/
- }, {
- token : "constant.language.boolean",
- regex : "(?:true|false)\\b"
- }, {
- token : keywordMapper,
- regex : "[a-zA-Z_$][a-zA-Z0-9_$]*\\b"
- }, {
- token : "keyword.operator",
- regex : "!|\\$|%|&|\\*|\\-\\-|\\-|\\+\\+|\\+|~|===|==|=|!=|!==|<=|>=|<<=|>>=|>>>=|<>|<|>|!|&&|\\|\\||\\?\\:|\\*=|%=|\\+=|\\-=|&=|\\^=|\\b(?:in|instanceof|new|delete|typeof|void)"
- }, {
- token : "lparen",
- regex : "[[({]"
- }, {
- token : "rparen",
- regex : "[\\])}]"
- }, {
- token : "text",
- regex : "\\s+"
- }
- ],
- "comment" : [
- {
- token : "comment", // closing comment
- regex : ".*?\\*\\/",
- next : "start"
- }, {
- token : "comment", // comment spanning whole line
- regex : ".+"
- }
- ]
- };
- this.embedRules(DocCommentHighlightRules, "doc-",
- [ DocCommentHighlightRules.getEndRule("start") ]);
- };
- oop.inherits(JavaHighlightRules, TextHighlightRules);
- exports.JavaHighlightRules = JavaHighlightRules;
- });
- ace.define("ace/mode/drools_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules","ace/mode/java_highlight_rules","ace/mode/doc_comment_highlight_rules"], function(require, exports, module) {
- "use strict";
- var oop = require("../lib/oop");
- var TextHighlightRules = require("./text_highlight_rules").TextHighlightRules;
- var JavaHighlightRules = require("./java_highlight_rules").JavaHighlightRules;
- var DocCommentHighlightRules = require("./doc_comment_highlight_rules").DocCommentHighlightRules;
- var identifierRe = "[a-zA-Z\\$_\u00a1-\uffff][a-zA-Z\\d\\$_\u00a1-\uffff]*";
- var packageIdentifierRe = "[a-zA-Z\\$_\u00a1-\uffff][\\.a-zA-Z\\d\\$_\u00a1-\uffff]*";
- var DroolsHighlightRules = function() {
- var keywords = ("date|effective|expires|lock|on|active|no|loop|auto|focus" +
- "|activation|group|agenda|ruleflow|duration|timer|calendars|refract|direct" +
- "|dialect|salience|enabled|attributes|extends|template" +
- "|function|contains|matches|eval|excludes|soundslike" +
- "|memberof|not|in|or|and|exists|forall|over|from|entry|point|accumulate|acc|collect" +
- "|action|reverse|result|end|init|instanceof|extends|super|boolean|char|byte|short" +
- "|int|long|float|double|this|void|class|new|case|final|if|else|for|while|do" +
- "|default|try|catch|finally|switch|synchronized|return|throw|break|continue|assert" +
- "|modify|static|public|protected|private|abstract|native|transient|volatile" +
- "|strictfp|throws|interface|enum|implements|type|window|trait|no-loop|str"
- );
- var langClasses = (
- "AbstractMethodError|AssertionError|ClassCircularityError|"+
- "ClassFormatError|Deprecated|EnumConstantNotPresentException|"+
- "ExceptionInInitializerError|IllegalAccessError|"+
- "IllegalThreadStateException|InstantiationError|InternalError|"+
- "NegativeArraySizeException|NoSuchFieldError|Override|Process|"+
- "ProcessBuilder|SecurityManager|StringIndexOutOfBoundsException|"+
- "SuppressWarnings|TypeNotPresentException|UnknownError|"+
- "UnsatisfiedLinkError|UnsupportedClassVersionError|VerifyError|"+
- "InstantiationException|IndexOutOfBoundsException|"+
- "ArrayIndexOutOfBoundsException|CloneNotSupportedException|"+
- "NoSuchFieldException|IllegalArgumentException|NumberFormatException|"+
- "SecurityException|Void|InheritableThreadLocal|IllegalStateException|"+
- "InterruptedException|NoSuchMethodException|IllegalAccessException|"+
- "UnsupportedOperationException|Enum|StrictMath|Package|Compiler|"+
- "Readable|Runtime|StringBuilder|Math|IncompatibleClassChangeError|"+
- "NoSuchMethodError|ThreadLocal|RuntimePermission|ArithmeticException|"+
- "NullPointerException|Long|Integer|Short|Byte|Double|Number|Float|"+
- "Character|Boolean|StackTraceElement|Appendable|StringBuffer|"+
- "Iterable|ThreadGroup|Runnable|Thread|IllegalMonitorStateException|"+
- "StackOverflowError|OutOfMemoryError|VirtualMachineError|"+
- "ArrayStoreException|ClassCastException|LinkageError|"+
- "NoClassDefFoundError|ClassNotFoundException|RuntimeException|"+
- "Exception|ThreadDeath|Error|Throwable|System|ClassLoader|"+
- "Cloneable|Class|CharSequence|Comparable|String|Object"
- );
- var keywordMapper = this.createKeywordMapper({
- "variable.language": "this",
- "keyword": keywords,
- "constant.language": "null",
- "support.class" : langClasses,
- "support.function" : "retract|update|modify|insert"
- }, "identifier");
- var stringRules = function() {
- return [{
- token : "string", // single line
- regex : '["](?:(?:\\\\.)|(?:[^"\\\\]))*?["]'
- }, {
- token : "string", // single line
- regex : "['](?:(?:\\\\.)|(?:[^'\\\\]))*?[']"
- }];
- };
- var basicPreRules = function(blockCommentRules) {
- return [{
- token : "comment",
- regex : "\\/\\/.*$"
- },
- DocCommentHighlightRules.getStartRule("doc-start"),
- {
- token : "comment", // multi line comment
- regex : "\\/\\*",
- next : blockCommentRules
- }, {
- token : "constant.numeric", // hex
- regex : "0[xX][0-9a-fA-F]+\\b"
- }, {
- token : "constant.numeric", // float
- regex : "[+-]?\\d+(?:(?:\\.\\d*)?(?:[eE][+-]?\\d+)?)?\\b"
- }, {
- token : "constant.language.boolean",
- regex : "(?:true|false)\\b"
- }];
- };
- var blockCommentRules = function(returnRule) {
- return [
- {
- token : "comment.block", // closing comment
- regex : ".*?\\*\\/",
- next : returnRule
- }, {
- token : "comment.block", // comment spanning whole line
- regex : ".+"
- }
- ];
- }
- var basicPostRules = function() {
- return [{
- token : keywordMapper,
- regex : "[a-zA-Z_$][a-zA-Z0-9_$]*\\b"
- }, {
- token : "keyword.operator",
- regex : "!|\\$|%|&|\\*|\\-\\-|\\-|\\+\\+|\\+|~|===|==|=|!=|!==|<=|>=|<<=|>>=|>>>=|<>|<|>|!|&&|\\|\\||\\?\\:|\\*=|%=|\\+=|\\-=|&=|\\^=|\\b(?:in|instanceof|new|delete|typeof|void)"
- }, {
- token : "lparen",
- regex : "[[({]"
- }, {
- token : "rparen",
- regex : "[\\])}]"
- }, {
- token : "text",
- regex : "\\s+"
- }];
- };
- this.$rules = {
- "start" : [].concat(basicPreRules("block.comment"), [
- {
- token : "entity.name.type",
- regex : "@[a-zA-Z_$][a-zA-Z0-9_$]*\\b"
- }, {
- token : ["keyword","text","entity.name.type"],
- regex : "(package)(\\s+)(" + packageIdentifierRe +")"
- }, {
- token : ["keyword","text","keyword","text","entity.name.type"],
- regex : "(import)(\\s+)(function)(\\s+)(" + packageIdentifierRe +")"
- }, {
- token : ["keyword","text","entity.name.type"],
- regex : "(import)(\\s+)(" + packageIdentifierRe +")"
- }, {
- token : ["keyword","text","entity.name.type","text","variable"],
- regex : "(global)(\\s+)(" + packageIdentifierRe +")(\\s+)(" + identifierRe +")"
- }, {
- token : ["keyword","text","keyword","text","entity.name.type"],
- regex : "(declare)(\\s+)(trait)(\\s+)(" + identifierRe +")"
- }, {
- token : ["keyword","text","entity.name.type"],
- regex : "(declare)(\\s+)(" + identifierRe +")"
- }, {
- token : ["keyword","text","entity.name.type"],
- regex : "(extends)(\\s+)(" + packageIdentifierRe +")"
- }, {
- token : ["keyword","text"],
- regex : "(rule)(\\s+)",
- next : "asset.name"
- }],
- stringRules(),
- [{
- token : ["variable.other","text","text"],
- regex : "(" + identifierRe + ")(\\s*)(:)"
- }, {
- token : ["keyword","text"],
- regex : "(query)(\\s+)",
- next : "asset.name"
- }, {
- token : ["keyword","text"],
- regex : "(when)(\\s*)"
- }, {
- token : ["keyword","text"],
- regex : "(then)(\\s*)",
- next : "java-start"
- }, {
- token : "paren.lparen",
- regex : /[\[({]/
- }, {
- token : "paren.rparen",
- regex : /[\])}]/
- }], basicPostRules()),
- "block.comment" : blockCommentRules("start"),
- "asset.name" : [
- {
- token : "entity.name",
- regex : '["](?:(?:\\\\.)|(?:[^"\\\\]))*?["]'
- }, {
- token : "entity.name",
- regex : "['](?:(?:\\\\.)|(?:[^'\\\\]))*?[']"
- }, {
- token : "entity.name",
- regex : identifierRe
- }, {
- regex: "",
- token: "empty",
- next: "start"
- }]
- };
- this.embedRules(DocCommentHighlightRules, "doc-",
- [ DocCommentHighlightRules.getEndRule("start") ]);
- this.embedRules(JavaHighlightRules, "java-", [
- {
- token : "support.function",
- regex: "\\b(insert|modify|retract|update)\\b"
- }, {
- token : "keyword",
- regex: "\\bend\\b",
- next : "start"
- }]);
- };
- oop.inherits(DroolsHighlightRules, TextHighlightRules);
- exports.DroolsHighlightRules = DroolsHighlightRules;
- });
- ace.define("ace/mode/folding/drools",["require","exports","module","ace/lib/oop","ace/range","ace/mode/folding/fold_mode","ace/token_iterator"], function(require, exports, module) {
- "use strict";
- var oop = require("../../lib/oop");
- var Range = require("../../range").Range;
- var BaseFoldMode = require("./fold_mode").FoldMode;
- var TokenIterator = require("../../token_iterator").TokenIterator;
- var FoldMode = exports.FoldMode = function() {};
- oop.inherits(FoldMode, BaseFoldMode);
- (function() {
- this.foldingStartMarker = /\b(rule|declare|query|when|then)\b/;
- this.foldingStopMarker = /\bend\b/;
- this.getFoldWidgetRange = function(session, foldStyle, row) {
- var line = session.getLine(row);
- var match = line.match(this.foldingStartMarker);
- if (match) {
- var i = match.index;
- if (match[1]) {
- var position = {row: row, column: line.length};
- var iterator = new TokenIterator(session, position.row, position.column);
- var seek = "end";
- var token = iterator.getCurrentToken();
- if (token.value == "when") {
- seek = "then";
- }
- while (token) {
- if (token.value == seek) {
- return Range.fromPoints(position ,{
- row: iterator.getCurrentTokenRow(),
- column: iterator.getCurrentTokenColumn()
- });
- }
- token = iterator.stepForward();
- }
- }
- }
- }
- }).call(FoldMode.prototype);
- });
- ace.define("ace/mode/drools",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/drools_highlight_rules","ace/mode/folding/drools"], function(require, exports, module) {
- "use strict";
- var oop = require("../lib/oop");
- var TextMode = require("./text").Mode;
- var DroolsHighlightRules = require("./drools_highlight_rules").DroolsHighlightRules;
- var DroolsFoldMode = require("./folding/drools").FoldMode;
- var Mode = function() {
- this.HighlightRules = DroolsHighlightRules;
- this.foldingRules = new DroolsFoldMode();
- this.$behaviour = this.$defaultBehaviour;
- };
- oop.inherits(Mode, TextMode);
- (function() {
- this.lineCommentStart = "//";
- this.$id = "ace/mode/drools";
- }).call(Mode.prototype);
- exports.Mode = Mode;
- });
|