Neovim 0.4, eng moderniséiert Versioun vum Vim Editor, ass verfügbar

publizéiert Fräisetzung Neovim 0.4, eng Gabel vum Vim Editor, konzentréiert op d'Erhéijung vun der Extensibilitéit a Flexibilitéit. Original Entwécklungen vum Projet ausbreeden ënner der Apache 2.0 Lizenz, an de Basisdeel ënner der Vim Lizenz.

Am Kader vum Neovim Projet ass d'Vim Code Basis fir méi wéi fënnef Joer ëmgeschafft ginn, als Resultat vun deenen Ännerungen gemaach ginn, déi den Ënnerhalt vum Code vereinfachen, e Mëttel ubidden fir d'Aarbecht tëscht verschiddenen Entretiener ze trennen, d'Interface vun der Basis Deel (d'Interface kann geännert ginn ouni d'Intern ze beréieren) an ëmsetzen eng nei extensible Architektur baséiert op Plugins.

Ee vun de Probleemer mat Vim, déi d'Schafung vum Neovim gefuerdert hunn, war seng bloated, monolithesch Codebasis, besteet aus méi wéi 300 Tausend Zeilen vum C (C89) Code. Nëmmen e puer Leit verstinn all d'Nuancen vun der Vim Codebase, an all Ännerungen ginn vun engem Instander kontrolléiert, wat et schwéier mécht den Editor z'erhalen an ze verbesseren. Amplaz vum Code an de Vim Kär gebaut fir de GUI z'ënnerstëtzen, proposéiert Neovim eng universell Schicht ze benotzen déi Iech erlaabt Interfaces mat verschiddenen Toolkits ze kreéieren.

Plugins fir Neovim ginn als separat Prozesser gestart, fir Interaktioun mat deem de MessagePack Format benotzt gëtt. Interaktioun mat Plugins gëtt asynchron duerchgefouert, ouni d'Basiskomponenten vum Editor ze blockéieren. Fir Zougang zum Plugin ze kréien, kann en TCP Socket benotzt ginn, d.h. de Plugin kann op engem externen System lafen. Zur selwechter Zäit bleift Neovim Réckkompatibel mat Vim, ënnerstëtzt weider Vimscript (Lua gëtt als Alternativ ugebueden) an ënnerstëtzt Verbindunge fir déi meescht Standard Vim Plugins. Dem Neovim seng fortgeschratt Feature kënne benotzt ginn a Plugins gebaut mat Neovim-spezifesche APIs.

Am Moment schonn virbereet ongeféier 80 spezifesch Plugins, Bindunge si verfügbar fir Plugins ze kreéieren an Interfaces ëmzesetzen mat verschiddene Programméierungssproochen (C++, Clojure, Perl, Python, Go, Java, Lisp, Lua, Ruby) a Kaderen (Qt5, ncurses, Node.js, Elektronen, GTK+). Verschidde User Interface Optiounen ginn entwéckelt. GUI Add-ons si vill wéi Plugins, awer am Géigesaz zu Plugins, initiéieren se Uruff un Neovim Funktiounen, während Plugins vu bannen Neovim genannt ginn.

E puer vun den Ännerungen am nei Versioun:

  • E groussen Deel vun neien API Funktiounen a User Interface Eventer bäigefüügt.
  • Eng nei Standardbibliothéik Nvim-Lua bäigefüügt fir Plugins an der Lua Sprooch z'entwéckelen.
  • D'Entwécklung vum User-Interface-Protokoll geet weider, d'Informatioun um Bildschierm um Niveau vun de Linnen aktualiséieren, anstatt eenzel Zeechen.
  • Ënnerstëtzung bäigefüügt fir vollwäerteg schwiewend Fënstere, déi op all Plaz plazéiert kënne ginn, befestegt, verbonne mat eenzelne Redaktiounsbuffer, a gruppéiert am Multigrid Modus.
  • Zousätzlech 'pumblend' Optioun fir transluzent Dropdown-Menüen.

Source: opennet.ru

Setzt e Commentaire