TOMLは設定ファイルのフォーマットとしてますます一般的になっています——pyproject.toml、Cargo.toml、config.tomlなど、ほぼすべてのプロジェクトに存在します。しかし正直なところ、TOMLを書く体験はJSONやYAMLほどスムーズではありません:インデントが揃わない、配列の改行が混乱している、キーと値が揃っていない……tombiはこの問題を解決するために作られました。

これは 876 stars のRustプロジェクトで、完全なTOMLツールチェーンを提供します:フォーマッタ、Linter、言語サーバー。名前”Tombi”(鳶)は日本語の”トビ”(黒鸢)に由来し、発音は /toɴbi/ です。

核心機能

機能説明
FormatterTOMLの自動フォーマット、整列、改行、コメント保持に対応
LinterTOMLの構文と潜在的な問題をチェック
Language ServerLSPサポートを提供、補完、定義ジャンプ、ホバーヒント

エディタ対応

tombiは主要なエディタエコシステムをほぼカバーしています:

エディタインストール方法
VS CodeMarketplace
JetBrainsPlugin Marketplace
Zed組み込み拡張
Vim/NeovimLSP設定

クイックスタート

インストール不要でuvxから直接実行できます:

uvx tombi format pyproject.toml

またはシステムにインストール:

# Homebrew
brew install tombi

# PyPI
pip install tombi

# npm
npm install -g tombi

フォーマット効果の例

フォーマット前

[package]
name="my-app"
version="1.0.0"
dependencies={
serde="1.0",
   tokio={version="1.0",features=["full"]}
}

フォーマット後

[package]
name = "my-app"
version = "1.0.0"

[package.dependencies]
serde = "1.0"

[package.dependencies.tokio]
version = "1.0"
features = ["full"]

プロジェクト情報

属性詳細
GitHubtombi-toml/tombi
Stars876
言語Rust
LicenseMIT
ドキュメントtombi-toml.github.io/tombi

なぜtombiを使うのか?

  1. 純Rust実装 - 優れたパフォーマンス、高速起動
  2. 完全なLSPサポート - フォーマットだけでなく、インテリジェントなヒントも
  3. エディタエコシステムが充実 - 異なるエディタごとに異なるプラグインを探す必要がない
  4. アクティブなメンテナンス - 2024年10月に作成され、継続的に更新

プロジェクトに多数のTOMLファイルが存在する場合、tombiはその管理を楽にしてくれます。