1 unstable release

0.1.1 Mar 17, 2023

#1612 in Development tools

Custom license

664 lines


ttags generates ctags using Tree-sitter.


macOS and Linux
cargo install ttags

Binaries are also available on the releases page of the repo. Download the tar file, and place the executable in your path.

From source
git clone https://github.com/npezza93/ttags
cd ttags
cargo build --release
./target/release/ttags $(git ls-files)


Give a list of file paths and/or directories to ttags to parse and generate.

ttags $(git ls-files)


  • -a or --apend - Will keep your tag file in tact and only update the tags for the files passed.

  • -r or --tag-relative - Make paths outputed in the tags file be relative to the current working directory (i.e. where you called ttags)? By default, the tag path is relative to the tag-file location.

  • -f or --tag-file=file - Path to the file where tags should be written. If - is passed, tags are outputted to stdout.

  • lsp - Starts an LSP server that updates the tags for a file when the file is saved


~869K SLoC