# Lists

Doxygen provides a number of ways to create lists of items.

Using dashes

By putting a number of column-aligned minus signs at the start of a line, a bullet list will automatically be generated. Numbered lists can also be generated by using a minus followed by a hash. Nesting of lists is allowed and is based on indentation of the items.

Here is an example:

      /*!
       *  A list of events:
       *    - mouse events
       *         -# mouse move event
       *         -# mouse click event\n
       *            More info about the click event.
       *         -# mouse double click event
       *    - keyboard events
       *         -# key down event
       *         -# key up event
       *
       *  More text here.
       */

The result will be:

A list of events:

- mouse events
  1. mouse move event
  2. mouse click event
     More info about the click event.
  3. mouse double click event
- keyboard events
  1. key down event
  2. key up event

More text here.

If you use tabs for indentation within lists, please make sure that TAB_SIZE in the configuration file is set to the correct tab size.

You can end a list by starting a new paragraph or by putting a dot (.) on an empty line at the same indent level as the list you would like to end.

Here is an example that speaks for itself:

    /**
     * Text before the list
     * - list item 1
     *   - sub item 1
     *     - sub sub item 1
     *     - sub sub item 2
     *     .
     *     The dot above ends the sub sub item list.
     *     More text for the first sub item
     *   .
     *   The dot above ends the first sub item.
     *   More text for the first list item
     *   - sub item 2
     *   - sub item 3
     * - list item 2
     * .
     * More text in the same paragraph.
     *
     * More text in a new paragraph.
     */

Using HTML commands

If you like you can also use HTML commands inside the documentation blocks. Using these commands has the advantage that it is more natural for list items that consist of multiple paragraphs.

Here is the above example with HTML commands:

      /*!
       *  A list of events:
       *  <ul>
       *  <li> mouse events
       *     <ol>
       *     <li>mouse move event
       *     <li>mouse click event\n
       *         More info about the click event.
       *     <li>mouse double click event
       *     </ol>
       *  <li> keyboard events
       *     <ol>
       *     <li>key down event
       *     <li>key up event
       *     </ol>
       *  </ul>
       *  More text here.
       */

Note:
  In this case the indentation is not important.

Using \arg or @li

For compatibility with the Qt Software's internal documentation tool qdoc and with KDoc, doxygen has two commands that can be used to create simple unnested lists.

See \arg and \li for more info.

Go to the next section or return to the index.