C is not supported
There is no C syntax highlighter in highlight.js. highlight.js uses the C++ highlighter for C, and it is a nightmare. It actually makes code harder to read than not having any highlighting. I saw a post on Stack Overflow wherein the same two tokens struct List
are coloured in 3 different ways:
Image may be NSFW.
Clik here to view.
Yes, I've checked that lang-c
is in use.
I presume there is some logic that detects that the clause starting with struct List
is a declaration and then colours the entire line brown:
struct List *newnode = (struct List *)malloc(size * sizeof(struct List));
But this is not helpful in any way, and if you actually used a typedef
List
, then it would be coloured differently:
List *newnode = (struct List *)malloc(size * sizeof(struct List));
Every other C language highlighter I have seen colours token classes, context-free. For example the token struct
, a keyword, should always have the same colour.
(Though, since in struct X
, X
is a tag, it could be distinguished from X
that is a typedef
, or a variable or function name)