pub mod arithmetic;
pub mod ast;
pub mod backend;
pub(crate) mod backend_walker_fs;
pub mod dispatch;
pub mod duration;
pub mod help;
pub mod ignore_config;
pub mod interpreter;
pub mod output_limit;
pub mod kernel;
pub mod lexer;
pub mod nonce;
pub mod parser;
pub mod paths;
#[cfg(all(unix, feature = "subprocess"))]
pub mod pidfd;
pub mod scheduler;
pub(crate) mod telemetry;
pub mod tools;
pub mod trash;
#[cfg(feature = "os-integration")]
pub mod trash_system;
pub mod validator;
pub mod vfs;
#[cfg(all(unix, feature = "subprocess"))]
pub mod terminal;
pub use kaish_glob as glob_crate;
pub mod glob {
pub use kaish_glob::glob::{contains_glob, expand_braces, glob_match};
}
pub mod walker {
pub use kaish_glob::{
EntryTypes, FileWalker, FilterResult, GlobPath, IgnoreFilter, IncludeExclude,
PathSegment, PatternError, WalkOptions, WalkerDirEntry, WalkerError, WalkerFs,
};
pub use crate::backend_walker_fs::BackendWalkerFs;
}
pub use backend::{
BackendError, BackendResult, KernelBackend, LocalBackend, PatchOp, ReadRange,
ToolInfo, ToolResult, VirtualOverlayBackend, WriteMode,
};
pub use dispatch::{CommandDispatcher, PipelinePosition};
pub use ignore_config::{IgnoreConfig, IgnoreScope};
pub use kernel::{ExecuteOptions, Kernel, KernelConfig, VfsMountMode};
pub use output_limit::OutputLimitConfig;
#[cfg(feature = "git")]
pub use vfs::{FileStatus, GitVfs, LogEntry, StatusSummary, WorktreeInfo};
pub use scheduler::{BoundedStream, StreamStats, DEFAULT_STREAM_MAX_SIZE, drain_to_stream};
pub use vfs::JobFs;
pub use paths::{home_dir, xdg_cache_home, xdg_config_home, xdg_data_home, xdg_runtime_dir};
pub use interpreter::expand_tilde;
pub use tools::{Tool, ToolRegistry, ExecContext};