LINUX.ORG.RU

[emacs, org-mode] подсветка по рег. выражению


0

1

Нужно настроить Org Mode для Emacs так, чтобы строки, содержащие #+TBLNAME: и #+TBLFM: подсвечивались серым цветом.

При открытом файле выполняю M-: и ввожу (hi-lock-mode включен):

Eval: (highlight-regexp "#\\+T.*" 'shadow)

После этого ничего не меняется, цвета - те же. При режиме text-mode на том же файле все подсвечивается.

Как побороть Org Mode?


Для этих надписей, начинающихся с # используется font-lock-comment-face. Можно, например, попробовать локально сменить этот фейс конкретно для буфера в org-mode, но побочный эффект будет таким, что все такие надписи перекрасятся, а не только TBL.

Вообще, такие трюки в документации org-mode не описаны. Найти-то все можно, но вот штатным такой трюк являться не будет.

Смотри, например, переменную org-font-lock-keywords, там есть правило («^#.*» (0 'font-lock-comment-face t))). Наверное, можно добавить свое правило? Но это будет хак, так как документация про переменную ничего не говорит. Есть еще org-font-lock-hook. Тоже не описано, что и как. Может быть, на хук повесить функцию, которая перекрашивает по твоим правилам. Попробуй поискать в инете по этим ключевым словам.

Zubok ★★★★★
()
Ответ на: комментарий от Zubok

Пока что обошелся изменением фейса org-meta-line (почти то же, что и font-lock-comment-face, только для спец-комментариев, в т. ч. и #+TBL).

ipc
() автор топика
Ответ на: комментарий от ipc

>Пока что обошелся изменением фейса org-meta-line (почти то же, что и font-lock-comment-face, только для спец-комментариев, в т. ч. и #+TBL).

Ага, если изменение всех #+ в буфере одновременно катит, то и ок. В моей версии org-mode (она несколько уже устарела) нет этого org-meta-line, а используется font-lock-comment-face. Видимо, ввели уже в следующих версиях.

А если тебе хочется именно #+TBL поменять, как в первом сообщении, то придется чуть поизвращаться.

Zubok ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.