aboutsummaryrefslogtreecommitdiff
path: root/crates/ra_ide_api/src/source_change.rs
diff options
context:
space:
mode:
authorAleksey Kladov <[email protected]>2019-10-25 09:49:38 +0100
committerAleksey Kladov <[email protected]>2019-10-25 09:49:38 +0100
commit6f00bb1cb0e5fb72fac092d63c07f8652091d4d9 (patch)
treee001a5ca6beb12dd41cc046fbec88f872f3ce036 /crates/ra_ide_api/src/source_change.rs
parentb112430ca73f646b6cb779ab09a3f691aad22442 (diff)
introduce SingleFileChange
Diffstat (limited to 'crates/ra_ide_api/src/source_change.rs')
-rw-r--r--crates/ra_ide_api/src/source_change.rs19
1 files changed, 18 insertions, 1 deletions
diff --git a/crates/ra_ide_api/src/source_change.rs b/crates/ra_ide_api/src/source_change.rs
index 80e8821b0..4e63bbf6f 100644
--- a/crates/ra_ide_api/src/source_change.rs
+++ b/crates/ra_ide_api/src/source_change.rs
@@ -6,7 +6,7 @@
6use ra_text_edit::TextEdit; 6use ra_text_edit::TextEdit;
7use relative_path::RelativePathBuf; 7use relative_path::RelativePathBuf;
8 8
9use crate::{FileId, FilePosition, SourceRootId}; 9use crate::{FileId, FilePosition, SourceRootId, TextUnit};
10 10
11#[derive(Debug)] 11#[derive(Debug)]
12pub struct SourceChange { 12pub struct SourceChange {
@@ -100,3 +100,20 @@ pub enum FileSystemEdit {
100 CreateFile { source_root: SourceRootId, path: RelativePathBuf }, 100 CreateFile { source_root: SourceRootId, path: RelativePathBuf },
101 MoveFile { src: FileId, dst_source_root: SourceRootId, dst_path: RelativePathBuf }, 101 MoveFile { src: FileId, dst_source_root: SourceRootId, dst_path: RelativePathBuf },
102} 102}
103
104pub(crate) struct SingleFileChange {
105 pub label: String,
106 pub edit: TextEdit,
107 pub cursor_position: Option<TextUnit>,
108}
109
110impl SingleFileChange {
111 pub(crate) fn into_source_change(self, file_id: FileId) -> SourceChange {
112 SourceChange {
113 label: self.label,
114 source_file_edits: vec![SourceFileEdit { file_id, edit: self.edit }],
115 file_system_edits: Vec::new(),
116 cursor_position: self.cursor_position.map(|offset| FilePosition { file_id, offset }),
117 }
118 }
119}