gen_lsp
gen_lsp copied to clipboard
Guides for common patterns
Description
I am starting to see patterns that are not necessarily opportunities (yet?) for library features, but should be documented in some way to help folks when implementing their own LSPs.
For example, in https://github.com/elixir-tools/credo-language-server/pull/14, I noticed the problem of getting cascading runs of Tasks running Credo going and reporting progress, so I used a Task.Supervisor.async_nolink to monitor the tasks to report the progress end, and which gave me the ability to "cancel" the in flight tasks.
In the future, I can see many more patterns developing, so it'll be good to get a create a place to put them