Vim засварлагчийн шинэчилсэн хувилбар болох Neovim 0.4 бэлэн боллоо

Нийтэлсэн суллах Neovim 0.4, Vim засварлагчийн сэрээ, төвлөрсөн сунгах, уян хатан байдлыг нэмэгдүүлэх талаар. Төслийн анхны бүтээн байгуулалтууд тархалт Apache 2.0 лицензийн дагуу, үндсэн хэсэг нь Vim лицензийн дагуу.

Neovim төслийн хүрээнд Vim кодын баазыг таван жил гаруй хугацаанд дахин боловсруулж байгаа бөгөөд үүний үр дүнд кодын засвар үйлчилгээг хялбаршуулж, хэд хэдэн засварлагчдын хооронд хөдөлмөрийг хуваах, интерфейсийг интерфэйсээс тусгаарлах боломжтой болсон. үндсэн хэсэг (интерфэйсийг дотоод хэсгүүдэд хүрэхгүйгээр өөрчилж болно) болон шинээр хэрэгжүүлнэ өргөтгөх боломжтой архитектур залгаасууд дээр суурилсан.

Neovim-ийг бүтээхэд түлхэц болсон Vim-тэй холбоотой асуудлуудын нэг нь түүний 300 мянга гаруй мөр C (C89) кодоос бүрдсэн цул кодын суурь юм. Цөөн хэдэн хүмүүс Vim кодын бүх нарийн ширийнийг ойлгодог бөгөөд бүх өөрчлөлтийг нэг засварлагч удирддаг бөгөөд энэ нь засварлагчийг хадгалах, сайжруулахад хэцүү болгодог. GUI-г дэмжихийн тулд Vim цөмд суулгасан кодын оронд Neovim нь төрөл бүрийн хэрэглүүрийг ашиглан интерфейс үүсгэх боломжийг олгодог бүх нийтийн давхаргыг ашиглахыг санал болгож байна.

Neovim-д зориулсан залгаасууд нь MessagePack форматыг ашигладаг тусдаа процесс болгон ажиллуулдаг. Залгаасуудтай харилцах нь засварлагчийн үндсэн бүрэлдэхүүн хэсгүүдийг хаахгүйгээр асинхрон байдлаар явагддаг. Plugin руу нэвтрэхийн тулд TCP залгуурыг ашиглаж болно, i.e. залгаасыг гадаад систем дээр ажиллуулж болно. Үүний зэрэгцээ Neovim нь Vim-тэй нийцтэй хэвээр байгаа бөгөөд Vimscript-ийг үргэлжлүүлэн дэмждэг (Луа нь өөр хувилбараар санал болгодог) бөгөөд ихэнх стандарт Vim залгаасуудын холболтыг дэмждэг. Neovim-ийн дэвшилтэт функцуудыг Neovim-ийн тусгай API ашиглан бүтээсэн залгаасуудад ашиглаж болно.

Одоогоор аль хэдийн бэлтгэсэн Төрөл бүрийн програмчлалын хэл (C++, Clojure, Perl, Python, Go, Java, Lisp, Lua, Ruby) болон фреймворк (Qt80, ncurses, Node.js, электрон, GTK+). Хэрэглэгчийн интерфейсийн хэд хэдэн сонголтыг боловсруулж байна. GUI нэмэлтүүд нь залгаастай төстэй боловч залгаасуудаас ялгаатай нь Neovim функцууд руу залгадаг бол залгаасуудыг Neovim дотроос дууддаг.

Зарим өөрчлөлтүүд шинэ хувилбар:

  • Шинэ API функцууд болон хэрэглэгчийн интерфэйсийн үйл явдлуудын ихээхэн хэсгийг нэмсэн.
  • Луа хэл дээр залгаасуудыг хөгжүүлэх Nvim-Lua стандарт номын сан нэмэгдсэн.
  • Хэрэглэгчийн интерфэйсийн протоколыг хөгжүүлэх ажил үргэлжилж, дэлгэц дээрх мэдээллийг бие даасан тэмдэгтүүдээс илүү шугамын түвшинд шинэчилж байна.
  • Ямар ч байршилд байрлуулж, хавсаргаж, бие даасан засварлах буфертэй холбож, Multigrid горимд бүлэглэж болох бүрэн хэмжээний хөвөгч цонхнуудын дэмжлэг нэмэгдсэн.
  • Тунгалаг унждаг цэсэнд 'pumblend' сонголтыг нэмсэн.

Эх сурвалж: opennet.ru

сэтгэгдэл нэмэх