Lançimi i Neovim 0.7.0, një version i përmirësuar i redaktorit Vim

ËshtĂ« publikuar lirimi i Neovim 0.7.0, njĂ« degĂ« nga redaktori Vim, e cila fokusohet nĂ« pĂ«rmirĂ«simin e zgjerueshmĂ«risĂ« dhe fleksibilitetit. QĂ« prej mĂ« shumĂ« se pesĂ« vjetĂ«sh, projekti ka qenĂ« nĂ« njĂ« ripĂ«rpunim tĂ« kodit tĂ« bazĂ«s sĂ« Vim, duke futur ndryshime qĂ« thjeshtojnĂ« mirĂ«mbajtjen e kodit, ofrojnĂ« mjete pĂ«r ndarjen e punĂ«s midis disa mbajtĂ«sve, ndajnĂ« ndĂ«rfaqen nga pjesa bazĂ« (ndĂ«rfaqja mund tĂ« ndryshohet pa prekur mbrendĂ«sitĂ«) dhe realizojnĂ« njĂ« arkitekturĂ« tĂ« re zgjeruese nĂ« bazĂ« tĂ« plug-in-eve. Materialet origjinale tĂ« projektit shpĂ«rndahen nĂ«n licencĂ«n Apache 2.0, ndĂ«rsa pjesa bazĂ« nĂ«n licencĂ«n Vim. NdĂ«rkohĂ«, ndĂ«rtimet e gatshme janĂ« pĂ«rgatitur pĂ«r Linux (appimage), Windows dhe macOS.

Një nga problemet e Vim-it që çoi në krijimin e Neovim janë bazat e kodit monolit, të fryra, që përmbajnë më shumë se 300 mijë rreshta kodi në gjuhën C (C89). Në të gjitha nuancat e bazës së kodit të Vim-it, vetëm disa persona e kuptojnë, dhe të gjitha ndryshimet kontrollohen nga një mbajtës, çka e vështirëson mbështetje dhe punën për përmirësimin e editorit. Në vend të kodit të integruar në kernelin e Vim për mbështetje GUI, Neovim ofron një ndërfaqe universale që lejon krijimin e ndërfaqeve duke përdorur toolkit të ndryshme.

Pluginet për Neovim ekzekutohen si procese të veçanta, për interaksionin me të cilat përdoret formati MessagePack. Bashkëpunimi me pluginet bëhet në mënyrë asinkrone, pa bllokimin e komponentëve bazë të editorit. Një socket TCP mund të përdoret për të komunikuar me pluginin, pra, plugin mund të ekzekutohet në një sistem të jashtëm. Në të njëjtën kohë, Neovim mbetet e përputhshme me Vim, vazhdon të mbështesë Vimscript (si alternativë ofrohet Lua) dhe mbështet lidhjet e shumicës së pluginave standarde të Vim. Mundësitë e avancuara të Neovim mund të përdoren në pluginet e krijuara duke përdorur API-në specifike për Neovim.

Aktualisht janë përgatitur rreth 130 plugins specifikë, janë në dispozicion lidhjet për krijimin e plugins dhe implementimeve të ndërfaqeve duke përdorur gjuhë të ndryshme programimi (C++, Clojure, Perl, Python, Go, Java, Lisp, Lua, Ruby) dhe framework-u (Qt, ncurses, Node.js, Electron, GTK). Po zhvillohen disa variante të ndërfaqes së përdoruesit. Shtesat GUI janë shumë të ngjashme me plugins, por, ndryshe nga plugins, ato inicojnë thirrjen e funksioneve Neovim, ndërsa plugins thirren nga Neovim.

Në versionin e ri është propozuar mbështetje fillestare për punën e largët, e cila lejon që Neovim të startohet në serveri dhe të lidheni me të nga sistemi klient, duke përdorur një ui_client të veçantë. Ndër ndryshime të tjera: është ndalur mbështetje për Python 2, është lejuar përdorimi i funksioneve Lua në keymap, janë shtuar komandat e reja në API, janë zgjeruar në masë të madhe mundësitë për përdorimin e gjuhës Lua për zhvillimin e plugineve dhe menaxhimin e konfiguracionit, janë përmirësuar mjetet për diagnostikimin e problemeve në kod, është shtuar mbështetje për varg global të gjendjes, janë kryer optimizime të performancës. Janë zgjeruar mundësitë e klientit të integruar LSP (Protokolli i Serverit të Gjuhës), i cili mund të përdoret për të ndarë logjikën e analizës dhe plotësimit automatik të kodit në jashtë. falas. Kjo është vetëm një nga shumë privilegjet që ofrojmë për klientët tanë të rinj të web-hosting..

Burimi: opennet.ru

Bleni hostim tĂ« besueshĂ«m pĂ«r faqe me mbrojtje nga DDoS, serverĂ« VPS VDS đŸ”„ Bleni hostim tĂ« besueshĂ«m pĂ«r faqe me mbrojtje nga DDoS, serverĂ« VPS VDS | ProHoster