{ ... }:
{
  text = ''
    -- Base rekey function.
    local function rekey(t, key, command)
      vim.api.nvim_set_keymap(t, key, command, { noremap = true })
    end

    -- Base remap function.
    local function remap(t, key, command)
      vim.api.nvim_set_keymap(t, key, command, { noremap = false })
    end

    -- Rekey in normal mode.
    function rekey_normal(key, command)
      rekey("n", key, command)
    end

    -- Rekey in input mode.
    function rekey_input(key, command)
      rekey("i", key, command)
    end

    -- Rekey in visual mode.
    function rekey_visual(key, command)
      rekey("v", key, command)
    end

    -- Rekey in terminal mode.
    function rekey_terminal(key, command)
      rekey("t", key, command)
    end

    -- Remap in normal mode.
    function remap_normal(key, command)
      remap("n", key, command)
    end

    -- Remap in input mode.
    function remap_input(key, command)
      remap("i", key, command)
    end

    -- Remap in visual mode.
    function remap_visual(key, command)
      remap("v", key, command)
    end

    -- Remap in terminal mode.
    function remap_terminal(key, command)
      remap("t", key, command)
    end
  '';
}