Language Server for Inform 6 (+clients for eclipse and vscode)

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 class IFDEF.
  • It doesn’t know the fact that directives are case-insensitive: global x = 0; causes an error, but not Global 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.