doxygen markdown 围栏代码块与缩进列表冲突

Mas*_*Man 3 markdown doxygen

我观察到,在 doxygen 1.8.2 中,不能将受保护的代码块放置在缩进级别超过 2的缩进列表中(在降价文件中)。在下面的片段中:

- Level 1

~~~
printf("Hello world Level 1");
~~~

  - Level 2

  ~~~
  printf("Hello world Level 2");
  ~~~

    - Level 3

    ~~~
    printf("Hello world Level 3");
    ~~~
Run Code Online (Sandbox Code Playgroud)

Hello world Level 1Hello world Level 2出现在输出作为代码段,但Hello world Level 3(和~它周围的多个)显示为明文输出。

我犯了什么错误,或者这是一个已知的限制?

dox*_*gen 5

这是一个限制(或错误,如果你愿意的话)。

通常,所有缩进 4 个或更多空格的内容都将逐字显示(代码块),但对于列表,相对缩进算作缩进(因此在您的示例中为 2 个空格)。由于在解析列表之前处理了受保护的块,因此您会发现受保护的块没有被视为这样(此传递期间缩进过多),但稍后也不会变成逐字部分(由于该传递期间的相对缩进) .