Keymaps
The chorus.keymap
module declaratively defines key mappings. Nested tables with
option and prefix inheritance let you create concise configurations, but flat
syntax (or a combination) is also available if readability is more important.
Example
Maximal use of nesting:
keymap {
-- Options can be set at any level and are inherited by nested tables
unique = true,
-- First level specifies the mode or modes
n = {
-- Subsequent levels specify prefixes and mappings
["<leader>"] = {
f = {
silent = true,
f = { "<cmd>Telescope find_files<CR>", desc = "Find Files" },
g = { "<cmd>Telescope live_grep<CR>", desc = "Live Grep" },
},
b = {
l = { "<cmd>ls<CR>", desc = "List Buffers" },
d = { "<cmd>bd<CR>", desc = "Delete Buffer" },
}
}
}
}
Flat syntax:
keymap {
-- Modes and entire key sequence in one go
["vn <leader>gb"] = "<cmd>Git blame<CR>"
}