2015-07-03 33 views
0

geany documentation基於如何定製縮進Geany

Geany知道四種類型的自動縮進:

無:禁用自動縮進完全。

基本:在新行上添加與最後一行相同數量的空白。

當前字符: 是否相同,基本也縮進開括號後的新行「{」,和去縮進鍵入一個右括號時,「}」。對於Python,在上一行末尾鍵入':'後會縮進一行。

匹配大括號: 與當前字符類似,但是右大括號將對齊以匹配開大括號的行縮進。

我正在開發新的編輯器DSL。我沒有任何種類的大括號,所以縮進必須基於字符串。我如何將自動縮進應用於我的自定義語法。有沒有簡短的方法?

回答

1

Scintilla可以是你正在尋找的東西。在LexDSL.cxx內部實現摺疊時使用的策略可以成爲解決方案。代碼摺疊的基於級別的實現也可以確定選項卡的深度。每個級別都意味着新選項卡,並且使用該策略可以使geany中的縮進定製成爲可能。