Skip to main content

lattice_multibuffer/providers/
mod.rs

1//! M.6 (2026-06-01) onwards: in-tree multibuffer providers.
2//!
3//! Each provider is one user-facing surface (project-search,
4//! lsp-references, project-diff, etc.) built on top of the
5//! multibuffer machinery. Provider code lives in this crate per
6//! the 2026-06-01 architecture decision (`multibuffer-views.md`
7//! §3.7), behind individual cargo features:
8//!
9//! - `search` — `providers::search`, the worked SearchProvider
10//!   example. Walks the filesystem via `ignore::Walk`,
11//!   matches literal queries (regex landing in a follow-up),
12//!   streams batches via typed `ProjectSearch*` events.
13//!
14//! Each provider declares: a service trait + handle, typed
15//! events for its scan / fetch lifecycle, a minor mode contributing
16//! provider-specific keymap + lifecycle subscriptions, a public
17//! trigger function, and a boot helper that wires the service
18//! into `ServiceRegistry` + registers the mode against
19//! `ModeRegistry`.
20
21#[cfg(feature = "search")]
22pub mod search;
23
24/// OM.A1 (2026-08-25): the `*agenda*` view — every dated row that plugin
25/// `scanned-excerpt-source` producers find under the project root, globally ordered
26/// and date-grouped, as editable source excerpts. Feature-gated like
27/// `search` because it pulls the `ignore` walker.
28#[cfg(feature = "scan-view")]
29pub mod scan_view;
30
31/// OA.16: clocked time, rolled up an outline — the report
32/// `scan-view-clockreport-mode` renders over any scan view whose source
33/// reports clock spans.
34pub mod clock_report;
35
36/// N.1.1 (2026-06-10): narrow mode — a focused, editable one-excerpt
37/// multibuffer view of a region. Unlike `search`, narrow is a
38/// first-class built-in (no cargo feature gate): no async scan, no
39/// service, no per-view state beyond the excerpt.
40pub mod narrow;
41
42/// CM.4 (2026-07-22): the `*problems*` view — the current error
43/// list grouped as editable source excerpts by file. Like `narrow`,
44/// a first-class built-in (no cargo feature gate): the entry list is
45/// static, so no async scan / service / per-view state.
46pub mod plugin_view;
47pub mod problems;