Skip to main content

zsh/ported/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)
14
15// New comprehensive ZLE port from C
16
17// --- AUTO: cross-zle hoisted-fn use glob ---
18#[allow(unused_imports)]
19use crate::ported::zle::zle_h::*;
20#[allow(unused_imports)]
21use crate::ported::zle::zle_main::*;
22#[allow(unused_imports)]
23use crate::ported::zle::zle_misc::*;
24#[allow(unused_imports)]
25use crate::ported::zle::zle_hist::*;
26#[allow(unused_imports)]
27use crate::ported::zle::zle_move::*;
28#[allow(unused_imports)]
29use crate::ported::zle::zle_word::*;
30#[allow(unused_imports)]
31use crate::ported::zle::zle_params::*;
32#[allow(unused_imports)]
33use crate::ported::zle::zle_vi::*;
34#[allow(unused_imports)]
35use crate::ported::zle::zle_utils::*;
36#[allow(unused_imports)]
37use crate::ported::zle::zle_refresh::*;
38#[allow(unused_imports)]
39use crate::ported::zle::zle_tricky::*;
40#[allow(unused_imports)]
41use crate::ported::zle::textobjects::*;
42#[allow(unused_imports)]
43use crate::ported::zle::deltochar::*;
44
45pub mod zle_bindings;
46pub mod compctl;
47pub mod compcore;
48pub mod complete;
49pub mod complist;
50pub mod compmatch;
51pub mod compresult;
52pub mod computil;
53pub mod deltochar;
54pub mod zle_hist;
55pub mod zle_keymap;
56pub mod zle_main;
57pub mod zle_misc;
58pub mod zle_move;
59pub mod zle_params;
60pub mod zle_refresh;
61pub mod termquery;
62pub mod textobjects;
63pub mod zle_thingy;
64pub mod zle_tricky;
65pub mod zle_utils;
66pub mod zle_vi;
67pub mod zle_word;
68pub mod zleparameter;
69pub mod compctl_h;
70pub mod comp_h;
71pub mod zle_h;
72
73// Canonical re-exports. `Widget` / `WidgetFunc` legacy aliases live on
74// `zle_h` itself (via `pub type Widget = widget; pub use
75// WidgetImpl as WidgetFunc;`) so existing call sites keep resolving.
76pub use zle_keymap::Keymap;
77pub use zle_thingy::Thingy;
78pub use zle_h::{widget as Widget, WidgetImpl as WidgetFunc};