Emacs: определить макрос в комментарии и автоматически выполнить его

Я использую Emacs/AucTeX для редактирования файлов LaTeX. В некоторых моих файлах LaTeX я определил некоторые "специфичные для файла" команды (например, \todo{...} в одном файле, \compute{...} в другом и т. д.), поэтому я могу отслеживать, какие открытые проблемы возникают в моих документах.

Команда Emacs highlight-regexp делает довольно хороший Joob в освещении всех случаев \todo{...}с соотв. \compute{...}s. Но до сих пор мне приходилось выполнять выделение вручную каждый раз, когда я открываю соответствующий файл.

Есть ли способ указать Emacs/AucTeX вызывать определенные команды при открытии определенного файла? Я хотел бы определить эти команды внутри соответствующего файла, чтобы я мог легко настроить его для разных файлов (возможно, включить в локальные переменные).

%%% Local Variables: 
%%% mode: latex
%%% TeX-master: "master"
%%%
%%% here I would like to have something like:
%%% execute highlight-regexp for specific arguments
%%%
%%% End: 

3 ответа

Решение

Попробуй это,

%%% Local Variables: 
%%% eval: (font-lock-add-keywords nil '(("\\\\todo" (0 font-lock-warning-face))))
%%% End: 

См. Раздел 57.3.4.1, "Задание переменных файла", для получения более подробной информации.

После использования highlight-regexp настроить подсветку, hi-lock-write-interactive-patterns (Ms h w) запишет шаблоны в буфер в качестве магического комментария.

Вы, вероятно, хотите добавить mode: hi-lock после mode: latex линии, чтобы активировать выделение, как только вы откроете файл.

Вы можете использовать крюк в сочетании с местными переменными. Например, вы можете добавить локальную переменную dohighlight или что-то, а затем написать функцию, как это:

(defun condhighl ()
 (when (boundp 'dohighlight)
 (highlight-regexp "regexp")))

а затем добавить эту функцию в качестве хука для AucTex

(add-hook 'tex-mode-hook 'condhighl)

Затем вы можете добавить переменную dohighlight в свои локальные переменные в буферы, в которых вы хотите выделить код.

Другие вопросы по тегам