如何为CodeMirror编辑器应用自动缩进?

时间:2013-04-12 00:22:25

标签: autocomplete editor codemirror

我正在使用几种语言的常见Codemirror编辑器(Groovy,Python,Beanshell,XSLT)。根据下拉列表中选择的语言,我为编辑器设置了相应的模式。

如何为上述语言应用自动缩进?

1 个答案:

答案 0 :(得分:2)

CodeMirror模式可以为各自的语言提供缩进,大多数都是(例如python mode)。这可以通过检查模式的源来检查,以检查是否已实现indent(state, textAfter)。来自文档:

  

如果您希望您的模式提供智能缩进(通过   indentLine方法以及indentAutonewlineAndIndent命令   哪些键可以是bound),您必须定义indent(state, textAfter)   模式对象上的方法。

应用定义indent(state, textAfter)的模式后,假设smartIndent设置为true(这是默认值),应该透明地提供自动缩进,不需要额外的努力侧。

如果模式不支持开箱即用的智能缩进,您可以随时自行实现。请参阅文档中的writing CodeMirror modes部分。