diff options
Diffstat (limited to 'crates/ra_lsp_server/src')
-rw-r--r-- | crates/ra_lsp_server/src/main_loop.rs | 2 | ||||
-rw-r--r-- | crates/ra_lsp_server/src/main_loop/handlers.rs | 2 | ||||
-rw-r--r-- | crates/ra_lsp_server/src/world.rs | 20 |
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`. |
289 | fn url_from_path_with_drive_lowercasing(path: impl AsRef<Path>) -> Result<Url> { | 289 | fn 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 { |