aboutsummaryrefslogtreecommitdiff
path: root/crates/ra_analysis/src/lib.rs
diff options
context:
space:
mode:
Diffstat (limited to 'crates/ra_analysis/src/lib.rs')
-rw-r--r--crates/ra_analysis/src/lib.rs47
1 files changed, 26 insertions, 21 deletions
diff --git a/crates/ra_analysis/src/lib.rs b/crates/ra_analysis/src/lib.rs
index e75411ec9..32aa7a1fd 100644
--- a/crates/ra_analysis/src/lib.rs
+++ b/crates/ra_analysis/src/lib.rs
@@ -6,23 +6,20 @@ extern crate relative_path;
6extern crate rustc_hash; 6extern crate rustc_hash;
7extern crate salsa; 7extern crate salsa;
8 8
9mod input; 9mod completion;
10mod db; 10mod db;
11mod descriptors; 11mod descriptors;
12mod imp; 12mod imp;
13mod input;
14pub mod mock_analysis;
13mod symbol_index; 15mod symbol_index;
14mod completion;
15mod syntax_ptr; 16mod syntax_ptr;
16pub mod mock_analysis;
17 17
18use std::{ 18use std::{fmt, sync::Arc};
19 fmt,
20 sync::Arc,
21};
22 19
23use ra_syntax::{AtomEdit, File, TextRange, TextUnit}; 20use ra_syntax::{AtomEdit, File, TextRange, TextUnit};
24use relative_path::RelativePathBuf;
25use rayon::prelude::*; 21use rayon::prelude::*;
22use relative_path::RelativePathBuf;
26 23
27use crate::{ 24use crate::{
28 imp::{AnalysisHostImpl, AnalysisImpl, FileResolverImp}, 25 imp::{AnalysisHostImpl, AnalysisImpl, FileResolverImp},
@@ -30,13 +27,12 @@ use crate::{
30}; 27};
31 28
32pub use crate::{ 29pub use crate::{
33 descriptors::function::FnDescriptor,
34 completion::CompletionItem, 30 completion::CompletionItem,
35 input::{FileId, FileResolver, CrateGraph, CrateId}, 31 descriptors::function::FnDescriptor,
32 input::{CrateGraph, CrateId, FileId, FileResolver},
36}; 33};
37pub use ra_editor::{ 34pub use ra_editor::{
38 FileSymbol, Fold, FoldKind, HighlightedRange, LineIndex, Runnable, 35 FileSymbol, Fold, FoldKind, HighlightedRange, LineIndex, Runnable, RunnableKind, StructureNode,
39 RunnableKind, StructureNode,
40}; 36};
41 37
42#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)] 38#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)]
@@ -50,8 +46,7 @@ impl std::fmt::Display for Canceled {
50 } 46 }
51} 47}
52 48
53impl std::error::Error for Canceled { 49impl std::error::Error for Canceled {}
54}
55 50
56#[derive(Default)] 51#[derive(Default)]
57pub struct AnalysisChange { 52pub struct AnalysisChange {
@@ -76,7 +71,6 @@ impl fmt::Debug for AnalysisChange {
76 } 71 }
77} 72}
78 73
79
80impl AnalysisChange { 74impl AnalysisChange {
81 pub fn new() -> AnalysisChange { 75 pub fn new() -> AnalysisChange {
82 AnalysisChange::default() 76 AnalysisChange::default()
@@ -251,12 +245,15 @@ impl Analysis {
251 pub fn approximately_resolve_symbol( 245 pub fn approximately_resolve_symbol(
252 &self, 246 &self,
253 file_id: FileId, 247 file_id: FileId,
254 offset: TextUnit 248 offset: TextUnit,
255 ) -> Cancelable<Vec<(FileId, FileSymbol)>> { 249 ) -> Cancelable<Vec<(FileId, FileSymbol)>> {
256 self.imp 250 self.imp.approximately_resolve_symbol(file_id, offset)
257 .approximately_resolve_symbol(file_id, offset)
258 } 251 }
259 pub fn find_all_refs(&self, file_id: FileId, offset: TextUnit, ) -> Cancelable<Vec<(FileId, TextRange)>> { 252 pub fn find_all_refs(
253 &self,
254 file_id: FileId,
255 offset: TextUnit,
256 ) -> Cancelable<Vec<(FileId, TextRange)>> {
260 Ok(self.imp.find_all_refs(file_id, offset)) 257 Ok(self.imp.find_all_refs(file_id, offset))
261 } 258 }
262 pub fn parent_module(&self, file_id: FileId) -> Cancelable<Vec<(FileId, FileSymbol)>> { 259 pub fn parent_module(&self, file_id: FileId) -> Cancelable<Vec<(FileId, FileSymbol)>> {
@@ -276,7 +273,11 @@ impl Analysis {
276 let file = self.imp.file_syntax(file_id); 273 let file = self.imp.file_syntax(file_id);
277 Ok(ra_editor::highlight(&file)) 274 Ok(ra_editor::highlight(&file))
278 } 275 }
279 pub fn completions(&self, file_id: FileId, offset: TextUnit) -> Cancelable<Option<Vec<CompletionItem>>> { 276 pub fn completions(
277 &self,
278 file_id: FileId,
279 offset: TextUnit,
280 ) -> Cancelable<Option<Vec<CompletionItem>>> {
280 self.imp.completions(file_id, offset) 281 self.imp.completions(file_id, offset)
281 } 282 }
282 pub fn assists(&self, file_id: FileId, range: TextRange) -> Cancelable<Vec<SourceChange>> { 283 pub fn assists(&self, file_id: FileId, range: TextRange) -> Cancelable<Vec<SourceChange>> {
@@ -307,7 +308,11 @@ impl LibraryData {
307 let file = File::parse(text); 308 let file = File::parse(text);
308 (*file_id, file) 309 (*file_id, file)
309 })); 310 }));
310 LibraryData { files, file_resolver: FileResolverImp::new(file_resolver), symbol_index } 311 LibraryData {
312 files,
313 file_resolver: FileResolverImp::new(file_resolver),
314 symbol_index,
315 }
311 } 316 }
312} 317}
313 318