VSCodeVim / VSCodeVim/Vim

Failed to handle key ` `: Cannot read properties of undefined (reading 'lineAt')

Open
#9,827 0 comments 0 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

To Reproduce
Steps to reproduce the behavior:

  1. Go to '...'
  2. Click on '....'
  3. Scroll down to '....'
  4. See error

VSCodeVim version: 1.21.18

Stack trace
TypeError: Failed to handle key ` `: Cannot read properties of undefined (reading 'lineAt')
    at Oo.isLineEnd (c:\Users\Kotresh\.vscode\extensions\vscodevim.vim-1.32.1\out\extension.js:2:794300)
    at map (c:\Users\Kotresh\.vscode\extensions\vscodevim-sneak-fork.vscodevim-sneak-fork-1.21.18\src\mode\modeHandler.ts:811:22)
    at Array.map (<anonymous>)
    at D.actionToRecord [as runAction] (c:\Users\Kotresh\.vscode\extensions\vscodevim-sneak-fork.vscodevim-sneak-fork-1.21.18\src\mode\modeHandler.ts:808:53)
    at D.handledAsAction [as handleKeyAsAnAction] (c:\Users\Kotresh\.vscode\extensions\vscodevim-sneak-fork.vscodevim-sneak-fork-1.21.18\src\mode\modeHandler.ts:664:43)
    at D.text [as handleKeyEvent] (c:\Users\Kotresh\.vscode\extensions\vscodevim-sneak-fork.vscodevim-sneak-fork-1.21.18\src\mode\modeHandler.ts:477:11)
    at c:\Users\Kotresh\.vscode\extensions\vscodevim-sneak-fork.vscodevim-sneak-fork-1.21.18\extensionBase.ts:370:73

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 with src/mode/modeHandler.ts around lines 808-811, then trace the call from extensionBase.ts:370 and the isLineEnd stack-frame reference. Reproduce the failure by handling the space key in the reported VSCodeVim/sneak-fork setup and inspect which value is undefined. Done means the key no longer throws this lineAt error, with regression coverage if the surrounding tests expose a suitable entry point.

Written by the indexing model from the issue text.

Assessment

Tech stack
typescript
Domain
devtools
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 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.