reqlanOverviewIdeasFilesCode filesClustersAttributesGraphPrint

Printable idea sheet

ast_lifecycle

reqlan rq/extension/language/support/open-file-sequencing.rq:85

Katz 0.249

The open buffer has one model. That model is the Rust parse of this buffer.
local_symbolic_analysis is a file-local extract. The hot path does not run it as a second parse.
Related: open_file_algorithm, open_file_sequence_diagram, outbound_one_hop,
token_colour_sequence, parse_budget_timeout,
lsp_file_watch, language_server_rust.
Populate. Parse this buffer when the editor opens it.
Semantic tokens, same-file links, and the import list come from that parse.
Replace. When this buffer text changes, parse again and replace the model.
Do not patch the old model. A watched `.rq` change uses the same replace path
( reqlan-document-update-handler.ts ). When the text is unchanged, keep the current model.
Drop. When the editor closes the buffer, drop the model.
A closed file keeps no syntax tree ( language_server_rust ).
Import files. outbound_one_hop stores a name list for each imported file.
That list is not an open-buffer model.
A change to an imported file does not replace this buffer's model.
Read the imported file again when its content hash changes.
Incomplete parse. When the budget fails, store an empty model plus diagnostics
( ast_lifecycle ). Idea names stay empty until a later successful parse.
The node engine follows node_engine_open_path.

implementation
session.rs, analysis.rs, server.rs
status
done
tests
session.rs:open_file_diagnostics_and_close_drops_the_parse, parse-budget.test.ts:times out a hung parse worker with warning and error

Interactive page: ast_lifecycle