Skip to content

bug: keymap configuration not normalized #692

@barrettruth

Description

@barrettruth

Did you check the docs and existing issues?

  • I have read the docs
  • I have searched the existing issues

Neovim version (nvim -v)

NVIM v0.11.5 Build type: Release LuaJIT 2.1.1763318511 Run "nvim -V1 -v" for more info

Operating system/version

arch

Describe the bug

I believe keymaps in settings are merged before being normalized, so capitalization is not respected in keymap configs. Namely, setting keymaps via <c-t> (i.e. with a lowercase "C") is not respected.

I argue it definitely should be, since in native (neo)vim <c-t> and <C-t> represent the same thing - oil.nvim ought not deviate.

LOVE the plugin! thanks a lot :)

What is the severity of this bug?

minor (annoyance)

Steps To Reproduce

  1. nvim -u repro.lua

  2. run :map <c-t>

Expected Behavior

<c-t> is disabled with <{C,c}-t>

Directory structure

No response

Repro

-- save as repro.lua
-- run with nvim -u repro.lua
-- DO NOT change the paths
local root = vim.fn.fnamemodify("./.repro", ":p")

-- set stdpaths to use .repro
for _, name in ipairs({ "config", "data", "state", "runtime", "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 = {
  "folke/tokyonight.nvim",
  {
        "stevearc/oil.nvim",
        config = function()
            require("oil").setup({
              keymaps={['<c-t>']=false}
            })
        end,
  },
  -- add any other plugins here
}
require("lazy").setup(plugins, {
  root = root .. "/plugins",
})

vim.cmd.colorscheme("tokyonight")
-- add anything else here

Did you check the bug with a clean config?

  • I have confirmed that the bug reproduces with nvim -u repro.lua using the repro.lua file above.

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions