* implements rich link presentation in chats
* Allows settings to be set by experiments
* Fix rich link CI configuration
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot-Session: b8949987-7bbf-43c2-a7bb-ee6450ac74c7
---------
Copilot-Session: b8949987-7bbf-43c2-a7bb-ee6450ac74c7
* markdown: refactor: use setTaskCheckboxChecked for task toggles
The webview hand-rolled the task checkbox source edit: it looked up the list
item offset, computed the '[ ]' range and applied a StringEdit itself. That
logic now lives in EditorModel.setTaskCheckboxChecked, so delegate to it.
This also fixes toggling in read-only mode. The old handler bailed out on
model.readonlyMode and then routed through applyEdit, which is itself
read-only gated, so clicking a rendered checkbox in read-only mode did
nothing. Read-only in this editor means markers hidden and no text editing
while selection and copy still work - a rendering and interaction mode
rather than a document permission - so setTaskCheckboxChecked deliberately
bypasses that gate while applyEdit, applyEditForSelection and
materializePendingParagraph stay gated.
Requires a @vscode/markdown-editor release containing
setTaskCheckboxChecked (microsoft/vscode-packages#253).
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot-Session: e9ec8741-eb31-42f3-9e0c-13e2add8e02d
* markdown: chore: update @vscode/markdown-editor to 0.0.2-70
Picks up `EditorModel.setTaskCheckboxChecked`, which the task checkbox
handler in `markdown-editor-src/editor.ts` delegates to.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot-Session: e9ec8741-eb31-42f3-9e0c-13e2add8e02d
---------
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot-Session: e9ec8741-eb31-42f3-9e0c-13e2add8e02d
Require dynamic code block editor contributions to declare an API version and expose providers through the namespaced V1 extension API. Unsupported versions are ignored before they are advertised to the Markdown editor.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot-Session: 52d9b18a-7144-4b00-9fe2-d2672f2a5e12
Use the async clipboard strategy designed for VS Code webviews so paste reaches the EditContext-backed editor.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot-Session: 094798e8-9ed5-4fcc-95bc-949de48c691d
* markdown: fix: route undo and redo to the document history
The Agents window Markdown editor attaches an EditContext, so the browser
keeps no native undo history and the Cmd+Z / Cmd+Shift+Z chords never
reached VS Code. Wire them to the backing TextDocument's own history:
- editor.ts: pass a `historyStrategy` to `EditorController` that posts
`{ type: 'history', command }` to the extension. `record` is omitted so
the TextDocument stays the single source of truth (no second local stack
that would drift from the Edit menu, dirty state and hot exit).
- markdownEditorProvider.ts: run the built-in `undo`/`redo` command; the
active custom editor input scopes it to the resource's IUndoRedoService.
- editor.ts: apply host `update` via `replaceSourceText` instead of
`sourceText.set`, so the caret is mapped through the change (e.g. after an
undo shrinks the document) and stale pending-paragraph state is cleared.
Depends on the @vscode/markdown-editor API from microsoft/vscode-packages#189;
the pinned version must be bumped once that is published.
Fixesmicrosoft/vscode#327535
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot-Session: b5b60dce-b175-4fe6-b2b5-d18a229c9929
* markdown: chore: bump @vscode/markdown-editor to 0.0.2-40
Pick up the published `@vscode/markdown-editor` release that ships the
`IHistoryStrategy` / `EditorControllerOptions.historyStrategy` and
`EditorModel.replaceSourceText` APIs (microsoft/vscode-packages#189) the
undo/redo integration depends on. Dependency set is unchanged from
0.0.2-26; lockfile integrity matches the published tarball.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot-Session: b5b60dce-b175-4fe6-b2b5-d18a229c9929
---------
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot-Session: b5b60dce-b175-4fe6-b2b5-d18a229c9929
Introduce a `never` editor priority and make custom editors opt out of
diff and merge editors by default instead of requiring users to reset
via `workbench.diffEditorAssociations`.
- Add `RegisteredEditorPriority.never` / `CustomEditorPriority.never`
(rank 0). A `never` editor is never auto-selected for that input type
and is skipped by general `workbench.editorAssociations`, but can
still be forced by `workbench.diffEditorAssociations` or picked via
`Reopen Editor With...`.
- Resolve the `customEditors` contribution priority per input type:
string / omitted priorities map diff and merge to `never`; only an
explicit `diffEditor` / `mergeEditor` opts the editor back in.
- Filter general editor associations that point at a `never` editor for
the requested input type in the editor resolver.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
* adds proposed createQuickDiffInformation API, adopts it in markdown editor.
* Extends textEditorDiffInformation proposal instead of having new quickDiff proposal