Skip to main content

Mountain/Command/
TreeView.rs

1#![allow(non_snake_case)]
2
3//! # TreeView (Tauri command surface)
4//!
5//! Bridges tree-view UI requests from Sky (file explorer, SCM
6//! viewlet, debug viewlet, extension-contributed views) into the
7//! `MountainEnvironment::Require<dyn TreeViewProvider>` registry.
8//! Eight wire-bound commands, each in its own file (file name =
9//! Tauri command identifier per the Naming-Convention exception):
10//!
11//! - `GetTreeViewChildren::GetTreeViewChildren` - fetch children for a tree
12//!   node (or root).
13//! - `GetTreeViewItem::GetTreeViewItem` - fetch a single item's metadata.
14//! - `OnTreeViewExpansionChanged::OnTreeViewExpansionChanged` (stub).
15//! - `OnTreeViewSelectionChanged::OnTreeViewSelectionChanged` (stub).
16//! - `RefreshTreeView::RefreshTreeView` - request data refresh.
17//! - `RevealTreeViewItem::RevealTreeViewItem` - focus / scroll-into -view.
18//! - `PersistTreeView::PersistTreeView` (stub).
19//! - `RestoreTreeView::RestoreTreeView` (stub).
20//!
21//! Errors propagate as `Result<Value, String>` with the error
22//! string surfaced directly to the renderer.
23//!
24//! VS Code reference:
25//! `vs/workbench/api/browser/mainThreadTreeViews.ts`,
26//! `vs/workbench/api/common/extHostTreeViews.ts`.
27//!
28//! TODO: trait additions on `CommonTreeViewProvider` for the four
29//! stubs above (expansion, selection, persist, restore). Drag-and-
30//! drop, multi-column, badge / tooltip / icon-theming support, and
31//! tree-item validation are deferred.
32
33pub mod GetTreeViewChildren;
34pub mod GetTreeViewItem;
35pub mod OnTreeViewExpansionChanged;
36pub mod OnTreeViewSelectionChanged;
37pub mod PersistTreeView;
38pub mod RefreshTreeView;
39pub mod RestoreTreeView;
40pub mod RevealTreeViewItem;