1.3 KiB
1.3 KiB
Context and prompting
Status: Implemented · Code: Scripts/main.js
Asking
| Command | Shortcut | Context attached |
|---|---|---|
claudenova.ask |
⌘⇧L | The active editor's selection, if any |
claudenova.askAboutSelection |
⌃⌘L | Required — warns when nothing is selected |
claudenova.addFileContext |
— | The active file's path |
claudenova.addFiles |
— | Files/folders chosen from showFileChooser |
claudenova.plan |
⌘⇧P | As ask, in plan mode |
A context object is {label, content(question)}. The label appears in the
transcript under the user turn and in the input palette's title; content()
wraps the question with the attachment.
Selection payload
selectionContext() computes 1-based line numbers by counting newlines before
the selection, and fences the text with the document's syntax name:
<question>
From `src/parser.js` lines 10–24:
```javascript
<selected text>
Controlled by `claudenova.includeSelection`.
## Prompting
`showInputPalette` (not `showInputPanel`) — it is the palette-style single-line
field, consistent with Nova's other quick entry points. Nova has no multi-line
input available to extensions; for long-form input the pattern used elsewhere in
this extension is to open a scratch document instead (see [plan mode](plan-mode.md)).