Neovim 0.4, версияи муосири муҳаррири Vim дастрас аст

нашр шудааст релиз Неовим 0.4, як фард аз муҳаррири Vim, нигаронида шудааст дар бораи зиёд кардани васеъшавӣ ва чандирӣ. Пешрафтҳои аслии лоиҳа паҳн шудан таҳти иҷозатномаи Apache 2.0 ва қисми асосӣ таҳти иҷозатномаи Vim.

Дар доираи лоиҳаи Neovim, пойгоҳи коди Vim зиёда аз панҷ сол боз кор карда мешавад, ки дар натиҷаи он тағирот ворид карда шуданд, ки нигоҳдории кодро содда мекунанд, василаи тақсими меҳнатро байни якчанд нигоҳдорон таъмин мекунанд, интерфейсро аз қисми асосӣ (интерфейсро бе даст нарасондан ба дохили дохилӣ тағир додан мумкин аст) ва навро татбиқ кунед меъмории васеъшаванда дар асоси плагинҳо.

Яке аз мушкилот бо Vim, ки боиси эҷоди Neovim гардид, пойгоҳи рамзии яклухт, ки аз беш аз 300 ҳазор сатри рамзи C (C89) иборат буд, буд. Ҳама нозукиҳои пойгоҳи коди Vim-ро танҳо чанд нафар дарк мекунанд ва ҳама тағиротҳо аз ҷониби як нигоҳдор идора карда мешаванд, ки нигоҳдорӣ ва такмил додани муҳаррирро душвор мегардонад. Ба ҷои рамзи дар ядрои Vim барои дастгирии GUI сохташуда, Neovim истифодаи қабати универсалиро пешниҳод мекунад, ки ба шумо имкон медиҳад интерфейсҳоро бо истифода аз асбобҳои гуногун эҷод кунед.

Плагинҳо барои Neovim ҳамчун равандҳои алоҳида оғоз карда мешаванд, ки барои ҳамкорӣ бо онҳо формати MessagePack истифода мешавад. Ҳамкорӣ бо плагинҳо асинхронӣ бидуни бастани ҷузъҳои асосии муҳаррир сурат мегирад. Барои дастрасӣ ба плагин, васлаки TCP метавонад истифода шавад, яъне. плагинро дар системаи беруна кор кардан мумкин аст. Ҳамзамон, Neovim бо Vim ба ақиб мувофиқ боқӣ мемонад, дастгирии Vimscript-ро идома медиҳад (Луа ҳамчун алтернатива пешниҳод карда мешавад) ва пайвастҳоро барои аксари плагинҳои стандартии Vim дастгирӣ мекунад. Хусусиятҳои пешрафтаи Neovim метавонанд дар плагинҳо истифода шаванд, ки бо истифодаи API-ҳои мушаххаси Neovim сохта шудаанд.

Дар айни замон аллакай тайёр карда шудааст тақрибан 80 плагинҳои мушаххас, пайвандҳо барои сохтани плагинҳо ва татбиқи интерфейсҳо бо истифода аз забонҳои гуногуни барномасозӣ (C++, Clojure, Perl, Python, Go, Java, Lisp, Lua, Ruby) ва чаҳорчӯбаҳо (Qt5, ncurses, Node.js, электрон, GTK+). Якчанд вариантҳои интерфейси корбар таҳия карда мешаванд. Иловаҳои GUI ба плагинҳо монанданд, аммо бар хилофи плагинҳо, онҳо зангҳоро ба функсияҳои Neovim оғоз мекунанд, дар ҳоле ки плагинҳо аз дохили Neovim даъват мешаванд.

Баъзе аз тағйирот дар версияи нав:

  • Қисми зиёди функсияҳои нави API ва рӯйдодҳои интерфейси корбар илова карда шуд.
  • Китобхонаи нави стандартии Nvim-Lua барои таҳияи плагинҳо дар забони Lua илова карда шуд.
  • Таҳияи протоколи интерфейси корбар идома дорад, на ҳарфҳои инфиродӣ, балки маълумот дар экран дар сатҳи сатрҳо.
  • Дастгирии иловашуда барои тирезаҳои шинокунандаи мукаммал, ки мумкин аст дар ҳама ҷой ҷойгир карда шаванд, замима карда шаванд, ба буферҳои таҳрири инфиродӣ пайваст карда шаванд ва дар режими Multigrid гурӯҳбандӣ карда шаванд.
  • Опсияи 'pumblend' барои менюҳои афтанда шаффоф илова карда шуд.

Манбаъ: opennet.ru

Илова Эзоҳ