如何在Geany中自定义缩进

时间:2015-07-03 10:06:46

标签: indentation lexer geany

基于geany documentation

  

Geany知道四种类型的自动缩进:

     

无:完全禁用自动缩进。

     

基本:在新行上添加与最后一行相同数量的空格。

     

当前的字符:   与Basic相同,但在打开括号后会缩进新行' {'并在键入右括号时缩小'}'。对于Python,在键入'之后将缩进新行:'在上一行的末尾。

     

匹配大括号:   与当前字符类似,但是右侧支撑将对齐以匹配线与开口支撑的压痕。

我正在为新的 DSL 开发新的编辑器。我没有任何支撑,因此缩进必须基于字符串。如何将自动缩进应用于我的自定义语法。有没有简单易行的方法?

1 个答案:

答案 0 :(得分:1)

Scintilla可能是您正在寻找的东西。在LexDSL.cxx中实现折叠时使用的策略可以是它的解决方案。基于级别的代码折叠实现也可以确定选项卡的深度。每个级别都意味着新选项卡,并且使用该策略可以在geany中定制缩进。