Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Investigate legacy rendering protocol issues #1029

Open
jgehrig opened this issue Nov 18, 2022 · 1 comment
Open

Investigate legacy rendering protocol issues #1029

jgehrig opened this issue Nov 18, 2022 · 1 comment

Comments

@jgehrig
Copy link
Collaborator

jgehrig commented Nov 18, 2022

We should investigate the behavior of the legacy rendering protocol to see if it is broken in neovim-qt and/or neovim.

We've defaulted to ext_linegrid=true in a recent commit, #1021.

Several users have noted issues lately:
#1028
#1003
#993

@przepompownia
Copy link

przepompownia commented Feb 28, 2023

I managed to catch some redraw bug with a simpler environment:

nvim-qt-redraw.mp4

On stderr I see:
image

init.lua:

local root = vim.fn.fnamemodify("./.repro", ":p")

-- set stdpaths to use .repro
for _, name in ipairs({ "config", "data", "state", "cache" }) do
  vim.env[("XDG_%s_HOME"):format(name:upper())] = root .. "/" .. name
end

-- bootstrap lazy
local lazypath = root .. "/plugins/lazy.nvim"
if not vim.loop.fs_stat(lazypath) then
  vim.fn.system({
    "git",
    "clone",
    "--filter=blob:none",
    "--single-branch",
    "https://github.com/folke/lazy.nvim.git",
    lazypath,
  })
end
vim.opt.runtimepath:prepend(lazypath)

-- install plugins
local plugins = {
  {
  'TimUntersberger/neogit',
    dependencies = {
      'nvim-lua/plenary.nvim',
    },
  },
  "folke/tokyonight.nvim",
  {
    "folke/noice.nvim",
    dependencies = {
      "MunifTanjim/nui.nvim",
    },
  },
}
require("lazy").setup(plugins, {
  root = root .. "/plugins",
})

-- add anything else here
vim.opt.termguicolors = true
vim.cmd([[colorscheme tokyonight]])
require('noice').setup({
  messages = {
    view = 'mini',
    view_search = false,
    view_error = 'mini',
    view_warn = 'mini',
  },
  notify = {
    enabled = true,
    view = 'mini',
  },
  lsp = {
    override = {
    },
    signature = {
      enabled = true,
      auto_open = {
        enabled = true,
        trigger = true,
        luasnip = true,
        throttle = 50,
      },
      view = nil,
    },
    hover = {
      enabled = false,
      view = nil,
      ---@type NoiceViewOptions
      opts = {},
    },
  },
  views = {
    mini = {
      timeout = 5000,
    },
  },
  presets = {
    lsp_doc_border = true,
  },
})

local neogit = require('neogit')

neogit.setup {
  -- disable_builtin_notifications = true,
  -- disable_commit_confirmation = true,
}

Reproduction in some git project:

  • nvim-qt --nvim /path/to/nvim -- -u init.lua
  • add something to stage
  • :Neogit commit
  • Press c to open gitcommit buffer
  • type some existing word, e.g. mess and <C-p> to complete from buffer words
  • type any visible character, e.g. :
  • for me message become visible just after switching to Normal mode and refreshing the view by <C-l>.

I cannot reproduce it on a fresh buffer containing one word.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants