rust_hdl
rust_hdl copied to clipboard
Avoid sending all diagnostics on every file change
Closes #210
This PR implements a server-side diagnostic cache, containing analysed diagnostics. On every change, new diagnostics are evaluated on the server side. Only when the diagnsotics are not in the cache are they then sent to the client. This means that there are typically less transactions between server and client.
I'm not quite sure whether this resolves some of the performance impact seen by sending too many diagnostics as the server now has to do a lot of comparisons to check whether the diagnostics are in the cache.