CopilotC-Nvim / CopilotChat.nvim

Chat with GitHub Copilot in Neovim
https://copilotc-nvim.github.io/CopilotChat.nvim/
GNU General Public License v3.0
1.44k stars 67 forks source link

Cannot override options when `replace` layout is used #356

Open kjuq opened 2 months ago

kjuq commented 2 months ago

It is impossible to overwrite the window-scoped options set by these lines when using replace layout, even by configuring according to the document (https://github.com/CopilotC-Nvim/CopilotChat.nvim?tab=readme-ov-file#customizing-buffers).

https://github.com/CopilotC-Nvim/CopilotChat.nvim/blob/82923efe22b604cf9c0cad0bb2a74aa9247755ab/lua/CopilotChat/chat.lua#L197-L207

How to reproduce

mkdir --parents /tmp/nvim/plugins
git clone https://github.com/CopilotC-Nvim/CopilotChat.nvim /tmp/nvim/plugins/CopilotChat.nvim
git clone https://github.com/zbirenbaum/copilot.lua /tmp/nvim/plugins/copilot.lua
git clone https://github.com/nvim-lua/plenary.nvim /tmp/nvim/plugins/plenary.nvim
echo 'vim.opt.rtp:append("/tmp/nvim/plugins/CopilotChat.nvim")
vim.opt.rtp:append("/tmp/nvim/plugins/copilot.lua")
vim.opt.rtp:append("/tmp/nvim/plugins/plenary.nvim")

require("CopilotChat").setup({ window = { layout = "replace" } })

vim.api.nvim_create_autocmd("BufEnter", {
    pattern = "copilot-*",
    callback = function()
        vim.opt_local.cursorline = false
    end,
})' > /tmp/nvim/init.lua

nvim -u /tmp/nvim/init.lua
:CopilotChat

Cursorline is shown.