Skip to content
An emacs plugin to generate doxygen documentation from C source code
Emacs Lisp
Branch: master
Clone or download
Michele Pes
Latest commit de7091b Dec 11, 2018
Type Name Latest commit message Commit time
Failed to load latest commit information.
gendoxy.el Bugfix on some functions that take no parameters Dec 11, 2018 Improved parameter documentation + code improvements + better changelog Dec 7, 2018

gendoxy - An emacs package to generate doxygen documentation from C code

This plugin generates doxygen documentation from C source code.
It generates doxygen-aware documentation skeleton for the most common C constructs.
Moreover, function parameters documentation may be partially guessed,
according to some parameters name pattern.


Put file gendoxy.el in a path accessible to emacs (add-to-list 'load-path ...)
Load it in your init file (load "gendoxy.el")


Once the package is loaded, there are four variables that control documentation generation:

  • gendoxy-backslash: if not nil, will use backslash instead of ampersat
  • gendoxy-default-text: Default string used in generated documentation
  • gendoxy-skip-details: If not nil, will omit details in header and functions
  • gendoxy-details-empty-line: If not nil, will use an empty line instead of the details tag to add details. Note that this has effect if gendoxy-skip-details is nil ONLY.


Put the cursor on the first line of a declaration to document
(not necessarily at the beginning of line), then run the command:
M-x gendoxy-tag
This will document your declaration and all its sub-items if any.
If you want to document a declaration, but not its subitems, then run the command:
M-x gendoxy-tag-header


To to document a group of items, you can use the command:
M-x gendoxy-group
To document a group but not the single items, use the command:
M-x gendoxy-group-header
For groups, since may not be easy to guess start and end of group,
two explicit commands have been added:
gendoxy-group-start and gendoxy-group-end.
The last command (but the first to use) is:
M-x gendoxy-header
that generates a header documentation for current file


The gendoxy package doesn't define a new mode, just offers some commands to use.
For a more productive environment, just bind your favorite key to
gendoxy-tag and/or gendoxy-tag-header commands.
Additionally, set your details configuration.
Once your setup is done, open a header file, add the header if missing and go with comments!

gendoxy do not have any external dependency, even cl-lib is never called!

You can’t perform that action at this time.