انتشار ویرایشگر متن Vim 9.0

پس از دو سال و نیم توسعه، ویرایشگر متن Vim 9.0 منتشر شد. کد Vim تحت مجوز کپی‌لفت خودش توزیع می‌شود که با GPL سازگار است و امکان استفاده نامحدود، توزیع و کار مجدد کد را فراهم می‌کند. ویژگی اصلی مجوز Vim مربوط به بازگشت تغییرات است - در صورتی که نگهدارنده Vim این بهبودها را شایسته توجه بداند و درخواست مربوطه را ارسال کند، بهبودهای اعمال شده در محصولات شخص ثالث باید به پروژه اصلی منتقل شوند. بر اساس نوع توزیع، Vim به عنوان Charityware طبقه بندی می شود، یعنی. نویسندگان Vim به جای فروش برنامه یا جمع آوری کمک های مالی برای نیازهای پروژه، درخواست می کنند که اگر کاربر برنامه را دوست داشت، هر مبلغی را به امور خیریه اهدا کند.

Vim 9 یک زبان جدید برای توسعه اسکریپت ها و افزونه ها ارائه می دهد - Vim9 Script، که نحوی مشابه جاوا اسکریپت، تایپ اسکریپت و جاوا را ارائه می دهد. یادگیری نحو جدید برای مبتدیان آسان‌تر است، اما با زبان برنامه‌نویسی قدیمی‌تر سازگار نیست. در عین حال، پشتیبانی از زبان استفاده شده قبلی و سازگاری با پلاگین ها و اسکریپت های موجود به طور کامل حفظ می شود - زبان های قدیمی و جدید به صورت موازی پشتیبانی می شوند. هیچ برنامه ای برای قطع پشتیبانی از زبان قدیمی وجود ندارد.

اسکریپت Vim9 علاوه بر کار مجدد سینتکس، اکنون از توابع کامپایل شده نیز پشتیبانی می کند که می تواند بهره وری را به میزان قابل توجهی افزایش دهد. در تست های انجام شده، توابع کامپایل شده در کد بایت امکان افزایش سرعت اجرای اسکریپت را 10-100 برابر می کند. علاوه بر این، Vim9 Script دیگر آرگومان های تابع را به عنوان آرایه های مرتبط پردازش نمی کند، که منجر به سربار بزرگ می شود. اکنون توابع با استفاده از عبارت "def" تعریف می شوند و به لیستی صریح از آرگومان ها و انواع بازگشت نیاز دارند. متغیرها با استفاده از عبارت "var" با نشانه نوع صریح تعریف می شوند.

تقسیم عبارات در چندین خط دیگر نیازی به استفاده از بک اسلش ندارد. مکانیسم رسیدگی به خطا به طور کامل دوباره طراحی شده است. کلمه کلیدی "تماس" برای اجرای توابع مورد نیاز نیست، اما "let" برای تخصیص مقدار لازم است. ایجاد ماژول ها ساده شده است - امکان صادرات توابع و متغیرهای جداگانه برای استفاده در فایل های دیگر اضافه شده است. نظرات با یک کاراکتر "#" به جای نقل قول دوتایی از هم جدا می شوند. پشتیبانی کلاس برای نسخه های آینده برنامه ریزی شده است.

سایر تغییرات عبارتند از:

  • مجموعه ای از طرح های رنگی گنجانده شده است.
  • پشتیبانی بهبود یافته برای چک کردن املا و تکمیل ورودی.
  • تنظیمات جدید اضافه شد: 'autoshelldir'، 'cdhome'، 'cinscopedecls'، 'guiligatures'، 'mousemoveevent'، 'quickfixtextfunc'، 'spelloptions'، 'thesaurusfunc'، 'xtermcodes'.
  • دستورات جدید اضافه شد: argdedupe، balt، def، defcompile، disassemble، echoconsole، enddef، eval، export، final، import، var و vim9script.
  • امکان باز کردن ترمینال در یک پنجره پاپ آپ (popup-terminal) و انتخاب رنگ بندی ترمینال وجود دارد.
  • حالت کانال برای تعامل با سرور LSP (پروتکل سرور زبان) اضافه شده است.
  • پشتیبانی از سیستم عامل هایکو اضافه شد.

منبع: opennet.ru

اضافه کردن نظر