如何在Ace Editor中找到当前加载的模式(语法)?

时间:2012-05-09 13:19:53

标签: ace-editor

正如标题所说 - 我如何找出Ace Editor中当前加载的模式?

editor.getSession()。getMode()并没有真正返回我可以使用的任何内容 - 查看了一些返回的对象 - 但找不到任何内容。

editor.getTheme()向我返回一个我可以使用的字符串 - 如果它们对模式没有那么一点似乎很有趣

3 个答案:

答案 0 :(得分:5)

要检索您使用的模式的名称:

editor.getSession().getMode().$id

答案 1 :(得分:2)

我尝试了Hugeen的回答,并且像lorefnon报道的那样经历了undefined错误。这对我有用:

// get the editor instance
var editor = ace.edit('editorid');

// get the current mode
var mode = editor.session.$modeId;

// modeid returns the full string (ace/mode/html), cut to the mode name only
mode = mode.substr(mode.lastIndexOf('/') + 1);

希望能帮助别人!

答案 2 :(得分:0)

没有任何翻筋斗的干净方法:

var mode = editor.session.mode;