Code reference detail
code-actions.test.ts
reqlan rq/extension/host/packages/language/test/code-actions.test.ts
| Idea | Status | Tags | Summary | Katz |
|---|---|---|---|---|
| barrel_page | done | When a `.rq` page grows large, barrel it into a container: create one sibling file per top-level idea, import those files into the current page, and replace the page body with a single container idea whose name the user chooses ( default: the sanitized file basename ). Same-file sibling refs are rewritten to qualified imports in the child files. Existing page imports are copied into each child. Top-level ideasets are preserved in the container file. Behaviour lives in ["../../core-architecture.rq".analytical_package] and is exposed via [cli] / ["../../cli/cli_package.rq".commands] ( `reqlan barrel` ). Extension: file-level source code action **Barrel page into container … ** and command palette **Barrel Page** ( `reqlan.barrelPage` ) prompt for the container name, confirm, then create child files and rewrite the active page via WorkspaceEdit. Related: [file_based_code_actions] [decompose] | 0.184 | |
| code_actions_ignore_error | done | A Quick Fix [code_actions] on a line with diagnostics inserts [comment_reference_ignore] ( `//rq-ignore-error` ) on the line before the error. The inserted comment uses the same indent as the error line. One action is offered per line when that line has one or more diagnostics. The action is omitted when that line is already suppressed, and when the client asks only for non-quickfix kinds. Available in `.rq` files and in a comment context in a code file ( ["../language/comment-references/functional-code-comment-references.rq".references_in_functional_code_comments] ). In `#` comments the action inserts `# //rq-ignore-error` so the line stays a comment. | 0.074 | |
| create_idea_below_idea_containing_unresolved_reference_under_cursor | done | If a local idea reference does not resolve, a Quick Fix [code_actions] creates a new idea below the idea that contains the reference. The action uses the unresolved local idea names in the idea that contains the caret: - one unresolved name: apply `Create '<name>' below` directly - several unresolved names: offer `Create all unresolved ideas below` and one action per name Qualified file / import references are omitted. The new idea is an empty block inserted after the containing idea. | 0.074 | |
| file_based_code_actions | Code actions should be available for the whole file. The should include: ( regardless of cursor positions ) - barrel page — done via [barrel_page] ( `source.barrelPage` / `reqlan.barrelPage` ) - barrel idea - decompose idea - search for references. - create idea [code_actions] | 0.064 | ||
| search_code_actions | done | when cursor is in a `[reference]`, there shouls be a code action to search for references to that idea. it should also allow wrapping a selected string, or the word at the cursor when in idea-body prose, as a new `[reference]`. it should open up a webview modal that shows a search dialog that allows the user to search for potential references. the search menu should preserve / show the context of the would-be reference: the rest of the containing idea, with styling, and with the selected text pulsing / styled prominently. it should support fuzzy / partial searching via [search_analysis.fuzzy_search]. it should list the closest matches in a paginated view. selecting the idea should fill / replace the reference ( or wrap the selection as `[name]` ) and an import ( if required ) appropiately The lightbulb command ( `reqlan.searchReference` ) is arg-less because VS Code caches arg-bearing code-action commands and may dispose them on refresh ( error text like Actual command not found ). At invoke time the extension resolves the site via LSP `reqlan/referenceSearchSite`, or a local parse of the active editor when the language client is not yet running — it must not fail with a false " language server is not ready " when a local site can be resolved. | 0.116 |
Reference labels
barrel_page, code_actions_ignore_error, create_idea_below_idea_containing_unresolved_reference_under_cursor, file_based_code_actions, search_code_actions