Lëshimi i Neovim 0.6.0, një version i modernizuar i redaktorit Vim

ËshtĂ« publikuar lĂ«shimi i Neovim 0.6.0, njĂ« degĂ«zim i redaktorit Vim qĂ« fokusohet nĂ« rritjen e zgjerueshmĂ«risĂ« dhe fleksibilitetit. PjesĂ« e projektit Ă«shtĂ« ribĂ«rja e bazĂ«s sĂ« kodit tĂ« Vim pĂ«r mĂ« shumĂ« se pesĂ« vjet, e cila sjell ndryshime qĂ« lehtĂ«sojnĂ« mbĂ«shtetje tĂ« kodit, ofrojnĂ« mjete pĂ«r ndarjen e punĂ«s midis disa mbajtĂ«sve, ndajnĂ« ndĂ«rfaqen nga pjesa bĂ«rthamore (ndĂ«rfaqja mund tĂ« ndryshojĂ« pa prekur brendĂ«sinĂ«) dhe implementojnĂ« njĂ« arkitekturĂ« tĂ« re tĂ« zgjerueshme bazuar nĂ« shtesa. TĂ« dhĂ«nat origjinale tĂ« projektit shpĂ«rndahen nĂ«n licencĂ«n Apache 2.0, ndĂ«rsa pjesa bĂ«rthamore nĂ«n licencĂ«n Vim. 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.

Disa nga ndryshimet në versionin e ri:

  • NĂ« skriptet vim, Ă«shtĂ« shtuar mbĂ«shtetje pĂ«r variabla lokalĂ«, - tĂ« cilĂ«ve sfera e ndikimit Ă«shtĂ« e kufizuar vetĂ«m nĂ« skriptin aktual.
  • MbĂ«shtetja pĂ«r gjuhĂ«n Lua pĂ«r zhvillimin e shtesave dhe menaxhimin e konfiguracionit Ă«shtĂ« pĂ«rmirĂ«suar ndjeshĂ«m. NĂ« skriptet vim, Ă«shtĂ« shtuar mundĂ«sia pĂ«r tĂ« thirrur funksione Lua si metoda pĂ«rmes caktimit tĂ« parashtesĂ«s v:lua (pĂ«r shembull, "arg1->v:lua.somemod.func(arg2)").
  • JanĂ« zgjeruar mundĂ«sitĂ« e klientit tĂ« intĂ©gruar LSP (Protokolli i ShĂ«rbimit tĂ« GjuhĂ«s), i cili mund tĂ« pĂ«rdoret pĂ«r tĂ« transferuar logjikĂ«n e analizĂ«s dhe autoshkarkimit tĂ« kodit nĂ« jashtĂ«. hostingut. PĂ«rdorimi i LSP lejon pĂ«rdorimin e mĂ« shumĂ« se 150 pĂ«rpunuesve tĂ« gatshĂ«m pĂ«r gjuhĂ« tĂ« ndryshme programimi, tĂ« pĂ«rgatitur pĂ«r redaktorin e kodit Visual Studio Code.
  • JanĂ« pĂ«rmirĂ«suar mjetet pĂ«r diagnostikimin e problemeve nĂ« kod. ËshtĂ« shtuar mundĂ«sia e shfaqjes sĂ« mesazheve diagnostikuese dhe dritareve peizazh me kodin e lidhur me kĂ«to mesazhe. ËshtĂ« siguruar pĂ«rpunimi i mesazheve diagnostikuese qĂ« transmetohen nga serveri LSP.
  • ËshtĂ« shtuar mbĂ«shtetje pĂ«r rreshta virtualĂ«, tĂ« cilĂ«t mund tĂ« pĂ«rdoren, pĂ«r shembull, pĂ«r shfaqjen e skenave me informacion shĂ«rbimi.
  • JanĂ« bĂ«rĂ« optimizime tĂ« ndryshme tĂ« performancĂ«s, pĂ«r shembull, Ă«shtĂ« pĂ«rdorur njĂ« tabelĂ« hashe pĂ«r emrat e grupeve qĂ« ndriçohen.
  • ËshtĂ« ndĂ«rprerĂ« mbĂ«shtetja pĂ«r Windows 7 dhe ndĂ«rtimet 32-bit pĂ«r Windows.

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