Doxygen @snippet html style переходит к следующему тегу разметки - PullRequest
0 голосов
/ 04 мая 2019

Итак, у меня есть эта пользовательская команда в doxygen:

ALIASES = " \
codeexamples{3}= \
@htmlonly[block] \
<div class=\"snippettab\"> \
  <button class=\"snippettablinks\" onclick=\"openExTab(event,'langcs_\1_code_snippet')\">C#</button> \
  <button class=\"snippettablinks\" onclick=\"openExTab(event,'langvb_\1_code_snippet')\">VB</button> \
</div> \
@endhtmlonly \
<div id=\"langcs_\1_code_snippet\" class=\"snippetcontent\"> \snippet \2 \1_code_snippet^^ </div> \
<div id=\"langvb_\1_code_snippet\" class=\"snippetcontent\"> \snippet \3 \1_code_snippet^^ </div> \
"

И вот пример того, как я ее использую:

/*!@brief brief description.
 * 
 *        Detailed description
 *        
 *@note   A note
 *
 *        \codeexamples{Initialize,Test.cs,Test.vb}
 *        
 *@sa OnInitialized\n Reset()\n TStorage
 */

Команда codeexamples{} работает нормально, носледующая команда @sa не анализируется, а печатается так же, как и с классом: class='fragment', тот же класс, что и в примере кода.

<code><div id="langvb_Initialize_code_snippet" class="snippetcontent" style="display: block;">
  <div class="fragment">...</div>
  <!-- fragment -->
</div>
<pre class="fragment">   @sa OnInitialized\n Reset()\n TStorage

Как вы можете видеть @sa не анализируетсяКак будто он никогда не видел @endhtmlonly, но doxygen ни на что не жалуется и не предупреждает, и в веб-браузере нет ошибок при его отображении.

Я пробовал другие команды, кроме @sa, но неважноКоманда, которую я поставил там, она не анализируется doxygen и отображается в виде текста.

Это ошибка в doxygen или я что-то упустил?

EDIT
ItПохоже, это ошибка.doxygen ставит <pre class="fragment"> после вставленного кода:

Документация Doxygen после элементов - сбой вызывает форматирование как фрагмент кода?

Решение завершить блок и запуститьновый решает это:

/*!@brief brief description.
 * 
 *        Detailed description
 *        
 *@note   A note
 *
 *        \codeexamples{Initialize,Test.cs,Test.vb}
 */        
 //!@sa OnInitialized\n Reset()\n TStorage
...