summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--helix-term/src/commands.rs14
-rw-r--r--helix-view/src/document.rs8
2 files changed, 13 insertions, 9 deletions
diff --git a/helix-term/src/commands.rs b/helix-term/src/commands.rs
index f3847eda..9179a5ce 100644
--- a/helix-term/src/commands.rs
+++ b/helix-term/src/commands.rs
@@ -888,7 +888,7 @@ fn goto(cx: &mut Context, locations: Vec<lsp::Location>) {
pub fn goto_definition(cx: &mut Context) {
let doc = cx.doc();
- let language_server = match doc.language_server.as_ref() {
+ let language_server = match doc.language_server() {
Some(language_server) => language_server,
None => return,
};
@@ -904,7 +904,7 @@ pub fn goto_definition(cx: &mut Context) {
pub fn goto_type_definition(cx: &mut Context) {
let doc = cx.doc();
- let language_server = match doc.language_server.as_ref() {
+ let language_server = match doc.language_server() {
Some(language_server) => language_server,
None => return,
};
@@ -920,7 +920,7 @@ pub fn goto_type_definition(cx: &mut Context) {
pub fn goto_implementation(cx: &mut Context) {
let doc = cx.doc();
- let language_server = match doc.language_server.as_ref() {
+ let language_server = match doc.language_server() {
Some(language_server) => language_server,
None => return,
};
@@ -936,7 +936,7 @@ pub fn goto_implementation(cx: &mut Context) {
pub fn goto_reference(cx: &mut Context) {
let doc = cx.doc();
- let language_server = match doc.language_server.as_ref() {
+ let language_server = match doc.language_server() {
Some(language_server) => language_server,
None => return,
};
@@ -1179,7 +1179,7 @@ pub fn format_selections(cx: &mut Context) {
.collect();
for range in ranges {
- let language_server = match doc.language_server.as_ref() {
+ let language_server = match doc.language_server() {
Some(language_server) => language_server,
None => return,
};
@@ -1279,7 +1279,7 @@ pub fn save(cx: &mut Context) {
pub fn completion(cx: &mut Context) {
let doc = cx.doc();
- let language_server = match doc.language_server.as_ref() {
+ let language_server = match doc.language_server() {
Some(language_server) => language_server,
None => return,
};
@@ -1378,7 +1378,7 @@ pub fn hover(cx: &mut Context) {
let doc = cx.doc();
- let language_server = match doc.language_server.as_ref() {
+ let language_server = match doc.language_server() {
Some(language_server) => language_server,
None => return,
};
diff --git a/helix-view/src/document.rs b/helix-view/src/document.rs
index ffbe8930..36bca5fe 100644
--- a/helix-view/src/document.rs
+++ b/helix-view/src/document.rs
@@ -40,7 +40,7 @@ pub struct Document {
version: i32, // should be usize?
pub diagnostics: Vec<Diagnostic>,
- pub language_server: Option<Arc<helix_lsp::Client>>,
+ language_server: Option<Arc<helix_lsp::Client>>,
}
/// Like std::mem::replace() except it allows the replacement value to be mapped from the
@@ -172,7 +172,7 @@ impl Document {
self.state.selection = selection;
}
- pub fn _apply(&mut self, transaction: &Transaction) -> bool {
+ fn _apply(&mut self, transaction: &Transaction) -> bool {
let old_doc = self.text().clone();
let success = transaction.apply(&mut self.state);
@@ -288,6 +288,10 @@ impl Document {
self.version
}
+ pub fn language_server(&self) -> Option<&helix_lsp::Client> {
+ self.language_server.as_deref()
+ }
+
#[inline]
pub fn path(&self) -> Option<&PathBuf> {
self.path.as_ref()