summaryrefslogtreecommitdiff
path: root/lua/telescope/mappings.lua
diff options
context:
space:
mode:
authorTJ DeVries <devries.timothyj@gmail.com>2020-08-30 22:22:07 -0400
committerTJ DeVries <devries.timothyj@gmail.com>2020-08-31 00:06:53 -0400
commita6fe9721ac0791bdf18a04594c31b28e879ed63e (patch)
tree9929dddf5f9c8069e83df0dbea2df7ae6f8128b5 /lua/telescope/mappings.lua
parentd83731c386ec23df7bd59035ee62396b9761ef96 (diff)
wip: start on mappings
Diffstat (limited to 'lua/telescope/mappings.lua')
-rw-r--r--lua/telescope/mappings.lua39
1 files changed, 35 insertions, 4 deletions
diff --git a/lua/telescope/mappings.lua b/lua/telescope/mappings.lua
index 01d2a11..38c664a 100644
--- a/lua/telescope/mappings.lua
+++ b/lua/telescope/mappings.lua
@@ -7,6 +7,37 @@ local state = require('telescope.state')
local mappings = {}
local keymap = {}
+local keymap_store = {}
+
+--[[
+mappings.apply_keymap(42, {
+ normal = {
+ ["<leader>x"] = "just do this string",
+
+ ["<CR>"] = function(picker, prompt_bufnr)
+ actions.close_prompt()
+
+ local filename = ...
+ vim.cmd(string.format(":e %s", filename))
+ end,
+ },
+ insert = {
+ }
+})
+--]]
+mappings.apply_keymap = function(prompt_bufnr, buffer_keymap)
+
+ vim.cmd(string.format(
+ [[autocmd BufDelete %s :lua require('telescope.mappings').clear(%s)]],
+ prompt_bufnr,
+ prompt_bufnr
+ ))
+end
+
+mappings.clear = function(prompt_bufnr)
+ keymap_store[prompt_bufnr] = nil
+end
+
mappings.set_keymap = function(prompt_bufnr, results_bufnr)
local function default_mapper(mode, map_key, table_key)
a.nvim_buf_set_keymap(
@@ -25,8 +56,8 @@ mappings.set_keymap = function(prompt_bufnr, results_bufnr)
)
end
- default_mapper('i', '<c-n>', 'control-n')
- default_mapper('i', '<c-p>', 'control-p')
+ default_mapper('i', '<c-n>', 'next_selection')
+ default_mapper('i', '<c-p>', 'previous_selection')
default_mapper('i', '<CR>', 'enter')
default_mapper('n', '<esc>', 'escape')
@@ -42,11 +73,11 @@ end
-- TODO: Refactor this to use shared code.
-- TODO: Move from top to bottom, etc.
-- TODO: It seems like doing this brings us back to the beginning of the prompt, which is not great.
-keymap["control-n"] = function(prompt_bufnr, _)
+keymap["next_selection"] = function(prompt_bufnr, _)
actions.shift_current_selection(prompt_bufnr, 1)
end
-keymap["control-p"] = function(prompt_bufnr, _)
+keymap["previous_selection"] = function(prompt_bufnr, _)
actions.shift_current_selection(prompt_bufnr, -1)
end