改良版(でもまだ試作品)、pyedit.txc。改行時の挙動を改善した(つもりです)。
一応、改行時はどういう動きになることを想定しているのか書いておきますと……。
(以下すべて■はキャレット位置) # -- 特定キーワードでの自動インデント -- # ここでEnterで、 for i in range(10):■ ↓ # こうなる。 for i in range(10): ■ # -- 括弧の対応状況によるインデント調整 -- # 括弧が閉じていないときは、 print "%s, %d, %s" % (name,■ ↓ # こうなる。 print "%s, %d, %s" % (name, ■ # 括弧を閉じて改行すると、 print "%s, %d, %s" % (name, age, address)■ ↓ # インデント位置が復帰する。 print "%s, %d, %s" % (name, age, address) ■
と、なっております。両者が組み合わさってても大丈夫だと思いますが、コメントや文字列中に括弧があると対応関係がずれておかしくなります(だめ?)。
間抜けっぽい癖
それにしても、マクロのソースで使う識別子の命名がどんどん長くなる……。textInsertReturnBraceIndentedだって(29字)。jumpPrevOrphanedRightBraceというのもあります(26字)。しかも、これは最初jumpPrevOrphanedRightBraceInParaという(32字)のにしかけていたのを、いくらなんでも長すぎると思って削ったという……。作文じゃないんだから。
実をいうと、下手に省略表記をしたせいで読むときにその意味合いを誤解するよりはマシでないかというのと、その省略の仕方を考えたり統一したりするのに気を使うのが面倒くさいので、名前が長くなること自体はあんまり悪いことと思ってなかったりするのですが、それも程度問題だろうと。
もしかすると単にセンスがないだけかもしれない。
(ちなみに、入力支援 (IDM_UICOMPLETE) があるので、指が疲れるとかミスタイプが増えるとかいう問題は発生しません。)