Merged requested to merge work/semantichighlighting2 into master
This change is a second proposal for better semantic highlighting for C++ (only). It can be considered as temporary till we add support for offical semantic tokens protocol and till LSPs themselves add proper support for offical semantic tokens. Since only clangd seems to support this, so this change is limited to C++ only (and previously too).
Since we rely on the new API call (theme()), this change will only work for KF > 5.79. Old versions will keep working as is.