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

[Bug]: show_settings = true is broken #783

Closed
3 tasks done
svenstaro opened this issue Jan 30, 2025 · 2 comments
Closed
3 tasks done

[Bug]: show_settings = true is broken #783

svenstaro opened this issue Jan 30, 2025 · 2 comments
Assignees
Labels
bug Something isn't working

Comments

@svenstaro
Copy link

svenstaro commented Jan 30, 2025

Your minimal.lua config

---@diagnostic disable: missing-fields

--[[
NOTE: Set the config path to enable the copilot adapter to work.
It will search the following paths for a token:
  - "$CODECOMPANION_TOKEN_PATH/github-copilot/hosts.json"
  - "$CODECOMPANION_TOKEN_PATH/github-copilot/apps.json"
--]]
vim.env["CODECOMPANION_TOKEN_PATH"] = vim.fn.expand("~/.config")

vim.env.LAZY_STDPATH = ".repro"
load(vim.fn.system("curl -s https://raw.githubusercontent.com/folke/lazy.nvim/main/bootstrap.lua"))()

-- Your CodeCompanion setup
local plugins = {
	{
		"olimorris/codecompanion.nvim",
		dependencies = {
			{ "nvim-treesitter/nvim-treesitter", build = ":TSUpdate" },
			{ "nvim-lua/plenary.nvim" },
			-- Test with blink.cmp
			{
				"saghen/blink.cmp",
				lazy = false,
				version = "*",
				opts = {
					keymap = {
						preset = "enter",
						["<S-Tab>"] = { "select_prev", "fallback" },
						["<Tab>"] = { "select_next", "fallback" },
					},
					sources = {
						default = { "lsp", "path", "buffer", "codecompanion" },
						cmdline = {}, -- Disable sources for command-line mode
					},
				},
			},
			-- Test with nvim-cmp
			-- { "hrsh7th/nvim-cmp" },
		},
		opts = {
			--Refer to: https://github.com/olimorris/codecompanion.nvim/blob/main/lua/codecompanion/config.lua
			strategies = {
				--NOTE: Change the adapter as required
				chat = { adapter = "copilot" },
				inline = { adapter = "copilot" },
			},
			opts = {
				log_level = "DEBUG",
			},
			display = {
				chat = {
					show_settings = true,
				},
			},
		},
	},
}

require("lazy.minit").repro({ spec = plugins })

-- Setup Tree-sitter
local ts_status, treesitter = pcall(require, "nvim-treesitter.configs")
if ts_status then
	treesitter.setup({
		ensure_installed = { "lua", "markdown", "markdown_inline", "yaml" },
		highlight = { enable = true },
	})
end

-- Setup nvim-cmp
-- local cmp_status, cmp = pcall(require, "cmp")
-- if cmp_status then
--   cmp.setup({
--     mapping = cmp.mapping.preset.insert({
--       ["<C-b>"] = cmp.mapping.scroll_docs(-4),
--       ["<C-f>"] = cmp.mapping.scroll_docs(4),
--       ["<C-Space>"] = cmp.mapping.complete(),
--       ["<C-e>"] = cmp.mapping.abort(),
--       ["<CR>"] = cmp.mapping.confirm({ select = true }),
--       -- Accept currently selected item. Set `select` to `false` to only confirm explicitly selected items.
--     }),
--   })
-- end

Error messages

Error executing Lua callback: ...ecompanion.nvim/lua/codecompanion/strategies/chat/ui.lua:261: attempt to
 index field 'settings' (a nil value)                                                                    
stack traceback:                                                                                         
        ...ecompanion.nvim/lua/codecompanion/strategies/chat/ui.lua:261: in function 'render'            
        ...ompanion.nvim/lua/codecompanion/strategies/chat/init.lua:233: in function 'chat'              
        ...m/lazy/codecompanion.nvim/lua/codecompanion/commands.lua:115: in function <...m/lazy/codecompa
nion.nvim/lua/codecompanion/commands.lua:114>                                                            
Press ENTER or type command to continue

Log output

Is not created, never sent a request.

Health check output

No response

Describe the bug

I want to set

display = {
	chat = {
		show_settings = true,
	},
},

and not have :CodeCompanionChat crash.

Reproduce the bug

nvim --clean -u minimal.lua
:CodeCompanionChat

Adapter and model

Doesn't matter

Final checks

  • I have made sure this issue exists in the latest version of the plugin
  • I have tested with the minimal.lua file from above and have shared this
  • I have shared the contents of the log file
@svenstaro svenstaro added the bug Something isn't working label Jan 30, 2025
Copy link
Contributor

Important

If your issue does NOT contain a valid minimal.lua then this issue may be closed without a response.
Thanks for respecting my time and efforts.

Thanks @svenstaro. I'll get to this as soon as I can.

In the meantime, please ensure:

  • This is a plugin related issue and not an issue with your configuration
  • You've searched for similar issues (try the discussions too)
  • You've checked out the documentation
  • The issue title is accurate
  • There is a valid minimal.lua file included so I can try and recreate the issue

@olimorris
Copy link
Owner

Thanks for catching this. I've added a test to ensure that I can spot these more easily.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

2 participants