如何在ace中建立模式?

How to build a mode in ace?

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

创建了一个模式

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

之类的输出

我成功了:

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

bosun.js(预构建,在回购的 /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;
});