`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

Reply via email to