Skip to main content

reovim_driver_picker/
lib.rs

1//! Picker driver for reovim.
2//!
3//! This driver defines the interface for pluggable fuzzy finder data sources.
4//! Following the mechanism/policy separation:
5//!
6//! - **Mechanism** (this driver): `Picker` trait, types, `PickerRegistry`, `PickerEngine`
7//! - **Policy** (modules): Implementations like `FilesPicker`, `BuffersPicker`, `GrepPicker`
8//!
9//! # Architecture
10//!
11//! ```text
12//! server/lib/drivers/picker/      -> Trait + Types + Registry + Engine (MECHANISM)
13//! server/modules/microscope/      -> Picker implementations + orchestration (POLICY)
14//! ```
15
16mod action;
17mod context;
18mod engine;
19mod item;
20mod picker;
21mod preview;
22mod registry;
23
24pub use {
25    action::PickerAction,
26    context::{BufferInfo, CommandInfo, OptionInfo, PickerContext},
27    engine::{EngineItem, PickerEngine, TickStatus, push_item, push_items},
28    item::{PickerData, PickerItem, file_type_icon, icon_for_path},
29    picker::Picker,
30    preview::{PreviewContent, PreviewHighlight},
31    registry::PickerRegistry,
32    reovim_driver_session::SessionRuntime,
33};