29. märts 2026 toimus vabastus tekstitöötlusprogramm Neovim versioon 0.12, ja 6. aprillil ilmus parandav väljaanne 0.12.1. See on üks suurimaid väljaandeid viimasel ajal: suletud on enam kui 340 ülesannet, lisatud on sisseehitatud pluginate haldur, HTTP-klient, taaskäivitamise käsk, sisseehitatud LSP-klient on oluliselt laiendatud ning eksperimentaalselt on ümber töötatud sõnumite alamsüsteem.
Üksikasjalikumad muudatused:
- eemaldatud aegunud API vim.diagnostic;
- Ctrl-R sisestusrežiimis nüüd töötab sarnaselt sisestusele;
- toetuse lõpetamine Python 3.7 ja 3.8 teenusepakkujates;
- plugin shellmenu eemaldatud, tohtml võetud pack/dist/opt/;
- Treesitter: direktiiv offset! rakendatakse kõigi püüdluste kohta, get_parser tagastab nil vea korral, kõik valikud on eemaldatud Query:iter_matches;
- LSP: textDocument/codeLens üles ehitatud kui dekoratsiooni pakkuja;
- UI: ext_messages eraldatud sõnumite võrgu alusest;
- Toetuse RFC 3986 path_with_url-s.
Sisseehitatud pluginahalduse (vim.pack):
Lisatud eksperimentaalne sisseehitatud pluginahaldur vim.pack. Toetab lockfile versioonide fikseerimiseks, offline uuendamine, sihtversioonide näitamine, kinnitustekkide navigeerimisega [[[\/]] ja koodi toimingud. Teave VCS-i kohta on saadaval kaudu vim.pack.get. Protsesside edenemine Microsofti töötajate aktiivsust nvim_echo abil, kind=progress. Integreeritud checkhealth.
LSP:
Sisseehitatud LSP-klient on saanud ulatusliku uuenduse:
- uus käsk :lsp interaktiivseks haldamiseks klientidega;
- vim.lsp.enable ja vim.lsp.is_enabled LSP-serverite haldamiseks vajadusel;
- sisseehitatud automaatne täiendamine sisestusrežiimis koos toetusega completionItem/resolve (completeopt=popup juures), snipeetide eelvaade ja värvide, tugi CompletionItem.labelDetails;
- inkrementaalne valik textDocument/selectionRange, sealhulgas operaatorite ooterežiimis;
- textDocument/documentColor lubatud vaikimisi, lisatud tugi colorPresentation;
- Tugi textDocument/documentLink, textDocument/inlineCompletion, textDocument/onTypeFormatting;
- codeLens kuvatakse virtuaalsete ridadega dekoratsiooni pakkuja kaudu;
- semanontsete tokenite täiustamine: mitmerealised tokenid, päringud range ja full;
- Tugi workspace-diagnoosid, dünaamiline registreerimine, päring diagnostic/refresh;
- nimetatava sümboli esiletoomine, tugi annotated text edits ja seotud redigeerimise ulatused;
- uued vaike kaardistamised: grt — liikuda määratletud tüübi juurde, grx — käivitada codeLens;
- LSP-kliendid automaatne katkestamine filetype vahetamisel;
- on aegunud vim.lsp.stop_client ja vim.lsp.util.stylize_markdown.
Käsk :restart ja :detach:
Uus käsk :restart taaskäivitab Nvim ja jälle ühendab praeguse UI. Tugi :detach ja :restart Windowsis. Kõik platvormid toetavad.
Võrk (vim.net):
Sisse ehitatud HTTP-klient on lisatud vim.net.request ja :edit url. Variant vim.net.request outbuf argumentidega salvestab serveri vastuse otse määratud puhvri.
Kasutajaliides ja sõnumid:
- ui2 — eksperimentaalne sõnumite ja käsurea alamprogrammi ümbersuunamine, ext_cmdline/messages TUI jaoks;
- uued esiletõstmise grupid hl-StderrMsg ja hl-StdoutMsg;
- nvim_echo toetab edusamme kajastavaid sündmusi kind=progress;
- vaikimisi olekuriba näitab diagnostika arve, edusamme ja LSP staatust, üksuse olek puhvri;
- rippmenüü raami pumbapiiranguga kerimisriba.
Lua API:
- uued tüübid vim.Pos ja vim.Range positsioonide ja vahemike töötlemiseks, konverteerimine positsioonide, kursor, extmark, Vim ja LSP;
- vim.list.bisect, vim.list.unique;
- Iter:unique, Iter:peek ja Iter:skip mitte-listi iteratooride jaoks;
- vim.wait tagastab callbacki tulemused;
- vim.json.encode toetab pretty-print ja sort_keys;
- parameeter käitumine funktsioonina tbl_extend ja tbl_deep_extend jaoks;
- uus moodul vim._async.
Diagnostika:
- diagnostic.status jot kohandatud vormindamisega ja esiletõstmine;
- filter enabled, valik format setloclist/setqflist jaoks;
- Callback on_jump;
- siirdamine seotud teabele open_floatist;
- katte esiletõstmine DiagnosticUnnecessary ja DiagnosticDeprecated.
Treesitter:
- Markdowni esiletõstmine on vaikimisi sisse lülitatud;
- kasvav esiletõstmine Treesitteri põhjal.
Muud muudatused:
- :wall ++p loob iga puhvri jaoks vanemad kataloogid;
- exrc otsib konfigureerimisfailid vanemates kataloogides jot kohustuslik kinnitus :trust kaudu;
- :source võib täita Lua-blokke ja Treesitteri sisendeid;
- nvim_open_tabpage — API vahelehtede programmeerimiseks;
- nvim_set_hl update parameetriga uuendab spetsiifilisi esiletõstmise atribuute ilma teiste kustutamata;
- stiil bold ja kohandatud sümbolid winborderis;
- Tugi olekurida ujuvates akendes;
- nvimlogi ümbernimetamine nvim.log;
- aktiivse tabstopi esiletõstmine snippetes;
- sisseehitatud runtime undotree;
- shelltemp=false vaikimisi;
- Spellfile hoitakse stdpath andmes;
- otsingu maksimaalne tulemite arv on suurendatud 999-ni;
- SSH konfiguratsiooni parsin;
- sünkroniseeritud väljund terminaalis (mode 2026);
- terminaal näitab väljundkoodi virtuaalse teksti kaudu.
Neovim 0.12.1:
Korrigeerimise väljaanne 6. aprill 2026 26 vea parandamise ja ühe uue võimalusega — :restart ühendab kõik UI uuesti. Oluliste paranduste seas:
- :restart: stderr'i pärimine Unixis, korrektne töötlemine —headless;
- LSP: koodiklaasi värskenduse korduv päring, snipeetide eelvaade, dokument värvi lähtestamine;
- ui2: vilgastus pagari sisenemisel, vale linkide vahemälu, spill indikaatori uuendus;
- Treesitter: Unicode sümbolite valimine sõlme lõpus;
- vim.net: arhiivide URL-ide töötlemine läbi tar/zip;
- vim.pack: uv.available_parallelism kasutamine niši arvutamiseks;
- Vimi turvaparandused: mudelirežiimi kaudu turvamudeli mööda hiilimine, zip.vim teed mööda hiilimine;
- vim.pos optimeerimine: nvim_buf_line_counti kasutamine kõigi ridade laadimise asemel.
Allikas: linux.org.ru
