I've just re-pushed on top of current master and with additional API for the symbol tree generation and typename colorization plus related implementation changes at various places in Geany and from what I have seen, I think this is all that's need for LSP plugins. All additional features of LSP servers can be implemented independently and don't need any special API.