Fish Shell 4.1 lansat cu sintaxă cu paranteze și prompturi tranzitorii


Fish shell 4.1 este acum disponibil cu prompturi tranzitorii, comenzi bazate pe acolade, sugestii automate mai inteligente și îmbunătățiri semnificative la argparse.

Fish shell, un shell Unix modern conceput să fie prietenos cu utilizatorul și ușor de folosit, a anunțat versiunea 4.1, o nouă lansare care se bazează pe seria 4.0, oferind funcții noi, îmbunătățiri ale scripting-ului, actualizări de compatibilitate cu terminalul și eliminarea unor comportamente mai vechi.

Una dintre cele mai vizibile schimbări este că comenzile compuse pot fi acum scrise folosind acolade — { echo 1; echo 2 } — similar cu modul în care le gestionează alte shell-uri. Fish introduce, de asemenea, prompturi tranzitorii. Dacă variabila fish_transient_prompt este setată, promptul este reafișat chiar înainte de rularea unei comenzi, ceea ce poate ajuta la menținerea unui ecran mai curat.

În plus, completările cu tabulator primesc o corecție importantă. În loc să se întrerupă undeva la mijlocul unui traseu, completările se trunchiază acum la nivel de director. De exemplu, completarea în interiorul share/functions va afișa …/foo.fish și …/bar.fish, ceea ce le face mai ușor de citit. În plus, autosugestiile au devenit mai inteligente, acum suportând linii de comandă multi-linie și incluzând sugestii din liniile individuale din istoricul multi-linie.

Pe partea de scripting, modulul încorporat argparse, un modul care facilitează crearea de CLI-uri prietenoase pentru utilizatori, a primit o lungă listă de îmbunătățiri. Acum suportă gestionarea mai strictă a opțiunilor lungi, un control mai bun asupra argumentelor necunoscute, valori opționale multiple și hooks de validare. Alte module încorporate au fost de asemenea actualizate: string pad suportă acum centrare, psub poate combina --suffix cu --fifo, iar read a primit o opțiune --tokenize-raw.

În ceea ce privește utilizarea interactivă, comenzile lipite elimină acum automat prompturile $ de la început, feedback-ul căutării în istoricul comenzilor este mai bine direcționat, iar ștergerea sugestiilor automate scânteiază doar sugestia, nu întreaga linie.

Legăturile tastelor au suferit, de asemenea, ajustări—pe platformele non-macOS, Alt+tastele săgeată și Alt+delete/backspace operează acum pe argumente întregi în loc de cuvinte delimitate de punctuație. Modul Vi a primit, de asemenea, suport pentru incrementare și decrementare cu Ctrl+A și Ctrl+X.

Suportul pentru terminal a fost îmbunătățit, de asemenea, întrucât Fish acceptă acum mai multe stiluri de subliniere — inclusiv ondulat, punctat și liniat — care pot fi stilizate separat de culoarea textului. În plus, suportul pentru mouse a fost extins cu opțiunea click_events a Kitty, permițând deplasarea cursorului și selectarea paginilor prin clicuri.

În cele din urmă, există câteva eliminări notabile. Numele tastelor de tip Terminfo au dispărut, iar Fish nu mai citește direct din baza de date terminfo. În schimb, folosește propriile sale nume de taste. Unele modele de extindere a acoladelor precum {echo,echo} nu mai sunt valide. În plus, set_color --background=COLOR nu mai activează automat caracterele aldine, ceea ce înseamnă că temele care se bazează pe acest comportament ar putea necesita actualizare.

Pentru mai multe informații, consultați jurnalul de modificări.