Я ищу простой способ заставить emacs запомнить объявленную переменную в одной функции на C / C ++. Под «простым» я подразумеваю без какого-либо внешнего пакета, просто с некоторыми строками elisp в файлах конфигурации.
Моя конфигурация Emacs по умолчанию окрашивает имена переменных в объявление желтым цветом, но позволяет использовать их белым цветом.
char toto; // 'char' is green, 'toto' is yellow
toto = 42; // 'toto' is white
Я хотел бы, чтобы все "toto" одной и той же функции / области были также окрашены в желтый цвет.
Я уже посмотрел на этот вопрос, но я бы хотел что-то попроще. Я также пытался что-то сделать в режиме font-lock , но мне не удалось сделать что-то адаптируемое к именам переменных.
У меня уже есть идея для имен членов класса C ++ (с использованием шаблона имени), поэтому я просто хочу здесь соответствие локальной переменной.
color-identifiers-mode
пакет . (Публикуя это как комментарий, потому что вы сказали, что не хотите рассматривать внешние пакеты.)Ответы:
Вы можете собрать регулярное выражение для переменной схемы, то , что соответствует (псевдо - код регулярное выражение)
[char|other|types] [a-z];
и[a-z] =*;
добавить его в список ключевых слов шрифта блокировки для вашего режима; Из руководства на странице "Пользовательские ключевые слова" :источник