diff options
Diffstat (limited to 'crates')
-rw-r--r-- | crates/ra_analysis/src/imp.rs | 13 | ||||
-rw-r--r-- | crates/ra_analysis/src/lib.rs | 22 |
2 files changed, 13 insertions, 22 deletions
diff --git a/crates/ra_analysis/src/imp.rs b/crates/ra_analysis/src/imp.rs index 9ac52b5c3..248b77f5a 100644 --- a/crates/ra_analysis/src/imp.rs +++ b/crates/ra_analysis/src/imp.rs | |||
@@ -9,7 +9,7 @@ use hir::{ | |||
9 | self, FnSignatureInfo, Problem, source_binder, | 9 | self, FnSignatureInfo, Problem, source_binder, |
10 | }; | 10 | }; |
11 | use ra_db::{FilesDatabase, SourceRoot, SourceRootId, SyntaxDatabase}; | 11 | use ra_db::{FilesDatabase, SourceRoot, SourceRootId, SyntaxDatabase}; |
12 | use ra_editor::{self, find_node_at_offset, LineIndex, LocalEdit, Severity}; | 12 | use ra_editor::{self, find_node_at_offset, LocalEdit, Severity}; |
13 | use ra_syntax::{ | 13 | use ra_syntax::{ |
14 | algo::find_covering_node, | 14 | algo::find_covering_node, |
15 | ast::{self, ArgListOwner, Expr, FnDef, NameOwner}, | 15 | ast::{self, ArgListOwner, Expr, FnDef, NameOwner}, |
@@ -139,15 +139,6 @@ impl fmt::Debug for AnalysisImpl { | |||
139 | } | 139 | } |
140 | 140 | ||
141 | impl AnalysisImpl { | 141 | impl AnalysisImpl { |
142 | pub fn file_text(&self, file_id: FileId) -> Arc<String> { | ||
143 | self.db.file_text(file_id) | ||
144 | } | ||
145 | pub fn file_syntax(&self, file_id: FileId) -> SourceFileNode { | ||
146 | self.db.source_file(file_id) | ||
147 | } | ||
148 | pub fn file_line_index(&self, file_id: FileId) -> Arc<LineIndex> { | ||
149 | self.db.file_lines(file_id) | ||
150 | } | ||
151 | pub(crate) fn module_path(&self, position: FilePosition) -> Cancelable<Option<String>> { | 142 | pub(crate) fn module_path(&self, position: FilePosition) -> Cancelable<Option<String>> { |
152 | let descr = match source_binder::module_from_position(&*self.db, position)? { | 143 | let descr = match source_binder::module_from_position(&*self.db, position)? { |
153 | None => return Ok(None), | 144 | None => return Ok(None), |
@@ -400,7 +391,7 @@ impl AnalysisImpl { | |||
400 | } | 391 | } |
401 | 392 | ||
402 | pub fn assists(&self, frange: FileRange) -> Vec<SourceChange> { | 393 | pub fn assists(&self, frange: FileRange) -> Vec<SourceChange> { |
403 | let file = self.file_syntax(frange.file_id); | 394 | let file = self.db.source_file(frange.file_id); |
404 | let offset = frange.range.start(); | 395 | let offset = frange.range.start(); |
405 | let actions = vec![ | 396 | let actions = vec![ |
406 | ra_editor::flip_comma(&file, offset).map(|f| f()), | 397 | ra_editor::flip_comma(&file, offset).map(|f| f()), |
diff --git a/crates/ra_analysis/src/lib.rs b/crates/ra_analysis/src/lib.rs index 03550832e..ef08a721c 100644 --- a/crates/ra_analysis/src/lib.rs +++ b/crates/ra_analysis/src/lib.rs | |||
@@ -44,7 +44,7 @@ pub use hir::FnSignatureInfo; | |||
44 | 44 | ||
45 | pub use ra_db::{ | 45 | pub use ra_db::{ |
46 | Canceled, Cancelable, FilePosition, FileRange, | 46 | Canceled, Cancelable, FilePosition, FileRange, |
47 | CrateGraph, CrateId, SourceRootId, FileId | 47 | CrateGraph, CrateId, SourceRootId, FileId, SyntaxDatabase, FilesDatabase |
48 | }; | 48 | }; |
49 | 49 | ||
50 | #[derive(Default)] | 50 | #[derive(Default)] |
@@ -298,13 +298,13 @@ pub struct Analysis { | |||
298 | 298 | ||
299 | impl Analysis { | 299 | impl Analysis { |
300 | pub fn file_text(&self, file_id: FileId) -> Arc<String> { | 300 | pub fn file_text(&self, file_id: FileId) -> Arc<String> { |
301 | self.imp.file_text(file_id) | 301 | self.imp.db.file_text(file_id) |
302 | } | 302 | } |
303 | pub fn file_syntax(&self, file_id: FileId) -> SourceFileNode { | 303 | pub fn file_syntax(&self, file_id: FileId) -> SourceFileNode { |
304 | self.imp.file_syntax(file_id).clone() | 304 | self.imp.db.source_file(file_id).clone() |
305 | } | 305 | } |
306 | pub fn file_line_index(&self, file_id: FileId) -> Arc<LineIndex> { | 306 | pub fn file_line_index(&self, file_id: FileId) -> Arc<LineIndex> { |
307 | self.imp.file_line_index(file_id) | 307 | self.imp.db.file_lines(file_id) |
308 | } | 308 | } |
309 | pub fn extend_selection(&self, frange: FileRange) -> TextRange { | 309 | pub fn extend_selection(&self, frange: FileRange) -> TextRange { |
310 | extend_selection::extend_selection(&self.imp.db, frange) | 310 | extend_selection::extend_selection(&self.imp.db, frange) |
@@ -313,32 +313,32 @@ impl Analysis { | |||
313 | ra_editor::matching_brace(file, offset) | 313 | ra_editor::matching_brace(file, offset) |
314 | } | 314 | } |
315 | pub fn syntax_tree(&self, file_id: FileId) -> String { | 315 | pub fn syntax_tree(&self, file_id: FileId) -> String { |
316 | let file = self.imp.file_syntax(file_id); | 316 | let file = self.imp.db.source_file(file_id); |
317 | ra_editor::syntax_tree(&file) | 317 | ra_editor::syntax_tree(&file) |
318 | } | 318 | } |
319 | pub fn join_lines(&self, frange: FileRange) -> SourceChange { | 319 | pub fn join_lines(&self, frange: FileRange) -> SourceChange { |
320 | let file = self.imp.file_syntax(frange.file_id); | 320 | let file = self.imp.db.source_file(frange.file_id); |
321 | SourceChange::from_local_edit(frange.file_id, ra_editor::join_lines(&file, frange.range)) | 321 | SourceChange::from_local_edit(frange.file_id, ra_editor::join_lines(&file, frange.range)) |
322 | } | 322 | } |
323 | pub fn on_enter(&self, position: FilePosition) -> Option<SourceChange> { | 323 | pub fn on_enter(&self, position: FilePosition) -> Option<SourceChange> { |
324 | let file = self.imp.file_syntax(position.file_id); | 324 | let file = self.imp.db.source_file(position.file_id); |
325 | let edit = ra_editor::on_enter(&file, position.offset)?; | 325 | let edit = ra_editor::on_enter(&file, position.offset)?; |
326 | let res = SourceChange::from_local_edit(position.file_id, edit); | 326 | let res = SourceChange::from_local_edit(position.file_id, edit); |
327 | Some(res) | 327 | Some(res) |
328 | } | 328 | } |
329 | pub fn on_eq_typed(&self, position: FilePosition) -> Option<SourceChange> { | 329 | pub fn on_eq_typed(&self, position: FilePosition) -> Option<SourceChange> { |
330 | let file = self.imp.file_syntax(position.file_id); | 330 | let file = self.imp.db.source_file(position.file_id); |
331 | Some(SourceChange::from_local_edit( | 331 | Some(SourceChange::from_local_edit( |
332 | position.file_id, | 332 | position.file_id, |
333 | ra_editor::on_eq_typed(&file, position.offset)?, | 333 | ra_editor::on_eq_typed(&file, position.offset)?, |
334 | )) | 334 | )) |
335 | } | 335 | } |
336 | pub fn file_structure(&self, file_id: FileId) -> Vec<StructureNode> { | 336 | pub fn file_structure(&self, file_id: FileId) -> Vec<StructureNode> { |
337 | let file = self.imp.file_syntax(file_id); | 337 | let file = self.imp.db.source_file(file_id); |
338 | ra_editor::file_structure(&file) | 338 | ra_editor::file_structure(&file) |
339 | } | 339 | } |
340 | pub fn folding_ranges(&self, file_id: FileId) -> Vec<Fold> { | 340 | pub fn folding_ranges(&self, file_id: FileId) -> Vec<Fold> { |
341 | let file = self.imp.file_syntax(file_id); | 341 | let file = self.imp.db.source_file(file_id); |
342 | ra_editor::folding_ranges(&file) | 342 | ra_editor::folding_ranges(&file) |
343 | } | 343 | } |
344 | pub fn symbol_search(&self, query: Query) -> Cancelable<Vec<NavigationTarget>> { | 344 | pub fn symbol_search(&self, query: Query) -> Cancelable<Vec<NavigationTarget>> { |
@@ -373,7 +373,7 @@ impl Analysis { | |||
373 | Ok(self.imp.crate_root(crate_id)) | 373 | Ok(self.imp.crate_root(crate_id)) |
374 | } | 374 | } |
375 | pub fn runnables(&self, file_id: FileId) -> Cancelable<Vec<Runnable>> { | 375 | pub fn runnables(&self, file_id: FileId) -> Cancelable<Vec<Runnable>> { |
376 | let file = self.imp.file_syntax(file_id); | 376 | let file = self.imp.db.source_file(file_id); |
377 | Ok(runnables::runnables(self, &file, file_id)) | 377 | Ok(runnables::runnables(self, &file, file_id)) |
378 | } | 378 | } |
379 | pub fn highlight(&self, file_id: FileId) -> Cancelable<Vec<HighlightedRange>> { | 379 | pub fn highlight(&self, file_id: FileId) -> Cancelable<Vec<HighlightedRange>> { |