Brush v0.4.0

Brush v0.4.0

Brush është një shell komandash e shkruar në gjuhën Rust, e cila kombinon pajtueshmërinë me POSIX dhe Bash me garancitë për sigurinë e memories dhe performancën. Projekti ka për qëllim të bëhet një alternativë e plotë ndaj shelleve tradicionale, duke lejuar ekzekutimin e skenareve ekzistues dhe përdorimin e .bashrc pothuajse pa ndryshime. Kjo version bashkon disa muaj punë dhe më shumë se 200 kërkesa për bashkim, duke avancuar ndjeshëm shell-in në rrugën drejt një zëvendësimi të plotë për Bash dhe mjediset e kompatibilitetit POSIX.

Drejtimet kryesore të zhvillimit në këtë version:

  • kompatibiliteti me Bash: janë shtuar set -e, set -u, pipefail, failglob, menaxher ERR, coproceset dhe shumë të tjera;
  • besueshmëria: është përmirësuar trajtimi i rasteve të jashtme - kanaleve të mbyllura, daljes së prishur, historive jo-UTF8 dhe të tjera;
  • platforma: është zgjeruar mbështetje për macOS (puna si shell hyrës), është përmirësuar performanca në Windows, FreeBSD, Android dhe sisteme 32-bit;
  • interaktiviteti: janë shtuar konfigurimet opcionale TOML, preexec/precmd-hooks, është përmirësuar mbështetja për makrot e readline dhe të tjera.

Përmirësimet kryesore të kompatibilitetit me Bash

Rimëkëmbjet më të rëndësishme në këtë version përfshijnë zgjerimin e konsiderueshëm të mbështetjes për mundësitë e Bash. Menaxhimi i gabimeve:

  • set -e (errexit) – dalja e menjëhershme në rast gabimi;
  • set -u (nounset) – gabim në kërkesën për një variabël të padeklaruar;
  • pipefail – kodi i kthimit të tubit përcaktohet nga komandat e fundit të dështuar;
  • failglob – mungesa e përputhjeve për shprehjen glob tani shkakton një gabim.

Menaxherët (Traps) dhe coproceset:

  • menaxheri ERR - lejon ekzekutimin e komandave në rast gabimi;
  • coproceset (coproc) – ekzekutimi i proceseve në sfond me lidhje dyanshëm.

Komandat e ndërtuara:

  • është përmirësuar trajtimi i shumë strukturave aritmetike, përfshirë literaturat me bazë të lartë, mbingarkesat dhe operatorët e dërgesës;
  • korrigjime dhe përmirësime kanë prekur komandat e ndërtuara: caller, read, getopts, printf dhe të tjera.

Zgjerimi i mbështetjes për platforma:

Shkëputja v0.4.0 e bën shell-in të disponueshëm në një gamë më të gjerë pajisjesh:

  • macOS: është korrigjuar një problem që shkaktonte që shell-i të ngrinte gjatë hyrjes në sistem. Tani brush mund të përdoret si shell hyrës (login shell);
  • Windows: përmirësime në trajtimin e rrugëve, është shtuar simulimi i /dev/null, që rrit ndjeshëm komoditetin e përdorimit në Windows;
  • FreeBSD dhe Android: mbështetje për këto platforma është e disponueshme;

Mundësitë interaktive dhe API

  • Konfigurimi: shtuar mbështetje për skedarin e konfigurimit opsional TOML (~/.config/brush/config.toml) për cilësime specifike për brush;
  • Personalizimi: janë implementuar stillet preexec/precmd të zsh (pas flamurit eksperimental), të dobishme për krijimin e thirrjeve të personalizuara dhe mjeteve për matjen e kohës;
  • API për zhvilluesit: lloji Shell tani parametrizohet me zgjerime (ShellExtensions), duke iu ofruar zhvilluesve mundësinë për të shtuar komandat e tyre të integruara dhe për të ndryshuar sjelljen e variablave pa pasur nevojë të forkojnë projektin;
  • Të tjera:
    • përmirësuar mbështetje për makros readlin për kompatibilitet me starship, atuin dhe fzf (github.com);
    • shtuar mundësitë e serializimit AST dhe gjendjes së shell-it përmes serde;
    • tani në brush-parser dhe brush-core janë të disponueshme funksione serde për mundësinë e serializimit AST dhe gjendjes së shell-it.

Burimi: linux.org.ru

Blini hostim të besueshëm për faqe interneti me mbrojtje DDoS, serverë VPS VDS 🔥 Blini hostim të besueshëm për faqe interneti me mbrojtje DDoS, serverë VPS VDS - ProHoster