Skip to content
Snippets Groups Projects
Commit e08d0769 authored by Nick Mathewson's avatar Nick Mathewson :game_die:
Browse files

Add documentation about building a TAGS file.

Patch from opara.  Closes ticket 32779.
parent 1f498220
No related branches found
No related tags found
No related merge requests found
o Documentation:
- Add documentation in 'HelpfulTools.md' to describe how to build a tag
file. Closes ticket 32779.
......@@ -315,6 +315,30 @@ If you use emacs for editing Tor and nothing else, you could always just say:
There is probably a better way to do this. No, we are probably not going
to clutter the files with emacs stuff.
Building a tag file (code index)
--------------------------------
Many functions in tor use `MOCK_IMPL` wrappers for unit tests. Your
tag-building program must be told how to handle this syntax.
If you're using emacs, you can generate an emacs-compatible tag file using
`make tags`. This will run your system's `etags`. Tor's build system assumes
that you're using the emacs-specific version of `etags` (bundled under the
`xemacs21-bin` package on Debian). This is incompatible with other versions of
`etags` such as the version provided by Exuberant Ctags.
If you're using vim or emacs, you can also use Universal Ctags to build a tag
file using the syntax:
ctags -R -D 'MOCK_IMPL(r,h,a)=r h a' .
If you're using an older version of Universal Ctags, you can use the following
instead:
ctags -R --mline-regex-c='/MOCK_IMPL\([^,]+,\W*([a-zA-Z0-9_]+)\W*,/\1/f/{mgroup=1}' .
A vim-compatible tag file will be generated by default. If you use emacs, add
the `-e` flag to generate an emacs-compatible tag file.
Doxygen
-------
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment