根据ace中的文件路径确定语言(模式)
determine language (mode) by filepath in ace
我正在使用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
如何在我自己的代码中调用和使用这个函数?或者说这个函数应该怎么用?
编辑:我想做的是,做一个小的下拉框,用户可以在其中选择语言。默认语言由文件路径决定。(类似sublime)
如果您使用的是ace构建库中的预构建版本,请将src/ext-modelist.js
文件包含在ace中,然后执行
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
相关文章:
- Javascript,访问一个主要对象模块模式中的每个对象
- 是否有任何snippet或jQuery插件可以列出easylist.txt模式匹配的DOM中的所有元素
- 试图在引导模式内动态生成图表,得到offsetWidth错误
- 同位素库错误:未捕获错误无布局模式包装生产线8
- 防止Alt+Shift默认操作或检测多种操作系统语言的Javascript
- 在DOM中查找一个模式并替换它's的内容使用jquery
- 如何缩短MongoDB ObjectId并在Mongoose模式中使用它
- D3.js模式不适用于弧形或圆环图
- Webdriver.io pageObject模式-通过传递参数来定义元素选择器
- 模块模式和这个
- 带有let的JS/EECMAScript6私有字段的模式
- 我是否可以检测到javascript正在被卸载(作为调试模式)
- 执行动态模式弹出
- 注意:wp_enqueue_script调用不正确.在 Wordpress 调试模式下
- 在无类型语言中是否存在模式匹配之类的东西
- 在CodeMirror中查找自定义语言模式的段落的第一个单词和最后一个单词
- JavaScript内置语言特性或API函数在严格模式下引用undefined属性时返回undefined
- 根据ace中的文件路径确定语言(模式)
- 如何用“GraphQL模式语言”向字段添加描述?
- Ace编辑器在设置语言模式和主题时出错