通过ace中的文件路径确定语言(模式)

时间:2014-08-10 16:16:55

标签: javascript ace-editor

我使用Ace-Editor修改了几个不同的文件。为了确定正确的模式,我写了一个简单的开关,如下所示:

function getMode(path){
    switch( getFileExtension(path) ){
        case "html": return "html";
        case "htm":  return "html";
        case "css":  return "css";
        case "bat":  return "batchfile";
        ...
        default: return "text";
    }
}

但是,为了涵盖ace中所有支持的语言,我必须经常更新此列表。

如果Ace可以告诉我哪种模式是正确的,那就太好了,所以我在ace中找到function getModeForPath(path)https://github.com/ajaxorg/ace/blob/master/lib/ace/ext/modelist.js#L11

如何在我自己的代码中调用和使用此功能?或者该如何使用这个功能?

修改

我尝试做的是制作一个小的下拉框,用户可以在其中选择语言。默认语言由文件路径决定。 (与崇高相似)

1 个答案:

答案 0 :(得分:1)

如果您使用ace-builds存储库中的预构建版本,请在ace中包含src/ext-modelist.js文件,然后执行

var modelist = require("ace/ext/modelist")
modelist.getModeForPath(path)

另见https://github.com/ajaxorg/ace/blob/v1.1.5/demo/kitchen-sink/demo.js#L306-L311

相关问题