
A népszerű Fish Shell jelentős frissítést kapott, amely nemcsak a motorháztető alatt hoz változásokat, hanem a felhasználói élményt is javítja. A Fish Shell 4 egyik legfontosabb újdonsága, hogy teljes egészében Rustban íródott újra. Bár ez technológiailag hatalmas változás, a mindennapi használat során a felhasználók ebből szinte semmit nem vesznek észre: a parancsok, beállítások és interakciók a korábbi verziókhoz hasonlóan működnek tovább. Az új verzió frissített bind jelölésrendszert hoz, amely intuitívabbá teszi a billentyűparancsok kezelését. Például az eddigi nehezen átlátható karakterláncok helyett most már használhatók egyszerűbb parancsok, mint például bind ctrl-right.
Ezenkívül a Fish Shell 4 mélyebb integrációt biztosít a terminálképességekkel. Például automatikusan használja az OSC 133 szekvenciákat a parancspromptra és kimenetre, ezzel zökkenőmentesebb szinkronizációt biztosít az olyan terminálokkal, amelyek eddig külső „shell integrációs” szkriptekre támaszkodtak.
A vi-mód kurzorváltásai is szabványosításra kerültek, így az eddig rendszerspecifikus és gyakran hibás érzékelés megbízhatóbbá vált.
Jobb parancssori élmény és történelemkezelés
A Fish Shell most már hosszú parancssorokat is helyesen kezeli, ahelyett hogy hibásan jelenítené meg őket. Ha a parancssor túl hosszú, gördítéssel lehet navigálni, így a szerkesztés átláthatóbbá válik. A CTRL+R történetlapozó, amely először a Fish 3.6-ban jelent meg, továbbfejlesztésre került. Most már globális szintaxis segítségével lehet szűrni a keresett parancsokat, ráadásul a keresés csak az aktuális parancsra vonatkozik, így bonyolultabb, többsoros keresések is lehetővé válnak. A Fish 4 új alapértelmezett színsémát is kapott: a parancsok immár a terminál „normál” színében jelennek meg, így könnyebben olvashatók, mint a korábbi kék árnyalat. A meglévő felhasználók beállításai azonban változatlanok maradnak, hacsak nem töltik újra a témát a fish_config segítségével.
Könnyebb telepítés és hordozhatóság
Az új öntelepítő build funkció különösen hasznos azoknak, akik adminisztrátori jogok nélkül használnak szervereket SSH-n keresztül. A Fish 4 egy önálló binárisként futtatható, amely a teljes szükséges környezetet kicsomagolja a felhasználó saját könyvtárába – beleértve a funkciókat, kézikönyveket és a webes konfigurációs eszközt. Ez azt jelenti, hogy a Fish könnyebben telepíthető olyan környezetekben, ahol nincs csomagkezelő vagy nincs jogunk telepíteni. Az előre lefordított verziók x86_64 és aarch64 Linux rendszerekre elérhetők a projekt GitHub Releases oldalán, de más platformok is támogatottak, bár ezeknél kézi fordítás lehet szükséges.
Új funkció: parancsok kizárása az előzményekből
Hosszú ideje várt funkcióként most már lehetőség van bizonyos parancsokat kizárni az előzményekből. Ezt egyedi fish_should_add_to_history függvény definiálásával lehet megtenni, amely eldönti, hogy egy adott parancs bekerüljön-e az előzmények közé. Fontos részlet, hogy az így kizárt parancsok rövid ideig ideiglenesen elérhetők maradnak: azonnal újra lehet őket futtatni a fel-le nyilakkal, de amint egy másik parancsot végrehajtunk, végleg törlődnek az előzményekből.
Fejlesztések szkriptezéshez
A Fish 4 számos fejlesztést hoz a szkriptek írásához, többek között:
- string match új --max-matches opcióval bővült, amely korlátozza a feldolgozott találatok számát.
- for ciklusok nem jegyzik meg az előző iteráció helyi változóit.
- set új --no-event opciót kapott, amely elnyomja a változásokhoz kapcsolódó eseményeket (ez különösen eseménykezelők esetén hasznos).
- time mérés most korábban kezdődik, így már a parancshelyettesítések időtartamát is rögzíti.
- complete --erase teljesen letiltja a megadott parancsok automatikus kiegészítését, hasonlóan a functions --erase viselkedéséhez.
A Fish Shell 4 jelentős fejlesztéseket hozott, mind a háttérben, mind a felhasználói élmény szempontjából. A Rust alapokra helyezés növeli a stabilitást és teljesítményt, míg az új funkciók, mint a parancssori történet szűrése, az új színbeállítások és az öntelepítés megkönnyítik a használatot.
A Fish Shell 4.0 elérhető, így a fejlesztők és lelkes felhasználók kipróbálhatják a legújabb funkciókat és fejlesztéseket.
