如何在ace中建立模式?

Kyl*_*ndt 3 ace-editor

我使用http://ace.c9.io/tool/mode_creator.html创建了一个模式

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

Kyl*_*ndt 5

我让它工作:

  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.

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;
});
Run Code Online (Sandbox Code Playgroud)

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;
});
Run Code Online (Sandbox Code Playgroud)