diff options
| author | Simon Hauser <Simon-Hauser@outlook.de> | 2020-09-04 21:48:00 +0200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2020-09-04 15:48:00 -0400 |
| commit | 4abb5f7867fb087aa69bcd49d40537609a1e2e46 (patch) | |
| tree | 03ba0f5fce14e218b80583bb115e4c4fd7c1b60e /lua | |
| parent | f5f127541127ca5a773a9b4ba8434d5b88871335 (diff) | |
Adds split and tabedit mappings. Adopted by fzf.vim (#29)
Diffstat (limited to 'lua')
| -rw-r--r-- | lua/telescope/actions.lua | 20 | ||||
| -rw-r--r-- | lua/telescope/pickers.lua | 10 |
2 files changed, 26 insertions, 4 deletions
diff --git a/lua/telescope/actions.lua b/lua/telescope/actions.lua index dd47f4d..dc864d1 100644 --- a/lua/telescope/actions.lua +++ b/lua/telescope/actions.lua @@ -34,7 +34,7 @@ function actions.get_selected_entry(prompt_bufnr) return actions.get_current_picker(prompt_bufnr):get_selection() end -function actions.goto_file_selection(prompt_bufnr) +local function goto_file_selection(prompt_bufnr, command) local picker = actions.get_current_picker(prompt_bufnr) local entry = actions.get_selected_entry(prompt_bufnr) @@ -71,7 +71,7 @@ function actions.goto_file_selection(prompt_bufnr) vim.cmd(string.format([[bwipeout! %s]], prompt_bufnr)) a.nvim_set_current_win(picker.original_win_id or 0) - vim.cmd(string.format(":e %s", filename)) + vim.cmd(string.format(":%s %s", command, filename)) local bufnr = vim.api.nvim_get_current_buf() a.nvim_buf_set_option(bufnr, 'buflisted', true) @@ -83,6 +83,22 @@ function actions.goto_file_selection(prompt_bufnr) end end +function actions.goto_file_selection_edit(prompt_bufnr) + goto_file_selection(prompt_bufnr, "e") +end + +function actions.goto_file_selection_split(prompt_bufnr) + goto_file_selection(prompt_bufnr, "sp") +end + +function actions.goto_file_selection_vsplit(prompt_bufnr) + goto_file_selection(prompt_bufnr, "vsp") +end + +function actions.goto_file_selection_tabedit(prompt_bufnr) + goto_file_selection(prompt_bufnr, "tabe") +end + actions.close = function(prompt_bufnr) vim.cmd(string.format([[bwipeout! %s]], prompt_bufnr)) end diff --git a/lua/telescope/pickers.lua b/lua/telescope/pickers.lua index 6fd7442..7819bec 100644 --- a/lua/telescope/pickers.lua +++ b/lua/telescope/pickers.lua @@ -35,12 +35,18 @@ local default_mappings = { ["<Down>"] = actions.move_selection_next, ["<Up>"] = actions.move_selection_previous, - ["<CR>"] = actions.goto_file_selection, + ["<CR>"] = actions.goto_file_selection_edit, + ["<C-x>"] = actions.goto_file_selection_split, + ["<C-v>"] = actions.goto_file_selection_vsplit, + ["<C-t>"] = actions.goto_file_selection_tabedit, }, n = { ["<esc>"] = actions.close, - ["<CR>"] = actions.goto_file_selection, + ["<CR>"] = actions.goto_file_selection_edit, + ["<C-x>"] = actions.goto_file_selection_split, + ["<C-v>"] = actions.goto_file_selection_vsplit, + ["<C-t>"] = actions.goto_file_selection_tabedit, -- TODO: This would be weird if we switch the ordering. ["j"] = actions.move_selection_next, |
