aboutsummaryrefslogtreecommitdiff
path: root/crates/ra_ide_api/src/typing.rs
diff options
context:
space:
mode:
Diffstat (limited to 'crates/ra_ide_api/src/typing.rs')
-rw-r--r--crates/ra_ide_api/src/typing.rs26
1 files changed, 13 insertions, 13 deletions
diff --git a/crates/ra_ide_api/src/typing.rs b/crates/ra_ide_api/src/typing.rs
index 94b228466..501d44dbb 100644
--- a/crates/ra_ide_api/src/typing.rs
+++ b/crates/ra_ide_api/src/typing.rs
@@ -31,12 +31,14 @@ pub(crate) fn on_enter(db: &RootDatabase, position: FilePosition) -> Option<Sour
31 let cursor_position = position.offset + TextUnit::of_str(&inserted); 31 let cursor_position = position.offset + TextUnit::of_str(&inserted);
32 let mut edit = TextEditBuilder::default(); 32 let mut edit = TextEditBuilder::default();
33 edit.insert(position.offset, inserted); 33 edit.insert(position.offset, inserted);
34 Some(SourceChange { 34
35 label: "on enter".to_string(), 35 Some(
36 source_file_edits: vec![SourceFileEdit { edit: edit.finish(), file_id: position.file_id }], 36 SourceChange::source_file_edit(
37 file_system_edits: vec![], 37 "on enter",
38 cursor_position: Some(FilePosition { offset: cursor_position, file_id: position.file_id }), 38 SourceFileEdit { edit: edit.finish(), file_id: position.file_id },
39 }) 39 )
40 .with_cursor(FilePosition { offset: cursor_position, file_id: position.file_id }),
41 )
40} 42}
41 43
42fn node_indent<'a>(file: &'a SourceFile, node: &SyntaxNode) -> Option<&'a str> { 44fn node_indent<'a>(file: &'a SourceFile, node: &SyntaxNode) -> Option<&'a str> {
@@ -110,16 +112,14 @@ pub(crate) fn on_dot_typed(db: &RootDatabase, position: FilePosition) -> Option<
110 TextRange::from_to(position.offset - current_indent_len, position.offset), 112 TextRange::from_to(position.offset - current_indent_len, position.offset),
111 target_indent.into(), 113 target_indent.into(),
112 ); 114 );
113 let res = SourceChange { 115
114 label: "reindent dot".to_string(), 116 let res = SourceChange::source_file_edit_from("reindent dot", position.file_id, edit.finish())
115 source_file_edits: vec![SourceFileEdit { edit: edit.finish(), file_id: position.file_id }], 117 .with_cursor(FilePosition {
116 file_system_edits: vec![],
117 cursor_position: Some(FilePosition {
118 offset: position.offset + target_indent_len - current_indent_len 118 offset: position.offset + target_indent_len - current_indent_len
119 + TextUnit::of_char('.'), 119 + TextUnit::of_char('.'),
120 file_id: position.file_id, 120 file_id: position.file_id,
121 }), 121 });
122 }; 122
123 Some(res) 123 Some(res)
124} 124}
125 125