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 hosting tĂ« besueshĂ«m pĂ«r faqe interneti me mbrojtje nga DDoS, serverĂ« VPS VDS đŸ”„ Blini hosting tĂ« besueshĂ«m pĂ«r faqe interneti me mbrojtje nga DDoS, serverĂ« VPS VDS | ProHoster