aboutsummaryrefslogtreecommitdiff
path: root/crates/ra_lsp_server/src/conv.rs
diff options
context:
space:
mode:
Diffstat (limited to 'crates/ra_lsp_server/src/conv.rs')
-rw-r--r--crates/ra_lsp_server/src/conv.rs23
1 files changed, 12 insertions, 11 deletions
diff --git a/crates/ra_lsp_server/src/conv.rs b/crates/ra_lsp_server/src/conv.rs
index 28368787c..7467f472c 100644
--- a/crates/ra_lsp_server/src/conv.rs
+++ b/crates/ra_lsp_server/src/conv.rs
@@ -1,9 +1,10 @@
1use languageserver_types::{ 1use languageserver_types::{
2 Location, Position, Range, SymbolKind, TextDocumentEdit, TextDocumentIdentifier, 2 self, Location, Position, Range, SymbolKind, TextDocumentEdit, TextDocumentIdentifier,
3 TextDocumentItem, TextDocumentPositionParams, TextEdit, Url, VersionedTextDocumentIdentifier, 3 TextDocumentItem, TextDocumentPositionParams, Url, VersionedTextDocumentIdentifier,
4}; 4};
5use ra_analysis::{FileId, FileSystemEdit, SourceChange, SourceFileNodeEdit, FilePosition}; 5use ra_analysis::{FileId, FileSystemEdit, SourceChange, SourceFileNodeEdit, FilePosition};
6use ra_editor::{AtomEdit, Edit, LineCol, LineIndex}; 6use ra_editor::{LineCol, LineIndex};
7use ra_text_edit::{AtomTextEdit, TextEdit};
7use ra_syntax::{SyntaxKind, TextRange, TextUnit}; 8use ra_syntax::{SyntaxKind, TextRange, TextUnit};
8 9
9use crate::{req, server_world::ServerWorld, Result}; 10use crate::{req, server_world::ServerWorld, Result};
@@ -91,11 +92,11 @@ impl ConvWith for Range {
91 } 92 }
92} 93}
93 94
94impl ConvWith for Edit { 95impl ConvWith for TextEdit {
95 type Ctx = LineIndex; 96 type Ctx = LineIndex;
96 type Output = Vec<TextEdit>; 97 type Output = Vec<languageserver_types::TextEdit>;
97 98
98 fn conv_with(self, line_index: &LineIndex) -> Vec<TextEdit> { 99 fn conv_with(self, line_index: &LineIndex) -> Vec<languageserver_types::TextEdit> {
99 self.into_atoms() 100 self.into_atoms()
100 .into_iter() 101 .into_iter()
101 .map_conv_with(line_index) 102 .map_conv_with(line_index)
@@ -103,12 +104,12 @@ impl ConvWith for Edit {
103 } 104 }
104} 105}
105 106
106impl ConvWith for AtomEdit { 107impl ConvWith for AtomTextEdit {
107 type Ctx = LineIndex; 108 type Ctx = LineIndex;
108 type Output = TextEdit; 109 type Output = languageserver_types::TextEdit;
109 110
110 fn conv_with(self, line_index: &LineIndex) -> TextEdit { 111 fn conv_with(self, line_index: &LineIndex) -> languageserver_types::TextEdit {
111 TextEdit { 112 languageserver_types::TextEdit {
112 range: self.delete.conv_with(line_index), 113 range: self.delete.conv_with(line_index),
113 new_text: self.insert, 114 new_text: self.insert,
114 } 115 }
@@ -228,7 +229,7 @@ impl TryConvWith for SourceChange {
228fn translate_offset_with_edit( 229fn translate_offset_with_edit(
229 pre_edit_index: &LineIndex, 230 pre_edit_index: &LineIndex,
230 offset: TextUnit, 231 offset: TextUnit,
231 edits: &[AtomEdit], 232 edits: &[AtomTextEdit],
232) -> LineCol { 233) -> LineCol {
233 let fallback = pre_edit_index.line_col(offset); 234 let fallback = pre_edit_index.line_col(offset);
234 let edit = match edits.first() { 235 let edit = match edits.first() {