The CodeAssist language SPI: the neutral syntax tree, resolution, file types, completion, formatting, folding, and a language's compilation context.