dmdtags
is a tags file generator for D source code that uses the DMD compiler frontend for accurate parsing.
This release supports 100%-accurate parsing of arbitrary D code (tested on DMD and Phobos sources), as well as the most commonly-used command line options, -R
, -o
, and -a
. The generated tags file has been tested for compatibility with Vim and is compliant with the POSIX standard for ctags
, so any editor with ctags
support should be able to use it.
What?
A tags file is a lightweight plain-text index of the symbols in a project. Editors that support tags files, such as Vim and Emacs, can use this index to help with things like project navigation and tab completion.
A tags file generator is, as you might expect, a program that reads source code and generates a tags file with entries for the symbols in that code.
Why?
universal-ctags
, the current most-popular and best-maintained tags file generator, claims support for many programming languages, including D. However, its D parser is not well-maintained, and it often excludes large numbers of symbols from its output due to parsing failures.
Because dmdtags
uses the DMD frontend for parsing, its results will always be accurate and up-to-date. For pure D projects, it can be used as a replacement for universal-ctags
. For mixed-language projects, it can be used together with other tag generators with the --append
option.
Where?
- On Github: https://github.com/pbackus/dmdtags
- On Dub: https://code.dlang.org/packages/dmdtags