From 0d76dfc9f443a02d8f645a2b3622c5ca4cc43319 Mon Sep 17 00:00:00 2001 From: Tom Moor Date: Wed, 13 May 2026 17:18:16 -0400 Subject: [PATCH] fix: Automatically expand code block if find result is within (#12346) --- app/editor/extensions/FindAndReplace.tsx | 14 ++++++++++++++ shared/editor/nodes/CodeFence.ts | 23 +++++++++++++++++++++++ 2 files changed, 37 insertions(+) diff --git a/app/editor/extensions/FindAndReplace.tsx b/app/editor/extensions/FindAndReplace.tsx index 29721ab420..d82fa7a3e6 100644 --- a/app/editor/extensions/FindAndReplace.tsx +++ b/app/editor/extensions/FindAndReplace.tsx @@ -163,6 +163,7 @@ export default class FindAndReplaceExtension extends Extension { ...attrs, }); }, + expandCodeBlockAt: + (pos: number): Command => + (state, dispatch) => { + const $pos = state.doc.resolve(pos); + const codeBlock = findParentNodeClosestToPos($pos, isCode); + if (!codeBlock) { + return false; + } + + const collapseState = CodeFence.collapseKey.getState(state); + if (!collapseState?.collapsedBlocks.has(codeBlock.pos)) { + return false; + } + + if (dispatch) { + dispatch( + state.tr + .setMeta(CodeFence.collapseKey, { expand: codeBlock.pos }) + .setMeta("addToHistory", false) + ); + } + return true; + }, toggleCodeBlockCollapse: (): Command => (state, dispatch) => { const codeBlock = findParentNode(isCode)(state.selection); if (!codeBlock) {