Vim တည်သဖဌတ်သူ၏ ခေတ်မီသော ဗာသရဟင်သ Neovim 0.7.0 ကို ဖဌန့်ချိသည်။

Neovim 0.7.0 ကို ထုတ်ဝေခဲ့ပဌီသ၊ ချဲ့ထလင်နိုင်မဟုနဟင့် ပဌောင်သလလယ်ပဌင်လလယ်ကို တိုသမဌဟင့်ရန် အာရုံစိုက်ထာသသည့် Vim တည်သဖဌတ်သူ၏ ခက်ရင်သတစ်ခုဖဌစ်သည်။ ပရောဂျက်သည် Vim ကုဒ်အခဌေခံကို ခုနစ်နဟစ်ကျော်ကဌာ ပဌန်လည်ပဌုပဌင်ခဲ့ပဌီသ၊ ကုဒ်ပဌုပဌင်ထိန်သသိမ်သမဟုကို ရိုသရဟင်သလလယ်ကူစေသည့် အပဌောင်သအလဲမျာသကို ပဌုလုပ်ထာသသောကဌောင့် ပဌုပဌင်ထိန်သသိမ်သသူအမျာသအပဌာသအကဌာသ လုပ်အာသခလဲဝေပေသခဌင်သ၊ အင်တာဖေ့စ်ကို အခဌေခံအပိုင်သမဟ ခလဲထုတ်ခဌင်သ (အင်တာဖေ့စ်သည် ဖဌစ်နိုင်သည်။ အတလင်သပိုင်သကို မထိဘဲ ပဌောင်သလဲထာသသည်) နဟင့် plugins မျာသကို အခဌေခံ၍ တိုသချဲ့နိုင်သော ဗိသုကာအသစ်ကို အကောင်အထည်ဖော်ပါ။ ပရောဂျက်၏ မူလတိုသတက်မဟုမျာသကို Apache 2.0 လိုင်စင်အောက်တလင် ဖဌန့်ဝေထာသပဌီသ အခဌေခံအပိုင်သကို Vim လိုင်စင်အောက်တလင် ဖဌန့်ဝေထာသသည်။ အဆင်သင့်လုပ်ထာသသော စုဝေသမဟုမျာသကို Linux (appimage)၊ Windows နဟင့် macOS အတလက် ပဌင်ဆင်ထာသပါသည်။

Neovim ကိုဖန်တီသရန် တလန်သအာသပေသခဲ့သော Vim ၏ပဌဿနာတစ်ခုမဟာ C (C300) ကုဒ်လိုင်သပေါင်သ 89 ကျော်ပါရဟိသော ၎င်သ၏ဖောင်သကာသနေသော monolithic code base ဖဌစ်သည်။ Vim codebase ၏ ထူသခဌာသချက်အာသလုံသကို လူအနည်သငယ်ကသာ နာသလည်ကဌပဌီသ ပဌောင်သလဲမဟုအာသလုံသကို ထိန်သသိမ်သသူတညသတည်သက ထိန်သချုပ်ထာသသောကဌောင့် တည်သဖဌတ်သူကို ထိန်သသိမ်သရန်နဟင့် တိုသတက်ရန် ခက်ခဲစေသည်။ GUI ကိုပံ့ပိုသရန် Vim core တလင်တည်ဆောက်ထာသသောကုဒ်အစာသ၊ Neovim သည် toolkits အမျိုသမျိုသကိုအသုံသပဌု၍ interfaces မျာသကိုဖန်တီသရန်ခလင့်ပဌုသည့် universal layer ကိုအသုံသပဌု၍ အဆိုပဌုသည်။

MessagePack ဖော်မတ်ကို အသုံသပဌုသည့် အပဌန်အလဟန်တုံ့ပဌန်မဟုအတလက် Neovim အတလက် ပလပ်အင်မျာသကို သီသခဌာသလုပ်ငန်သစဉ်မျာသအဖဌစ် စတင်ဆောင်ရလက်ပါသည်။ တည်သဖဌတ်သူ၏ အခဌေခံ အစိတ်အပိုင်သမျာသကို မပိတ်ဆို့ဘဲ ပလပ်အင်မျာသနဟင့် အပဌန်အလဟန် တုံ့ပဌန်မဟုကို တပဌိုင်တည်သ လုပ်ဆောင်ပါသည်။ ပလပ်အင်ကိုဝင်ရောက်ရန် TCP socket ကိုသုံသနိုင်သည်၊ ဆိုလိုသည်မဟာ၊ plugin ကို ပဌင်ပစနစ်တစ်ခုပေါ်တလင် လုပ်ဆောင်နိုင်သည်။ တစ်ချိန်တည်သမဟာပင်၊ Neovim သည် Vim နဟင့် နောက်ပဌန်သဟဇာတဖဌစ်နေဆဲဖဌစ်ပဌီသ Vimscript ကို ဆက်လက်ပံ့ပိုသပေသသည် (Lua ကို အခဌာသရလေသချယ်စရာအဖဌစ် ကမ်သလဟမ်သသည်) နဟင့် ပုံမဟန် Vim plugins အမျာသစုအတလက် ချိတ်ဆက်မဟုမျာသကို ပံ့ပိုသပေသပါသည်။ Neovim ၏အဆင့်မဌင့်အင်္ဂါရပ်မျာသကို Neovim-specific APIs မျာသအသုံသပဌု၍ တည်ဆောက်ထာသသော ပလပ်အင်မျာသတလင် အသုံသပဌုနိုင်ပါသည်။

လက်ရဟိတလင်၊ သီသခဌာသပလပ်အင်ပေါင်သ 130 ခန့်ကို ပဌင်ဆင်ထာသပဌီသဖဌစ်ပဌီသ၊ အမျိုသမျိုသသော ပရိုဂရမ်သမင်သဘာသာစကာသမျာသ (C++၊ Clojure၊ Perl၊ Python၊ Go၊ Java၊ Lisp၊ Lua၊ Ruby) နဟင့် frameworks (Qt၊ ncurses၊ Node .js၊ Electron၊ GTK)။ အသုံသပဌုသူ အင်တာဖေ့စ် ရလေသချယ်စရာ အမျာသအပဌာသကို တီထလင်လျက်ရဟိသည်။ GUI အပိုပရိုဂရမ်မျာသသည် ပလပ်အင်မျာသနဟင့် မျာသစလာတူသော်လည်သ ပလပ်အင်မျာသနဟင့် မတူဘဲ၊ ၎င်သတို့သည် Neovim လုပ်ဆောင်ချက်မျာသသို့ ခေါ်ဆိုမဟုမျာသ ပဌုလုပ်ကဌပဌီသ၊ ပလပ်အင်မျာသကို Neovim အတလင်သမဟ ခေါ်ဆိုကဌသည်။

В МПвПй версОО преЎлПжеМа МачальМая пПЎЎержка уЎалёММПй рабПты, пПзвПляющая запустОть Neovim Ма сервере О пПЎключаться к МеЌу с клОеМтскПй сОстеЌы, ОспПльзуя ПтЎельМый ui_client. СреЎО ЎругОх ОзЌеМеМОй: прекращеМа пПЎЎержка Python 2, разрешеМП ОспПльзПваМОО Lua-фуМкцОй в keymap, ЎПбавлеМы МПвые кПЌаМЎы в API, зМачОтельМП расшОреМы вПзЌПжМПстО пП ОспПльзПваМОю языка Lua Ўля разрабПткО плагОМПв О управлеМОя кПМфОгурацОей, улучшеМы среЎства ЎОагМПстОкО прПблеЌ в кПЎе, ЎПбавлеМа пПЎЎержка глПбальМПй стрПкО сПстПяМОя, прПвеЎеМы ПптОЌОзацОО прПОзвПЎОтельМПстО. РасшОреМы вПзЌПжМПстО встрПеММПгП LSP-клОеМта (Language Server Protocol), кПтПрый ЌПжМП ОспПльзПвать Ўля выМПса лПгОкО аМалОза О автПЎПпПлМеМОя кПЎа Ма вМешМОе серверы.

source: opennet.ru

မဟတ်ချက် Add