From 9d5e9326266d6b064c6d0f5d78ba2fae4d78e8fb Mon Sep 17 00:00:00 2001 From: Alex Zatelepin Date: Mon, 21 Oct 2019 02:04:55 +0300 Subject: fixup folding ranges for "lineFoldingOnly" clients #2033 --- crates/ra_lsp_server/src/main_loop.rs | 24 ++++++++++++++++-------- 1 file changed, 16 insertions(+), 8 deletions(-) (limited to 'crates/ra_lsp_server/src/main_loop.rs') diff --git a/crates/ra_lsp_server/src/main_loop.rs b/crates/ra_lsp_server/src/main_loop.rs index 35c35d32b..0b5d9c44d 100644 --- a/crates/ra_lsp_server/src/main_loop.rs +++ b/crates/ra_lsp_server/src/main_loop.rs @@ -111,6 +111,21 @@ pub fn main_loop( connection.sender.send(request.into()).unwrap(); } + let options = { + let text_document_caps = client_caps.text_document.as_ref(); + Options { + publish_decorations: config.publish_decorations, + supports_location_link: text_document_caps + .and_then(|it| it.definition) + .and_then(|it| it.link_support) + .unwrap_or(false), + line_folding_only: text_document_caps + .and_then(|it| it.folding_range.as_ref()) + .and_then(|it| it.line_folding_only) + .unwrap_or(false), + } + }; + let feature_flags = { let mut ff = FeatureFlags::default(); for (flag, value) in config.feature_flags { @@ -133,14 +148,7 @@ pub fn main_loop( config.lru_capacity, &globs, Watch(!config.use_client_watching), - Options { - publish_decorations: config.publish_decorations, - supports_location_link: client_caps - .text_document - .and_then(|it| it.definition) - .and_then(|it| it.link_support) - .unwrap_or(false), - }, + options, feature_flags, ) }; -- cgit v1.2.3