reqlanOverviewIdeasFilesCode filesClustersAttributesGraphPrint
Ideas/nonblocking_index

Idea detail

nonblocking_index

reqlan rq/indexer/indexer.rq:37

block done

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.

Jump to outbound references

Jump to inbound references

Navigation

Source file

reqlan rq/indexer/indexer.rq

community 36

community cluster

indexer.rq

file cluster

reqlan rq/indexer

folder cluster

status: done

status cluster

tag: Not present

tag cluster

Printable page

Static print-friendly idea sheet.

Attributes

KeyValue
tests workspace-index.test.ts, "../../packages/analytical/test/workspace-index-lazy-services.test.ts"
status done

Browse all attributes

Ancestor context

No ancestor chain recorded.

Outbound references

KindIdeaPathSnippet
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

Inbound references

KindIdeaPathSnippet
references index_diagnostics_timing reqlan rq/indexer/indexer.rq nonblocking_index
references triggers reqlan rq/indexer/indexer.rq nonblocking_index

Unresolved references

KindIdeaPathSnippet
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

Local graph

Initialising graph…