aboutsummaryrefslogtreecommitdiff
path: root/crates/ra_lsp_server
diff options
context:
space:
mode:
Diffstat (limited to 'crates/ra_lsp_server')
-rw-r--r--crates/ra_lsp_server/src/main_loop.rs2
-rw-r--r--crates/ra_lsp_server/src/main_loop/handlers.rs2
-rw-r--r--crates/ra_lsp_server/src/world.rs20
3 files changed, 10 insertions, 14 deletions
diff --git a/crates/ra_lsp_server/src/main_loop.rs b/crates/ra_lsp_server/src/main_loop.rs
index 965e7c53c..9e207415e 100644
--- a/crates/ra_lsp_server/src/main_loop.rs
+++ b/crates/ra_lsp_server/src/main_loop.rs
@@ -131,7 +131,7 @@ pub fn main_loop(
131 let feature_flags = { 131 let feature_flags = {
132 let mut ff = FeatureFlags::default(); 132 let mut ff = FeatureFlags::default();
133 for (flag, value) in config.feature_flags { 133 for (flag, value) in config.feature_flags {
134 if let Err(_) = ff.set(flag.as_str(), value) { 134 if ff.set(flag.as_str(), value).is_err() {
135 log::error!("unknown feature flag: {:?}", flag); 135 log::error!("unknown feature flag: {:?}", flag);
136 show_message( 136 show_message(
137 req::MessageType::Error, 137 req::MessageType::Error,
diff --git a/crates/ra_lsp_server/src/main_loop/handlers.rs b/crates/ra_lsp_server/src/main_loop/handlers.rs
index 5b64b27cd..5e3b1a73f 100644
--- a/crates/ra_lsp_server/src/main_loop/handlers.rs
+++ b/crates/ra_lsp_server/src/main_loop/handlers.rs
@@ -164,7 +164,7 @@ pub fn handle_on_type_formatting(
164 164
165 // in `ra_ide`, the `on_type` invariant is that 165 // in `ra_ide`, the `on_type` invariant is that
166 // `text.char_at(position) == typed_char`. 166 // `text.char_at(position) == typed_char`.
167 position.offset = position.offset - TextUnit::of_char('.'); 167 position.offset -= TextUnit::of_char('.');
168 let char_typed = params.ch.chars().next().unwrap_or('\0'); 168 let char_typed = params.ch.chars().next().unwrap_or('\0');
169 169
170 // We have an assist that inserts ` ` after typing `->` in `fn foo() ->{`, 170 // We have an assist that inserts ` ` after typing `->` in `fn foo() ->{`,
diff --git a/crates/ra_lsp_server/src/world.rs b/crates/ra_lsp_server/src/world.rs
index 16cc11e8c..f89b23089 100644
--- a/crates/ra_lsp_server/src/world.rs
+++ b/crates/ra_lsp_server/src/world.rs
@@ -287,19 +287,15 @@ impl WorldSnapshot {
287/// 287///
288/// When processing non-windows path, this is essentially the same as `Url::from_file_path`. 288/// When processing non-windows path, this is essentially the same as `Url::from_file_path`.
289fn url_from_path_with_drive_lowercasing(path: impl AsRef<Path>) -> Result<Url> { 289fn url_from_path_with_drive_lowercasing(path: impl AsRef<Path>) -> Result<Url> {
290 let component_has_windows_drive = path 290 let component_has_windows_drive = path.as_ref().components().any(|comp| {
291 .as_ref() 291 if let Component::Prefix(c) = comp {
292 .components() 292 match c.kind() {
293 .find(|comp| { 293 Prefix::Disk(_) | Prefix::VerbatimDisk(_) => return true,
294 if let Component::Prefix(c) = comp { 294 _ => return false,
295 match c.kind() {
296 Prefix::Disk(_) | Prefix::VerbatimDisk(_) => return true,
297 _ => return false,
298 }
299 } 295 }
300 false 296 }
301 }) 297 false
302 .is_some(); 298 });
303 299
304 // VSCode expects drive letters to be lowercased, where rust will uppercase the drive letters. 300 // VSCode expects drive letters to be lowercased, where rust will uppercase the drive letters.
305 if component_has_windows_drive { 301 if component_has_windows_drive {