From @REYNEP in microsoft/vscode#114297
Checklist
The code with a problem is:
It looks like:
It should look like:
WHY?:-
- all conditional Preprocessor Commands, #if, #else, #endif, #ifdef, #ifndef are inside keyword.control.directive.conditional (eg. keyword.control.directive.conditional.ifdef)
- But #elif is inside keyword.control.directive, (like this: keyword.control.directive.elif)
- Shouldn't #elif's textmate scope be under keyword.control.directive.conditional too like the others?
I have fixed this by modifying cpp.tmLanguage.json
At Line 12683 if you add elif beside the other #if #ifdef #ifndef preprocessor commands, this gets fixed