In Emacs, is it possible to mark all variables of different data types with different colors? e.g. if I have the following variables in C/C++ my program
int i,j;
float g,h;
char a,b;
Then throughout the source code i and j would be marked as red, g and h as green, a and b as blue.
I am not sure how useful this will be in future, but I feel it would help me while reading code, and be a good alternative to the Hungarian notation(not that I use this notation :D).
No, it's not possible to selectively assign a given color to a given variable in emacs (or just for one given program).
However, if it's just syntax highlighting you are looking for, of course, emacs will highlight most languages, and you can even create syntax highlighting for languages emacs would not know about.
Ex. Smali: https://github.com/strazzere/Emacs-Smali
No. Emacs has no idea about the type of a specific expression; doing this would be tantamount to writing a significant part of a
C
compiler inELisp
.However, there is a light at the end of the tunnel.
E.g., if you edit
OCaml
code usingtuareg-mode
, you can ask Emacs about the type of any expression because theocaml
compiler provides that information; thus you should be able to ask it to highlight variables by type. This is the path to follow.Alas,
gcc
does not provide that information; however, its extensiongccxml
does.Also, other
C
compilers, e.g.,clang
, provide that information out of the box, and there is a new filesemantic-clang.el
which relies on those features (although for completion only, not for syntax highlighting).So, nothing out of the box for you here, but if you are willing to use
clang
instead ofgcc
and contribute to theCEDET
development, you might get what you want.