VSCodeVim / VSCodeVim/Vim

Support for '%' jump between multi-character keywords

Open
#8,952 2 comments 3 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

Is your feature request related to a problem? Please describe.
Hello! I've been using VSCodeVim for some time and (re-)discovered the % jump. Since I am programming in Magik (programming language from GE) for work, I wanted to configure jumping between their keywords for methods, blocks etc.
The problem is, is that the keywords consist of words (like _method/_endmethod or _loop/_endloop)

Describe the solution you'd like
If it is possible that the matchpairs supports this it would be amazing but I think that standard Vim does not support multiple characters for matchpairs, so I'm not sure it would be a great solution.

Describe alternatives you've considered
I don't know how much effort it is to add optional plugins to VSCodeVim but I've found a Vim plugin that apparently supports this: https://github.com/tmhedberg/matchit

Additional context
Example code for testing if this gets implemented:

_method test.test(param) # start of method
  ## some code
  _local v << {1, 2, 3}
  _for item _over f.fast_elements()
  _loop # start of loop block
    show(item)
  _endloop # end of loop block

  _if v.size = 3
  _then # start of if block
    write("wow")
  _endif # end of if block
_endmethod # end of method

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 locating VSCodeVim’s existing % jump and matchpairs handling, then compare the proposed behavior with the linked matchit plugin. Use the Magik example, including _method/_endmethod and _loop/_endloop, to define and verify support for multi-character keyword pairs.

Written by the indexing model from the issue text.

Assessment

Tech stack
typescript, vim, vscode
Domain
devtools, tooling
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.