diff options
| author | Simon Hauser <Simon-Hauser@outlook.de> | 2021-06-14 21:50:46 +0200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2021-06-14 21:50:46 +0200 |
| commit | 6ac5ee0854fe02d651cadf2fc97a2463ff92f322 (patch) | |
| tree | d6a7b492246db153e786762f9b0d650dc907ccf6 /lua/telescope/actions/init.lua | |
| parent | 0c1bc129da3f684b04d72530dddaedb5255f12ef (diff) | |
feat: cycle previewers with commit and bcommit already using it (#528)
- new git previewers
- jump to line in bcommit previewer
- vimdiff for bcommits
- dynamic preview window titles
- more previewers documentation
Cycle previewers are not mapped yet. So you need to setup yourself:
```lua
require('telescope').setup {
defaults = {
mappings = {
i = {
["<C-s>"] = actions.cycle_previewers_next,
["<C-a>"] = actions.cycle_previewers_prev,
},
},
}
}
```
Co-authored-by: Thore Strassburg <thore@weilbier.net>
Diffstat (limited to 'lua/telescope/actions/init.lua')
| -rw-r--r-- | lua/telescope/actions/init.lua | 49 |
1 files changed, 34 insertions, 15 deletions
diff --git a/lua/telescope/actions/init.lua b/lua/telescope/actions/init.lua index 8a2f2d7..d9b3096 100644 --- a/lua/telescope/actions/init.lua +++ b/lua/telescope/actions/init.lua @@ -202,7 +202,9 @@ actions._close = function(prompt_bufnr, keepinsert) local original_win_id = picker.original_win_id if picker.previewer then - picker.previewer:teardown() + for _, v in ipairs(picker.all_previewers) do + v:teardown() + end end actions.close_pum(prompt_bufnr) @@ -375,11 +377,10 @@ actions.git_checkout = function(prompt_bufnr) end end --- TODO: add this function header back once the treesitter max-query bug is resolved --- Switch to git branch --- If the branch already exists in local, switch to that. --- If the branch is only in remote, create new branch tracking remote and switch to new one. ---@param prompt_bufnr number: The prompt bufnr +--- Switch to git branch.<br> +--- If the branch already exists in local, switch to that. +--- If the branch is only in remote, create new branch tracking remote and switch to new one. +---@param prompt_bufnr number: The prompt bufnr actions.git_switch_branch = function(prompt_bufnr) local cwd = action_state.get_current_picker(prompt_bufnr).cwd local selection = action_state.get_selected_entry() @@ -419,9 +420,8 @@ actions.git_track_branch = function(prompt_bufnr) end end --- TODO: add this function header back once the treesitter max-query bug is resolved --- Delete the currently selected branch --- @param prompt_bufnr number: The prompt bufnr +--- Delete the currently selected branch +---@param prompt_bufnr number: The prompt bufnr actions.git_delete_branch = function(prompt_bufnr) local cwd = action_state.get_current_picker(prompt_bufnr).cwd local selection = action_state.get_selected_entry() @@ -442,9 +442,8 @@ actions.git_delete_branch = function(prompt_bufnr) end end --- TODO: add this function header back once the treesitter max-query bug is resolved --- Rebase to selected git branch --- @param prompt_bufnr number: The prompt bufnr +--- Rebase to selected git branch +---@param prompt_bufnr number: The prompt bufnr actions.git_rebase_branch = function(prompt_bufnr) local cwd = action_state.get_current_picker(prompt_bufnr).cwd local selection = action_state.get_selected_entry() @@ -465,9 +464,15 @@ actions.git_rebase_branch = function(prompt_bufnr) end end --- TODO: add this function header back once the treesitter max-query bug is resolved --- Stage/unstage selected file --- @param prompt_bufnr number: The prompt bufnr +--- Stage/unstage selected file +---@param prompt_bufnr number: The prompt bufnr +actions.git_checkout_current_buffer = function(prompt_bufnr) + local cwd = actions.get_current_picker(prompt_bufnr).cwd + local selection = actions.get_selected_entry() + actions.close(prompt_bufnr) + utils.get_os_command_output({ 'git', 'checkout', selection.value, '--', selection.file }, cwd) +end + actions.git_staging_toggle = function(prompt_bufnr) local cwd = action_state.get_current_picker(prompt_bufnr).cwd local selection = action_state.get_selected_entry() @@ -659,6 +664,20 @@ actions.delete_buffer = function(prompt_bufnr) end) end +--- Cycle to the next previewer if there is one available.<br> +--- This action is not mapped on default. +---@param prompt_bufnr number: The prompt bufnr +actions.cycle_previewers_next = function(prompt_bufnr) + actions.get_current_picker(prompt_bufnr):cycle_previewers(1) +end + +--- Cycle to the previous previewer if there is one available.<br> +--- This action is not mapped on default. +---@param prompt_bufnr number: The prompt bufnr +actions.cycle_previewers_prev = function(prompt_bufnr) + actions.get_current_picker(prompt_bufnr):cycle_previewers(-1) +end + -- ================================================== -- Transforms modules and sets the corect metatables. -- ================================================== |
