mhinz / mhinz/vim-lookup

Support vim's func[line_num] format for callstacks

Open
#16 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Vim Script
Stars
59
Forks
7
PR merge metrics
No merged PRs in 30d

Description

I still use this plugin a lot and it's fantastic, but I'd love if I could use it to jump to vim callstacks in the quickfix. When you get a vim error, you can use vim-scriptease's :Messages to view the errors in the quickfix. It displays them like this:

 Error in function
 dirvish#open[39]
 <SNR>569_open_dir[31]
 E472: Command failed

It'd be amazing to call lookup() on dirvish#open, have it recognize it's a function name, that the 39 means the 39th line in that function, and to jump to that line within the function.

You can use :put =execute('messages') to dump messages into a buffer without a plugin, and the func[line_num] format is a vim feature. So maybe it's in scope for vim-lookup to support? If not, maybe it's an argument for #15.

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 at the lookup() entry point and inspect how it identifies Vim function names. Use the func[line_num] examples from :Messages, including dirvish#open[39] and 569_open_dir[31], to define the expected jump behavior; done means lookup() resolves the function and jumps to the specified line.

Written by the indexing model from the issue text.

Assessment

Tech stack
vim
Domain
tooling
Issue type
Feature
Difficulty
3/5
Estimated time
1-2 days
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
68/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.