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§
type Stdin: AsyncRead + Unpin
type Stdout: AsyncWrite + Unpin
type Stderr: AsyncWrite + Unpin
Required Methods§
fn now(&self) -> OffsetDateTime
fn spawn<F>(&self, fut: F)
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 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§
Sourcefn glob_files_normalized(&self, glob: &str) -> Result<Vec<PathBuf>, Error>
fn glob_files_normalized(&self, glob: &str) -> Result<Vec<PathBuf>, Error>
Same as Self::glob_files, but the returned paths are
normalized in addition.
Sourcefn cwd_normalized(&self) -> Option<PathBuf>
fn cwd_normalized(&self) -> Option<PathBuf>
Same as Self::cwd, but the returned path is
normalized in addition.
Sourcefn to_file_path_normalized(&self, url: &Url) -> Option<PathBuf>
fn to_file_path_normalized(&self, url: &Url) -> Option<PathBuf>
Same as Self::to_file_path, but the returned path is
normalized in addition.
Sourcefn 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,
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.