-- copied whichkey example
function ExecRun()
if vim.bo.filetype == "rust" then
vim.cmd("RustRun")
elseif vim.bo.filetype == "go" then
vim.cmd("GoRun")
end
end
c = {
name = "Code",
r = { ExecRun, "ExecRun" },
g = { "GoRun", "GoRun" },
p = { "RustRun", "RustRun" },
b = { "GoBuild", "GoBuild" },
l = { "Golint", "GoLint" }
},
Steps To Reproduce
Create a function like:
function ExecRun() if vim.bo.filetype == "rust" then vim.cmd("RustRun") elseif vim.bo.filetype == "go" then vim.cmd("GoRun") end end
Map the function on a key.
Run the key to see the result of a simple program like rust or go to se mixed result.
Expected Behavior
It is expected see console result below the compiler run command.
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/which-key.nvim", config = true },
-- add any other plugins here
}
require("lazy").setup(plugins, {
root = root .. "/plugins",
})
vim.cmd.colorscheme("tokyonight")
-- add anything else here
Did you check docs and existing issues?
Neovim version (nvim -v)
NVIM v0.9.4 Build type: Release
Operating system/version
archlinux
Describe the bug
Hello, Mapping a function on a key has a problem.
For example ExecRun() function mapped on r in a test program results on:
while running the command GoRun directly:
-- copied whichkey example function ExecRun() if vim.bo.filetype == "rust" then vim.cmd("RustRun") elseif vim.bo.filetype == "go" then vim.cmd("GoRun") end end
local mappings = { -- ["e"] = { "NvimTreeToggle", "Explorer" },
["e"] = { "Neotree", "Explorer" },
c = { name = "Code", r = { ExecRun, "ExecRun" }, g = { "GoRun", "GoRun" },
p = { "RustRun", "RustRun" },
b = { "GoBuild", "GoBuild" },
l = { "Golint", "GoLint" }
},
Steps To Reproduce
function ExecRun() if vim.bo.filetype == "rust" then vim.cmd("RustRun") elseif vim.bo.filetype == "go" then vim.cmd("GoRun") end end
Expected Behavior
It is expected see console result below the compiler run command.
Repro