3

我正在尝试使用这两个规则创建一个模式:

{
    token: 'title',
    regex: /#.*/
},

{
    token: 'name',
    regex: /@\w+/
}

但是,名称规则在此示例中不会有任何影响:

# Title with @name

有没有办法让这两个规则都起作用?

4

1 回答 1

3

第一条规则消耗整条线并且不允许第二条应用。为了让它工作,你需要在#

define(function(require, exports, module) {
"use strict";

var oop = require("../lib/oop");
var TextHighlightRules = require("./text_highlight_rules").TextHighlightRules;

var HighlightRules = function() {
    this.$rules = {
        start : [ {
            token: 'comment',
            regex: /#(?=.)/,
            next: [{
                token: 'empty',
                regex: /$|^/,
                next: "start"
            },{
                token: 'keyword',
                regex: /@\w+/
            },{
                defaultToken : "comment"
            }]
        }]
    };

    this.normalizeRules();
};

oop.inherits(HighlightRules, TextHighlightRules);

exports.HighlightRules = HighlightRules;
});
于 2013-06-30T08:05:32.890 回答