lsp
lsp copied to clipboard
`flushBySource` leaves store unmodified if the source is not specified
DiagnosticsBySource is a Map (Maybe Text) (SortedList Diagnostic), however, when flushing by source of Nothing, the key that has no source (Nothing) in the DiagnosticsBySources is not removed. Instead, the store is returned unmodified. This causes two issues:
- the API doesn't allow for flushing diagnostics without source.
- the API is unintuitive because if the key is
Maybe Text, the fact that you're passing aMaybe Textshould mean that you're also removing that key and not leaving the store unmodified in that case. passing your store through theidfunction can be done by the user in any case.