İçeriğe geç

CLI Referansı

tulpar ikilisi derleyiciyi, çalışma zamanını, paket yöneticisini, formatlayıcıyı ve dil sunucusunu tek bir çalıştırılabilir dosyada toplar. Bu sayfa kapsamlı referanstır; daha samimi bir giriş için Başlarken sayfasına bakın.

Terminal window
tulpar <kaynak.tpr> # AOT derle + çalıştır (native hız)

tulpar artık yalnızca AOT çalışır (v3.0.0’dan beri): LLVM pipeline’ını çalıştırır (LLVM → native ikili → exec) ve başka bir yürütme yolu yoktur. AOT hatası (parse, codegen veya eksik clang / runtime arşivi) sert hatadır — yani “çalıştı” her zaman native ikilinin çalıştığı anlamına gelir.

Terminal window
tulpar build <kaynak.tpr> [çıktı_adı]

Varsayılan run yoluyla aynı, ama üretilen ikiliyi çıktı_adı konumunda saklar (verilmezse <kaynak>’in .tpr’siz hâli). Sonraki tulpar build çağrıları çıktı kaynaktan ve sürücüden yeniyse derlemeyi atlar. Yeniden derlemeye zorlamak için TULPAR_AOT_NOCACHE=1 ayarlayın.

Terminal window
tulpar build merhaba.tpr # ./merhaba üretir (Windows'ta ./merhaba.exe)
tulpar build merhaba.tpr uygulamam # ./uygulamam üretir
TULPAR_AOT_NOCACHE=1 tulpar build merhaba.tpr # her zaman derle
Terminal window
tulpar fmt <kaynak.tpr>

Kaynağı normalleştirilmiş girinti ve operatör boşluklarıyla yeniden yazar. Idempotent (iki kez çalıştırmak bir kezle aynı çıktıyı verir). Yapılandırma dosyası yok — kurallar gömülü.

Terminal window
tulpar pkg init # cwd'de yeni bir tulpar.toml oluştur
tulpar pkg add <isim> # bağımlılık ekle
tulpar pkg install # tulpar.toml'daki her şeyi yükle

Manifest formatı ve bağımlılık belirtimleri için Paket Yöneticisi sayfasına bakın.

Terminal window
tulpar --lsp

stdio üzerinden LSP konuşur — editörünüze (VS Code uzantısı, Vim/Neovim LSP istemcisi, vb.) bağlayın; JSON-RPC iletimi için stdin/stdout’a sahip olur. Test dışında elle çalıştırmayın.

Yetenekler: tamamlama, hover, tanılama, tanıma git, yazım yanlışları için “şunu mu demek istediniz” önerileri. Ayrıntı için Araçlar — LSP / Formatlayıcı / VS Code.

Terminal window
tulpar version # veya: tulpar --version, tulpar -v
tulpar update # son sürümü indir & yükle
tulpar update --check # sadece güncelleme var mı diye bildir

tulpar update platformun kurulum scriptine (https://tulparlang.dev/install.{ps1,sh}) çağrı yapar ve çalışan ikiliyi yayınlanan en son sürümle değiştirir. Windows’ta yeniden adlandır-ardından-değiştir dansını kullanır çünkü Windows çalışan bir .exe’yi doğrudan üzerine yazamaz.

--check zarar vermez — GitHub’dan en son tag’ı sorar, karşılaştırmayı yazdırır ve çıkar.

Terminal window
tulpar --help # veya: tulpar -h, tulpar help, tulpar ?

tulpar’ı hiç argümansız çalıştırdığınızda gördüğünüz aynı komut referansını yazdırır. Çıktı dili sistem locale’ini takip eder (TR locale’inde Türkçe, başka yerde İngilizce).

Bunlar tek bir tulpar / tulpar build çağrısını değiştirir. Komut satırındaki diğer her şey program ve argümanlarıdır.

BayrakEtkisi
--aotAçık AOT derleme (zaten varsayılan — başka backend yok)
--buildDerle-ve-çalıştır yerine bağımsız ikili üret (build alt komutuyla aynı)
--debug / -gclang++ link’ine -g ilet, debug bölümleri ikiliye taşınsın
--no-typecheckBu çalıştırma için [typecheck] ön-geçişini atla
--strictTip denetçisi uyarılarını sert hatalara yükselt
--vm / --runUyarıyla yok sayılır — Tulpar AOT-only, VM yok
--repl / -iKaldırıldı — bir not yazıp çıkar (yorumlayıcı yok)

Alt sisteme göre gruplanmıştır. Boolean’lar, aksi belirtilmedikçe boş olmayan her değeri “açık” sayar.

DeğişkenEtkisi
LANG / LC_ALL / LC_MESSAGESCLI + tanılama dili: tr içeren bir değer Türkçe, diğerleri İngilizce seçer (Windows OS UI locale’ine düşer)
DeğişkenEtkisi
TULPAR_NO_TYPECHECK=1Her run / build’de [typecheck] ön-geçişini kapat
TULPAR_STRICT=1Tip denetçisi uyarılarını hata say (=0 kapatır)
DeğişkenEtkisi
TULPAR_AOT_NOCACHE=1Çıktı güncel olsa bile tulpar build’i yeniden derlemeye zorla
TULPAR_AOT_TIME=1AOT zincirinin faz-bazlı süre dökümünü yazdır
TULPAR_AOT_EMIT_LL=1Nesne dosyasının yanına LLVM .ll IR’ı da çıkar
TULPAR_AOT_LINK_FLAGS=…Final clang++ link’ine ek bayraklar ilet (ör. ASan’lı runtime’a karşı leak-check için -fsanitize=address)
TULPAR_RUNTIME_DIR=pathlibtulpar_runtime.a için ek arama dizini
DeğişkenEtkisi
TULPAR_HTTP_POOL=NAsync HTTP istemcisi worker-pool boyutu (varsayılan 4)
TULPAR_HTTP_MAX_BODY=bytesWings sunucuları için gelen HTTP istek gövdesi üst sınırı (varsayılan 16 MiB)
TULPAR_HTTP_QUIET=1HTTP istemci istek loglamasını sustur
TULPAR_WINGS_HOST=127.0.0.1Wings listener’ları için bind host — loopback LAN firewall sorularını önler
DeğişkenEtkisi
TULPAR_CA_BUNDLE=pathHTTPS sertifika doğrulaması için özel CA bundle (PEM)
TULPAR_TLS_INSECURE=1Sertifika doğrulamasını atla — yalnız dev / self-signed
DeğişkenEtkisi
TULPAR_REGISTRY=urlPaket registry temel URL’ini geçersiz kıl
TULPAR_PUBLISH_TOKEN=tokentulpar pkg publish için yetki token’ı
TULPAR_LSP_DEBUG=1--lsp dil sunucusundan ayrıntılı log
TULPAR_INSTALL_DIR=pathinstall.sh’nin ikiliyi koyduğu yer (varsayılan ~/.local/bin)
KodAnlamı
0Başarılı
1Kaynak seviyesi hata (parse / codegen / runtime hatası)
2CLI kullanım hatası (bilinmeyen bayrak, kötü kombinasyon)