3

この2つのルールを使用してモードを作成しようとしています:

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

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

ただし、この例では、名前規則は何の効果もありません。

# Title with @name

両方のルールを機能させる方法はありますか?

4

1 に答える 1

3

最初のルールは行全体を消費し、2 番目のルールは適用できません。それが機能するには、ネストされた状態を作成する必要があります#

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 に答える