Doxymacs is Doxygen + {X}Emacs.
Doxymacs is Doxygen + {X}Emacs. The purpose of the doxymacs project is to create a LISP package that will make using Doxygen from within {X}Emacs easier.
This is the new home of the doxymacs project. We are currently modernizing the doxymacs codebase in preparation for a 2.0 release; you can see our progress here. Please direct any bug reports or feature requests to Issues section of the Github project. If you want to contribute, open up a Pull Request or mail your patches to the maintainer.
The current release, version 1.8.0, released 2007-06-10, has the following features:
Doxymacs depends on the following packages:
Make sure these are properly configured and installed before proceeding.
Use the configure script to configure and build doxymacs:
$ ./configure
$ make
$ make install
Be sure to put ${datadir}/share/${EMACS}/site-lisp
in your load-path in your .emacs
file, or wherever you configured the .elc
files to end up.
NOTE If you get:
!! File error (("Cannot open load file" "url"))
(or something similar) when you do make, then set the variable EMACSLOADPATH
:
$ EMACSLOADPATH=... make
where ...
is a colon separated list of directories to search for packages.
To byte compile with XEmacs, set the variable EMACS
:
$ EMACS=xemacs make
If you want to avoid byte-compiling altogether:
$ make ELCFILES=
$ make install ELCFILES=
For a complete list of configuration options:
$ ./configure --help
If you do not want to run or cannot run configure then pre-baked .el
files are available in the no-autoconf/
directory; simply copy these to somewhere in your load-path.
Customise the variables doxymacs-doxygen-root
and doxymacs-doxygen-tags
. You can customise these via the customisation menu Programming | Tools | Doxymacs
.
(Optional) Customise doxymacs-doxygen-style
. The default is "JavaDoc". See the Doxygen manual for examples of the three available styles (JavaDoc, Qt and C++).
To use the external XML parser, set doxymacs-use-external-xml-parser
to non-nil (can be done via the customisation menu).
Put (require 'doxymacs)
in your .emacs
file.
*Invoke doxymacs-mode with M-x doxymacs-mode
. To have doxymacs-mode automatically come up whenever you visit a C/C++ file, put (add-hook 'c-mode-common-hook'doxymacs-mode)
in your .emacs
.
If you want Doxygen keywords fontified use M-x doxymacs-font-lock
. To do it automatically, add the following to your .emacs
:
(defun my-doxymacs-font-lock-hook () (if (or (eq major-mode 'c-mode) (eq major-mode 'c++-mode)) (doxymacs-font-lock))) (add-hook 'font-lock-mode-hook 'my-doxymacs-font-lock-hook)
This will add the Doxygen keywords to c-mode and c++-mode only.
Default key bindings are:
C-c d ? will look up documentation for the symbol under the point.
C-c d r will rescan your Doxygen tags file.
C-c d f will insert a Doxygen comment for the next function.
C-c d i will insert a Doxygen comment for the current file.
C-c d ; will insert a Doxygen comment for a member variable on the current line (like M-;).
C-c d m will insert a blank multi-line Doxygen comment.
C-c d s will insert a blank single-line Doxygen comment.
C-c d @ will insert grouping comments around the current region.
Doxymacs has been tested on and works with:
GNU Emacs 20.7.1, 21.1.1, 21.2.1, 21.3, 21.4.1, 23.1.1.
XEmacs 21.1 (patch 14), XEmacs 21.4 (patch 4, 5, 6, 17).
Up to doxygen version 1.4.4
If you have success or failure with other versions of {X}Emacs and doxygen, please let the authors know.
doxymacs mode was originally written and maintained by Ryan T. Sammartino. Its current maintainer is Patrick M. Niedzielski.