Neovim 0.7.0 рдЪреЗ рдкреНрд░рдХрд╛рд╢рди, Vim рд╕рдВрдкрд╛рджрдХрд╛рдЪреА рдЖрдзреБрдирд┐рдХ рдЖрд╡реГрддреНрддреА

Neovim 0.7.0 рд░рд┐рд▓реАрдЭ рдХреЗрд▓реЗ рдЧреЗрд▓реЗ рдЖрд╣реЗ, Vim рд╕рдВрдкрд╛рджрдХрд╛рдЪрд╛ рдПрдХ рдХрд╛рдЯрд╛ рд╡рд┐рд╕реНрддрд╛рд░рддрд╛ рдЖрдгрд┐ рд▓рд╡рдЪрд┐рдХрддрд╛ рд╡рд╛рдврд╡рдгреНрдпрд╛рд╡рд░ рдХреЗрдВрджреНрд░рд┐рдд рдЖрд╣реЗ. рдкреНрд░рдХрд▓реНрдк рд╕рд╛рдд рд╡рд░реНрд╖рд╛рдВрд╣реВрди рдЕрдзрд┐рдХ рдХрд╛рд│ рд╡рд┐рдо рдХреЛрдб рдмреЗрд╕рд╡рд░ рдкреБрдиреНрд╣рд╛ рдХрд╛рдо рдХрд░рдд рдЖрд╣реЗ, рдкрд░рд┐рдгрд╛рдореА рдХреЛрдб рдореЗрдВрдЯреЗрдирдиреНрд╕ рд╕реБрд▓рдн рдХрд░рдгрд╛рд░реЗ рдмрджрд▓ рдХреЗрд▓реЗ рдЬрд╛рддрд╛рдд, рдЕрдиреЗрдХ рдореЗрдВрдЯреЗрдирд░реНрд╕рдордзреНрдпреЗ рд╢реНрд░рдо рд╡рд┐рднрд╛рдЬрд┐рдд рдХрд░рдгреНрдпрд╛рдЪреЗ рд╕рд╛рдзрди рдкреНрд░рджрд╛рди рдХреЗрд▓реЗ рдЬрд╛рддреЗ, рдЗрдВрдЯрд░рдлреЗрд╕рд▓рд╛ рдмреЗрд╕ рднрд╛рдЧрд╛рдкрд╛рд╕реВрди рд╡реЗрдЧрд│реЗ рдХреЗрд▓реЗ рдЬрд╛рддреЗ (рдЗрдВрдЯрд░рдлреЗрд╕ рд╣реЗ рдЕрд╕реВ рд╢рдХрддреЗ. рдЕрдВрддрд░реНрдЧрдд рднрд╛рдЧрд╛рдВрдирд╛ рд╕реНрдкрд░реНрд╢ рди рдХрд░рддрд╛ рдмрджрд▓рд▓реЗ) рдЖрдгрд┐ рдкреНрд▓рдЧрдЗрдирд╡рд░ рдЖрдзрд╛рд░рд┐рдд рдирд╡реАрди рд╡рд┐рд╕реНрддрд╛рд░рд┐рдд рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЪрд░ рд▓рд╛рдЧреВ рдХрд░рд╛. рдкреНрд░рдХрд▓реНрдкрд╛рдЪреНрдпрд╛ рдореВрд│ рдШрдбрд╛рдореЛрдбреА Apache 2.0 рдкрд░рд╡рд╛рдиреНрдпрд╛рдЕрдВрддрд░реНрдЧрдд рд╡рд┐рддрд░реАрдд рдХреЗрд▓реНрдпрд╛ рдЬрд╛рддрд╛рдд рдЖрдгрд┐ рдореВрд│ рднрд╛рдЧ рд╡рд┐рдо рдкрд░рд╡рд╛рдиреНрдпрд╛рдЕрдВрддрд░реНрдЧрдд рд╡рд┐рддрд░реАрдд рдХреЗрд▓рд╛ рдЬрд╛рддреЛ. Linux (appimage), Windows рдЖрдгрд┐ macOS рд╕рд╛рдареА рддрдпрд╛рд░ рдЕрд╕реЗрдВрдмреНрд▓реА рддрдпрд╛рд░ рдХреЗрд▓реНрдпрд╛ рдЬрд╛рддрд╛рдд.

Vim рдордзреАрд▓ рд╕рдорд╕реНрдпрд╛рдВрдкреИрдХреА рдПрдХ рд╕рдорд╕реНрдпрд╛ рдЬреНрдпрд╛рдиреЗ Neovim рдЪреНрдпрд╛ рдирд┐рд░реНрдорд┐рддреАрд╕ рдкреНрд░рд╡реГрддреНрдд рдХреЗрд▓реЗ рддреЗ рдореНрд╣рдгрдЬреЗ рддреНрдпрд╛рдЪрд╛ рдлреБрдЧрд▓реЗрд▓рд╛, рдореЛрдиреЛрд▓рд┐рдерд┐рдХ рдХреЛрдб рдмреЗрд╕, рдЬреНрдпрд╛рдордзреНрдпреЗ C (C300) рдХреЛрдбрдЪреНрдпрд╛ 89 рд╣рдЬрд╛рд░ рдкреЗрдХреНрд╖рд╛ рдЬрд╛рд╕реНрдд рдУрд│реА рдЖрд╣реЗрдд. рдХреЗрд╡рд│ рдХрд╛рд╣реА рд▓реЛрдХрд╛рдВрдирд╛ рд╡рд┐рдо рдХреЛрдбрдмреЗрд╕рдЪреНрдпрд╛ рд╕рд░реНрд╡ рдмрд╛рд░рдХрд╛рд╡реЗ рд╕рдордЬрддрд╛рдд рдЖрдгрд┐ рд╕рд░реНрд╡ рдмрджрд▓ рдПрдХрд╛ рдореЗрдВрдЯреЗрдирд░рджреНрд╡рд╛рд░реЗ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХреЗрд▓реЗ рдЬрд╛рддрд╛рдд, рдЬреНрдпрд╛рдореБрд│реЗ рд╕рдВрдкрд╛рджрдХ рд░рд╛рдЦрдгреЗ рдЖрдгрд┐ рд╕реБрдзрд╛рд░рдгреЗ рдХрдареАрдг рд╣реЛрддреЗ. GUI рд▓рд╛ рд╕рдкреЛрд░реНрдЯ рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА Vim core рдордзреНрдпреЗ рддрдпрд╛рд░ рдХреЗрд▓реЗрд▓реНрдпрд╛ рдХреЛрдбрдРрд╡рдЬреА, Neovim рдиреЗ рдпреБрдирд┐рд╡реНрд╣рд░реНрд╕рд▓ рд▓реЗрдпрд░ рд╡рд╛рдкрд░рдгреНрдпрд╛рдЪрд╛ рдкреНрд░рд╕реНрддрд╛рд╡ рджрд┐рд▓рд╛ рдЖрд╣реЗ рдЬреЛ рддреБрдореНрд╣рд╛рд▓рд╛ рд╡рд┐рд╡рд┐рдз рдЯреВрд▓рдХрд┐рдЯ рд╡рд╛рдкрд░реВрди рдЗрдВрдЯрд░рдлреЗрд╕ рддрдпрд╛рд░ рдХрд░реВ рджреЗрддреЛ.

Neovim рд╕рд╛рдареА рдкреНрд▓рдЧрдЗрди рд╕реНрд╡рддрдВрддреНрд░ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдореНрд╣рдгреВрди рд▓рд╛рдБрдЪ рдХреЗрд▓реЗ рдЬрд╛рддрд╛рдд, рдЬреНрдпрд╛рдЪреНрдпрд╛рд╢реА рд╕рдВрд╡рд╛рдж рд╕рд╛рдзрдгреНрдпрд╛рд╕рд╛рдареА MessagePack рдлреЙрд░рдореЕрдЯ рд╡рд╛рдкрд░рд▓рд╛ рдЬрд╛рддреЛ. рд╕рдВрдкрд╛рджрдХрд╛рдЪреНрдпрд╛ рдореВрд▓рднреВрдд рдШрдЯрдХрд╛рдВрдирд╛ рдЕрд╡рд░реЛрдзрд┐рдд рди рдХрд░рддрд╛ рдкреНрд▓рдЧрдЗрдирд╕рд╣ рдкрд░рд╕реНрдкрд░рд╕рдВрд╡рд╛рдж рдЕрд╕рд┐рдВрдХреНрд░реЛрдирд╕ рдХреЗрд▓рд╛ рдЬрд╛рддреЛ. рдкреНрд▓рдЧрдЗрдирдордзреНрдпреЗ рдкреНрд░рд╡реЗрд╢ рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА, рдПрдХ TCP рд╕реЙрдХреЗрдЯ рд╡рд╛рдкрд░рд▓рд╛ рдЬрд╛рдК рд╢рдХрддреЛ, рдЙрджрд╛. рдкреНрд▓рдЧрдЗрди рдмрд╛рд╣реНрдп рдкреНрд░рдгрд╛рд▓реАрд╡рд░ рдЪрд╛рд▓рд╡рддрд╛ рдпреЗрддреЗ. рддреНрдпрд╛рдЪ рд╡реЗрд│реА, Neovim Vim рд╢реА рд╕реБрд╕рдВрдЧрдд рд░рд╛рд╣рддреЗ, Vimscript рд▓рд╛ рд╕рдорд░реНрдерди рджреЗрдд рд░рд╛рд╣рддреЗ (Lua рдПрдХ рдкрд░реНрдпрд╛рдп рдореНрд╣рдгреВрди рдСрдлрд░ рдХреЗрд▓реА рдЬрд╛рддреЗ) рдЖрдгрд┐ рдмрд╣реБрддреЗрдХ рдорд╛рдирдХ Vim рдкреНрд▓рдЧрдЗрдирд╕рд╛рдареА рдХрдиреЗрдХреНрд╢рдирдЪреЗ рд╕рдорд░реНрдерди рдХрд░рддреЗ. Neovim рдЪреА рдкреНрд░рдЧрдд рд╡реИрд╢рд┐рд╖реНрдЯреНрдпреЗ Neovim-рд╡рд┐рд╢рд┐рд╖реНрдЯ API рд╡рд╛рдкрд░реВрди рддрдпрд╛рд░ рдХреЗрд▓реЗрд▓реНрдпрд╛ рдкреНрд▓рдЧрдЗрдирдордзреНрдпреЗ рд╡рд╛рдкрд░рд▓реА рдЬрд╛рдК рд╢рдХрддрд╛рдд.

рд╕рдзреНрдпрд╛, рд╕реБрдорд╛рд░реЗ 130 рд╡рд┐рд╢рд┐рд╖реНрдЯ рдкреНрд▓рдЧрдЗрди рдЖрдзреАрдЪ рддрдпрд╛рд░ рдХреЗрд▓реЗ рдЧреЗрд▓реЗ рдЖрд╣реЗрдд, рдкреНрд▓рдЧрдЗрди рддрдпрд╛рд░ рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдЖрдгрд┐ рд╡рд┐рд╡рд┐рдз рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рднрд╛рд╖рд╛ (C++, Clojure, Perl, Python, Go, Java, Lisp, Lua, Ruby) рдЖрдгрд┐ рдлреНрд░реЗрдорд╡рд░реНрдХ (Qt, ncurses, Node .js, Electron, GTK). рдЕрдиреЗрдХ рдпреВрдЬрд░ рдЗрдВрдЯрд░рдлреЗрд╕ рдкрд░реНрдпрд╛рдп рд╡рд┐рдХрд╕рд┐рдд рдХреЗрд▓реЗ рдЬрд╛рдд рдЖрд╣реЗрдд. GUI рдЕреЕрдб-рдСрди рд╣реЗ рдкреНрд▓рдЧрдЗрдиреНрд╕рд╕рд╛рд░рдЦреЗ рдЕрд╕рддрд╛рдд, рдкрд░рдВрддреБ рдкреНрд▓рдЧрдЗрдиреНрд╕рдЪреНрдпрд╛ рд╡рд┐рдкрд░реАрдд, рддреЗ рдирд┐рдУрд╡рд┐рдо рдлрдВрдХреНрд╢рдиреНрд╕рд╡рд░ рдХреЙрд▓ рд╕реБрд░реВ рдХрд░рддрд╛рдд, рддрд░ рдкреНрд▓рдЧрдЗрдиреНрд╕ рдирд┐рдУрд╡рд┐рдордордзреВрди рдХреЙрд▓ рдХреЗрд▓реЗ рдЬрд╛рддрд╛рдд.

рдирд╡реАрди рдЖрд╡реГрддреНрддреА рд░рд┐рдореЛрдЯ рдХрд╛рдорд╛рд╕рд╛рдареА рдкреНрд░рд╛рд░рдВрднрд┐рдХ рд╕рдорд░реНрдерди рджреЗрддреЗ, рдЬреЗ рддреБрдореНрд╣рд╛рд▓рд╛ рд╕рд░реНрд╡реНрд╣рд░рд╡рд░ Neovim рдЪрд╛рд▓рд╡рдгреНрдпрд╛рд╕ рдЖрдгрд┐ рдХреНрд▓рд╛рдпрдВрдЯ рдкреНрд░рдгрд╛рд▓реАрдкрд╛рд╕реВрди рд╡реЗрдЧрд│реЗ ui_client рд╡рд╛рдкрд░реВрди рдХрдиреЗрдХреНрдЯ рдХрд░рдгреНрдпрд╛рдЪреА рдкрд░рд╡рд╛рдирдЧреА рджреЗрддреЗ. рдЗрддрд░ рдмрджрд▓рд╛рдВрдордзреНрдпреЗ рд╣реЗ рд╕рдорд╛рд╡рд┐рд╖реНрдЯ рдЖрд╣реЗ: рдкрд╛рдпрдерди 2 рд╕рд╛рдареА рд╕рдорд░реНрдерди рдмрдВрдж рдХреЗрд▓реЗ рдЧреЗрд▓реЗ рдЖрд╣реЗ, рдХреАрдореЕрдкрдордзреНрдпреЗ рд▓реБрдЖ рдлрдВрдХреНрд╢рдиреНрд╕рдЪрд╛ рд╡рд╛рдкрд░ рдХрд░рдгреНрдпрд╛рд╕ рдкрд░рд╡рд╛рдирдЧреА рджрд┐рд▓реА рдЧреЗрд▓реА рдЖрд╣реЗ, API рдордзреНрдпреЗ рдирд╡реАрди рдХрдорд╛рдВрдб рдЬреЛрдбрд▓реНрдпрд╛ рдЧреЗрд▓реНрдпрд╛ рдЖрд╣реЗрдд, рдкреНрд▓рдЧрдЗрди рдЖрдгрд┐ рдХреЙрдиреНрдлрд┐рдЧрд░реЗрд╢рди рд╡реНрдпрд╡рд╕реНрдерд╛рдкрди рд╡рд┐рдХрд╕рд┐рдд рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рд▓реБрдЖ рднрд╛рд╖рд╛ рд╡рд╛рдкрд░рдгреНрдпрд╛рдЪреА рдХреНрд╖рдорддрд╛ рд▓рдХреНрд╖рдгреАрдпрд░реАрддреНрдпрд╛ рд╡рд┐рд╕реНрддрд╛рд░рд┐рдд рдХреЗрд▓реА рдЧреЗрд▓реА рдЖрд╣реЗ, рдХреЛрдбрдордзреАрд▓ рд╕рдорд╕реНрдпрд╛рдВрдЪреЗ рдирд┐рджрд╛рди рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рд╕рд╛рдзрдиреЗ рд╕реБрдзрд╛рд░рд▓реА рдЧреЗрд▓реА рдЖрд╣реЗрдд, рдЧреНрд▓реЛрдмрд▓ рд╕реНрдЯреЗрдЯрд╕ рдмрд╛рд░рд╕рд╛рдареА рд╕рдорд░реНрдерди рдЬреЛрдбрд▓реЗ рдЧреЗрд▓реЗ рдЖрд╣реЗ, рдХрд╛рд░реНрдпрдкреНрд░рджрд░реНрд╢рди рдСрдкреНрдЯрд┐рдорд╛рдпрдЭреЗрд╢рди рдХреЗрд▓реЗ рдЧреЗрд▓реЗ рдЖрд╣реЗ. рдЕрдВрдЧрднреВрдд LSP рдХреНрд▓рд╛рдпрдВрдЯ (рднрд╛рд╖рд╛ рд╕рд░реНрд╡реНрд╣рд░ рдкреНрд░реЛрдЯреЛрдХреЙрд▓) рдЪреНрдпрд╛ рдХреНрд╖рдорддрд╛рдВрдЪрд╛ рд╡рд┐рд╕реНрддрд╛рд░ рдХреЗрд▓рд╛ рдЧреЗрд▓рд╛ рдЖрд╣реЗ, рдЬреНрдпрд╛рдЪрд╛ рд╡рд╛рдкрд░ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рддрд░реНрдХрд╢рд╛рд╕реНрддреНрд░ рдЖрдгрд┐ рдХреЛрдб рдкреВрд░реНрдгрддрд╛ рдмрд╛рд╣реНрдп рд╕рд░реНрд╡реНрд╣рд░рд╡рд░ рд╣рд╕реНрддрд╛рдВрддрд░рд┐рдд рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдХреЗрд▓рд╛ рдЬрд╛рдК рд╢рдХрддреЛ.

рд╕реНрддреНрд░реЛрдд: opennet.ru

рдПрдХ рдЯрд┐рдкреНрдкрдгреА рдЬреЛрдбрд╛