aboutsummaryrefslogtreecommitdiff
path: root/crates/ra_ide/src/lib.rs
diff options
context:
space:
mode:
authorAleksey Kladov <[email protected]>2020-06-11 10:04:09 +0100
committerAleksey Kladov <[email protected]>2020-06-23 16:51:06 +0100
commitdad1333b48c38bc7a5628fc0ff5304d003776a85 (patch)
tree29be52a980b4cae72f46a48c48135a15e31641e0 /crates/ra_ide/src/lib.rs
parent7aa66371ee3e8b31217513204c8b4f683584419d (diff)
New VFS
Diffstat (limited to 'crates/ra_ide/src/lib.rs')
-rw-r--r--crates/ra_ide/src/lib.rs17
1 files changed, 10 insertions, 7 deletions
diff --git a/crates/ra_ide/src/lib.rs b/crates/ra_ide/src/lib.rs
index 47823718f..ecac5134e 100644
--- a/crates/ra_ide/src/lib.rs
+++ b/crates/ra_ide/src/lib.rs
@@ -47,7 +47,7 @@ use std::sync::Arc;
47use ra_cfg::CfgOptions; 47use ra_cfg::CfgOptions;
48use ra_db::{ 48use ra_db::{
49 salsa::{self, ParallelDatabase}, 49 salsa::{self, ParallelDatabase},
50 CheckCanceled, Env, FileLoader, SourceDatabase, 50 CheckCanceled, Env, FileLoader, FileSet, SourceDatabase, VfsPath,
51}; 51};
52use ra_ide_db::{ 52use ra_ide_db::{
53 symbol_index::{self, FileSymbol}, 53 symbol_index::{self, FileSymbol},
@@ -78,7 +78,8 @@ pub use crate::{
78pub use hir::Documentation; 78pub use hir::Documentation;
79pub use ra_assists::{Assist, AssistConfig, AssistId, ResolvedAssist}; 79pub use ra_assists::{Assist, AssistConfig, AssistId, ResolvedAssist};
80pub use ra_db::{ 80pub use ra_db::{
81 Canceled, CrateGraph, CrateId, Edition, FileId, FilePosition, FileRange, SourceRootId, 81 Canceled, CrateGraph, CrateId, Edition, FileId, FilePosition, FileRange, SourceRoot,
82 SourceRootId,
82}; 83};
83pub use ra_ide_db::{ 84pub use ra_ide_db::{
84 change::AnalysisChange, 85 change::AnalysisChange,
@@ -212,11 +213,14 @@ impl Analysis {
212 // `AnalysisHost` for creating a fully-featured analysis. 213 // `AnalysisHost` for creating a fully-featured analysis.
213 pub fn from_single_file(text: String) -> (Analysis, FileId) { 214 pub fn from_single_file(text: String) -> (Analysis, FileId) {
214 let mut host = AnalysisHost::default(); 215 let mut host = AnalysisHost::default();
215 let source_root = SourceRootId(0); 216 let file_id = FileId(0);
217 let mut file_set = FileSet::default();
218 file_set.insert(file_id, VfsPath::new_virtual_path("/main.rs".to_string()));
219 let source_root = SourceRoot::new_local(file_set);
220
216 let mut change = AnalysisChange::new(); 221 let mut change = AnalysisChange::new();
217 change.add_root(source_root, true); 222 change.set_roots(vec![source_root]);
218 let mut crate_graph = CrateGraph::default(); 223 let mut crate_graph = CrateGraph::default();
219 let file_id = FileId(0);
220 // FIXME: cfg options 224 // FIXME: cfg options
221 // Default to enable test for single file. 225 // Default to enable test for single file.
222 let mut cfg_options = CfgOptions::default(); 226 let mut cfg_options = CfgOptions::default();
@@ -228,9 +232,8 @@ impl Analysis {
228 cfg_options, 232 cfg_options,
229 Env::default(), 233 Env::default(),
230 Default::default(), 234 Default::default(),
231 Default::default(),
232 ); 235 );
233 change.add_file(source_root, file_id, "main.rs".into(), Arc::new(text)); 236 change.change_file(file_id, Some(Arc::new(text)));
234 change.set_crate_graph(crate_graph); 237 change.set_crate_graph(crate_graph);
235 host.apply_change(change); 238 host.apply_change(change);
236 (host.analysis(), file_id) 239 (host.analysis(), file_id)