text_document_frontend/commands/
document_search_commands.rs1use crate::app_context::AppContext;
6use anyhow::{Context, Result};
7use document_search::{
8 FindAllDto, FindAllResultDto, FindResultDto, FindTextDto, ReplaceRangesDto,
9 ReplaceRangesResultDto, ReplaceResultDto, ReplaceTextDto, document_search_controller,
10};
11
12pub fn find_text(ctx: &AppContext, dto: &FindTextDto) -> Result<FindResultDto> {
13 document_search_controller::find_text(&ctx.db_context, &ctx.event_hub, dto).context("find_text")
14}
15
16pub fn find_all(ctx: &AppContext, dto: &FindAllDto) -> Result<FindAllResultDto> {
17 document_search_controller::find_all(&ctx.db_context, &ctx.event_hub, dto).context("find_all")
18}
19
20pub fn replace_text(
21 ctx: &AppContext,
22 stack_id: Option<u64>,
23 dto: &ReplaceTextDto,
24) -> Result<ReplaceResultDto> {
25 let mut undo_redo_manager = ctx.undo_redo_manager.lock();
26 document_search_controller::replace_text(
27 &ctx.db_context,
28 &ctx.event_hub,
29 &mut undo_redo_manager,
30 stack_id,
31 dto,
32 )
33 .context("replace_text")
34}
35
36pub fn replace_ranges(
37 ctx: &AppContext,
38 stack_id: Option<u64>,
39 dto: &ReplaceRangesDto,
40) -> Result<ReplaceRangesResultDto> {
41 let mut undo_redo_manager = ctx.undo_redo_manager.lock();
42 document_search_controller::replace_ranges(
43 &ctx.db_context,
44 &ctx.event_hub,
45 &mut undo_redo_manager,
46 stack_id,
47 dto,
48 )
49}