pub struct StateBackend { /* private fields */ }Expand description
In-memory backend for testing and lightweight use.
Files are stored in a HashMap<String, String> keyed by normalized paths.
Directories are inferred from path prefixes (no explicit directory entries).
Implementations§
Source§impl StateBackend
impl StateBackend
Trait Implementations§
Source§impl Backend for StateBackend
impl Backend for StateBackend
Source§fn ls<'life0, 'life1, 'async_trait>(
&'life0 self,
path: &'life1 str,
) -> Pin<Box<dyn Future<Output = Result<Vec<DirEntry>, SynapticError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn ls<'life0, 'life1, 'async_trait>(
&'life0 self,
path: &'life1 str,
) -> Pin<Box<dyn Future<Output = Result<Vec<DirEntry>, SynapticError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
List entries in a directory.
Source§fn read_file<'life0, 'life1, 'async_trait>(
&'life0 self,
path: &'life1 str,
offset: usize,
limit: usize,
) -> Pin<Box<dyn Future<Output = Result<String, SynapticError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn read_file<'life0, 'life1, 'async_trait>(
&'life0 self,
path: &'life1 str,
offset: usize,
limit: usize,
) -> Pin<Box<dyn Future<Output = Result<String, SynapticError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Read file contents with line-based pagination.
Source§fn write_file<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
path: &'life1 str,
content: &'life2 str,
) -> Pin<Box<dyn Future<Output = Result<(), SynapticError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
fn write_file<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
path: &'life1 str,
content: &'life2 str,
) -> Pin<Box<dyn Future<Output = Result<(), SynapticError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Create or overwrite a file.
Source§fn edit_file<'life0, 'life1, 'life2, 'life3, 'async_trait>(
&'life0 self,
path: &'life1 str,
old_text: &'life2 str,
new_text: &'life3 str,
replace_all: bool,
) -> Pin<Box<dyn Future<Output = Result<(), SynapticError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
'life3: 'async_trait,
fn edit_file<'life0, 'life1, 'life2, 'life3, 'async_trait>(
&'life0 self,
path: &'life1 str,
old_text: &'life2 str,
new_text: &'life3 str,
replace_all: bool,
) -> Pin<Box<dyn Future<Output = Result<(), SynapticError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
'life3: 'async_trait,
Find-and-replace text in a file.
Source§fn glob<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
pattern: &'life1 str,
base: &'life2 str,
) -> Pin<Box<dyn Future<Output = Result<Vec<String>, SynapticError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
fn glob<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
pattern: &'life1 str,
base: &'life2 str,
) -> Pin<Box<dyn Future<Output = Result<Vec<String>, SynapticError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Match file paths against a glob pattern within a base directory.
Source§fn grep<'life0, 'life1, 'life2, 'life3, 'async_trait>(
&'life0 self,
pattern: &'life1 str,
path: Option<&'life2 str>,
file_glob: Option<&'life3 str>,
output_mode: GrepOutputMode,
) -> Pin<Box<dyn Future<Output = Result<String, SynapticError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
'life3: 'async_trait,
fn grep<'life0, 'life1, 'life2, 'life3, 'async_trait>(
&'life0 self,
pattern: &'life1 str,
path: Option<&'life2 str>,
file_glob: Option<&'life3 str>,
output_mode: GrepOutputMode,
) -> Pin<Box<dyn Future<Output = Result<String, SynapticError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
'life3: 'async_trait,
Search file contents by regex pattern.
Source§fn execute<'life0, 'life1, 'async_trait>(
&'life0 self,
_command: &'life1 str,
_timeout: Option<Duration>,
) -> Pin<Box<dyn Future<Output = Result<ExecResult, SynapticError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn execute<'life0, 'life1, 'async_trait>(
&'life0 self,
_command: &'life1 str,
_timeout: Option<Duration>,
) -> Pin<Box<dyn Future<Output = Result<ExecResult, SynapticError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Execute a shell command. Returns error by default.
Source§fn supports_execution(&self) -> bool
fn supports_execution(&self) -> bool
Whether this backend supports shell command execution.
Auto Trait Implementations§
impl Freeze for StateBackend
impl !RefUnwindSafe for StateBackend
impl Send for StateBackend
impl Sync for StateBackend
impl Unpin for StateBackend
impl UnsafeUnpin for StateBackend
impl !UnwindSafe for StateBackend
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more