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//! ## Planned Work
29//!
30//! - Trait additions on `CommonTreeViewProvider` for the four stubs (expansion,
31//!   selection, persist, restore)
32//! - Drag-and-drop, multi-column, badge / tooltip / icon-theming support
33//! - Tree-item validation
34
35pub mod GetTreeViewChildren;
36
37pub mod GetTreeViewItem;
38
39pub mod OnTreeViewExpansionChanged;
40
41pub mod OnTreeViewSelectionChanged;
42
43pub mod PersistTreeView;
44
45pub mod RefreshTreeView;
46
47pub mod RestoreTreeView;
48
49pub mod RevealTreeViewItem;