First version
This commit is contained in:
@@ -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 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)).
|
||||
Reference in New Issue
Block a user