Выделение встроенного кода в reStructuredText

Я знаю, что reStructuredText имеет эту директиву:

.. code:: bash

    gedit pohl.m

который отображает блок кода. Есть ли способ получить подсветку синтаксиса для встроенных фрагментов, например:

Do edit the file, type ``gedit pohl.m`` into a terminal.

Обратные метки отмечают его как код, но я хотел бы выделить его с помощью таких же явлений, как блок. Возможно ли это?

Ответ 1

Изучив это, я наткнулся на документ reStructuredText Интерпретированные текстовые роли. Из этого документа:

Интерпретированный текст использует backquotes (`) вокруг текста. Явный маркер роли может необязательно отображаться до или после текста, ограниченного двоеточиями. Например:

This is `interpreted text` using the default role.

This is :title:`interpreted text` using an explicit role.

Кажется, что существует code роль, поэтому вы можете просто напечатать

:code:`a = b + c`

чтобы сделать встроенный блок кода. Чтобы получить подсветку синтаксиса, вы можете определить настраиваемую роль. Например

.. role:: bash(code)
   :language: bash

который вы можете использовать следующим образом:

Here is some awesome bash code :bash:`a = b + c`.

Примечание. В документе, который я ссылаюсь, не упоминается версия docutils, к которой она относится. Роль кода недоступна в docutils 0.8.1 (это единственная версия, с которой я должен протестировать).