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: opts.modes table being ignored #4

Closed
3 tasks done
IndianBoy42 opened this issue Jun 21, 2023 · 1 comment · Fixed by #3
Closed
3 tasks done

bug: opts.modes table being ignored #4

IndianBoy42 opened this issue Jun 21, 2023 · 1 comment · Fixed by #3
Labels
bug Something isn't working

Comments

@IndianBoy42
Copy link
Contributor

Did you check docs and existing issues?

  • I have read all the flash.nvim docs
  • I have searched the existing issues of flash.nvim
  • I have searched the existing issues of plugins related to this issue

Neovim version (nvim -v)

NVIM v0.10.0-dev-541+g96b94f8d7

Operating system/version

Pop!_OS 22.04 LTS

Describe the bug

Any custom options that I add in opts.mode.<mode> are not overriding the default options. Additionally, the docs seem to say you can define custom modes that are used if we use jump{mode = "<mode>"}, which doesn't work either.

It seems the line in question is here:
https://github.com/folke/flash.nvim/blob/de34c832af2498c6954e34d3c08cf143f92f3d6b/lua/flash/config.lua#LL136C31-L136C31

Should this be options.modes[opts.mode]?

Steps To Reproduce

  1. try to override the treesitter labels treesitter = { labels = "zyx" },
  2. Invoke vS and see that the default labels are used
  3. try to create a custom mode fuzzy = { search = { mode = "fuzzy" } }, and keymapping require("flash").jump({ mode = "fuzzy" })
  4. Invoke sab and see that exact matching is used instead of fuzzy

Expected Behavior

Being able to override the options and create modes

Repro

-- DO NOT change the paths and don't remove the colorscheme
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", "https://github.com/folke/lazy.nvim.git", lazypath })
end
vim.opt.runtimepath:prepend(lazypath)

-- install plugins
local plugins = {
	"folke/tokyonight.nvim",
	{
		"folke/flash.nvim",
		opts = { modes = { treesitter = { labels = "zyx" }, fuzzy = { search = { mode = "fuzzy" } } } },
		keys = {
			{
				"s",
				mode = { "n", "x", "o" },
				function()
					-- default options: exact mode, multi window, all directions, with a backdrop
					require("flash").jump({ mode = "fuzzy" })
				end,
			},
			{
				"S",
				mode = { "o", "x" },
				function()
					require("flash").treesitter()
				end,
			},
		},
	},
	-- add any other plugins here
}
require("lazy").setup(plugins, {
	root = root .. "/plugins",
})

vim.cmd.colorscheme("tokyonight")
-- add anything else here
@IndianBoy42 IndianBoy42 added the bug Something isn't working label Jun 21, 2023
@folke folke closed this as completed in 41fab4c Jun 21, 2023
@folke
Copy link
Owner

folke commented Jun 21, 2023

Yes, you were right! Fixed now

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

Successfully merging a pull request may close this issue.

2 participants