Hi everyone ,
I am currently writing
Crystalline, a Language Server Protocol implementation (think Scry) for Crystal that provides limited language features (like go-to, autocompletion, syntax and semantic checking).
I’m still working on it, and I’m planning to improve some parts of it. I began using it for my own projects for a few days now and I find it quite helpful, so I’m sharing it here in case people were missing these IDE features a much as I did .
Crystalline does not aim to be as fast - or as feature complete - as other LSP because it would involve a massive amount of effort to write incremental semantic analysis, a fault tolerant parser or other tools needed. Despite that it should be in a fairly stable state - meaning it should not crash or report wrong information. But do not expect it to work in all cases, it will not report anything when type information is missing.