Skip to main content

code_moniker_workspace/snapshot/view/
mod.rs

1mod changes;
2mod linkage;
3mod model;
4mod references;
5mod search;
6mod sources;
7mod symbols;
8
9use super::model::WorkspaceSnapshot;
10
11pub use changes::ChangeView;
12pub use linkage::LinkageView;
13pub use model::{
14	ChangeDetail, ChangeSummary, ReferenceDirection, ReferenceSet, ReferenceSetSummary,
15	ReferenceSummary, SearchHit, SourceSummary, SymbolDetail, SymbolReferences, SymbolSummary,
16	UnresolvedLinkageReport,
17};
18pub use references::ReferenceView;
19pub use search::SearchView;
20pub use sources::SourceView;
21pub use symbols::SymbolView;
22
23pub struct WorkspaceView<'a> {
24	snapshot: &'a WorkspaceSnapshot,
25}
26
27impl<'a> WorkspaceView<'a> {
28	pub fn new(snapshot: &'a WorkspaceSnapshot) -> Self {
29		Self { snapshot }
30	}
31
32	pub fn sources(&self) -> SourceView<'a> {
33		SourceView::new(self.snapshot)
34	}
35
36	pub fn symbols(&self) -> SymbolView<'a> {
37		SymbolView::new(self.snapshot)
38	}
39
40	pub fn references(&self) -> ReferenceView<'a> {
41		ReferenceView::new(self.snapshot)
42	}
43
44	pub fn search(&self) -> SearchView<'a> {
45		SearchView::new(self.snapshot)
46	}
47
48	pub fn changes(&self) -> ChangeView<'a> {
49		ChangeView::new(self.snapshot)
50	}
51
52	pub fn linkage(&self) -> LinkageView<'a> {
53		LinkageView::new(self.snapshot)
54	}
55}