fish開発プロジェクトは3月13日、インタラクティブシェル「fish」の最新版「fish 3.4.0」をリリースしました。fishはユーザーフレンドリーなシェルとして、扱いやすさを念頭に置き開発が進められています。
v3.4.0の新機能としてはまず、コマンド置換構文の拡張が挙げられています。$(cmd)が(cmd)と同じ用途で使用できるようになり、また二重引用符で囲んで使用することで、行分割を防ぐことも可能となっています。
foo (bar | string collect) # can now be written as foo "$(bar)" # and foo (bar) # can now be written as foo $(bar) # this will still split on newlines only.
fish_configにthemeサブコマンドが追加され、Web ブラウザを開く代わりに、端末で直接サンプルテーマを表示したり選んだりすることができるようになりました。例えば「fish_config theme choose Nord」を実行すると、現在のセッションでNordテーマをロードします。現在のテーマは「fish_config theme dump」で保存でき、カスタムテーマは「~/.config/fish/themes/」に保存できます。
setとread に新しいオプション--function が追加され、関数のトップスコープに変数を設定できるようになりました。「string pad」は、fishが知っている色のようなエスケープシーケンスを除外するようになり、「string length」に--visibleフラグが追加されました。
その他、glibcを使用しているシステムでのグロビングのパフォーマンスの改善や、オートサジェスト、fish_git_promptの修正も行われています。
その他にも多数の改良や、修正が行われています。変更点の詳細はGitHubで確認可能です。