Description
Some interfaces/classes such as IViewer, ContextViewer, and many more have dependencies to eclipse.ui and eclipse.swt and therefore require those dependencies even for a Eclipse-less application such as the language server. With that they also require somewhat odd implementations to work around those dependencies (see SprottyViewer in klighd.lsp for example).
For a cleaner separation between Eclipse usage and non-Eclipse usage, these interfaces need to be reworked and the dependencies to be removed for a default use case.
This ticket probably requires to rework a lot of the core functionality and is therefore only here for documentation purposes as a nice-to-have and as a reference for why some implementations in klighd.lsp have to look as they do currently.