`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`][posix], so
any editor with `ctags` support should be able to use it.
[posix]:
https://pubs.opengroup.org/onlinepubs/9699919799/utilities/ctags.html
### 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`][uctags], 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.
[uctags]: https://ctags.io
### Where?
* On Github: https://github.com/pbackus/dmdtags
* On Dub: https://code.dlang.org/packages/dmdtags