מעלדונג פון Neovim 0.6.0, אַ מאַדערנייזד ווערסיע פון ​​די Vim רעדאַקטאָר

Neovim 0.6.0 איז באפרייט, אַ גאָפּל פון די Vim רעדאַקטאָר פאָוקיסט אויף ינקריסינג עקסטענסיביליטי און בייגיקייַט. די פּרויעקט האט שוין ריווערקט די Vim קאָד באַזע פֿאַר מער ווי זיבן יאָר, ווי אַ רעזולטאַט פון וואָס ענדערונגען זענען געמאכט וואָס פאַרפּאָשעטערן קאָד וישאַלט, צושטעלן אַ מיטל פון דיוויידינג אַרבעט צווישן עטלעכע מאַינטערז, באַזונדער די צובינד פון די באַזע טייל (די צובינד קענען זיין טשיינדזשד אָן רירנדיק די ינטערנאַלס) און ינסטרומענט אַ נייַע עקסטענסיבלע אַרקאַטעקטשער באזירט אויף פּלוגינס. דער אָריגינעל דיוועלאַפּמאַנץ פון די פּרויעקט זענען פונאנדערגעטיילט אונטער די Apache 2.0 דערלויבעניש, און די יקערדיק טייל איז פונאנדערגעטיילט אונטער די Vim דערלויבעניש. פאַרטיק אַסעמבליז זענען צוגעגרייט פֿאַר לינוקס (אַפּפּימאַגע), ווינדאָוז און מאַקאָס.

איינער פון די פראבלעמען מיט Vim וואָס פּראַמפּטיד די שאַפונג פון נעאָווים איז זיין בלאָוטיד, מאַנאַליטיק קאָד באַזע, קאַנסיסטינג פון מער ווי 300 שורות פון C (C89) קאָד. בלויז אַ ביסל מענטשן פֿאַרשטיין אַלע די נואַנסיז פון די Vim קאָדעבאַסע, און אַלע ענדערונגען זענען קאַנטראָולד דורך איין מאַינטערער, ​​וואָס מאכט עס שווער צו טייַנען און פֿאַרבעסערן דעם רעדאַקטאָר. אַנשטאָט דעם קאָד געבויט אין די Vim האַרץ צו שטיצן די GUI, Neovim לייגט אַ וניווערסאַל שיכטע וואָס אַלאַוז איר צו שאַפֿן ינטערפייסיז מיט פאַרשידן טאָאָלקיץ.

פּלוגינס פֿאַר נעאָווים זענען לאָנטשט ווי באַזונדער פּראַסעסאַז, פֿאַר ינטעראַקשאַן מיט וואָס די MessagePack פֿאָרמאַט איז געניצט. ינטעראַקשאַן מיט פּלוגינס איז ייסינגקראַנאַסלי דורכגעקאָכט, אָן בלאַקינג די יקערדיק קאַמפּאָונאַנץ פון דער רעדאַקטאָר. צו אַקסעס די פּלוגין, אַ TCP כאָלעל קענען זיין געוויינט, ד.ה. די פּלוגין קענען זיין לויפן אויף אַ פונדרויסנדיק סיסטעם. אין דער זעלביקער צייט, Neovim בלייבט קאַפּויער קאַמפּאַטאַבאַל מיט Vim, האלט צו שטיצן Vimscript (Lua איז געפֿינט ווי אַן אָלטערנאַטיוו) און שטיצט קאַנעקשאַנז פֿאַר רובֿ נאָרמאַל Vim פּלוגינס. די אַוואַנסירטע פֿעיִקייטן פון Neovim קענען זיין געוויינט אין פּלוגינס געבויט מיט נעאָווים-ספּעציפיש אַפּיס.

דערווייַל, וועגן 130 ספּעציפיש פּלוגינס האָבן שוין צוגעגרייט, ביינדינגז זענען בארעכטיגט פֿאַר קריייטינג פּלוגינס און ימפּלאַמענינג ינטערפייסיז מיט פאַרשידן פּראָגראַממינג שפּראַכן (C ++, Clojure, Perl, Python, Go, Java, Lisp, Lua, Ruby) און פראַמעוואָרקס (Qt, ncurses, Node .js, עלעקטראָן, GTK). עטלעכע באַניצער צובינד אָפּציעס זענען דעוועלאָפּעד. GUI לייג-אָנס זענען פיל ווי פּלוגינס, אָבער ניט ענלעך פּלוגינס, זיי אָנהייבן קאַללס צו נעאָווים פאַנגקשאַנז, בשעת פּלוגינס זענען גערופן פֿון ין נעאָווים.

עטלעכע פון ​​די ענדערונגען אין די נייַע ווערסיע:

  • В vim-скрипты добавлена поддержка локальных переменных, область видимости для которых ограничена только текущим скриптом.
  • Значительно улучшена поддержка языка Lua для разработки плагинов и управления конфигурацией. В vim-скриптах добавлена возможность вызова Lua-функций как методов через указание префикса v:lua (например, «arg1->v:lua.somemod.func(arg2)»).
  • Расширены возможности встроенного LSP-клиента (Language Server Protocol), который можно использовать для выноса логики анализа и автодополнения кода на внешние серверы. Применение LSP позволяет использовать более 150 готовых обработчиков для различных языков программирования, подготовленных для редактора кода Visual Studio Code.
  • Улучшены средства диагностики проблем в коде. Добавлена возможность вывода текста диагностических сообщений и плавающих окон с кодом, связанным с подобными сообщениями. Обеспечена обработка диагностических сообщений, передаваемых LSP-сервером.
  • Добавлена поддержка виртуальных строк, которые могут использоваться, например, для вывода блоков со служебной информацией.
  • Внесены различные оптимизации производительности, например, задействована хэш таблица для подсвечиваемых имён групп.
  • Прекращена поддержка Windows 7 и 32-разрядных сборок для Windows.

מקור: opennet.ru

לייגן אַ באַמערקונג