Easymotion markers run out in the visible area.
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
EasyMotion is assigning labels to matching items starting from a line that is too far forward, extending beyond the visible display area.
I'm currently using VSCode to read a book, because I find it easier to highlight words and add comments etc using VSCodeVim extension, and the easymotion emulation provided by VSCodeVim is very helpful in navigating in text. But EasyMotion is assigning labels to matching items starting from a line that is too far forward, extending beyond the visible display area, sometimes all the labels would run out before the first visible line, making it impossible to navigate in text.
Possibly related
This may have something to do with the book I'm reading having very long lines and my turning Word Wrap on.
To Reproduce
Steps to reproduce the behavior:
- open a txt with a lot a words per line.
- turn on word wrap.
- type
<leader><leader><leader>bdwto search for start of word. - observe that there's no label on any word within screen area.
- scroll up and up and find that all the possible combinations of the characters used as jump markers are used up for labeling words far beyond the actual display area.
Expected behavior
easymotion to assign jump markers starting from the first word that's in the current display area.
Environment (please complete the following information):
- Extension (VsCodeVim) version: 1.27.1
- VSCode version: 1.84.2
- OS: macOS 10.15.4
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
No file or test is named in the issue. First reproduce it in VS Code with a long line, word wrap enabled, and the EasyMotion bdw mapping; then trace the TypeScript EasyMotion label assignment around the visible editor area. Done means labels begin at the first word in the current display area and remain usable without scrolling through wrapped content.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- typescript, vscode
- Domain
- devtools
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 42/100