pub struct Store<I: ApplicationInfo> {
pub buffers: BufferStore<I>,
pub completions: CompletionStore,
pub digraphs: DigraphStore,
pub registers: RegisterStore,
pub cursors: CursorStore<I>,
pub commands: HistoryList<EditRope>,
pub searches: HistoryList<EditRope>,
pub application: I::Store,
}
Expand description
Global editing context
Fields§
§buffers: BufferStore<I>
Tracks what buffers have been created.
completions: CompletionStore
Tracks information used for text completions.
digraphs: DigraphStore
Tracks mapped digraphs.
registers: RegisterStore
Tracks the current value of each Register.
cursors: CursorStore<I>
Tracks globally-relevant cursors and cursor groups.
commands: HistoryList<EditRope>
Tracks previous commands.
searches: HistoryList<EditRope>
Tracks previous search expressions.
application: I::Store
Application-specific storage.
Implementations§
source§impl<I> Store<I>where
I: ApplicationInfo,
impl<I> Store<I>where
I: ApplicationInfo,
sourcepub fn new(application: I::Store) -> Self
pub fn new(application: I::Store) -> Self
Create a new Store using an already initialized application store.
Wrap this store so that it can be shared between threads.
sourcepub fn load_buffer(&mut self, id: I::ContentId) -> SharedBuffer<I>
pub fn load_buffer(&mut self, id: I::ContentId) -> SharedBuffer<I>
Get a buffer via its identifier.
sourcepub fn set_aborted_cmd<T: Into<EditRope>>(&mut self, text: T)
pub fn set_aborted_cmd<T: Into<EditRope>>(&mut self, text: T)
Add a command to the command history after the prompt has been aborted.
This will not update Register::LastCommand.
sourcepub fn set_aborted_search<T: Into<EditRope>>(&mut self, text: T)
pub fn set_aborted_search<T: Into<EditRope>>(&mut self, text: T)
Add a search query to the search history after the prompt has been aborted.
This will not update Register::LastSearch.
sourcepub fn set_last_cmd<T: Into<EditRope>>(&mut self, text: T)
pub fn set_last_cmd<T: Into<EditRope>>(&mut self, text: T)
Add a command to the command history, and set Register::LastCommand.
sourcepub fn set_last_search<T: Into<EditRope>>(&mut self, text: T)
pub fn set_last_search<T: Into<EditRope>>(&mut self, text: T)
Add a search query to the search history, and set Register::LastSearch.
Trait Implementations§
source§impl<'a, I> Editable<(CursorGroupId, &'a ViewportContext<Cursor>, &'a EditContext), Store<I>, I> for SharedBuffer<I>where
I: ApplicationInfo,
impl<'a, I> Editable<(CursorGroupId, &'a ViewportContext<Cursor>, &'a EditContext), Store<I>, I> for SharedBuffer<I>where
I: ApplicationInfo,
source§fn editor_command(
&mut self,
act: &EditorAction,
ctx: &(CursorGroupId, &'a ViewportContext<Cursor>, &'a EditContext),
store: &mut Store<I>
) -> EditResult<EditInfo, I>
fn editor_command( &mut self, act: &EditorAction, ctx: &(CursorGroupId, &'a ViewportContext<Cursor>, &'a EditContext), store: &mut Store<I> ) -> EditResult<EditInfo, I>
source§impl<'a, I> Editable<(CursorGroupId, &'a ViewportContext<Cursor>, &'a EditContext), Store<I>, I> for EditBuffer<I>where
I: ApplicationInfo,
impl<'a, I> Editable<(CursorGroupId, &'a ViewportContext<Cursor>, &'a EditContext), Store<I>, I> for EditBuffer<I>where
I: ApplicationInfo,
source§fn editor_command(
&mut self,
act: &EditorAction,
ctx: &(CursorGroupId, &'a ViewportContext<Cursor>, &'a EditContext),
store: &mut Store<I>
) -> EditResult<EditInfo, I>
fn editor_command( &mut self, act: &EditorAction, ctx: &(CursorGroupId, &'a ViewportContext<Cursor>, &'a EditContext), store: &mut Store<I> ) -> EditResult<EditInfo, I>
source§impl<'a, I> EditorActions<(CursorGroupId, &'a ViewportContext<Cursor>, &'a EditContext), Store<I>, I> for EditBuffer<I>where
I: ApplicationInfo,
impl<'a, I> EditorActions<(CursorGroupId, &'a ViewportContext<Cursor>, &'a EditContext), Store<I>, I> for EditBuffer<I>where
I: ApplicationInfo,
source§fn edit(
&mut self,
action: &EditAction,
target: &EditTarget,
ictx: &(CursorGroupId, &'a ViewportContext<Cursor>, &'a EditContext),
store: &mut Store<I>
) -> EditResult<EditInfo, I>
fn edit( &mut self, action: &EditAction, target: &EditTarget, ictx: &(CursorGroupId, &'a ViewportContext<Cursor>, &'a EditContext), store: &mut Store<I> ) -> EditResult<EditInfo, I>
source§fn mark(
&mut self,
name: Mark,
ctx: &(CursorGroupId, &'a ViewportContext<Cursor>, &'a EditContext),
store: &mut Store<I>
) -> EditResult<EditInfo, I>
fn mark( &mut self, name: Mark, ctx: &(CursorGroupId, &'a ViewportContext<Cursor>, &'a EditContext), store: &mut Store<I> ) -> EditResult<EditInfo, I>
source§fn complete(
&mut self,
comptype: &CompletionType,
selection: &CompletionSelection,
display: &CompletionDisplay,
ctx: &(CursorGroupId, &'a ViewportContext<Cursor>, &'a EditContext),
store: &mut Store<I>
) -> EditResult<EditInfo, I>
fn complete( &mut self, comptype: &CompletionType, selection: &CompletionSelection, display: &CompletionDisplay, ctx: &(CursorGroupId, &'a ViewportContext<Cursor>, &'a EditContext), store: &mut Store<I> ) -> EditResult<EditInfo, I>
source§fn insert_text(
&mut self,
act: &InsertTextAction,
ctx: &(CursorGroupId, &'a ViewportContext<Cursor>, &'a EditContext),
store: &mut Store<I>
) -> EditResult<EditInfo, I>
fn insert_text( &mut self, act: &InsertTextAction, ctx: &(CursorGroupId, &'a ViewportContext<Cursor>, &'a EditContext), store: &mut Store<I> ) -> EditResult<EditInfo, I>
source§fn selection_command(
&mut self,
act: &SelectionAction,
ctx: &(CursorGroupId, &'a ViewportContext<Cursor>, &'a EditContext),
store: &mut Store<I>
) -> EditResult<EditInfo, I>
fn selection_command( &mut self, act: &SelectionAction, ctx: &(CursorGroupId, &'a ViewportContext<Cursor>, &'a EditContext), store: &mut Store<I> ) -> EditResult<EditInfo, I>
source§fn cursor_command(
&mut self,
act: &CursorAction,
ctx: &(CursorGroupId, &'a ViewportContext<Cursor>, &'a EditContext),
store: &mut Store<I>
) -> EditResult<EditInfo, I>
fn cursor_command( &mut self, act: &CursorAction, ctx: &(CursorGroupId, &'a ViewportContext<Cursor>, &'a EditContext), store: &mut Store<I> ) -> EditResult<EditInfo, I>
source§fn history_command(
&mut self,
act: &HistoryAction,
ctx: &(CursorGroupId, &'a ViewportContext<Cursor>, &'a EditContext),
store: &mut Store<I>
) -> EditResult<EditInfo, I>
fn history_command( &mut self, act: &HistoryAction, ctx: &(CursorGroupId, &'a ViewportContext<Cursor>, &'a EditContext), store: &mut Store<I> ) -> EditResult<EditInfo, I>
source§impl<'a, I> Searchable<(CursorGroupId, &'a ViewportContext<Cursor>, &'a EditContext), Store<I>, I> for SharedBuffer<I>where
I: ApplicationInfo,
impl<'a, I> Searchable<(CursorGroupId, &'a ViewportContext<Cursor>, &'a EditContext), Store<I>, I> for SharedBuffer<I>where
I: ApplicationInfo,
source§fn search(
&mut self,
dir: MoveDirMod,
count: Count,
ctx: &(CursorGroupId, &'a ViewportContext<Cursor>, &'a EditContext),
store: &mut Store<I>
) -> UIResult<EditInfo, I>
fn search( &mut self, dir: MoveDirMod, count: Count, ctx: &(CursorGroupId, &'a ViewportContext<Cursor>, &'a EditContext), store: &mut Store<I> ) -> UIResult<EditInfo, I>
source§impl<'a, I> Searchable<(CursorGroupId, &'a ViewportContext<Cursor>, &'a EditContext), Store<I>, I> for EditBuffer<I>where
I: ApplicationInfo,
impl<'a, I> Searchable<(CursorGroupId, &'a ViewportContext<Cursor>, &'a EditContext), Store<I>, I> for EditBuffer<I>where
I: ApplicationInfo,
source§fn search(
&mut self,
dir: MoveDirMod,
count: Count,
ctx: &(CursorGroupId, &'a ViewportContext<Cursor>, &'a EditContext),
store: &mut Store<I>
) -> UIResult<EditInfo, I>
fn search( &mut self, dir: MoveDirMod, count: Count, ctx: &(CursorGroupId, &'a ViewportContext<Cursor>, &'a EditContext), store: &mut Store<I> ) -> UIResult<EditInfo, I>
Auto Trait Implementations§
impl<I> !Freeze for Store<I>
impl<I> !RefUnwindSafe for Store<I>
impl<I> Send for Store<I>
impl<I> !Sync for Store<I>
impl<I> Unpin for Store<I>
impl<I> !UnwindSafe for Store<I>
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
source§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
source§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Box<dyn Trait>
(where Trait: Downcast
) to Box<dyn Any>
. Box<dyn Any>
can
then be further downcast
into Box<ConcreteType>
where ConcreteType
implements Trait
.source§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Rc<Trait>
(where Trait: Downcast
) to Rc<Any>
. Rc<Any>
can then be
further downcast
into Rc<ConcreteType>
where ConcreteType
implements Trait
.source§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
&Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
generate &Any
’s vtable from &Trait
’s.source§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
&mut Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
generate &mut Any
’s vtable from &mut Trait
’s.