pub struct VaultContext {
pub config: Arc<ResolvedConfig>,
pub template_repo: Arc<TemplateRepository>,
pub capture_repo: Arc<CaptureRepository>,
pub macro_repo: Arc<MacroRepository>,
pub type_registry: Arc<TypeRegistry>,
pub index_db: Option<Arc<IndexDb>>,
pub current_note: Option<CurrentNote>,
pub vault_root: PathBuf,
pub selector_callback: Option<SelectorCallback>,
}Expand description
Context for vault operations accessible from Lua hooks.
This struct holds Arc references to avoid cloning large repositories. It’s designed to be passed to Lua bindings for template/capture/macro execution.
Fields§
§config: Arc<ResolvedConfig>Resolved configuration with paths.
template_repo: Arc<TemplateRepository>Template repository for loading templates.
capture_repo: Arc<CaptureRepository>Capture repository for loading captures.
macro_repo: Arc<MacroRepository>Macro repository for loading macros.
type_registry: Arc<TypeRegistry>Type registry for type definitions.
index_db: Option<Arc<IndexDb>>Optional index database for query operations.
current_note: Option<CurrentNote>Optional current note being processed.
vault_root: PathBufVault root path for resolving relative paths.
selector_callback: Option<SelectorCallback>Optional selector callback for interactive prompts.
Implementations§
Source§impl VaultContext
impl VaultContext
Sourcepub fn new(
config: ResolvedConfig,
template_repo: TemplateRepository,
capture_repo: CaptureRepository,
macro_repo: MacroRepository,
type_registry: TypeRegistry,
) -> Self
pub fn new( config: ResolvedConfig, template_repo: TemplateRepository, capture_repo: CaptureRepository, macro_repo: MacroRepository, type_registry: TypeRegistry, ) -> Self
Create a new VaultContext from owned values.
Sourcepub fn from_arcs(
config: Arc<ResolvedConfig>,
template_repo: Arc<TemplateRepository>,
capture_repo: Arc<CaptureRepository>,
macro_repo: Arc<MacroRepository>,
type_registry: Arc<TypeRegistry>,
) -> Self
pub fn from_arcs( config: Arc<ResolvedConfig>, template_repo: Arc<TemplateRepository>, capture_repo: Arc<CaptureRepository>, macro_repo: Arc<MacroRepository>, type_registry: Arc<TypeRegistry>, ) -> Self
Create a new VaultContext from Arc references.
Sourcepub fn with_index(self, index_db: Arc<IndexDb>) -> Self
pub fn with_index(self, index_db: Arc<IndexDb>) -> Self
Set the index database for query operations.
Sourcepub fn with_current_note(self, note: CurrentNote) -> Self
pub fn with_current_note(self, note: CurrentNote) -> Self
Set the current note being processed.
Sourcepub fn with_selector(self, callback: SelectorCallback) -> Self
pub fn with_selector(self, callback: SelectorCallback) -> Self
Set the selector callback for interactive prompts.
The selector callback is called when Lua scripts invoke mdv.selector().
It should display the items to the user and return the selected value.
Trait Implementations§
Source§impl Clone for VaultContext
impl Clone for VaultContext
Source§fn clone(&self) -> VaultContext
fn clone(&self) -> VaultContext
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreAuto Trait Implementations§
impl Freeze for VaultContext
impl !RefUnwindSafe for VaultContext
impl !Send for VaultContext
impl !Sync for VaultContext
impl Unpin for VaultContext
impl UnsafeUnpin for VaultContext
impl !UnwindSafe for VaultContext
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> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more