diff options
Diffstat (limited to 'crates/ra_lsp_server')
-rw-r--r-- | crates/ra_lsp_server/src/conv.rs | 11 | ||||
-rw-r--r-- | crates/ra_lsp_server/src/main.rs | 24 | ||||
-rw-r--r-- | crates/ra_lsp_server/src/main_loop/handlers.rs | 13 | ||||
-rw-r--r-- | crates/ra_lsp_server/src/path_map.rs | 2 | ||||
-rw-r--r-- | crates/ra_lsp_server/src/server_world.rs | 2 |
5 files changed, 13 insertions, 39 deletions
diff --git a/crates/ra_lsp_server/src/conv.rs b/crates/ra_lsp_server/src/conv.rs index 5d5a0c55e..28368787c 100644 --- a/crates/ra_lsp_server/src/conv.rs +++ b/crates/ra_lsp_server/src/conv.rs | |||
@@ -63,10 +63,7 @@ impl ConvWith for TextUnit { | |||
63 | 63 | ||
64 | fn conv_with(self, line_index: &LineIndex) -> Position { | 64 | fn conv_with(self, line_index: &LineIndex) -> Position { |
65 | let line_col = line_index.line_col(self); | 65 | let line_col = line_index.line_col(self); |
66 | Position::new( | 66 | Position::new(u64::from(line_col.line), u64::from(line_col.col_utf16)) |
67 | u64::from(line_col.line), | ||
68 | u64::from(u32::from(line_col.col_utf16)), | ||
69 | ) | ||
70 | } | 67 | } |
71 | } | 68 | } |
72 | 69 | ||
@@ -204,10 +201,8 @@ impl TryConvWith for SourceChange { | |||
204 | .map(|it| it.edits.as_slice()) | 201 | .map(|it| it.edits.as_slice()) |
205 | .unwrap_or(&[]); | 202 | .unwrap_or(&[]); |
206 | let line_col = translate_offset_with_edit(&*line_index, pos.offset, edits); | 203 | let line_col = translate_offset_with_edit(&*line_index, pos.offset, edits); |
207 | let position = Position::new( | 204 | let position = |
208 | u64::from(line_col.line), | 205 | Position::new(u64::from(line_col.line), u64::from(line_col.col_utf16)); |
209 | u64::from(u32::from(line_col.col_utf16)), | ||
210 | ); | ||
211 | Some(TextDocumentPositionParams { | 206 | Some(TextDocumentPositionParams { |
212 | text_document: TextDocumentIdentifier::new(pos.file_id.try_conv_with(world)?), | 207 | text_document: TextDocumentIdentifier::new(pos.file_id.try_conv_with(world)?), |
213 | position, | 208 | position, |
diff --git a/crates/ra_lsp_server/src/main.rs b/crates/ra_lsp_server/src/main.rs index 26bcddd8e..8301a1044 100644 --- a/crates/ra_lsp_server/src/main.rs +++ b/crates/ra_lsp_server/src/main.rs | |||
@@ -65,27 +65,3 @@ fn main_inner() -> Result<()> { | |||
65 | info!("... IO is down"); | 65 | info!("... IO is down"); |
66 | Ok(()) | 66 | Ok(()) |
67 | } | 67 | } |
68 | |||
69 | /* | ||
70 | (let ((backend (eglot-xref-backend))) | ||
71 | (mapcar | ||
72 | (lambda (xref) | ||
73 | (let ((loc (xref-item-location xref))) | ||
74 | (propertize | ||
75 | (concat | ||
76 | (when (xref-file-location-p loc) | ||
77 | (with-slots (file line column) loc | ||
78 | (format "%s:%s:%s:" | ||
79 | (propertize (file-relative-name file) | ||
80 | 'face 'compilation-info) | ||
81 | (propertize (format "%s" line) | ||
82 | 'face 'compilation-line | ||
83 | ) | ||
84 | column))) | ||
85 | (xref-item-summary xref)) | ||
86 | 'xref xref))) | ||
87 | (xref-backend-apropos backend "Analysis")) | ||
88 | ) | ||
89 | |||
90 | |||
91 | */ | ||
diff --git a/crates/ra_lsp_server/src/main_loop/handlers.rs b/crates/ra_lsp_server/src/main_loop/handlers.rs index 27933a7ae..6d5622b15 100644 --- a/crates/ra_lsp_server/src/main_loop/handlers.rs +++ b/crates/ra_lsp_server/src/main_loop/handlers.rs | |||
@@ -384,7 +384,7 @@ pub fn handle_completion( | |||
384 | let completion_triggered_after_single_colon = { | 384 | let completion_triggered_after_single_colon = { |
385 | let mut res = false; | 385 | let mut res = false; |
386 | if let Some(ctx) = params.context { | 386 | if let Some(ctx) = params.context { |
387 | if ctx.trigger_character.unwrap_or(String::new()) == ":" { | 387 | if ctx.trigger_character.unwrap_or_default() == ":" { |
388 | let source_file = world.analysis().file_syntax(position.file_id); | 388 | let source_file = world.analysis().file_syntax(position.file_id); |
389 | let syntax = source_file.syntax(); | 389 | let syntax = source_file.syntax(); |
390 | let text = syntax.text(); | 390 | let text = syntax.text(); |
@@ -567,10 +567,13 @@ pub fn handle_rename(world: ServerWorld, params: RenameParams) -> Result<Option< | |||
567 | let mut changes = HashMap::new(); | 567 | let mut changes = HashMap::new(); |
568 | for r in refs { | 568 | for r in refs { |
569 | if let Ok(loc) = to_location(r.0, r.1, &world, &line_index) { | 569 | if let Ok(loc) = to_location(r.0, r.1, &world, &line_index) { |
570 | changes.entry(loc.uri).or_insert(Vec::new()).push(TextEdit { | 570 | changes |
571 | range: loc.range, | 571 | .entry(loc.uri) |
572 | new_text: params.new_name.clone(), | 572 | .or_insert_with(Vec::new) |
573 | }); | 573 | .push(TextEdit { |
574 | range: loc.range, | ||
575 | new_text: params.new_name.clone(), | ||
576 | }); | ||
574 | } | 577 | } |
575 | } | 578 | } |
576 | 579 | ||
diff --git a/crates/ra_lsp_server/src/path_map.rs b/crates/ra_lsp_server/src/path_map.rs index a624043d8..02e54629c 100644 --- a/crates/ra_lsp_server/src/path_map.rs +++ b/crates/ra_lsp_server/src/path_map.rs | |||
@@ -43,7 +43,7 @@ impl PathMap { | |||
43 | (inserted, file_id) | 43 | (inserted, file_id) |
44 | } | 44 | } |
45 | pub fn get_id(&self, path: &Path) -> Option<FileId> { | 45 | pub fn get_id(&self, path: &Path) -> Option<FileId> { |
46 | self.path2id.get(path).map(|&id| id) | 46 | self.path2id.get(path).cloned() |
47 | } | 47 | } |
48 | pub fn get_path(&self, file_id: FileId) -> &Path { | 48 | pub fn get_path(&self, file_id: FileId) -> &Path { |
49 | self.id2path.get(&file_id).unwrap().as_path() | 49 | self.id2path.get(&file_id).unwrap().as_path() |
diff --git a/crates/ra_lsp_server/src/server_world.rs b/crates/ra_lsp_server/src/server_world.rs index 3e7670fcc..12faeb93a 100644 --- a/crates/ra_lsp_server/src/server_world.rs +++ b/crates/ra_lsp_server/src/server_world.rs | |||
@@ -140,7 +140,7 @@ impl ServerWorldState { | |||
140 | Ok(file_id) | 140 | Ok(file_id) |
141 | } | 141 | } |
142 | pub fn set_workspaces(&mut self, ws: Vec<CargoWorkspace>) { | 142 | pub fn set_workspaces(&mut self, ws: Vec<CargoWorkspace>) { |
143 | let mut crate_graph = CrateGraph::new(); | 143 | let mut crate_graph = CrateGraph::default(); |
144 | ws.iter() | 144 | ws.iter() |
145 | .flat_map(|ws| { | 145 | .flat_map(|ws| { |
146 | ws.packages() | 146 | ws.packages() |