Brush v0.4.0

Brush v0.4.0

Brush – Ă«shtĂ« njĂ« shell komandash e shkruar nĂ« gjuhĂ«n Rust, e cila kombinon pĂ«rputhshmĂ«rinĂ« me POSIX dhe Bash me garancitĂ« e sigurisĂ« sĂ« memories dhe performancĂ«s. Projekti ka si qĂ«llim tĂ« bĂ«het njĂ« alternativĂ« e plotĂ« ndaj shell-eve tradicionale, duke lejuar ekzekutimin e skripteve ekzistuese dhe pĂ«rdorimin e .bashrc praktikisht pa ndryshime. Kjo version pĂ«rfshin disa muaj punĂ« dhe mbi 200 kĂ«rkesa tĂ« bashkimeve, duke avancuar ndjeshĂ«m shellet drejt zĂ«vendĂ«simit tĂ« plotĂ« tĂ« Bash dhe mjediseve pĂ«rputhĂ«se me POSIX.

Drejtimet kryesore të zhvillimit në këtë lëshim:

  • pĂ«rputhshmĂ«ria me Bash: janĂ« shtuar set -e, set -u, pipefail, failglob, menaxhuesi ERR, bashkĂ«-proceset dhe shumĂ« tĂ« tjera;
  • besueshmĂ«ria: Ă«shtĂ« pĂ«rmirĂ«suar trajtimi i rasteve tĂ« jashtme - kanalet e mbyllura, dalja e prishur, historia jo-UTF8 dhe tĂ« tjera;
  • platforma: Ă«shtĂ« zgjeruar mbĂ«shtetje pĂ«r macOS (pĂ«r tĂ« punuar si shell hyrjeje), Ă«shtĂ« pĂ«rmirĂ«suar funksionimi nĂ« Windows, FreeBSD, Android dhe sistemet 32-bit;
  • interaktiviteti: janĂ« shtuar konfigurimet opsionale TOML, preexec/precmd hooks, Ă«shtĂ« pĂ«rmirĂ«suar mbĂ«shtetja pĂ«r makrosat readline dhe tĂ« tjera.

Përmirësimet kryesore të përputhshmërisë me Bash

Përmirësimet kryesore të këtij publikimi ishin zgjerimi i dukshëm i mbështetjes për funksionalitetin e Bash. Menaxhimi i gabimeve:

  • set -e (errexit) – dalje e menjĂ«hershme nĂ« rast gabimi;
  • set -u (nounset) – gabim kur i referoheni njĂ« variabli tĂ« pa deklaruar;
  • pipefail – kodi i rikthimit tĂ« tubit pĂ«rcaktohet nga komanda e fundit qĂ« ka dĂ«shtuar;
  • failglob – mungesa e pĂ«rputhshmĂ«rive pĂ«r njĂ« shprehje glob tani rezulton nĂ« njĂ« gabim.

Menaxherët (Traps) dhe subprocesset:

  • menaxher ERR — lejon ekzekutimin e komandave nĂ« rast gabimi;
  • subprocesset (coproc) — nisja e proceseve nĂ« sfond me lidhje dyanshmĂ«risht.

Komandat e integruara:

  • pĂ«rmirĂ«simi i trajtimit tĂ« shumĂ« strukturave aritmetike, duke pĂ«rfshirĂ« literalet me bazĂ« tĂ« lartĂ«, mbivendosjen dhe operatorĂ«t e caktimit;
  • korrigjime dhe pĂ«rmirĂ«sime prekĂ«n komandat e integruara: caller, read, getopts, printf dhe tĂ« tjera.

Zgjerimi i mbështetjes për platforma:

Çlirimi v0.4.0 e bĂ«n shell-in tĂ« disponueshĂ«m nĂ« njĂ« gamĂ« mĂ« tĂ« gjerĂ« pajisjesh:

  • macOS: Ă«shtĂ« zgjidhur njĂ« problem qĂ« bĂ«nte qĂ« shell-i tĂ« ngrinte gjatĂ« hyrjes nĂ« sistem. Tani brush mund tĂ« pĂ«rdoret si shell hyresi (login shell);
  • Windows: pĂ«rmirĂ«sime nĂ« trajtimin e rrugĂ«ve, Ă«shtĂ« shtuar emulimi /dev/null, qĂ« rrit ndjeshĂ«m komoditetin nĂ« pĂ«rdorim nĂ« Windows;
  • FreeBSD dhe Android: mbĂ«shtetje pĂ«r ndĂ«rtimin pĂ«r kĂ«to platforma;

Mundësi interaktive dhe API

  • Konfigurimi: Ă«shtĂ« shtuar mbĂ«shtetje pĂ«r skedarin opsional tĂ« konfigurimit TOML (~/.config/brush/config.toml) pĂ«r cilĂ«sime specifike pĂ«r brush;
  • Personalizimi: janĂ« implementuar stilet e preexec/precmd tĂ« zsh (nĂ«pĂ«rmjet flamurit eksperimenti), tĂ« dobishme pĂ«r krijimin e thirrjeve tĂ« personalizuara dhe mjeteve pĂ«r matjen e kohĂ«s;
  • API pĂ«r zhvilluesit: lloji Shell tani Ă«shtĂ« parametrizuar me zgjerime (ShellExtensions), duke u dhĂ«nĂ« zhvilluesve mundĂ«sinĂ« pĂ«r tĂ« shtuar komandat e tyre tĂ« ndĂ«rtuara dhe pĂ«r tĂ« ndryshuar sjelljen e variablave pa pasur nevojĂ« pĂ«r fork tĂ« projektit;
  • TĂ« tjera:
    • pĂ«rmirĂ«suar mbĂ«shtetje pĂ«r makro readlin pĂ«r pĂ«rputhshmĂ«ri me starship, atuin dhe fzf (github.com);
    • shtuar mundĂ«si pĂ«r serializimin e 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 tĂ« AST dhe gjendjes sĂ« shell-it.

Burimi: linux.org.ru

Bli njĂ« hosting tĂ« besueshĂ«m pĂ«r faqet me mbrojtje DDoS, VPS VDS serverĂ« đŸ”„ Bli njĂ« hosting tĂ« besueshĂ«m pĂ«r faqet me mbrojtje DDoS, VPS VDS serverĂ« | ProHoster