added keybinds to rotate builtin preview clockwise/counter-clockwise

main
bhagwan 3 years ago
parent 64ceffcd0a
commit dca31060e2

@ -6,7 +6,7 @@
[Installation](#installation) • [Usage](#usage) • [Commands](#commands) • [Customization](#customization) • [Wiki](https://github.com/ibhagwan/fzf-lua/wiki)
![](https://raw.githubusercontent.com/wiki/ibhagwan/fzf-lua/demo.gif)
![Demo](https://raw.githubusercontent.com/wiki/ibhagwan/fzf-lua/demo.gif)
[fzf](https://github.com/junegunn/fzf) changed my life, it can change yours too, if you allow it.
@ -236,6 +236,9 @@ require'fzf-lua'.setup {
-- Only valid with the 'builtin' previewer
["<F3>"] = "toggle-preview-wrap",
["<F4>"] = "toggle-preview",
-- Rotate preview clockwise/counter-clockwise
["<F5>"] = "toggle-preview-ccw",
["<F6>"] = "toggle-preview-cw",
["<S-down>"] = "preview-page-down",
["<S-up>"] = "preview-page-up",
["<S-left>"] = "preview-page-reset",

@ -9,8 +9,7 @@ Installation <#installation> • Usage <#usage> • Commands <#commands> •
Customization <#customization> • Wiki
<https://github.com/ibhagwan/fzf-lua/wiki>
screenshot
<https://raw.githubusercontent.com/ibhagwan/fzf-lua/main/screenshots/main.png>
Demo <https://raw.githubusercontent.com/wiki/ibhagwan/fzf-lua/demo.gif>
fzf <https://github.com/junegunn/fzf> changed my life, it can change yours too,
if you allow it.
@ -271,6 +270,9 @@ Consult the list below for available settings:
-- Only valid with the 'builtin' previewer
["<F3>"] = "toggle-preview-wrap",
["<F4>"] = "toggle-preview",
-- Rotate preview clockwise/counter-clockwise
["<F5>"] = "toggle-preview-ccw",
["<F6>"] = "toggle-preview-cw",
["<S-down>"] = "preview-page-down",
["<S-up>"] = "preview-page-up",
["<S-left>"] = "preview-page-reset",

@ -40,6 +40,8 @@ M.globals = {
-- Only valid with the 'builtin' previewer
["<F3>"] = "toggle-preview-wrap",
["<F4>"] = "toggle-preview",
["<F5>"] = "toggle-preview-ccw",
["<F6>"] = "toggle-preview-cw",
["<S-down>"] = "preview-page-down",
["<S-up>"] = "preview-page-up",
["<S-left>"] = "preview-page-reset",

@ -26,6 +26,8 @@ function FzfWin:setup_keybinds()
keymap_tbl = vim.tbl_deep_extend("keep", keymap_tbl, {
['toggle-preview'] = { module = 'win', fnc = 'toggle_preview()' },
['toggle-preview-wrap'] = { module = 'win', fnc = 'toggle_preview_wrap()' },
['toggle-preview-cw'] = { module = 'win', fnc = 'toggle_preview_cw(1)' },
['toggle-preview-ccw'] = { module = 'win', fnc = 'toggle_preview_cw(-1)' },
['preview-page-up'] = { module = 'win', fnc = 'preview_scroll(-1)' },
['preview-page-down'] = { module = 'win', fnc = 'preview_scroll(1)' },
['preview-page-reset'] = { module = 'win', fnc = 'preview_scroll(0)' },
@ -737,6 +739,31 @@ function FzfWin.toggle_preview_wrap()
end
end
function FzfWin.toggle_preview_cw(direction)
if not _self or _self.winopts.split then return end
local self = _self
local pos = { 'up', 'right', 'down', 'left' }
local idx
for i=1,#pos do
if pos[i] == self.winopts.preview_pos then
idx = i
break
end
end
if not idx then return end
local newidx = direction>0 and idx+1 or idx-1
if newidx<1 then newidx = #pos end
if newidx>#pos then newidx = 1 end
self.winopts.preview_pos = pos[newidx]
self.layout = generate_layout(self.winopts)
self:close_preview()
self:redraw()
self:redraw_preview()
if self._previewer and self._previewer.display_last_entry then
self._previewer:display_last_entry()
end
end
function FzfWin.preview_scroll(direction)
if not _self then return end
local self = _self

Loading…
Cancel
Save