Expand description
Zsh-compatible completion system (compsys)
This module implements zsh’s new completion system with full compatibility for compadd, compset, zstyle, and all completion special parameters.
§Architecture
§Default Mode (SQLite-backed)
- Cache:
~/.zshrs/compsys.db(55MB with 16,872 function bodies) compinit: Parallel fpath scan with rayon, stores bodies in SQLiteautoload -Xz: Instant lookup from SQLite (~2.7µs)- No .zcompdump file created
§–zsh-compat Mode (Traditional)
- Cache:
~/.zcompdump(761KB) compinit: Sequential scan, creates .zcompdumpautoload -Xz: Scans fpath/zwc files (~70µs)- Full zsh behavior for debugging/compatibility
§Usage
// Default mode (recommended)
zshrs -c 'compinit'
// Compat mode
zshrs --zsh-compat -c 'compinit'Architecture based on analysis of:
- zsh Src/Zle/compcore.c, complete.c, computil.c
- fish src/complete.rs (for Rust patterns)
Re-exports§
pub use arguments::arguments_analyze;pub use arguments::arguments_execute;pub use arguments::parse_action;pub use arguments::ActionType;pub use arguments::ArgRequirement;pub use arguments::ArgumentsAnalysis;pub use arguments::ArgumentsSpec;pub use arguments::ArgumentsState;pub use arguments::OptSpec;pub use arguments::OptType;pub use base::all_labels;pub use base::alternative;pub use base::completer_approximate;pub use base::completer_complete;pub use base::completer_correct;pub use base::completer_expand;pub use base::completer_history;pub use base::completer_ignored;pub use base::completer_match;pub use base::completer_prefix;pub use base::description as base_description;pub use base::dispatch_complete;pub use base::get_ignored_patterns;pub use base::is_ignored;pub use base::main_complete;pub use base::message;pub use base::multi_parts;pub use base::next_label;pub use base::normal_complete;pub use base::requested;pub use base::sep_parts;pub use base::values_complete;pub use base::wanted;pub use base::Alternative;pub use base::CompleterResult;pub use base::CompletionContext as BaseCompletionContext;pub use base::MainCompleteState;pub use base::TagManager;pub use base::Value;pub use compadd::compadd_execute;pub use compadd::CompadOpts;pub use compcore::do_completion;pub use compcore::sort_and_prioritize;pub use compcore::AmbiguousInfo;pub use compcore::CompletionMode;pub use compcore::CompletionRequestOptions;pub use compcore::CompletionState;pub use compcore::MenuInfo;pub use compinit::build_cache_from_fpath;pub use compinit::cache_entry_count;pub use compinit::cache_is_valid;pub use compinit::check_dump;pub use compinit::compdump;pub use compinit::compinit;pub use compinit::compinit_lazy;pub use compinit::get_system_fpath;pub use compinit::load_from_cache;pub use compinit::CompDef;pub use compinit::CompFile;pub use compinit::CompFileDef;pub use compinit::CompInitOpts;pub use compinit::CompInitResult;pub use completion::Completion;pub use completion::CompletionFlags;pub use completion::CompletionGroup;pub use completion::CompletionReceiver;pub use completion::GroupFlags;pub use compset::compcall_execute;pub use compset::compquote_execute;pub use compset::compset_execute;pub use compset::CompcallOpts;pub use compset::CompquoteOpts;pub use compset::CompsetOp;pub use computil::describe_execute;pub use computil::ArgSpec as UtilArgSpec;pub use computil::CompArguments;pub use computil::CompDescribe;pub use computil::CompFiles;pub use computil::CompGroupConfig;pub use computil::CompGroups;pub use computil::CompTags;pub use computil::CompValues;pub use computil::ValueSpec;pub use describe::describe_execute as native_describe;pub use describe::parse_items;pub use describe::DescribeItem;pub use describe::DescribeOpts;pub use files::directories_execute;pub use files::files_execute;pub use files::FilesOpts;pub use generate::complete_builtins;pub use generate::complete_commands_from_cache;pub use generate::complete_files;pub use generate::complete_from_cache_function;pub use generate::complete_parameters;pub use generate::complete_shell_functions;pub use generate::detect_completion_context;pub use generate::generate_completions;pub use generate::CompContext;pub use menu::parse_bindkey_output;pub use menu::GroupLayout;pub use menu::KeySequence;pub use menu::MenuAction;pub use menu::MenuColors;pub use menu::MenuItem;pub use menu::MenuKeymap;pub use menu::MenuLine;pub use menu::MenuMotion;pub use menu::MenuRendering;pub use menu::MenuResult;pub use menu::MenuState;pub use menu::SearchDirection;pub use menu::GROUP_COLORS;pub use shell_runner::call_program;pub use shell_runner::BuiltinDispatcher;pub use shell_runner::CompletionResult;pub use shell_runner::CompletionRunner;pub use shell_runner::ShellCompletionContext;pub use state::CompParams;pub use state::CompState;pub use state::CompletionContext;pub use system::groups;pub use system::hosts;pub use system::net_interfaces;pub use system::pids;pub use system::ports;pub use system::signals;pub use system::urls;pub use system::users;pub use zle::ZleAction;pub use zle::ZleCompletionState;pub use zle::ZleWidgets;pub use zpwr_colors::load_zpwr_config;pub use zpwr_colors::parse_zstyles_from_config;pub use zpwr_colors::parse_zstyles_from_content;pub use zpwr_colors::zpwr_list_colors;pub use zpwr_colors::HeaderColors;pub use zpwr_colors::ParsedZstyle;pub use zpwr_colors::ZstyleColors;pub use zpwr_colors::DEFAULT_PREFIX_COLOR;pub use zpwr_colors::MENU_SELECTION_COLOR;pub use zstyle::ZStyle;pub use zstyle::ZStyleLookup;pub use zstyle::ZStyleStore;pub use zstyle::STANDARD_COMPLETERS;pub use zstyle::STANDARD_STYLES;pub use zstyle::STANDARD_TAGS;
Modules§
- arguments
- Native Rust implementation of _arguments
- base
- Native Rust implementations of Base/ completion functions
- cache
- SQLite-backed cache for compsys
- compadd
- compadd builtin implementation
- compcore
- Completion core - main entry point and match processing
- compdef
- compdef - Register completion functions for commands
- compinit
- Native Rust implementation of compinit - parallelized with rayon
- completion
- Core completion data structures
- compset
- compset builtin implementation
- computil
- Completion utilities - compdescribe, comparguments, compvalues, comptags
- describe
- Native Rust implementation of _describe
- files
- Native Rust implementation of _files and _directories
- functions
- Native Rust implementations of ALL Base/ completion functions
- generate
- Completion generation from cache
- library
- Complete library of zsh completion system functions
- matching
- Completion matching specifications (-M option)
- menu
- Menu completion and interactive selection
- shell_
runner - Shell function runner for completion functions
- state
- Completion state management - the $compstate hash and special parameters
- system
- System completion functions
- zle
- ZLE (Zsh Line Editor) completion widget implementations
- zpwr_
colors - ZPWR zstyle color configuration parser
- zstyle
- zstyle builtin implementation
Constants§
- COMPSYS_
FN_ NAMES - Canonical names of compsys-style completion functions (the
underscore-prefixed
_arguments/_files/_describe/ …) that have native Rust implementations in this crate, so they don’t hit the slow shell-function autoload path.