Skip to main content

zsh/zle/
mod.rs

1//! ZLE - Zsh Line Editor
2//!
3//! Direct port from zsh/Src/Zle/*.c
4//!
5//! This module implements the full Zsh line editor with:
6//! - Vi and Emacs editing modes
7//! - Programmable keymaps
8//! - Widgets (commands)
9//! - Completion integration
10//! - History navigation
11//! - Multi-line editing
12
13// Core ZLE types (old API for exec.rs compatibility)
14pub mod keymaps;
15pub mod widgets;
16
17// New comprehensive ZLE port from C
18pub mod bindings;
19pub mod compcore_port;
20pub mod complist_port;
21pub mod compmatch_port;
22pub mod compresult_port;
23pub mod computil_port;
24pub mod deltochar;
25pub mod hist;
26pub mod keymap;
27pub mod main;
28pub mod misc;
29pub mod move_ops;
30pub mod params;
31pub mod refresh;
32pub mod termquery;
33pub mod textobjects;
34pub mod thingy;
35pub mod tricky;
36pub mod utils;
37pub mod vi;
38pub mod widget;
39pub mod word;
40pub mod zleparameter;
41
42// Re-export old API for compatibility with exec.rs
43pub use keymaps::{zle, Keymap as LegacyKeymap, KeymapName, ZleManager, ZleState};
44pub use widgets::{BuiltinWidget, Widget as LegacyWidget, WidgetResult};
45
46// Re-export new API
47pub use keymap::{Keymap, KeymapManager};
48pub use main::Zle;
49pub use thingy::Thingy;
50pub use widget::{Widget, WidgetFlags, WidgetFunc};