Альтернативы font-lock

Я пытаюсь улучшить подсветку Emacs Common Lisp, и я застрял в подходе регулярного выражения к подсветке, используемому font-lock. Регулярных выражений недостаточно, так как я хочу иметь возможность распознавать структуру таких форм как defun - подсветка списка аргументов функций должна отличаться от подсветки тела, а не только глобального поиска и выделения.

Итак, есть ли альтернативы блокировке шрифтов в самом Emacs или где-то в Интернете? И если так, работают ли они с символическими выражениями?

2 ответа

Решение

Сопоставление блокировки шрифтов в Emacs не ограничивается регулярным выражением; Вы можете использовать любую функцию в качестве сопоставителя при условии, что она удовлетворяет определенному протоколу. Посмотрите на переменную font-lock-keywords Больше подробностей.

Ch vfont-lock-keywords

Я думаю, что нечто подобное может быть сделано на основе Semantic (часть пакета CEDET) - вы можете получить синтаксическую информацию из анализируемого буфера и применять разные цвета для разных типов объектов. Хотя я не знаю какой-либо существующей реализации прямо сейчас

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