自動インデントモードでirbを使用すると、end
ステートメントが1レベル余分にインデントされます
def foo
...
end
通常のインデント規則を示す代わりに:
def foo
...
end
次の行で1つのレベルを脱出することを事前にirbに伝えることができないためです。この質問はここやここのような他の場所で扱われていますが、どちらも満足のいく答えを与えません。彼らはただあきらめることを提案します。
ただし、一部のirbメソッドを最小限に上書きして、自動インデントによってプロンプト領域ではなく入力した行の先頭に空白が挿入される場合、デフォルトでは、irbはスペースを挿入しますが、バックスペースでいくつかのスペースを消去します。これは可能ですか?
または、それが現実的でない場合は、irbに画面の最後の行を消去させ、?を含む行でEnterキーを押した直後に適切なインデントで再表示することは可能end
ですか?