強調表示するための言語の構文をvimに理解させることに成功しましたが、コードを自動的に適切にインデントする方法がわかりません。言語自体はややLispに似ていますが、区切り文字として角かっこ[]
と両方を使用します。()
結果のコードインデントは次のようになります。
[foo [bar baz] [qux
[do a thing]
[more doing a thing]
[^ ()
; some stuff here
[foobar]]]]
[back to here]
基本的に、閉じられていない角かっこまたは括弧はそれぞれ、行を2つのスペースでインデントする必要があります。上記の区切り文字を閉じると、次の行が同じ量だけ減少するはずです。
調べてみましたがautoindent
、何か足りないものがない限り、やりたいことには十分ではないようです。代替案はindentexpr
、より有望に思えますが、私はそれを使用する方法を理解していないと思います。
構文に対して機能するインデントシステムを取得するにはどうすればよいですか?