Skip to main content

zsh/
lib.rs

1//! Zsh interpreter and parser in Rust
2//!
3//! This crate provides:
4//! - A complete zsh lexer (`lexer` module)
5//! - A zsh parser (`parser` module)  
6//! - Shell execution engine (`exec` module)
7//! - Job control (`jobs` module)
8//! - History management (`history` module)
9//! - ZLE (Zsh Line Editor) support (`zle` module)
10//! - ZWC (compiled zsh) support (`zwc` module)
11//! - Fish-style features (`fish_features` module)
12//! - Mathematical expression evaluation (`math` module)
13
14#![allow(dead_code)]
15#![allow(unused_variables)]
16#![allow(unused_imports)]
17#![allow(unused_assignments)]
18#![allow(unreachable_patterns)]
19#![allow(deprecated)]
20#![allow(unexpected_cfgs)]
21
22pub mod attr;
23pub mod cap;
24pub mod clone;
25pub mod compat;
26pub mod completion;
27pub mod cond;
28pub mod context;
29pub mod curses;
30pub mod datetime;
31pub mod db_gdbm;
32pub mod exec;
33pub mod fds;
34pub mod files;
35pub mod fish_features;
36pub mod glob;
37pub mod hashnameddir;
38pub mod hashtable;
39pub mod hist;
40pub mod history;
41pub mod hlgroup;
42pub mod init;
43pub mod input;
44pub mod jobs;
45pub mod ksh93;
46pub mod langinfo;
47pub mod lexer;
48pub mod linklist;
49pub mod log;
50pub mod loop_port;
51pub mod mapfile;
52pub mod math;
53pub mod mathfunc;
54pub mod mem;
55pub mod modentry;
56pub mod module;
57pub mod nearcolor;
58pub mod newuser;
59pub mod options;
60pub mod param_private;
61pub mod parameter;
62pub mod params;
63pub mod parser;
64pub mod pattern;
65pub mod pcre;
66pub mod plugin_cache;
67pub mod prompt;
68pub mod random;
69pub mod random_real;
70pub mod regex_mod;
71pub mod rlimits;
72pub mod sched;
73pub mod signals;
74pub mod socket;
75pub mod sort;
76pub mod stat;
77pub mod string_port;
78pub mod stringsort;
79pub mod subscript;
80pub mod subst;
81pub mod subst_port;
82pub mod system;
83pub mod tcp;
84pub mod termcap;
85pub mod terminfo;
86pub mod text;
87pub mod tokens;
88pub mod utils;
89pub mod watch;
90pub mod zftp;
91pub mod zle;
92pub mod zprof;
93pub mod zpty;
94pub mod zselect;
95pub mod worker;
96pub mod zutil;
97pub mod zwc;
98
99pub use exec::ShellExecutor;
100pub use fish_features::{
101    autosuggest_from_history,
102    colorize_line,
103    expand_abbreviation,
104    // Syntax highlighting
105    highlight_shell,
106    // Private mode
107    is_private_mode,
108    // Killring
109    kill_add,
110    kill_replace,
111    kill_yank,
112    kill_yank_rotate,
113    set_private_mode,
114    validate_autosuggestion,
115    // Validation
116    validate_command,
117    with_abbrs,
118    with_abbrs_mut,
119    AbbrPosition,
120    // Abbreviations
121    Abbreviation,
122    AbbreviationSet,
123    // Autosuggestions
124    Autosuggestion,
125    HighlightRole,
126    HighlightSpec,
127    KillRing,
128    ValidationStatus,
129};
130pub use lexer::ZshLexer;
131pub use parser::ZshParser;
132pub use tokens::{char_tokens, LexTok};