Powłoka Fish Shell, popularny wśród użytkowników terminali, zaktualizował się do wersji 4.0, która wprowadza znaczące zmiany i ulepszenia.
Główną nowością jest to, że Fish Shell został całkowicie przepisany w języku programowania Rust. Jednak dla zwykłych użytkowników ta zmiana będzie praktycznie niezauważalna: polecenia, ustawienia i typowe interakcje pozostaną bez zmian.
Inne istotne zmiany
- Nowy system wiązania klawiszy. Fish Shell 4.0 wprowadza zaktualizowany system wiązania klawiszy oraz głębszą kompatybilność z terminalami. Można teraz zastąpić nieintuicyjne sekwencje esc bardziej zrozumiałymi poleceniami, takimi jak bind ctrl-right. Dzięki wsparciu dla protokołu klawiatury Kitty, Fish może rozróżniać sekwencje sterujące, które wcześniej wydawały się identyczne, np. bind ctrl-i, bind ctrl-I i bind tab.
- Integracja z możliwością terminala. Fish teraz automatycznie wykorzystuje sekwencje OSC 133 do podpowiedzi i wyjścia poleceń, co sprzyja płynniejszej synchronizacji z różnymi terminalami, które wcześniej polegały na dodatkowych skryptach integracji powłoki.
- Ulepszona obsługa długich poleceń. Powłoka teraz bardziej starannie obsługuje długie wiersze poleceń, przewijając je zamiast błędnie ich wyświetlać. Jakiekolwiek zmiany spowodowane wiązaniami poleceń są natychmiast widoczne, co zapewnia bardziej intuicyjne doświadczenia.
- Historia poleceń. Pager historii poleceń, wprowadzony po raz pierwszy w Fish 3.6, został poprawiony. Teraz można używać składni glob do bardziej precyzyjnego filtrowania zapisów historii, na przykład, wyszukiwanie za pomocą * glob syntax — git*HEAD pokaże wszystko, gdzie znajdują się git i HEAD dokładnie w tej kolejności.
- Nowy domyślny motyw. W nowej wersji domyślny motyw został lekko zmieniony: polecenia są teraz wyświetlane w „normalnym” kolorze terminala zamiast trudnego do odczytania „niebieskiego”. Istniejący użytkownicy zachowają swoje bieżące ustawienia, chyba że ręcznie przeladują motyw przez fish_config.
- Samoinstalujące się zestawy. Nowa funkcja samoinstalujących się zestawów może być prawdziwym przełomem dla użytkowników, którzy często pracują przez SSH na serwerach bez uprawnień administracyjnych. Po skompilowaniu Fish można uruchomić jeden samodzielny plik binarny, który wyciąga wszystko, co niezbędne — funkcje, strony podręcznika i nawet narzędzie webowe do konfiguracji — do katalogu domowego.
- Wykluczanie poleceń z historii. Wreszcie pojawiła się długo oczekiwana funkcja, która pozwala na wykluczanie określonych poleceń z historii. Definiując funkcję użytkownika fish_should_add_to_history, można precyzyjnie określić, które polecenia będą zapisywane.
- Ulepszenia dla skryptów:
- string match teraz obsługuje opcję —max-matches, pozwalającą ograniczyć liczbę przetwarzanych dopasowań;
- pętle for nie będą już pamiętać lokalnych zmiennych z poprzedniej iteracji;
- set otrzymuje opcję —no-event w celu tłumienia zdarzeń zmiany zmiennych;
- time zaczyna pomiar wcześniej, uchwycając czas trwania wszelkich podstawień poleceń przed ich wykonaniem;
- complete —erase całkowicie wyłącza autouzupełnianie zakończeń dla określonych poleceń.
Źródło: linux.org.ru
