Idea detail
nonblocking_index
reqlan rq/indexer/indexer.rq:37
Summary
Index sync must stay non-blocking for the host UI ( notably activity_bar and workspace_loading ).
Editor startup is gated by first_paint_startup; discovering a base must not construct Langium services, which are initialized lazily on the first parse.
While syncing, surface progress — state, processed / total, and the current file — in workspace_pane and index_panel.
In-flight sync must be cancellable from those surfaces; cancel keeps already-indexed rows and returns the index to ready.
Incremental behaviour ( see also indexing_incrementality ):
- Single-file create / change / delete via watchers indexes only that file — never a full base walk.
- Soft full sync ( `syncWorkspace` / Refresh ) skips parse + persist when the file's mtime matches the value stored on the documents row.
- Hard refresh ( `clearAndRebuildIndex` / Clear & rebuild ) wipes the store and reindexes every file.
Implemented by workspace-index.ts; editor adapter index-service.ts.
Attributes
| Key | Value |
|---|---|
| tests | workspace-index.test.ts, "../../packages/analytical/test/workspace-index-lazy-services.test.ts" |
| status | done |
Ancestor context
No ancestor chain recorded.
| Kind | Idea | Path | Snippet |
|---|---|---|---|
| file_reference | workspace_index | packages/analytical/src/index-store/workspace-index.ts | workspace-index.ts |
| file_reference | workspace_index_tests | packages/analytical/test/workspace-index.test.ts | workspace-index.test.ts |
| file_reference | editor_index_adapter | packages/extension/src/analytical_submodule/index-store/index-service.ts | index-service.ts |
| Kind | Idea | Path | Snippet |
|---|---|---|---|
| references | index_diagnostics_timing | reqlan rq/indexer/indexer.rq | nonblocking_index |
| references | triggers | reqlan rq/indexer/indexer.rq | nonblocking_index |
| Kind | Idea | Path | Snippet |
|---|---|---|---|
| references | activity_bar | activity_bar | |
| references | first_paint_startup | first_paint_startup | |
| references | index_panel | index_panel | |
| references | indexing_incrementality | indexing_incrementality | |
| references | workspace_loading | workspace_loading | |
| references | workspace_pane | workspace_pane |
Initialising graph…