Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/npezza93/ttags

Generate ctags using Tree Sitter
https://github.com/npezza93/ttags

ctags javascript ruby rust tree-sitter

Last synced: about 1 month ago
JSON representation

Generate ctags using Tree Sitter

Awesome Lists containing this project

README

        

# ttags

ttags generates ctags using [Tree-sitter](https://github.com/tree-sitter/tree-sitter).

### Installation

##### macOS and Linux

```bash
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
```bash
git clone https://github.com/npezza93/ttags
cd ttags
cargo build --release
./target/release/ttags $(git ls-files)
```

### Usage

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

```bash
ttags $(git ls-files)
```

#### Options

- `-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

- [x] Haskell
- [x] JavaScript
- [x] Nix
- [x] Ruby
- [x] Rust
- [x] Swift