Skip to content

Commit

Permalink
feat(buffer previewer): add 'toggle-preview' key bindings (#562)
Browse files Browse the repository at this point in the history
  • Loading branch information
linrongbin16 authored Jan 30, 2024
1 parent 8136ad1 commit 09cc257
Show file tree
Hide file tree
Showing 6 changed files with 486 additions and 259 deletions.
20 changes: 8 additions & 12 deletions lua/fzfx/detail/general.lua
Original file line number Diff line number Diff line change
Expand Up @@ -798,16 +798,12 @@ end
local function dump_action_command(action_name, action_file)
if consts.IS_WINDOWS then
return string.format(
'execute-silent(cmd.exe /C echo "%s">%s)',
"execute-silent(cmd.exe /C echo %s>%s)",
action_name,
action_file
)
else
return string.format(
"execute-silent(echo '%s'>%s)",
action_name,
action_file
)
return string.format("execute-silent(echo %s>%s)", action_name, action_file)
end
end

Expand Down Expand Up @@ -1139,7 +1135,7 @@ local function general(name, query, bang, pipeline_configs, default_pipeline)
if not strings.find(buffer_previewer_focused_file, focused_file) then
return
end
if not popup or not popup:is_valid() then
if not popup or not popup:previewer_is_valid() then
return
end

Expand All @@ -1158,7 +1154,7 @@ local function general(name, query, bang, pipeline_configs, default_pipeline)
-- vim.inspect(focused_data),
-- vim.inspect(buffer_preview_files_queue)
-- )
if not popup or not popup:is_valid() then
if not popup or not popup:previewer_is_valid() then
return
end
if consts.IS_WINDOWS then
Expand All @@ -1176,7 +1172,7 @@ local function general(name, query, bang, pipeline_configs, default_pipeline)
job_id = buffer_preview_job_id,
})
vim.defer_fn(function()
if not popup or not popup:is_valid() then
if not popup or not popup:previewer_is_valid() then
return
end
if buffer_preview_files_queue_empty() then
Expand Down Expand Up @@ -1297,7 +1293,7 @@ local function general(name, query, bang, pipeline_configs, default_pipeline)
if not strings.find(buffer_previewer_actions_file, actions_file) then
return
end
if not popup or not popup:is_valid() then
if not popup or not popup:previewer_is_valid() then
return
end

Expand All @@ -1309,7 +1305,7 @@ local function general(name, query, bang, pipeline_configs, default_pipeline)
vim.inspect(actions_file),
vim.inspect(actions_data)
)
if not popup or not popup:is_valid() then
if not popup or not popup:provider_is_valid() then
return
end
if consts.IS_WINDOWS then
Expand All @@ -1322,7 +1318,7 @@ local function general(name, query, bang, pipeline_configs, default_pipeline)
end

vim.schedule(function()
if not popup or not popup:is_valid() then
if not popup or not popup:provider_is_valid() then
return
end
popup.popup_window:preview_action(actions_data)
Expand Down
16 changes: 12 additions & 4 deletions lua/fzfx/detail/popup.lua
Original file line number Diff line number Diff line change
Expand Up @@ -79,8 +79,12 @@ function PopupWindow:preview_action(action_name)
self.instance:preview_action(action_name)
end

function PopupWindow:is_valid()
return self.instance ~= nil and self.instance:is_valid()
function PopupWindow:previewer_is_valid()
return self.instance ~= nil and self.instance:previewer_is_valid()
end

function PopupWindow:provider_is_valid()
return self.instance ~= nil and self.instance:provider_is_valid()
end

--- @param job_id integer
Expand Down Expand Up @@ -299,8 +303,12 @@ function Popup:close()
-- log.debug("|fzfx.popup - Popup:close| self:%s", vim.inspect(self))
end

function Popup:is_valid()
return self.popup_window ~= nil and self.popup_window:is_valid()
function Popup:previewer_is_valid()
return self.popup_window ~= nil and self.popup_window:previewer_is_valid()
end

function Popup:provider_is_valid()
return self.popup_window ~= nil and self.popup_window:provider_is_valid()
end

-- PopupWindowInstances {
Expand Down
Loading

0 comments on commit 09cc257

Please sign in to comment.