Skip to main content

Crate yash_env

Crate yash_env 

Source
Expand description

This crate defines the shell execution environment.

A shell execution environment, Env, is a collection of data that may affect or be affected by the execution of commands. The environment consists of application-managed parts and system-managed parts. Application-managed parts are implemented in pure Rust in this crate. Many application-managed parts like functions and variables can be manipulated independently of interactions with the underlying system. System-managed parts, on the other hand, depend on the underlying system. Attributes like the working directory and umask are managed by the system to be accessed only by interaction with the system interface.

Traits declared in the system module define the interface to the system-managed parts of the environment. RealSystem provides an implementation for them that interacts with the underlying system. VirtualSystem simulates a system for testing purposes.

Re-exports§

pub use self::system::SharedSystem;
pub use self::system::System;Deprecated
pub use self::system::real::RealSystem;
pub use self::system::virtual::VirtualSystem;
pub use unix_path as path;
pub use unix_str as str;

Modules§

alias
Defining aliases
any
Types for storing arbitrary data in the environment
builtin
Type definitions for built-in utilities
decl_util
Defining declaration utilities
function
Type definitions for functions.
input
Methods about passing source code to the parser.
io
Type definitions for I/O.
job
Type definitions for job management.
option
Type definitions for shell options
parser
Shell language parser configuration and utilities
prompt
Types for injecting prompt string retrieval functions
pwd
Working directory path handling
semantics
Type definitions for command execution.
signal
Type definitions for signals
source
Source code that is passed to the parser
stack
Runtime execution context stack
subshell
Utility for starting subshells
system
API declarations and implementations for system-managed parts of the environment
trap
Signal and other event handling settings.
variable
Items for shell variables

Structs§

Env
Whole shell execution environment.