## 背景 [[Header search in file]]や[[In file search]]では候補にカーソルをあわせると背面にカーソル位置がプレビュー表示されるが、その後に起動前のカーソル位置へ戻ることができない。ファイルの中身を確認したいだけで移動したくないときは不便。 ## 調査 `AnotherQuickSwitcherModal.ts` を参考にrestoreできるような実装をしていった。 <div class="link-card-v2"> <div class="link-card-v2-site"> <img class="link-card-v2-site-icon" src="https://github.githubassets.com/favicons/favicon.svg" /> <span class="link-card-v2-site-name">GitHub</span> </div> <div class="link-card-v2-title"> feat(in file): Even if the cursor moves in the preview, restore the o… · tadashi-aikawa/obsidian-another-quick-switcher@d49fe82 </div> <div class="link-card-v2-content"> …riginal position when dismissed & register the moved position in the Vim mode jumplist </div> <img class="link-card-v2-image" src="https://opengraph.githubassets.com/ba7c9b81945ff33e9ff9e5b38f24c325318e9b2750e7b8e588d6d8d3acb81e83/tadashi-aikawa/obsidian-another-quick-switcher/commit/d49fe8287826b06fe54fb9d04408f616f95d859c" /> <a href="https://github.com/tadashi-aikawa/obsidian-another-quick-switcher/commit/d49fe8287826b06fe54fb9d04408f616f95d859c"></a> </div> jumplistへの登録は、[[DeepWiki]]に聞いてなんとか着地。 <div class="link-card-v2"> <div class="link-card-v2-site"> <img class="link-card-v2-site-icon" src="https://deepwiki.com/favicon.ico" /> <span class="link-card-v2-site-name">DeepWiki</span> </div> <div class="link-card-v2-title"> Search | DeepWiki </div> <div class="link-card-v2-content"> DeepWiki provides up-to-date documentation you can talk to, for every repo in the world. Think Deep Research for ... </div> <a href="https://deepwiki.com/search/jumplistn_de71d39c-8aa8-44be-899c-aeaf5f60a797"></a> </div> [[CodeMirror]]の非公開APIを駆使する。 ```ts private addToJumpList( editor: Editor, editorPosition: EditorPosition, to: EditorPosition, ) { const cm = (editor as any).cm?.cm; const jumpList = cm.constructor?.Vim?.getVimGlobalState_?.()?.jumpList; if (!jumpList) { return; } jumpList.add(cm, editorPosition, to); } ```