如何在ace中构建模式?

时间:2015-04-22 16:52:29

标签: ace-editor

我使用http://ace.c9.io/tool/mode_creator.html

创建了一个模式

为现有版本的ace构建可用文件的过程是什么?似乎我可能必须通过某种构建步骤传递代码以获得https://github.com/ajaxorg/ace-builds/blob/master/src/mode-golang.js等输出...

1 个答案:

答案 0 :(得分:4)

我得到了它的工作:

  1. 从github检出ace
  2. 制作了包含某种加载样板的bosun.js - 我基于d示例。然后我放置了可能会突出显示bosun_highlight_rules.js中的规则。
  3. 使用node ./Makefile.dryice.js -nc来构建ace,并将生成的bosun.js(已嵌入各种要求)复制到我项目中的ace目录中。构建的文件最终位于/build/src-noconflict/mode-bosun.js
  4. bosun.js(pre build,在repo的/lib/ace/mode中:

    define(function(require, exports, module) {
    "use strict";
    
    var oop = require("../lib/oop");
    var TextMode = require("./text").Mode;
    var BosunHighlightRules = require("./bosun_highlight_rules").BosunHighlightRules;
    
    var Mode = function() {
        this.HighlightRules = BosunHighlightRules;
    };
    
    oop.inherits(Mode, TextMode);
    
    (function() {
        this.$id = "ace/mode/bosun";
    }).call(Mode.prototype);
    
    exports.Mode = Mode;
    });
    

    bosun_highlight_rules.js(也在/lib/ace/mode中):

    define(function(require, exports, module) {
    "use strict";
    
    var oop = require("../lib/oop");
    var TextHighlightRules = require("./text_highlight_rules").TextHighlightRules;
    
    var BosunHighlightRules = function() {
    
        this.$rules = {
            "start" : [
                {....
    };
    
    oop.inherits(BosunHighlightRules, TextHighlightRules);
    
    exports.BosunHighlightRules = BosunHighlightRules;
    });