TOML ফরম্যাটার

TOML পেস্ট করুন, ফাঁকা জায়গা ঠিক হয়ে যায় — কী, স্ট্রিং ও মান অক্ষত থাকে।

কীভাবে ব্যবহার করবেন

  1. আপনার TOML বাক্সে পেস্ট করুন — টাইপ করার সঙ্গে সঙ্গে ফরম্যাট হয়, কোনো বোতাম চাপতে হয় না।
  2. মাল্টি-লাইন অ্যারের জন্য 2 বা 4 স্পেস বেছে নিন, সমান চিহ্ন একসারিতে রাখতে চাইলে Align = চালু করুন; ফলাফল সঙ্গে সঙ্গেই হালনাগাদ হয়।
  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"] }

শুধু ডিফল্ট নিয়ম: দুটি স্পেস, কোনো সারিবদ্ধতা নেই। কীর ক্রম, স্ট্রিংয়ের ভেতরের লেখা ও অ্যারের ক্রম অক্ষত থাকে; ইনলাইন টেবিলের শুধু ফাঁকা জায়গাই ঠিক হয়, শেষে কমা বসে না।

নিয়ম, সীমাবদ্ধতা ও পরিচিত সমস্যা

  • শুধু সিনট্যাক্স ও কী/টেবিল দ্বন্দ্ব: পুনরাবৃত্ত কী, দুবার সংজ্ঞায়িত টেবিল, কী/টেবিল সংঘাত, স্ট্রিং ও এস্কেপ, সংখ্যা, তারিখ, অ্যারে ও ইনলাইন টেবিল। স্কিমা নেই, ব্যবসায়িক অর্থ বোঝা নেই, স্বয়ংক্রিয় সংশোধন নেই।
  • স্ট্রিং ও কমেন্টের বাইরের ফাঁকা জায়গাই শুধু নতুন করে লেখা হয়। কীর ক্রম, টেবিলের ক্রম, bare বনাম quoted কী, স্ট্রিং ডিলিমিটার ও এস্কেপ, সংখ্যা/তারিখ/বুলিয়ানের বানান ও কমেন্টের লেখা অক্ষরে অক্ষরে নকল থাকে।
  • এক-লাইনের অ্যারে এক লাইনেই থাকে; মাল্টি-লাইন অ্যারেতে প্রতি লাইনে একটি আইটেম, তাদের কমেন্ট ও ট্রেইলিং কমা সহ। ইনলাইন টেবিল এক লাইনে ছাপা হয়, তাই তার ভেতরের অ্যারেও এক লাইনে ভাঁজ হয়; মাল্টিলাইন স্ট্রিংয়ের ভেতরের লাইনভেক কনটেন্ট, যেমন তেমন থাকে — ফলে ইনলাইন টেবিল লাইন জুড়ে ছড়িয়ে যেতে পারে।
  • ইনলাইন টেবিলের ভেতর লাইনভেক বা কমেন্ট থাকা সিনট্যাক্স ভুল (TOML নিজেই দুটিই নিষেধ করে)। লাইনের শেষের কমেন্ট কোডের পরে একটি স্পেস ছেড়ে থাকে, আর কমেন্টের শেষের স্পেস মুছে যায়।
  • পরপর ফাঁকা লাইন মিলে একটি হয়, শুরু ও শেষের ফাঁকা লাইন বাদ যায়, এবং টেবিলের মাঝে কখনো নতুন ফাঁকা লাইন যোগ হয় না।
  • একেবারে শেষে খোলা অ্যারে, ইনলাইন টেবিল বা মাল্টিলাইন স্ট্রিং, অর্ধেক-লেখা টেবিল হেডার, খালি `key =`, বা ডটের ঠিক পরেই কেটে যাওয়া কী-পথ — এগুলো সতর্কতা, ভুল নয়: ফলাফল তবুও পাবেন। প্রকৃত ভুল (কমা নেই, কোটবিহীন মান, ভুল তারিখ) লাইন ও কলামসহ ভুল হিসেবে ধরা পড়ে। শুধু প্রথম ভুলটাই জানানো হয়।
  • লাইন ও কলাম নম্বরে Unicode code point গনা হয়, তাই একটি ইমোজি এক কলাম; CRLF একটি লাইনভেক হিসেবেই গণ্য। স্পেস ও ট্যাবই একমাত্র TOML ফাঁকা জায়গা: স্ট্রিংয়ের বাইরে U+3000 ও U+00A0 ভুল, আর স্ট্রিংয়ের ভেতর সেগুলো কনটেন্ট।
  • bare কী শুধু ASCII — চীনা বা আরবি কীতে কোট লাগবে, এটি TOML-এর নিজের নিয়ম, এই টুলের পছন্দ নয়। সংখ্যা ও তারিখ কখনো নতুন করে লেখা হয় না বা অন্য সংখ্যা-পদ্ধতিতে রূপান্তরিত হয় না।
  • মিনিফাই নেই, কী সাজানো নেই, মান স্বাভাবিকীকরণ নেই, ফাইল আপলোড নেই, URL প্যারামিটার নেই, হিস্টরি নেই। সবকিছু আপনার ব্রাউজারে চলে: কিছুই আপলোড বা সংরক্ষণ হয় না।
  • 200,000-এর বেশি অক্ষর হলে টাইপ করা থামার প্রায় 0.6 সেকেন্ড পর ফলাফল হালনাগাদ হয়; টেক্সট কখনো ছেঁটে ফেলা হয় না। আউটপুট LF, শেষে নতুন লাইন নেই, আর একই align ও indent সেটিংসে ফরম্যাটিং আইডেমপোটেন্ট।

কনফিগ পড়া সহজ হওয়ার পর মানুষ সাধারণত যা চায়।