ctags совпадают, если не комментарий

В тэге плагинов автор рекомендует добавить несколько строк в файл .ctags для создания некоторых хороших латексных меток. Одним из примеров является

--regex-latex=/^\\section[[:space:]]*\*[[:space:]]*\{([^}]+)\}/\. \1/s,section/

единственная проблема, с которой я столкнулся, это то, что она будет соответствовать строке с комментарием. Комментарий в латексе - это любая строка, следующая за %, Поэтому я попытался изменить регулярное выражение:

--regex-latex=/^[[:space:]]*[^%]+\\section[[:space:]]*(\[[^]]*\])?[[:space:]]*\{([^}]+)\}/\. \2/s,section/

Часть, которую я добавил [[:space:]]*[^%]+ просто пытается устранить строки, которые имеют один или несколько пробелов, за которыми следует % голец. Но теперь проблема в том, что строка начинается с \section{whatever} не будет генерировать какие-либо теги. Есть ли способ исправить это?

1 ответ

Решение

Я думаю, что я понял это, и это легче, чем я думал

--regex-latex=/^[[:space:]]*[^%]+\\section[[:space:]]*(\[[^]]*\])?[[:space:]]*\{([^}]+)\}/\. \2/s,section/

должно быть просто

--regex-latex=/^[[:space:]]*[^%]*\\section[[:space:]]*(\[[^]]*\])?[[:space:]]*\{([^}]+)\}/\. \2/s,section/

Так что вместо [^%]+Я изменил это на [^%]*, Я не думаю, что понимаю почему, но это похоже на работу.

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