Code reference detail
semantic-tokens-wildcard.test.ts
packages/language/test/semantic-tokens-wildcard.test.ts
| Idea | Status | Tags | Summary | Katz |
|---|---|---|---|---|
| open_file_algorithm | done | When the editor opens or changes a `.rq` buffer, `reqlan-lsp` runs this sequence. Do not wait for the ideas index. Do not wait for a workspace crawl. Detail: [open_file_sequence_diagram]. Related: [open_file_reference_sequencing], [language_server_rust], [ast_lifecycle], [outbound_one_hop], [open_file_hot_path], [token_colour_sequence], [missing_reference_colour_sequence], [lazy_features_after_outbound]. The hot path finishes before the first diagnostics publish. 1. Parse this buffer once ( [ast_lifecycle] ). 2. Colour tokens from that parse ( [token_colour_sequence] ). 3. Emit same-file links and same-file missing-idea errors from that parse. 4. Parse each imported file once, at depth 1, for idea names and lines ( [outbound_one_hop] ). Link an imported name that exists. Underline an imported name that does not ( [missing_reference_colour_sequence] ). 5. Return. A qualified reference may link to its file from the path token. Do not read that file on this path. After that publish, a background pass fills the rest ( [lazy_features_after_outbound] ). That pass must not delay steps 1 – 5. The server sends the hot publish before it starts that pass. It runs that pass only while no client message waits. A hover or a definition request goes first. A change reuses the import roots loaded at open. It does not read the config again. The node engine keeps [node_engine_open_path]. | 0.330 | |
| token_colour_sequence | done | Token colour has two layers. They must not wait for the ideas index. TextMate paints first from the buffer text. Semantic tokens paint from the one parse ( [ast_lifecycle] ). A second extract does not paint tokens. A missing reference keeps the same token colour. The error underline is a diagnostic ( [missing_reference_colour_sequence], [reference_rendering] ). Related: [syntax_highlighting]. | 0.117 | |
| complementary_information_rendering | The extension should render computed information inline in the editor as complementary text. Complementary rendering should include resolved references and optionally indirect references behind a toggle. Complementary rendering should not mutate source files unless the user explicitly applies a change. | 0.040 | ||
| wildcard_reference_highlighting | done | Bracket and wikilink forms of ["../../../language/imports.rq".wildcard_references] ( `["path/**/*.rq".idea_*]`, `[["path/*.rq".*_pane|label]]` ) must TextMate-scope as `meta.link.reqlan` with the path as `string.other.link.reqlan` — never as `comment.block.reqlan`. The grey " comment " paint happened when `#bracket-references` only allowed ID suffixes, so `/*` inside an unmatched path opened a block comment. Fixes: TextMate `#bracket-references` / wiki path patterns accept `WILDCARD_NAME` suffixes; `#comments` block begin rejects empty slash-star-star-slash; body rules try references before comments. Semantic tokens paint `WildcardReference.pathPattern` as string and `ideaPattern` as variable ( ["./features-syntax.rq".syntax_highlighting] ). Related: ["../../../language/syntax.rq".comments], ["../../../language/imports.rq".wildcard_references_webview]. | 0.079 | |
| syntax_features | The extension should provide language support for. rq files via the lsp. Syntax features should cover ideas, ideasets, imports, references, attributes, comments, and lists. Broken imports and references should be validated and reported in the editor. Go-to-definition and find-references should work for ideas, imports, and cross-file links. Find-references is served by ["../support/language-server-rust.rq".language_server_rust] ( `textDocument/references` ). Autoformatting should be supported for. rq files. | 0.046 | ||
| syntax_highlighting | done | . rq files should receive full syntax highlighting coverage for all reqlan constructs. Semantic token highlighting should distinguish ideas, attributes, references, imports, and keywords. Path + wildcard idea refs ( `["…/*.rq".idea_*]` ) must highlight as links / strings — not comment-grey — see ["./features-syntax-highlighting.rq".wildcard_reference_highlighting]. Import lines must colour path and keywords after `import` / `from` — see ["./features-syntax-highlighting.rq".import_statement_highlighting]. Same-line named braces ( `name {}`, `name {hello}` ) must close in TextMate so later one-liners stay visible — see ["./features-syntax-highlighting.rq".same_line_named_block_highlighting]. | 0.093 | |
| import_keywords | The keywords import, from, and as are reserved for import statements. Import keywords may also appear as ordinary words in idea body text when not at statement start. | 0.047 | ||
| wildcard_references_webview | done | A click on the command document link for a [wildcard_references] target runs `reqlan.openWildcardReference` and opens a dedicated **wildcard matches** webview ( beside the editor ) that lists: - Stats: matching idea count, distinct file count, and @ status breakdown - Requirements: each matching idea with name, status, path, and summary ( click opens the idea ) - Files: each matching file with idea count ( click opens the file ) Secondary action **Open in Search** seeds the activity-bar ["../extension/local-context/activitybar-panels/search.rq".search_pane_seed] via `focusIdeaSearch` with: - `query`: idea pattern with glob meta softened for fuzzy search ( `import_*` → `import` ) - `pathFilter`: the path glob as a hard AND filter ( [idea_path_filter] ) Payload builder: `buildWildcardMatchesPayload` filters the index catalog by idea glob + path filter. Protocol for the matches panel is inline host ↔ webview ( `init` / `openIdea` / `openFile` / `openSearch` ). The document-link target is the command URI. Go-to-definition does not open the panel. Highlighting of the source reference must stay link-styled — see ["../extension/language/syntax/features-syntax.rq".syntax_highlighting] and ["../extension/language/syntax/features-syntax-highlighting.rq".wildcard_reference_highlighting]. | 0.199 |
Reference labels
"../../../../packages/language/test/semantic-tokens-wildcard.test.ts", "../../../../packages/language/test/semantic-tokens-wildcard.test.ts:e2e: WildcardReference emits string + variable tokens", "../../packages/language/test/semantic-tokens-wildcard.test.ts", ../../../../packages/language/test/semantic-tokens-wildcard.test.ts, ../../../../packages/language/test/semantic-tokens-wildcard.test.ts:e2e: WildcardReference emits string + variable tokens, ../../packages/language/test/semantic-tokens-wildcard.test.ts