diff options
author | Blaž Hrastnik | 2021-09-02 02:28:40 +0000 |
---|---|---|
committer | Blaž Hrastnik | 2021-09-06 06:25:46 +0000 |
commit | dc7799b980826ffe33ed635968def79daf20bd10 (patch) | |
tree | 2011ba44c63b981a5cad3aebacc0aa467337c70c | |
parent | 63e191ea3b2ce116c39a446b8fab10a360fd8a33 (diff) |
lsp: Refactor code that could use document_by_path_mut
-rw-r--r-- | helix-term/src/application.rs | 11 | ||||
-rw-r--r-- | helix-view/src/editor.rs | 5 |
2 files changed, 8 insertions, 8 deletions
diff --git a/helix-term/src/application.rs b/helix-term/src/application.rs index 8241ce3a..d3b65a4f 100644 --- a/helix-term/src/application.rs +++ b/helix-term/src/application.rs @@ -276,15 +276,10 @@ impl Application { match notification { Notification::PublishDiagnostics(params) => { - let path = Some(params.uri.to_file_path().unwrap()); + let path = params.uri.to_file_path().unwrap(); + let doc = self.editor.document_by_path_mut(&path); - let doc = self - .editor - .documents - .iter_mut() - .find(|(_, doc)| doc.path() == path.as_ref()); - - if let Some((_, doc)) = doc { + if let Some(doc) = doc { let text = doc.text(); let diagnostics = params diff --git a/helix-view/src/editor.rs b/helix-view/src/editor.rs index 050f2645..0d914e45 100644 --- a/helix-view/src/editor.rs +++ b/helix-view/src/editor.rs @@ -340,6 +340,11 @@ impl Editor { .find(|doc| doc.path().map(|p| p == path.as_ref()).unwrap_or(false)) } + pub fn document_by_path_mut<P: AsRef<Path>>(&mut self, path: P) -> Option<&mut Document> { + self.documents_mut() + .find(|doc| doc.path().map(|p| p == path.as_ref()).unwrap_or(false)) + } + pub fn cursor(&self) -> (Option<Position>, CursorKind) { let view = view!(self); let doc = &self.documents[view.doc]; |