on master help sign in
Expose doc.language_server as an accessor.
commite261f3c50d0e06860ffbeee0178381fa789dfd96 authorBlaž Hrastnik <blaz@mxxn.io> dateThu 18 Mar 2021, 14:40 (6 years ago) parent5237084
2 files changed+13−9
helix-term/src/commands.rs+7−7 helix-view/src/document.rs+6−2
helix-term/src/commands.rs+7−7
@@ -888,7 +888,7 @@ fn goto(cx: &mut Context, locations: Vec<lsp::Location>) {
888888
889889pub fn goto_definition(cx: &mut Context) {
890890 let doc = cx.doc();
891− let language_server = match doc.language_server.as_ref() {
891+ let language_server = match doc.language_server() {
892892 Some(language_server) => language_server,
893893 None => return,
894894 };
@@ -904,7 +904,7 @@ pub fn goto_definition(cx: &mut Context) {
904904
905905pub fn goto_type_definition(cx: &mut Context) {
906906 let doc = cx.doc();
907− let language_server = match doc.language_server.as_ref() {
907+ let language_server = match doc.language_server() {
908908 Some(language_server) => language_server,
909909 None => return,
910910 };
@@ -920,7 +920,7 @@ pub fn goto_type_definition(cx: &mut Context) {
920920
921921pub fn goto_implementation(cx: &mut Context) {
922922 let doc = cx.doc();
923− let language_server = match doc.language_server.as_ref() {
923+ let language_server = match doc.language_server() {
924924 Some(language_server) => language_server,
925925 None => return,
926926 };
@@ -936,7 +936,7 @@ pub fn goto_implementation(cx: &mut Context) {
936936
937937pub fn goto_reference(cx: &mut Context) {
938938 let doc = cx.doc();
939− let language_server = match doc.language_server.as_ref() {
939+ let language_server = match doc.language_server() {
940940 Some(language_server) => language_server,
941941 None => return,
942942 };
@@ -1179,7 +1179,7 @@ pub fn format_selections(cx: &mut Context) {
11791179 .collect();
11801180
11811181 for range in ranges {
1182− let language_server = match doc.language_server.as_ref() {
1182+ let language_server = match doc.language_server() {
11831183 Some(language_server) => language_server,
11841184 None => return,
11851185 };
@@ -1279,7 +1279,7 @@ pub fn save(cx: &mut Context) {
12791279pub fn completion(cx: &mut Context) {
12801280 let doc = cx.doc();
12811281
1282− let language_server = match doc.language_server.as_ref() {
1282+ let language_server = match doc.language_server() {
12831283 Some(language_server) => language_server,
12841284 None => return,
12851285 };
@@ -1378,7 +1378,7 @@ pub fn hover(cx: &mut Context) {
13781378
13791379 let doc = cx.doc();
13801380
1381− let language_server = match doc.language_server.as_ref() {
1381+ let language_server = match doc.language_server() {
13821382 Some(language_server) => language_server,
13831383 None => return,
13841384 };
helix-view/src/document.rs+6−2
@@ -40,7 +40,7 @@ pub struct Document {
4040 version: i32, // should be usize?
4141
4242 pub diagnostics: Vec<Diagnostic>,
43− pub language_server: Option<Arc<helix_lsp::Client>>,
43+ language_server: Option<Arc<helix_lsp::Client>>,
4444}
4545
4646/// Like std::mem::replace() except it allows the replacement value to be mapped from the
@@ -172,7 +172,7 @@ impl Document {
172172 self.state.selection = selection;
173173 }
174174
175− pub fn _apply(&mut self, transaction: &Transaction) -> bool {
175+ fn _apply(&mut self, transaction: &Transaction) -> bool {
176176 let old_doc = self.text().clone();
177177
178178 let success = transaction.apply(&mut self.state);
@@ -288,6 +288,10 @@ impl Document {
288288 self.version
289289 }
290290
291+ pub fn language_server(&self) -> Option<&helix_lsp::Client> {
292+ self.language_server.as_deref()
293+ }
294+
291295 #[inline]
292296 pub fn path(&self) -> Option<&PathBuf> {
293297 self.path.as_ref()