Module conch_runtime::env [] [src]

This module defines various interfaces and implementations of shell environments. See the documentation around Env or DefaultEnv to get started.

Modules

atomic

A module which provides atomic implementations (which can be Send and Sync) of the various environment interfaces.

Structs

ArgsEnv

An environment module for setting and getting shell and function arguments.

Child

A future that will wait for a child process to exit.

Env

A shell environment implementation which delegates work to other environment implementations.

EnvConfig

A struct for configuring a new Env instance.

ExecEnv

An ExecutableEnvironment implementation that uses a tokio event loop to monitor when child processes have exited.

ExecutableData

Any data required to execute a child process.

FileDescEnv

An environment module for setting and getting shell file descriptors.

FnEnv

An environment module for setting and getting shell functions.

LastStatusEnv

An environment module for setting and getting the exit status of the last command to run.

PlatformSpecificAsyncIoEnv

A platform specific environment efficiently using a tokio event loop, if the current platform supports efficient async IO, or a ThreadPoolAsyncIoEnv otherwise.

PlatformSpecificRead

A platform specific adapter for async reads from a FileDesc.

PlatformSpecificWriteAll

A platform specific future that will write some data to a FileDesc.

ReadAsync

An adapter for async reads from a FileDesc.

RedirectRestorer

Maintains a state of all file descriptors that have been modified so that they can be restored later.

ThreadPoolAsyncIoEnv

An AsyncIoEnvironment implementation that uses a threadpool for doing reads and writes on synchronous/blocking FileDesc handles.

VarEnv

An environment module for setting and getting shell variables.

VarRestorer

Maintains a state of all variable definitions that have been modified so that they can be restored later.

VirtualWorkingDirEnv

An environment module for keeping track of the current working directory.

Traits

ArgumentsEnvironment

An interface for getting shell and function arguments.

AsyncIoEnvironment

An interface for performing async operations on FileDesc handles.

ChangeWorkingDirectoryEnvironment

An interface for changing the shell's current working directory.

ExecutableEnvironment

An interface for asynchronously spawning executables.

ExportedVariableEnvironment

An interface for setting and getting shell and environment variables and controlling whether or not they can appear as environment variables to subprocesses.

FileDescEnvironment

An interface for setting and getting shell file descriptors.

FunctionEnvironment

An interface for setting and getting shell functions.

IsInteractiveEnvironment

An interface for checking if the current environment is an interactive one.

LastStatusEnvironment

An interface for setting and getting the exit status of the last command to run.

RedirectEnvRestorer

An interface for maintaining a state of all file descriptors that have been modified so that they can be restored later.

ReportErrorEnvironment

An interface for reporting arbitrary errors.

SetArgumentsEnvironment

An interface for setting shell and function arguments.

StringWrapper

An interface for any Cloneable wrapper around a String.

SubEnvironment

An interface for all environments that can produce another environment, identical to itself, but any changes applied to the sub environment will not be reflected on the parent.

UnsetFunctionEnvironment

An interface for unsetting shell functions.

UnsetVariableEnvironment

An interface for unsetting shell and envrironment variables.

VarEnvRestorer

An interface for maintaining a state of all variable definitions that have been modified so that they can be restored later.

VariableEnvironment

An interface for setting and getting shell and environment variables.

WorkingDirectoryEnvironment

An interface for working with the shell's current working directory.

Type Definitions

DefaultEnv

A default environment configured with provided (non-atomic) implementations.

DefaultEnvConfig

A default environment configuration using provided (non-atomic) implementations, and powered by tokio.

DefaultEnvConfigRc

A default environment configuration using provided (non-atomic) implementations. and Rc<String> to represent shell values.

DefaultEnvRc

A default environment configured with provided (non-atomic) implementations, and Rc<String> to represent shell values.