Trait Environment

Source
pub trait Environment:
    Clone
    + Send
    + Sync
    + 'static {
    type Stdin: AsyncRead + Unpin;
    type Stdout: AsyncWrite + Unpin;
    type Stderr: AsyncWrite + Unpin;

Show 20 methods // Required methods fn now(&self) -> OffsetDateTime; fn spawn<F>(&self, fut: F) where F: Future + Send + 'static, F::Output: Send; fn spawn_local<F>(&self, fut: F) where F: Future + 'static; fn env_var(&self, name: &str) -> Option<String>; fn env_vars(&self) -> Vec<(String, String)>; fn atty_stderr(&self) -> bool; fn stdin(&self) -> Self::Stdin; fn stdout(&self) -> Self::Stdout; fn stderr(&self) -> Self::Stderr; fn glob_files(&self, glob: &str) -> Result<Vec<PathBuf>, Error>; fn read_file<'life0, 'life1, 'async_trait>( &'life0 self, path: &'life1 Path, ) -> Pin<Box<dyn Future<Output = Result<Vec<u8>, Error>> + 'async_trait>> where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait; fn write_file<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, path: &'life1 Path, bytes: &'life2 [u8], ) -> Pin<Box<dyn Future<Output = Result<(), Error>> + 'async_trait>> where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait; fn to_file_path(&self, url: &Url) -> Option<PathBuf>; fn is_absolute(&self, path: &Path) -> bool; fn cwd(&self) -> Option<PathBuf>; fn find_config_file<'life0, 'life1, 'async_trait>( &'life0 self, from: &'life1 Path, ) -> Pin<Box<dyn Future<Output = Option<PathBuf>> + 'async_trait>> where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait; // Provided methods fn glob_files_normalized(&self, glob: &str) -> Result<Vec<PathBuf>, Error> { ... } fn cwd_normalized(&self) -> Option<PathBuf> { ... } fn to_file_path_normalized(&self, url: &Url) -> Option<PathBuf> { ... } fn find_config_file_normalized<'life0, 'life1, 'async_trait>( &'life0 self, from: &'life1 Path, ) -> Pin<Box<dyn Future<Output = Option<PathBuf>> + 'async_trait>> where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait { ... }
}
Expand description

An environment in which the operations with Taplo are executed.

This is mostly needed for sandboxed environments such as WebAssembly.

Required Associated Types§

Required Methods§

Source

fn now(&self) -> OffsetDateTime

Source

fn spawn<F>(&self, fut: F)
where F: Future + Send + 'static, F::Output: Send,

Source

fn spawn_local<F>(&self, fut: F)
where F: Future + 'static,

Source

fn env_var(&self, name: &str) -> Option<String>

Source

fn env_vars(&self) -> Vec<(String, String)>

Source

fn atty_stderr(&self) -> bool

Source

fn stdin(&self) -> Self::Stdin

Source

fn stdout(&self) -> Self::Stdout

Source

fn stderr(&self) -> Self::Stderr

Source

fn glob_files(&self, glob: &str) -> Result<Vec<PathBuf>, Error>

Source

fn read_file<'life0, 'life1, 'async_trait>( &'life0 self, path: &'life1 Path, ) -> Pin<Box<dyn Future<Output = Result<Vec<u8>, Error>> + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait,

Source

fn write_file<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, path: &'life1 Path, bytes: &'life2 [u8], ) -> Pin<Box<dyn Future<Output = Result<(), Error>> + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait,

Source

fn to_file_path(&self, url: &Url) -> Option<PathBuf>

Source

fn is_absolute(&self, path: &Path) -> bool

Source

fn cwd(&self) -> Option<PathBuf>

Absolute current working dir.

Source

fn find_config_file<'life0, 'life1, 'async_trait>( &'life0 self, from: &'life1 Path, ) -> Pin<Box<dyn Future<Output = Option<PathBuf>> + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait,

Provided Methods§

Source

fn glob_files_normalized(&self, glob: &str) -> Result<Vec<PathBuf>, Error>

Same as Self::glob_files, but the returned paths are normalized in addition.

Source

fn cwd_normalized(&self) -> Option<PathBuf>

Same as Self::cwd, but the returned path is normalized in addition.

Source

fn to_file_path_normalized(&self, url: &Url) -> Option<PathBuf>

Same as Self::to_file_path, but the returned path is normalized in addition.

Source

fn find_config_file_normalized<'life0, 'life1, 'async_trait>( &'life0 self, from: &'life1 Path, ) -> Pin<Box<dyn Future<Output = Option<PathBuf>> + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait,

Same as Self::find_config_file, but the returned path is normalized in addition.

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementors§