Geany知道四种类型的自动缩进:
无:完全禁用自动缩进。
基本:在新行上添加与最后一行相同数量的空格。
当前的字符: 与Basic相同,但在打开括号后会缩进新行' {'并在键入右括号时缩小'}'。对于Python,在键入'之后将缩进新行:'在上一行的末尾。
匹配大括号: 与当前字符类似,但是右侧支撑将对齐以匹配线与开口支撑的压痕。
我正在为新的 DSL 开发新的编辑器。我没有任何支撑,因此缩进必须基于字符串。如何将自动缩进应用于我的自定义语法。有没有简单易行的方法?
答案 0 :(得分:1)
Scintilla可能是您正在寻找的东西。在LexDSL.cxx中实现折叠时使用的策略可以是它的解决方案。基于级别的代码折叠实现也可以确定选项卡的深度。每个级别都意味着新选项卡,并且使用该策略可以在geany中定制缩进。