Hacktoberfest 2026: the issues maintainers tagged for October, open and beginner-friendly. Browse Hacktoberfest issues

InfoView updates in Insert Mode interfere with other plugins input handling

Open
#470 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Assessment

Difficulty
4/5
Estimated time
3-5 days
Newbie friendliness
35/100
Issue type
Bug
Clarity
Mostly clear
Activity status
Stale
Tech stack
lua, neovim
Domain
tooling

Research direction

Reproduce the failure with the Lean InfoView open and nvim-autopairs custom rules enabled, then compare it with the provided InsertEnter and InsertLeave callbacks that pause and unpause the InfoView pin. Inspect the interaction around lean.infoview.get_current_infoview() and pin updates. Done means Space expansion and jumping over closing pairs work while the InfoView remains open.

Written by the indexing model from the issue text.

Description

I have encountered an issue where nvim-autopairs custom rules (specifically Space expansion and jumping over closing pairs) fail to trigger when the Lean InfoView is open. When the InfoView is closed (or toggled off), nvim-autopairs works perfectly. When the InfoView is open, nvim-autopairs appears to fail silently and falls back to inserting the raw character instead of executing the rule. I do not know why (infoview hogging the thread?).

Turning off Infoview allows autopairs to work correctly. For now I'm doing it by pausing infoview when in Insert Mode.

local lean_group = vim.api.nvim_create_augroup("LeanAutoPause", { clear = true })

vim.api.nvim_create_autocmd("InsertEnter", {
    group = lean_group,
    pattern = "*.lean",
    callback = function()
        local iv = require('lean.infoview').get_current_infoview()
        if iv and iv.info and iv.info.pin then
            iv.info.pin:pause()
        end
    end,
})

vim.api.nvim_create_autocmd("InsertLeave", {
    group = lean_group,
    pattern = "*.lean",
    callback = function()
        local iv = require('lean.infoview').get_current_infoview()
        if iv and iv.info and iv.info.pin then
            iv.info.pin:unpause()
        end
    end,
})
Dominant language
Lua
Stars
607
Forks
63
Avg merge
1d 8h
Merged PRs (30d)
8

Getting set up

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.

More from Julian/lean.nvim

All issues in Julian/lean.nvim

Similar issues

More Lua issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.