- ไลบรารีที่ถูกเสนอขึ้นเพื่อ รวม special comment (action comment) ที่เครื่องมือ lint, formatter, type checker และ coverage ใน ecosystem ของ Python ใช้งาน ให้เป็นมาตรฐานเดียวกัน
- มีเป้าหมายเพื่อแก้ปัญหา ความสับสนของไวยากรณ์คอมเมนต์ที่เป็นธรรมเนียมปฏิบัติโดยพฤตินัย แต่ไม่มีมาตรฐาน อย่าง
# noqa, # fmt: off, # type: ignore
- กำหนด ภาษาคอมเมนต์ขนาดเบา (metacode) ที่ใช้ส่วนย่อยของไวยากรณ์ Python
- แยกเครื่องมือ การทำงาน และอาร์กิวเมนต์อย่างชัดเจนในรูปแบบ
key: action[arguments]
- รองรับโครงสร้างที่ทำให้ คอมเมนต์สำหรับหลายเครื่องมืออยู่ร่วมกันได้อย่างปลอดภัย บนโค้ดบรรทัดเดียว
- สามารถจัดการชุดผสมอย่าง
# type: ignore # fmt: off ได้
- มี parser อย่างเป็นทางการ (parse) สำหรับแยกวิเคราะห์คอมเมนต์ ช่วยลบตรรกะการพาร์สด้วยสตริงและ regex ที่แต่ละเครื่องมือเคยต้องทำกันเอง
- รองรับชนิดอาร์กิวเมนต์เป็นสตริง ตัวเลข bool, None, ellipsis เป็นต้น และหากจำเป็นก็สามารถ ขยายการพาร์สแบบอิง AST ได้
- สามารถเลือกพาร์สเฉพาะ key ที่ต้องการได้ จึงเหมาะกับ การแยกจัดการคอมเมนต์ตามเครื่องมือ
- มี insert API สำหรับสร้างและแทรกคอมเมนต์โดยอัตโนมัติ
- ตัวไวยากรณ์เองถูก ระบุสเปกในรูปแบบ EBNF เพื่อไม่ให้ผูกกับ Python โดยเฉพาะ และสามารถนำไปทำ implementation ในภาษาอื่นได้
ยังไม่มีความคิดเห็น