From: Wolfgang Bangerth Date: Tue, 20 Jun 2023 18:39:45 +0000 (-0600) Subject: Fix poor doxygen indentation choices. X-Git-Tag: v9.5.0-rc1~77^2 X-Git-Url: https://gitweb.dealii.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=8347a58bfdf918262afcbce79c15bc2c6379a119;p=dealii.git Fix poor doxygen indentation choices. --- diff --git a/doc/doxygen/scripts/program2doxygen b/doc/doxygen/scripts/program2doxygen index c18e9ed053..b74c958da2 100644 --- a/doc/doxygen/scripts/program2doxygen +++ b/doc/doxygen/scripts/program2doxygen @@ -119,7 +119,26 @@ do { # meaning somehow, but I don't know how...) s/\$//g; - print " * $_"; + # Then print the line. doxygen has the annoying habit of eating + # the maximal number of spaces at the front of each code block, + # leading to visually wrong indentation if one, for example, has + # ``` + # if (cond) + # { + # ``` + # in one block, and then + # ``` + # some_function(); + # ``` + # in the next block -- the call to some_function() is not shown any + # further to the right than the if(cond) before. Work around this by + # prefixing all code lines with a non-printing Unicode space 0x00A0 + # that doxygen interprets as the first non-space character for + # determining indentation, but that does not actually print as anything + # other than a space (and that compilers appear to successfully ignore + # when one copy-pastes code snippets from the generated doxygen pages + # into an editor). + print " *   $_"; # Note the (invisible) Unicode space after the '* ' } elsif ($state == $skip_mode) {