10 unstable releases (3 breaking)

new 0.4.0 May 20, 2024
0.3.5 Apr 18, 2024
0.3.0 Oct 14, 2023
0.2.1 Sep 29, 2023
0.1.1 Mar 17, 2023

#283 in Programming languages

Download history 4/week @ 2024-02-27 1/week @ 2024-03-26 16/week @ 2024-04-02 499/week @ 2024-04-16 3/week @ 2024-04-23

502 downloads per month

Custom license

922 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

Supported languages

  • Haskell
  • JavaScript
  • Nix
  • Ruby
  • Rust
  • Swift


~3M SLoC