From fd33c89207f6dc621ef6e8c26ea288089448d811 Mon Sep 17 00:00:00 2001 From: Aleksey Kladov Date: Fri, 28 Dec 2018 18:15:19 +0300 Subject: switch to FileRange --- crates/ra_analysis/src/extend_selection.rs | 11 +++++++++++ crates/ra_analysis/src/lib.rs | 8 +++++--- 2 files changed, 16 insertions(+), 3 deletions(-) create mode 100644 crates/ra_analysis/src/extend_selection.rs (limited to 'crates/ra_analysis') diff --git a/crates/ra_analysis/src/extend_selection.rs b/crates/ra_analysis/src/extend_selection.rs new file mode 100644 index 000000000..5e1fbee18 --- /dev/null +++ b/crates/ra_analysis/src/extend_selection.rs @@ -0,0 +1,11 @@ +use ra_db::SyntaxDatabase; + +use crate::{ + TextRange, FileRange, + db::RootDatabase, +}; + +pub(crate) fn extend_selection(db: &RootDatabase, frange: FileRange) -> TextRange { + let file = db.source_file(frange.file_id); + ra_editor::extend_selection(&file, frange.range).unwrap_or(frange.range) +} diff --git a/crates/ra_analysis/src/lib.rs b/crates/ra_analysis/src/lib.rs index 3fa4189ce..98abe8523 100644 --- a/crates/ra_analysis/src/lib.rs +++ b/crates/ra_analysis/src/lib.rs @@ -14,9 +14,11 @@ mod db; mod imp; mod completion; mod symbol_index; -mod syntax_highlighting; pub mod mock_analysis; +mod extend_selection; +mod syntax_highlighting; + use std::{fmt, sync::Arc}; use rustc_hash::FxHashMap; @@ -277,8 +279,8 @@ impl Analysis { pub fn file_line_index(&self, file_id: FileId) -> Arc { self.imp.file_line_index(file_id) } - pub fn extend_selection(&self, file: &SourceFileNode, range: TextRange) -> TextRange { - ra_editor::extend_selection(file, range).unwrap_or(range) + pub fn extend_selection(&self, frange: FileRange) -> TextRange { + extend_selection::extend_selection(&self.imp.db, frange) } pub fn matching_brace(&self, file: &SourceFileNode, offset: TextUnit) -> Option { ra_editor::matching_brace(file, offset) -- cgit v1.2.3