2 poin oleh GN⁺ 2025-02-28 | 1 komentar | Bagikan ke WhatsApp
  • Fish adalah shell baris perintah yang ramah pengguna untuk macOS, Linux, dan sistem operasi keluarga Unix lainnya
  • Mulai 4.0.0, kode inti Fish diporting dari C++ ke Rust
    • Hal ini membawa perubahan besar pada dependensi dan cara build, tetapi tidak berdampak langsung pada pengguna
  • Perubahan yang tidak kompatibel:
    • Pengenalan notasi tombol baru untuk perintah bind
    • ctrl-c kini memanggil clear-commandline, dan perilaku sebelumnya tersedia sebagai cancel-commandline
    • Hasil berdasarkan nilai seed dari fungsi random kini bisa berbeda dari versi sebelumnya
    • Variabel di posisi perintah kini tidak dapat diperluas menjadi kata kunci subperintah
    • functions --handlers kini menampilkan handler sesuai urutan definisinya
    • Fitur qmark-noglob kini aktif secara default

Peningkatan dan perbaikan

  • Protokol keyboard: dukungan untuk modifyOtherKeys milik XTerm dan protokol keyboard milik kitty
  • Biner yang dapat diinstal sendiri: fish kini dapat dibangun sebagai biner yang bisa dipasang sendiri
  • Riwayat perintah: fungsi fish_should_add_to_history memungkinkan penentuan apakah perintah ditambahkan ke riwayat
  • Fitur undo: riwayat tetap dipertahankan bahkan setelah perintah dijalankan
  • Pembatasan singkatan: ekspansi singkatan dapat dibatasi hanya untuk perintah tertentu

Fitur yang tidak lagi direkomendasikan dan yang dihapus

  • commandline --tokenize digantikan oleh commandline --tokens-expanded
  • Penentuan nama tombol melalui sintaks bind -k tidak lagi direkomendasikan
  • Mode tempel telah dihapus

Peningkatan scripting

  • Perintah riwayat baru: history append memungkinkan penambahan ke riwayat tanpa menjalankan perintah
  • Pengalihan baru: `

1 komentar

 
GN⁺ 2025-02-28
Opini Hacker News
  • Hal paling menarik dari Fish 4.0 adalah sekarang ditulis dengan Rust
    • Ingin melihat lewat pengujian apakah ada perbedaan yang terlihat
  • Katanya tidak akan ada dampak langsung bagi pengguna
    • Inti Fish memang ditulis ulang, tetapi hampir semuanya tetap bekerja sama
  • Penasaran apa kekurangan terbesar bagi orang-orang yang beralih ke shell Fish
    • Setelah terbiasa di sistem sendiri, harus menggunakan Bash atau Zsh di sistem server kantor
    • Jika akan beralih dari Bash ke Fish, mungkin layak juga mempertimbangkan beralih ke Nushell
  • Sebagai pengguna Zsh, ingin mencoba Fish
    • Menambahkan plugin ke Zsh agar bekerja seperti Fish
  • Jika menggunakan Homebrew, Fish masih belum tersedia
    • Nantinya akan ditambahkan
  • Sudah memakai Fish selama bertahun-tahun, terutama karena fitur autocompletion yang sangat bagus
    • Sistem tema/prompt yang disederhanakan dan pengelolaan plugin oh-my-fish juga bagus, tetapi itu sekunder
  • Fitur-fitur Fish lainnya yang tidak kompatibel dengan Bash terasa merepotkan
    • Terutama pengelolaan environment variable yang menjadi masalah
    • Secara prinsip desainnya lebih baik daripada Bash, tetapi perbedaannya tidak terlalu besar dan jarang dipakai, jadi harus dipelajari ulang setiap kali
    • Merepotkan saat menyalin-tempel petunjuk konfigurasi dari dokumentasi
  • Penasaran bagaimana penyesuaian pengembangan dilakukan untuk migrasi ke Rust
    • Hanya terlihat satu PR (#9512)
  • Penasaran seberapa besar ukuran biner setelah ditulis ulang dengan Rust
  • clear-commandline adalah fitur yang menarik
    • Sulit menjaga konsistensi antara Windows dan macOS
    • Tidak bisa menggunakan Karabiner dengan baik
    • Akan memeriksa pengaturan default cancel-commandline