deniz.in

Piyasalar

Hava durumu

Hava durumu yükleniyor

· kaynak dev.to (home feed)

Hexal, Lua eklentilerini tam Helix özellik eşliği sunan bir modal editöre getiriyor

Bir geliştirici, Helix ile 1:1 özellik eşliği iddiasındaki ve Lua tabanlı eklenti desteği sunan Hexal adlı C# modal metin editörünü duyurdu; hedef doğrudan Helix'in genişletilebilirlik eksikliği.

Hexal, Lua eklentilerini tam Helix özellik eşliği sunan bir modal editöre getiriyor

Yeni bir modal editör, Helix'in eksik eklenti hikâyesini hedefliyor

Bir geliştirici, Helix ile tam özellik eşliği iddia eden ve Helix'in hiç sunmadığı bir şeyi — Lua tabanlı bir eklenti sistemi — ekleyen Hexal adında bir modal metin editörü duyurdu. dev.to'daki bir yazıda yazar, projeyi birçok kullanıcının Helix'in ana sınırlaması olarak gördüğü duruma doğrudan bir cevap olarak konumlandırıyor.

Hexal ne vaat ediyor

dev.to duyurusuna göre Hexal, Helix'in özellik setini birebir karşılıyor ve Lua betik desteğiyle genişletiyor; böylece kullanıcılar, upstream değişikliklerini beklemek yerine kendi eklentilerini yazabiliyor. Betik katmanı, Lua'yı .NET dünyasına taşıyan bir binding olan NLua üzerinde çalışıyor ve kasıtlı olarak sade tutulmuş mimaride tek anlamlı bağımlılık bu.

Neden ortaya çıktı

Geliştiricinin açıkladığı motivasyon, Helix'in genişletilebilirlik konusundaki yönüne duyulan hayal kırıklığı. Yazarın görüşüne göre Helix projesi bir eklenti sistemi geliştirmekle ilgilenmiyor gibi görünüyor; bu da editörün yapabileceklerini sınırlıyor ve birçok faydalı özelliğin uygulanmamış kalmasına yol açıyor. Yazar, değişim için lobi yapmak yerine, baştan itibaren betik desteğini merkezine koyan uyumlu bir alternatif inşa etmeyi tercih etti.

C++ prototiplerden bağımsız C# build'lere

Mevcut tasarım ilk deneme değildi. Yazıda, yazar mevcut yaklaşıma karar vermeden önce C++ ile ve Terminal.Gui araç setini kullanan C# ile yazılmış erken prototipler anlatılıyor: NLua dışında hiçbir bağımlılığı olmayan, ahead-of-time derlenecek şekilde tasarlanmış C#.

Pratik bir uyarı var. Bugün dağıtılan build'ler aslında AOT ile derlenmiş değil. .NET 9.0 runtime'ını paketleyen self-contained paketler olarak sunuluyorlar ve yazar, tam ahead-of-time derleme altında her şeyi çalışır hale getirmenin hâlâ tamamlanmamış bir iş olduğunu belirtiyor.

Neden önemli

Modal düzenleme yıllardır iki kutup etrafında yoğunlaştı. Vim ve onun türevi Neovim eşsiz genişletilebilirlik sunuyor — özellikle Neovim'in Lua runtime'ı editörü devasa bir eklenti ekosistemine sahip bir platforma dönüştürdü — buna karşılık Helix kullanıcılarını hazır gelen kusursuz bir deneyimle kazandı: tree-sitter tabanlı sözdizimi farkındalığı, yerleşik language server desteği ve几乎没有 yapılandırma gerektirmeyen seçim odaklı düzenleme modeli. Helix'in hiç sunmadığı şey, teslim etmediği özellikler için bir çıkış kapısıydı ve bu ödünleşim büyük ölçüde iki kamp arasındaki seçimi tanımladı.

Hexal bu ödünleşimi ortadan kaldırma girişimi: kullanıcıların zaten sevdiği Helix deneyimini koru, sonra boşlukları kendilerinin doldurması için onlara bir betik runtime'ı ver. Eşlik iddiası günlük kullanımda doğrulanırsa, proje, tam da genişletilebilirlik tavanına çarptığı için Helix'i bırakanlar için ciddi bir seçenek haline geliyor.

Açıkça belirtilmesi gereken uyarılar var. Eşlik ve genişletilebilirlik iddiaları, bağımsız testlerden değil, projenin yazarının tek bir duyuru yazısından geliyor ve projenin kendi tanımı onun hâlâ genç olduğunu gösteriyor — AOT derleme başlığındaki teknik hedef bile tamamlanmış değil. Şimdi değerlendiren herkes Hexal'ı sınanmış bir araç değil, umut verici bir başlangıç olarak görmeli. Yine de temeldeki bahis sağlam: Neovim ekosistemi bir Lua runtime'ının ne kadar değer açabileceğini gösteriyor ve Helix kullanıcıları tam olarak bu yeteneği uzun zamandır istiyordu.

  • #text-editors
  • #lua
  • #open-source
  • #dotnet
  • #developer-tools

İlgili yazılar