منصوبے کے بارے میں

Pkl ایپل کی تخلیق کردہ ایک کنفیگریشن-بطور-کوڈ زبان ہے، جو کنفیگریشن فائلوں میں پروگرامنگ زبان کی اظہاریت اور توثیق لانے کے لیے ڈیزائن کی گئی ہے۔ جامد YAML، JSON، یا پراپرٹی فائلیں لکھنے کے بجائے، صارفین Pkl پروگرام لکھتے ہیں جو کنفیگریشن آؤٹ پٹ تیار کرتے ہیں، جس میں ٹائپ چیکنگ، رکاوٹیں، اور دوبارہ استعمال کے قابل ٹیمپلیٹس شامل ہیں۔ یہ ریپوزٹری زبان کا بنیادی نفاذ ہے۔ اس میں Pkl فائلوں کا جائزہ لینے اور انہیں JSON، YAML، اور دیگر فارمیٹس میں پیش کرنے کے لیے ایک CLI شامل ہے۔ زبان بھرپور توثیق کی حمایت کرتی ہے، لہذا کنفیگریشن لاگو ہونے سے پہلے غلط یا حد سے باہر کی اقدار کو پکڑا جا سکتا ہے۔ دستاویزات میں تعارف، زبان کا حوالہ، ٹولنگ، مثالیں، اور ریلیز نوٹ شامل ہیں۔ ساتھی ریپوزٹریوں کا ایک ماحولیاتی نظام Pkl کو کئی ماحول تک پھیلاتا ہے۔ Go اور Swift کے لیے زبان بائنڈنگز موجود ہیں، اور Go، JVM، اور Swift ایپلیکیشنز میں Pkl استعمال کرنے کی مثالیں ہیں۔ ایک Spring Boot ایکسٹینشن Boot ایپس کو Pkl کے ساتھ کنفیگر کرنے کی اجازت دیتا ہے۔ Kubernetes صارفین کو ٹیمپلیٹس اور مثالیں ملتی ہیں، اور Bazel بلڈ رولز دستیاب ہیں۔ ایڈیٹر اور ٹولنگ سپورٹ میں Language Server Protocol کو نافذ کرنے والا ایک لینگویج سرور، JetBrains IDEs اور VS Code کے لیے پلگ ان، Neovim سپورٹ، ایک TextMate بنڈل، ایک Tree-sitter پارسر، اور Highlight.js نحو کی ہائی لائٹنگ شامل ہے۔ مشترکہ پیکجز اور یوٹیلیٹی لائبریریاں pkl-pantry اور pkl-project-commons ریپوزٹریوں کے ذریعے شائع کی جاتی ہیں، اور بیرونی ریڈر ٹولز pkl-readers میں رہتے ہیں۔ یہ پروجیکٹ GitHub پر کھلے عام تیار کیا جاتا ہے، جس میں کمیونٹی سوالات کے لیے مسائل اور GitHub Discussions موجود ہیں۔ شراکت کے رہنما خطوط اور بلڈ ہدایات ریپوزٹری میں فراہم کی گئی ہیں، اور CI پائپ لائنز Sonatype ریپوزٹری میں آرٹیفیکٹس شائع کرتی ہیں۔ تجویز کردہ زبان کی تبدیلیوں کو pkl-evolution ریپوزٹری میں SPICEs کے طور پر ٹریک کیا جاتا ہے۔