code_moniker_workspace/snapshot/view/
mod.rs1mod 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}