First version

This commit is contained in:
2026-08-11 12:38:02 -03:00
parent 42e875d866
commit 89d1a06204
37 changed files with 5660 additions and 4 deletions
+40
View File
@@ -0,0 +1,40 @@
# 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 1024:
```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)).