OK so most of the errors are in fact syntax constructs that are not handled by the language server yet. For example:
- It thinks
IFDEF MY_CONSTANT;
(without a leading#
) is an object declaration of classIFDEF
. - It doesn’t know the fact that directives are case-insensitive:
global x = 0;
causes an error, but notGlobal x = 0;
. - If an attribute is declared in one file but used in another file that is included in the first one, it thinks the attribute doesn’t exist in that second file.
- If the standard library is in the currently opened workspace, the language detects a lot (several hundreds) errors in it. I think it’s because the library uses a lot of “non-standard” or uncommon syntax.
I’ll look at these errors in more details and write some bug reports.