Это возможно, но немного сложнее. В режиме Fixme для выделения выделяется font-lock
, поэтому он работает по мере ввода текста для выделения ключевых слов. Font-lock фиксируется на очень низком уровне, в основном работает после каждого изменения содержимого буфера. Тем не менее, он сильно оптимизирован, что позволяет мгновенно появляться на современных компьютерах.
Индикатор TODO на левой стороне статичен. Выполните функцию, и все текущие TODO будут выделены; изменение буфера (добавление или удаление TODO) не меняет индикатор бахромы; это изменяется только при повторном запуске функции.
Ваш подход должен был бы войти в таблицы синтаксиса, сначала определить, когда вы находитесь в комментарии, а затем искать ключевые слова. Сложнее всего сделать это интерактивно (то есть, когда вы печатаете). Вы должны быть в состоянии подключиться к конструкциям font-lock
, чтобы сделать это, но функция, которую вы предоставляете для поиска таблицы синтаксиса комментариев, а затем для ключевых слов, должна быть очень эффективной, так как она будет выполняться каждый раз, когда меняется буфер (хотя он будет работать только в измененном регионе, я думаю). Вы хотели бы поместить все это в font-lock-syntactic-keywords
, а не font-lock-keywords
, потому что проход по синтаксическому ключевому слову происходит до синтаксического прохода (что происходит до прохода ключевого слова), и вам нужно установить TODO внутри комментариев перед тем, как будут установлены сами комментарии .
Извините, это не полный рабочий код ..... ..... 1011 *