Skip to content

Commit

Permalink
feat(previewer): respect 'number' options (#690)
Browse files Browse the repository at this point in the history
  • Loading branch information
linrongbin16 committed May 6, 2024
1 parent 1e040eb commit e502269
Showing 1 changed file with 16 additions and 10 deletions.
26 changes: 16 additions & 10 deletions lua/fzfx/detail/popup/buffer_popup_window.lua
Original file line number Diff line number Diff line change
Expand Up @@ -257,6 +257,7 @@ end
--- @field previewer_is_hidden boolean
local BufferPopupWindow = {}

--- @param bufnr integer
local function _set_default_buf_options(bufnr)
api.set_buf_option(bufnr, "bufhidden", "wipe")
api.set_buf_option(bufnr, "buflisted", false)
Expand All @@ -265,8 +266,10 @@ end

--- @param winnr integer
--- @param wrap boolean
local function _set_default_previewer_win_options(winnr, wrap)
api.set_win_option(winnr, "number", true)
--- @param current_winnr integer
local function _set_default_previewer_win_options(winnr, wrap, current_winnr)
local number_opt = api.get_win_option(current_winnr, "number")
api.set_win_option(winnr, "number", number_opt)
api.set_win_option(winnr, "spell", false)
api.set_win_option(winnr, "winhighlight", "Pmenu:,Normal:Normal")
-- apis.set_win_option(winnr, "scrolloff", 0)
Expand All @@ -275,7 +278,9 @@ local function _set_default_previewer_win_options(winnr, wrap)
api.set_win_option(winnr, "wrap", wrap)
end

local function _set_default_provider_win_options(winnr)
--- @param winnr integer
--- @param current_winnr integer
local function _set_default_provider_win_options(winnr, current_winnr)
api.set_win_option(winnr, "number", false)
api.set_win_option(winnr, "spell", false)
api.set_win_option(winnr, "winhighlight", "Pmenu:,Normal:Normal")
Expand Down Expand Up @@ -333,12 +338,12 @@ function BufferPopupWindow:new(win_opts, buffer_previewer_opts)
previewer_winnr = vim.api.nvim_open_win(previewer_bufnr, true, previewer_win_confs)
log.ensure(previewer_winnr > 0, "failed to create previewer win")
local wrap = buffer_previewer_opts.fzf_preview_window_opts.wrap
_set_default_previewer_win_options(previewer_winnr, wrap)
_set_default_previewer_win_options(previewer_winnr, wrap, current_winnr)
end

local provider_winnr = vim.api.nvim_open_win(provider_bufnr, true, provider_win_confs)
log.ensure(provider_winnr > 0, "failed to create provider win")
_set_default_provider_win_options(provider_winnr)
_set_default_provider_win_options(provider_winnr, current_winnr)

-- set cursor at provider window
vim.api.nvim_set_current_win(provider_winnr)
Expand Down Expand Up @@ -432,7 +437,7 @@ function BufferPopupWindow:resize()
self.provider_winnr,
vim.tbl_deep_extend("force", old_win_confs, new_win_confs)
)
_set_default_provider_win_options(self.provider_winnr)
_set_default_provider_win_options(self.provider_winnr, self._saved_current_winnr)
else
local old_provider_win_confs = vim.api.nvim_win_get_config(self.provider_winnr)
local win_confs = M.make_opts(
Expand All @@ -449,7 +454,7 @@ function BufferPopupWindow:resize()
self.provider_winnr,
vim.tbl_deep_extend("force", old_provider_win_confs, win_confs.provider or {})
)
_set_default_provider_win_options(self.provider_winnr)
_set_default_provider_win_options(self.provider_winnr, self._saved_current_winnr)

if self:previewer_is_valid() then
local old_previewer_win_confs = vim.api.nvim_win_get_config(self.previewer_winnr)
Expand All @@ -464,7 +469,7 @@ function BufferPopupWindow:resize()
)

local wrap = self._saved_buffer_previewer_opts.fzf_preview_window_opts.wrap
_set_default_previewer_win_options(self.previewer_winnr, wrap)
_set_default_previewer_win_options(self.previewer_winnr, wrap, self._saved_current_winnr)
end
end

Expand Down Expand Up @@ -662,7 +667,8 @@ function BufferPopupWindow:preview_file_contents(file_content, content_view, on_
title_pos = "center",
}
vim.api.nvim_win_set_config(self.previewer_winnr, title_opts)
api.set_win_option(self.previewer_winnr, "number", true)
local wrap = self._saved_buffer_previewer_opts.fzf_preview_window_opts.wrap
_set_default_previewer_win_options(self.previewer_winnr, wrap, self._saved_current_winnr)
end

if str.not_empty(file_content.previewer_label_result) then
Expand Down Expand Up @@ -926,7 +932,7 @@ function BufferPopupWindow:show_preview()
_set_default_buf_options(self.previewer_bufnr)
self.previewer_winnr = vim.api.nvim_open_win(self.previewer_bufnr, true, win_confs.previewer)
local wrap = self._saved_buffer_previewer_opts.fzf_preview_window_opts.wrap
_set_default_previewer_win_options(self.previewer_winnr, wrap)
_set_default_previewer_win_options(self.previewer_winnr, wrap, self._saved_current_winnr)
vim.api.nvim_set_current_win(self.provider_winnr)

self:resize()
Expand Down

0 comments on commit e502269

Please sign in to comment.