#11395

redakt55
参加者

実際はもっと複雑な気がします。

一文字タイプしたとき,自行が終了行とみなされると,自行のインデントが -1 される。
開始行とみなされ,かつ前行が開始行でない場合は自行のインデントが前行に合わせられる。
開始行の末尾で Enter を入れると,次行のインデントが +1 される。
というような感じでしょうか?

それから「ステートメント終了」というのは何でしょうか?

ともかく,完璧に動作する自動インデントが不可能である以上,既に入力した行を修正したときにインデントが変化してしまうのはやめてほしいです。
たとえば,
case foo
when /[a-zA-Z]/
 puts “Alphabet”
when /d/
puts “digit”
end
のようなものを打って,4 行目の正規表現を変更すると,この行がぴょこんとインデント +1 されてしまいます。
EmEditor が誤ったインデントを手作業でせっかく直しても,一文字修正しただけでまた誤ったインデントにされてしまいます。いたちごっこというか,賽の河原というか。

Python や CoffeeScript のようにインデントに意味を持たせた言語の編集では,一時的にせよ勝手にインデントがゆがめられるのは非常に危険でストレスを感じます。