Как сохранить подсветку синтаксиса в foldtext в vim с помощью SimplyFold? - PullRequest
0 голосов
/ 06 октября 2018

Я использую этот плагин vim для свертывания, который является отличным и очень простым, однако одна проблема, которую я заметил, заключается в том, что все заголовки теряют подсветку синтаксиса, поскольку они возвращаются как часть сгиба текста.

Мне было интересно, возможно ли каким-либо образом поддерживать подсветку синтаксиса в тексте фальцовки.

Учитывая, что только def s class es и строки документов складываются, это не должнобыть слишком сложным, но я даже не знаю, с чего начать.

Кажется, что set foldtext является соответствующей командой, но не уверен насчет чего-то еще.

Это то, что сворачивание в настоящее времяпохоже на отсутствие выделения синтаакса в сгибе.

enter image description here

Пожалуйста, дайте мне знать, как я могу это сделать, спасибо

1 Ответ

0 голосов
/ 08 октября 2018

Подсветка синтаксиса работает с фактическим содержимым буфера.Если вы сгибаете линии, подсветка синтаксиса на этих линиях больше не работает, и вся сводка сгиба (которая определяется 'foldtext') выделяется с помощью группы выделения :help hl-Folded.К сожалению, сейчас нет никакого способа обойти это.

Реализация этого в Vim поднимает некоторые сложные вопросы:

  • Подсветка синтаксиса может зависеть от предыдущих / следующих строк.Сколько (в закрытой складке) вы бы еще разобрали?Если на экране много больших закрытых сгибов, это может означать много разборов, гораздо больше, чем обычно требуется только для видимой части внутри окна.
  • Вам все еще требуется указание на сгибание этих линий,Поскольку для подсветки синтаксиса может использоваться тот же набор доступных атрибутов и цветов, что и для группы подсветки Folded, общего решения о том, как объединить оба эти параметра, не существует.«Наложение» или «добавление» цветов затруднено, особенно в терминалах, имеющих только 16 доступных цветов.
...