VSCodeVim / VSCodeVim/Vim

Cursor history navigation unable to go back more than one file (1.23.0 +)

Open
#7,822 1 comment 8 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
TypeScript
Stars
15.2k
Forks
1.5k
Avg merge
3d 18h
Merged PRs (30d)
6

Description

Describe the bug
When using ctrl+o it seems that we're unable to follow the history beyond a single file whereas if the vim extension is disabled, history is followable as many files are as in the cursor history

To Reproduce
Steps to reproduce the behavior:

  • Go to file A and place the cursor somewhere
  • Go to file B and place the cursor somewhere
  • Go to file C and place the cursor somewhere
  • type ctrl+o to go back one location
    • you will arrive at the cursor location in file B
  • type ctrl+o to go back one location:
    • actual: arrive at the cursor location in file C
    • expected: arrive at the cursor location from file A

Same happens if you use the built in vscode hotkeys ctrl+alt+- or manually selecting go > back
Disabling the vim extension alleviates the problem.

Expected behavior
Arrive at cursor location from file A

Environment (please complete the following information):

  • Extension (VsCodeVim) version: v1.23.1
  • VSCode version: 1.70.0-insider
    Commit: 3104db414c8fedcf6e4493f14da7df0b7413853a
    Date: 2022-07-08T05:18:19.214Z
    Electron: 18.3.5
    Chromium: 100.0.4896.160
    Node.js: 16.13.2
    V8: 10.0.139.17-electron.0
    OS: Linux x64 5.15.0-33-generic
  • OS: Distributor ID: Ubuntu
    Description: Ubuntu 20.04.4 LTS
    Release: 20.04
    Codename: focal

Additional context

  • Disabling the vim extension alleviates the problem.
  • within a particular file the cursory history works normally
  • 1.2.22 does not have this bug
  • 1.23.0 does have this bug

Contributor guide

Open the contributing guide

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 the A-to-B-to-C cursor history steps with VSCodeVim 1.23.1 and compare behavior with the extension disabled or version 1.22.22. Trace the extension's cursor-history and Ctrl+O/back-navigation handling; done means repeated navigation returns from C to B and then A as expected.

Written by the indexing model from the issue text.

Assessment

Tech stack
typescript, vscode
Domain
developer-experience, tooling
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.