Minimize visibility

This commit is contained in:
Aleksey Kladov 2020-01-16 11:58:31 +01:00
parent c78d269b66
commit bd96d0b258
3 changed files with 12 additions and 6 deletions

View File

@ -63,7 +63,7 @@ pub fn for_file(world: &WorldSnapshot, file_id: FileId) -> Result<Option<CargoTa
None => return Ok(None),
};
let file_id = world.analysis().crate_root(crate_id)?;
let path = world.vfs.read().file2path(ra_vfs::VfsFile(file_id.0));
let path = world.file_id_to_path(file_id);
let res = world.workspaces.iter().find_map(|ws| match ws {
ProjectWorkspace::Cargo { cargo, .. } => {
let tgt = cargo.target_by_root(&path)?;

View File

@ -681,10 +681,12 @@ pub fn handle_code_action(
continue;
}
let edits = vec![TextEdit::new(fix.location.range, fix.replacement.clone())];
let mut edit_map = std::collections::HashMap::new();
edit_map.insert(fix.location.uri.clone(), edits);
let edit = WorkspaceEdit::new(edit_map);
let edit = {
let edits = vec![TextEdit::new(fix.location.range, fix.replacement.clone())];
let mut edit_map = std::collections::HashMap::new();
edit_map.insert(fix.location.uri.clone(), edits);
WorkspaceEdit::new(edit_map)
};
let action = CodeAction {
title: fix.title.clone(),

View File

@ -62,9 +62,9 @@ pub struct WorldSnapshot {
pub options: Options,
pub workspaces: Arc<Vec<ProjectWorkspace>>,
pub analysis: Analysis,
pub vfs: Arc<RwLock<Vfs>>,
pub latest_requests: Arc<RwLock<LatestRequests>>,
pub check_watcher: Arc<RwLock<CheckState>>,
vfs: Arc<RwLock<Vfs>>,
}
impl WorldState {
@ -265,6 +265,10 @@ pub fn file_id_to_uri(&self, id: FileId) -> Result<Url> {
Ok(url)
}
pub fn file_id_to_path(&self, id: FileId) -> PathBuf {
self.vfs.read().file2path(VfsFile(id.0))
}
pub fn file_line_endings(&self, id: FileId) -> LineEndings {
self.vfs.read().file_line_endings(VfsFile(id.0))
}