Как я могу заставить Emacs игнорировать определенные ключевые слова?

Я хотел бы сказать, что emacs должен обрабатывать некоторые ключевые слова (или даже регулярные выражения) как синтаксические пробелы, или, другими словами, игнорировать их. Например: подсветка emacs и неправильная интерпретация кода

void function() some_compiler_specific_modifier(){
...
}

как some_compiler_specific_modifier будучи именем функции.

У меня есть список модификаторов, поэтому я был бы рад, если бы emacs мог просто игнорировать их, когда бы он их ни нашел.

РЕДАКТИРОВАТЬ: самая важная часть состоит в том, чтобы заставить синтаксический анализатор cedet игнорировать эти ключевые слова...

1 ответ

Для этого вы можете изменить semantic-lex-c-preprocessor-symbol-map чтобы включить символы, которые вы хотите, чтобы они исчезли. Поскольку у вас много макросов, и некоторые из этих макросов, очевидно, принимают аргумент, вам, вероятно, лучше создать новый заголовок, такой как:

goofy.h:

   #define some_compiler_specific_modifier(A)
   #define some_other_compiler_modifier(B)
   // ...

а затем добавить это к semantic-lex-c-preprocessor-symbol-file,

После изменения этих переменных вам может понадобиться semantic-c-reset-preprocessor-symbol-map чтобы изменения вступили в силу.

Альтернативно, используйте ede-cpp-root-project введите и укажите вышеуказанную информацию через конфигурацию в этом стиле проекта. (Подробнее об этом см. В документе.)

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