런처 색인 영속 캐시와 증분 갱신 구조 적용
Some checks failed
Release Gate / gate (push) Has been cancelled

런처 색인 구조를 전체 재색인 중심에서 영속 캐시와 watcher 증분 반영 방식으로 재구성했다.

IndexService에 launcher-index.json 기반 캐시 로드/저장, 파일 생성·삭제·이름변경 증분 갱신, 디렉터리 고위험 변경 시 전체 재색인 폴백을 추가했다.

App 시작 시 캐시 로드와 파일 감시를 바로 시작하고, 무거운 전체 스캔은 실제 검색 시 한 번만 보강 실행하도록 정리했다.

README와 DEVELOPMENT 문서를 2026-04-06 18:24 (KST) 기준으로 갱신했고, Release 빌드 검증에서 경고 0 / 오류 0을 확인했다.
This commit is contained in:
2026-04-06 18:06:03 +09:00
parent 94dc325df4
commit 5bf323d4bf
4 changed files with 566 additions and 298 deletions

View File

@@ -115,6 +115,8 @@ public partial class App : System.Windows.Application
_indexService = new IndexService(settings);
var indexService = _indexService;
indexService.LoadCachedIndex();
indexService.StartWatchers();
var fuzzyEngine = new FuzzyEngine(indexService);
var commandResolver = new CommandResolver(fuzzyEngine, settings);
var contextManager = new ContextManager(settings);
@@ -288,8 +290,9 @@ public partial class App : System.Windows.Application
() => _clipboardHistory?.Initialize(),
System.Windows.Threading.DispatcherPriority.ApplicationIdle);
// ─── 인덱스 빌드/감시는 실제 런처를 사용할 때 시작 ───────────────────
// 앱 시작 직후 전체 스캔과 감시 훅을 붙이지 않아 유휴 체감 부하를 줄임
// ─── 런처 인덱스 캐시/감시 초기화 ─────────────────────────────────────
// 앱 시작 시엔 저장된 캐시를 즉시 로드하고, 파일 감시는 증분 반영 위주로 유지합니다.
// 무거운 전체 재색인은 실제 검색이 시작될 때 한 번만 보강 실행합니다.
// ─── 글로벌 훅 + 스니펫 확장기 ───────────────────────────────────────
_inputListener = new InputListener();

File diff suppressed because it is too large Load Diff