microsoft / microsoft/vscode-languageserver-node

Missing Redo state after Connection.workspace.applyEdit

Open
#1,668 4 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

info-needed
Dominant language
TypeScript
Stars
1.8k
Forks
404
Avg merge
2d 8h
Merged PRs (30d)
14

Description

Hey there,

We are developing a VSCode extension that edits a TextDocument via the LanguageServer using Connection.workspace.applyEdit. Recently we ran into an issue when editing unopened documents, the original TextDocumentEdit works fine, undo also works fine, however there is no redo state to be triggered after the edit has been undone. This also happens if the TextDocument is open but not the active editor and then vscode is closed and reopened.

There is a redo state if the TextDocument is currently open (even if it is not currently the active editor).

Cheers
Jonathan

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reproducing Connection.workspace.applyEdit with unopened documents, then compare undo and redo behavior for unopened, open-inactive, and active TextDocuments. Done means an applied edit still exposes a redo state after it is undone in the affected cases; the issue names no source file or test to begin from.

Written by the indexing model from the issue text.

Assessment

Tech stack
typescript, vscode
Domain
api, developer-experience
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.