RUSTY-TAGS(1) | General Commands Manual | RUSTY-TAGS(1) |
rusty-tags - creates ctags/etags for a cargo project
rusty-tags [options] tags_kind
rusty-tags creates tags for source code navigation using ctags for a cargo(1) project, all of its direct and indirect dependencies and the Rust standard library. It can be run anywhere inside a cargo project. rusty-tags creates a rusty-tags.vi (if tags_kind is vi) or a rusty-tags.emacs file (if tags_kind is emacs) beside the Cargo.toml file. Tags are also generated for every dependency. If a dependency reexports parts of its own dependencies, then these reexported parts are also contained in the tags file of the dependency.
Tags for the standard library are created if the path to the Rust source is supplied by defining the environment variable RUST_SRC_PATH.
rusty-tags reads the configuration file ~/.rusty-tags/config.toml. It supports these settings:
To use the generated tag files with vim, add the following to your
vimrc file:
autocmd BufRead *.rs :setlocal tags=./rusty-tags.vi;/
autocmd BufWritePost *.rs :silent! exec "!rusty-tags vi --quiet
--start-dir=" . expand('%:p:h') . "&" | redraw!
The first line ensures that vim will automatically search for a rusty-tags.vi file upwards the directory hierarchy. This setting is important if you want to jump to dependencies and the further jump to their dependencies.
The second line ensures that your project's tag file gets updated if a file is written.
If you have set the path to the Rust source code in the
RUST_SRC_PATH environment variable, use this setting instead:
autocmd BufRead *.rs :setlocal
tags=./rusty-tags.vi;/,$RUST_SRC_PATH/rusty-tags.vi
2019-01-25 |