Нет. Emacs не имеет представления о типе конкретного выражения; выполнение этого было бы равносильно написанию значительной части C
компилятора в ELisp
.
Однако в конце туннеля есть свет.
Например, если вы редактируете код OCaml
с использованием tuareg-mode
, вы можете спросить Emacs о типе любого выражения, потому что компилятор ocaml
предоставляет эту информацию; таким образом, вы должны быть в состоянии попросить его выделить переменные по типу. Это путь для подражания.
Увы, gcc
не предоставляет эту информацию; однако его расширение gccxml
делает.
Кроме того, другие C
компиляторы, например, clang
, предоставляют эту информацию из коробки, и есть новый файл semantic-clang.el
, который опирается на эти данные. функции (хотя только для завершения, не для подсветки синтаксиса).
Итак, здесь нет ничего необычного для вас, но если вы хотите использовать clang
вместо gcc
и внести свой вклад в развитие CEDET
, вы можете получить то, что вы хотите.