Update the `diagnostics::diagnostics_tests` module with three new tests
for the `BufferDiagnosticsEditor` view:
- `test_buffer_diagnostics` - Asserts that the `BufferDiagnosticsEditor`
displays diagnostics only for the provided project path, ignoring other
paths with diagnostics.
- `test_buffer_diagnostics_without_warnings` - Asserts that if
`include_warnings` is `false`, the `BufferDiagnosticsEditor` displays
only errors in the editor, without showing warnings.
- `test_buffer_diagnostics_multiple_servers` - Asserts that if the
project path has multiple diagnostics for different language servers,
all diagnostics are shown and included in the summary.
Additionally, the
`project::lsp_store::LspStore.diagnostic_summary_for_path` method has
been updated to return the total count of warnings and errors across all
language servers for the provided path, rather than just the first
language server. This change aligns it with the behavior when
diagnostics are displayed, as all language servers are considered.
This commit also updates the `BufferDiagnosticsEditor::deploy` function
in order to fetch the buffer directly from the active editor and provide
it to `BufferDiagnosticsEditor::new`. This avoids having to spawn the
background task that would open the buffer and update the
`BufferDiagnosticsEditor.buffer` field.