我使用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
如何在我自己的代码中调用和使用此功能?或者该如何使用这个功能?
修改
我尝试做的是制作一个小的下拉框,用户可以在其中选择语言。默认语言由文件路径决定。 (与崇高相似)
答案 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