TOML फ़ॉर्मेटर

TOML पेस्ट करें और स्पेसिंग सामान्य हो जाती है — कुंजियाँ, स्ट्रिंग और मान अछूते रहते हैं।

इसका उपयोग कैसे करें

  1. अपना TOML बॉक्स में पेस्ट करें — यह टाइप करते ही फ़ॉर्मेट होता है, कोई बटन नहीं दबाना है।
  2. बहु-पंक्ति ऐरे के लिए 2 या 4 स्पेस चुनें, और बराबर के चिह्न सीध में चाहिए तो «= संरेखित करें» चालू करें; परिणाम तुरंत अपडेट होता है।
  3. कुछ ग़लत हो तो संदेश पंक्ति, कॉलम और कारण बताता है। परिणाम कॉपी करें या .toml फ़ाइल के रूप में डाउनलोड करें।

उदाहरण

इनपुट

[package]
name="ykit"
version = "0.1.0"
edition="2021"
authors = ["Ada Lovelace <ada@example.com>",  "Grace Hopper <grace@example.com>"]
keywords=["tools",   "toml"]

[dependencies]
serde={version="1.0",features=["derive"]}

फ़ॉर्मेट किया गया

[package]
name = "ykit"
version = "0.1.0"
edition = "2021"
authors = ["Ada Lovelace <ada@example.com>", "Grace Hopper <grace@example.com>"]
keywords = ["tools", "toml"]

[dependencies]
serde = { version = "1.0", features = ["derive"] }

केवल डिफ़ॉल्ट नियम: दो स्पेस और कोई संरेखण नहीं। कुंजी क्रम, स्ट्रिंग की सामग्री और ऐरे क्रम अछूते हैं; इनलाइन टेबल का सिर्फ़ स्पेसिंग सामान्य होता है और कभी अंतिम कॉमा नहीं जुड़ता।

नियम, सीमाएँ और ज्ञात समस्याएँ

  • सिर्फ़ सिंटैक्स और कुंजी/तालिका टकराव: दोहराई कुंजियाँ, दो बार परिभाषित तालिकाएँ, कुंजी/तालिका टकराव, स्ट्रिंग और एस्केप, संख्याएँ, तारीख़ें, ऐरे और इनलाइन टेबल। कोई स्कीमा नहीं, कोई बिज़नेस अर्थ नहीं, कोई अपने आप सुधार नहीं।
  • सिर्फ़ स्ट्रिंग और कमेंट के बाहर का व्हाइटस्पेस दोबारा लिखा जाता है। कुंजी क्रम, तालिका क्रम, बेयर बनाम कोट वाली कुंजियाँ, स्ट्रिंग डिलिमिटर और एस्केप, संख्या/तारीख़/बूलियन की वर्तनी और कमेंट टेक्स्ट अक्षर-दर-अक्षर कॉपी होते हैं।
  • एकल-पंक्ति ऐरे एक पंक्ति में रहते हैं; बहु-पंक्ति ऐरे अपने कमेंट और अंतिम कॉमा के साथ हर पंक्ति में एक आइटम रखते हैं। इनलाइन टेबल एक पंक्ति में छपती हैं, इसलिए उनके अंदर के ऐरे भी एक पंक्ति में सिमट जाते हैं; बहु-पंक्ति स्ट्रिंग के अंदर की नई पंक्तियाँ सामग्री हैं और जैसी टाइप की गईं वैसी रहती हैं, जिससे इनलाइन टेबल कई पंक्तियों में फैल सकती है।
  • इनलाइन टेबल के अंदर नई पंक्ति या कमेंट सिंटैक्स त्रुटि है (TOML खुद दोनों मना करता है)। अंतिम कमेंट कोड के एक स्पेस बाद रहता है, और कमेंट के अंत के स्पेस हट जाते हैं।
  • लगातार खाली पंक्तियाँ एक में सिमट जाती हैं, शुरू और अंत की खाली पंक्तियाँ हटती हैं, और तालिकाओं के बीच कभी खाली पंक्ति नहीं जोड़ी जाती।
  • बिल्कुल अंत में अनबंद ऐरे, इनलाइन टेबल या बहु-पंक्ति स्ट्रिंग, कटा हुआ तालिका हेडर, सिर्फ़ `key =`, या डॉट के ठीक बाद कटा कुंजी पाथ चेतावनी है, त्रुटि नहीं: परिणाम फिर भी मिलता है। असली ग़लतियाँ (गायब कॉमा, बिना कोट का मान, खराब तारीख़) पंक्ति और कॉलम के साथ त्रुटियाँ हैं। सिर्फ़ पहली त्रुटि बताई जाती है।
  • पंक्ति और कॉलम संख्याएँ Unicode कोड पॉइंट गिनती हैं, इसलिए एक इमोजी एक कॉलम है; CRLF एक नई पंक्ति गिना जाता है। सिर्फ़ स्पेस और टैब TOML व्हाइटस्पेस हैं: स्ट्रिंग के बाहर U+3000 और U+00A0 त्रुटियाँ हैं, जबकि स्ट्रिंग के अंदर वे सामग्री हैं।
  • बेयर कुंजियाँ सिर्फ़ ASCII हैं — चीनी या अरबी कुंजियाँ कोट में होनी चाहिए, जो TOML का नियम है, इस टूल की पसंद नहीं। संख्याएँ और तारीख़ें कभी दोबारा नहीं लिखी जातीं या किसी दूसरे अंक प्रणाली में नहीं बदलतीं।
  • कोई मिनिफ़ाई नहीं, कोई कुंजी सॉर्टिंग नहीं, कोई मान नॉर्मलाइज़ेशन नहीं, कोई फ़ाइल अपलोड नहीं, कोई URL पैरामीटर नहीं, कोई इतिहास नहीं। सब कुछ आपके ब्राउज़र में चलता है: कुछ अपलोड या संग्रहीत नहीं होता।
  • 2,00,000 कैरेक्टर से ऊपर परिणाम टाइप करना रोकने के लगभग 0.6 s बाद अपडेट होता है; टेक्स्ट कभी काटा नहीं जाता। आउटपुट LF का उपयोग करता है बिना अंतिम नए लाइन के, और फ़ॉर्मेटिंग उन्हीं संरेखण और इंडेंट सेटिंग्स के साथ इडेम्पोटेंट है।

कॉन्फ़िग पढ़ने योग्य हो जाने के बाद लोग आमतौर पर यह चाहते हैं।