\\~english \~english for english should be \:: \- \- and the language selectors, e.g. Non-word Doxygen special commands are used to create certain non-alphanum characters. Doxygen formulas are link verbatim blocks, but contain LaTeX, single line formula a refresh of a buffer after editing a verbatim/code block may be required to have the font Verbatim/code blocks spans multiple lines and thus so set verbatim/code to a different font. support multi-line font-locking by default and I'm not sure the best way to make these work. Here's an attempt to get blocks shown using doxygen-verbatim-face. we can't do that easily, so for now flag the block shouldn't be 'doxygen-match-face prepend nil) Doxygen verbatim/code/formula blocks should be shown using doxygen-verbatim-face, but
"foo bar line2 foobar" will not bold or create todo's.Ġ ,c-doc-face-name prepend single line formula but an escaped formula, e.g. can't be in strings when on same line, e.g. Doxygen special font-lock-keyword-face prepend nil)
special command, thus explicitly look for e-mails and given them a different face than the We don't want to be picked up as a Doxygen Highlight HTML tags - these are processed by Doxygen, e.g. after autolinks highlighting (we don't want nl/autolink.h to be file color). these are not autolinked so look for common C++ extensions. Don't want to pickup "e.g." or foo.txt because We don't want \::thing to be highlighed as a function, hence reason to look for We only require matching of first paren to make cases like ::member(x->(), 2*(y+z)) The parens are optional, ::member(int, int), ::member(a, b). ClassName::memberFcn or the destructor ClassName::~ClassName. match the first paren, function(x->(), 2*(y+z)). function() or function(int, std::string&, void*) or more complex where we only These are referring to functions, so we use a different font face \\ or ,c-doc-markup-face-name prepend nil) \| \- \- typical word Doxygen special or \cmd "Face used to show Doxygen region start end commands" "Face used to show Doxygen block regions" Here's an attempt at improved Doxygen syntax highlighting based on ideasman42 answer. \* *There is doxymacs but it was last updated in 2007 and seems more heavy-weight than I'm looking for (not available from package manager, requires compiled binaries).* Note that projects that use a single doxygen comment prefix (,(concat "#" symbol_member) #some_c_symbol.some_memberĠ ,c-doc-markup-face-name prepend nil)))) "+\\|" typical word Doxygen special or \cmd (,(concat "\`\`" symbol_extended "\`\`") ``symbol``Ġ ,c-doc-markup-face-name prepend start of Doxygen special command Struct references #struct.value or class::member. HTML tags also supported (from javadoc).Symbols quoting 'symbol', `symbol` and ``symbol``.\ and are matched (until non whitespace).It doesn't try to be too strict since doxy supports so many different expressions. Posting own answer since I didn't find an existing method *.