big-moving.ru/api/soft/Ace/lib/ace/mode/lucene_highlight_rules.js

59 lines
1.7 KiB
JavaScript
Executable File

define(function(require, exports, module) {
"use strict";
var oop = require("../lib/oop");
var lang = require("../lib/lang");
var TextHighlightRules = require("./text_highlight_rules").TextHighlightRules;
var LuceneHighlightRules = function() {
this.$rules = {
"start" : [
{
token: "constant.language.escape",
regex: /\\[\+\-&\|!\(\)\{\}\[\]^"~\*\?:\\]/
}, {
token: "constant.character.negation",
regex: "\\-"
}, {
token: "constant.character.interro",
regex: "\\?"
}, {
token: "constant.character.required",
regex: "\\+"
}, {
token: "constant.character.asterisk",
regex: "\\*"
}, {
token: 'constant.character.proximity',
regex: '~(?:0\\.[0-9]+|[0-9]+)?'
}, {
token: 'keyword.operator',
regex: '(AND|OR|NOT|TO)\\b'
}, {
token: "paren.lparen",
regex: "[\\(\\{\\[]"
}, {
token: "paren.rparen",
regex: "[\\)\\}\\]]"
}, {
token: "keyword",
regex: "(?:\\\\.|[^\\s:\\\\])+:"
}, {
token: "string", // " string
regex: '"(?:\\\\"|[^"])*"'
}, {
token: "term",
regex: "\\w+"
}, {
token: "text",
regex: "\\s+"
}
]
};
};
oop.inherits(LuceneHighlightRules, TextHighlightRules);
exports.LuceneHighlightRules = LuceneHighlightRules;
});