Yash 2 その 155: プロンプトとコマンドラインのカラーリング
結局、アフタープロンプトは廃止して、代わりにコマンドラインのフォントスタイルを指定する専用のプロンプトを導入した。
従来は、PS1 変数で指定したプロンプト内でフォントスタイルを変更したままにすると、その後表示されるコマンドライン (やその後実行されるコマンドの出力) のスタイルもそのスタイルで表示された。しかしこれは当然ながら保証された挙動ではなかった。そこで、コマンドラインの表示スタイルを指定するための機構を新たに導入したという次第だ。
これで、yash には三種類のプロンプトが指定できることになる。一つ目は普通のプロンプトで、従来通り PS1 や PS2 変数で指定する。二つ目はコマンドラインの右側に表示される右プロンプトで、PS1R や PS2R 変数で指定する。三つ目はコマンドラインのフォントスタイルを指定する (ためだけの) スタイラープロンプトで、PS1S や PS2S 変数で指定する。
例えば以下の例では、普通のプロンプトとして太い緑色の PROMPT>
を、右プロンプトとして反転した赤色の RIGHT
を、スタイラープロンプトとして下線付きの黄色の書式設定文字列を指定している。
PS1='\fgo.PROMPT>\fD. '; PS1R='\frv.RIGHT\fD.'; PS1S='\fyu.';
スタイラープロンプトは入力するコマンドの表示を変えるためだけのものなので、普通のプロンプトのように見える文字を含めることはできない。
| 固定リンク
コメント