본문 바로가기
토

토피어리

Tweag.Topiary

Tree-sitter 기반 코드 포매터

한줄평

“자체 언어나 소규모 언어에 전용 포매터가 없을 때 규칙만으로 정렬을 붙일 수 있어 유용합니다. 지원 언어가 성숙한 전용 포매터만큼 많거나 정교하지는 않다는 한계가 있습니다.”

이런 분께 소규모·자체 언어에 포매터를 붙이려는 개발자께

좋은 점

  • Tree-sitter 질의만으로 새 언어 지원 추가 가능
  • 여러 언어를 하나의 도구로 일관되게 포매팅

아쉬운 점

  • 주류 언어 전용 포매터에 비해 성숙도·지원 폭이 낮음

토피어리 소개

Topiary 는 Tree-sitter 생태계 위에서 동작하는 범용 코드 포매터입니다. 언어별로 포매터를 따로 만들지 않고, Tree-sitter 문법과 질의(query) 규칙만 주면 여러 언어를 일관된 방식으로 정렬해 줍니다. 나무를 다듬어 모양을 내는 원예술(topiary)에서 이름을 따왔습니다. 명령줄에서 파일을 포매팅하거나 편집기와 연동해 씁니다. GUI 없는 CLI 도구입니다.

제작사

tweag · 공식 홈페이지