Trait taplo_common::environment::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§
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.
Object Safety§
This trait is not object safe.