tree-sitter-manager
tree-sitter-manager
CLI + TUI tool for managing tree-sitter grammars, queries, and syntax highlighting.
Installation
Add the dependency to your shard.yml:
dependencies:
tree-sitter-manager:
github: dsisnero/tree-sitter-manager
Run shards install.
Usage
CLI
# Highlight a file
tree-sitter-manager highlight file.cr
# With a specific theme and format
tree-sitter-manager highlight file.cr --theme nord::nord --format html
# List themes, languages, queries
tree-sitter-manager themes
tree-sitter-manager languages
tree-sitter-manager queries crystal
# Stats and diagnostics
tree-sitter-manager stats
tree-sitter-manager doctor
# Generate shell completions
tree-sitter-manager completions bash > /etc/bash_completion.d/tree-sitter-manager
TUI
tsm-tui # Opens file picker
tsm-tui file.cr # Opens file directly
Key bindings: q quit, t/T cycle theme, / search theme, ↑/↓ scroll, Ctrl+o open file, ? toggle help.
Configuration
~/.config/chiasmus/config.toml:
theme = "nord::nord"
format = "terminal"
auto_install = true
Documentation
| Document | Purpose |
|---|---|
| Architecture | System design, data flow, package responsibilities |
| Development | Prerequisites, setup, daily workflow |
| Coding Guidelines | Code style, error handling, naming conventions |
| Testing | Test commands, conventions, patterns |
| PR Workflow | Commits, PRs, branch naming, review process |
Development
shards install
shards build # Build both binaries
crystal spec # Run tests
crystal tool format # Format code
ameba src spec bin # Lint
Contributing
- Fork it (https://github.com/dsisnero/tree-sitter-manager/fork)
- Create your feature branch (
git checkout -b my-new-feature) - Commit your changes (
git commit -am 'Add some feature') - Push to the branch (
git push origin my-new-feature) - Create a new Pull Request
License
MIT
Contributors
- Dominic Sisneros — creator and maintainer
Repository
tree-sitter-manager
Owner
Statistic
- 0
- 0
- 0
- 0
- 5
- about 2 hours ago
- July 11, 2026
License
MIT License
Links
Synced at
Sat, 11 Jul 2026 07:49:36 GMT
Languages