feat: borders and no previews for rocker

This commit is contained in:
TJ DeVries
2020-08-28 00:19:10 -04:00
parent d20be453a8
commit f2fcdcb675
4 changed files with 65 additions and 18 deletions

View File

@@ -12,6 +12,8 @@ local Previewer = require('telescope.previewers').Previewer
local pickers = {}
local ifnil = function(x, was_nil, was_not_nil) if x == nil then return was_nil else return was_not_nil end end
-- Picker takes a function (`get_window_options`) that returns the configurations required for three windows:
-- prompt
-- results
@@ -45,18 +47,26 @@ function Picker:new(opts)
end
function Picker:get_window_options(max_columns, max_lines, prompt_title, find_options)
local popup_border = ifnil(find_options.border, {}, find_options.border)
local preview = {
border = {},
border = popup_border,
borderchars = find_options.borderchars or nil,
enter = false,
highlight = false
}
local results = {
border = {},
border = popup_border,
borderchars = find_options.borderchars or nil,
enter = false,
}
local prompt = {
title = prompt_title,
border = {},
border = popup_border,
borderchars = find_options.borderchars or nil,
enter = true
}
@@ -121,6 +131,8 @@ function Picker:find(opts)
opts.preview_cutoff = 120
end
opts.borderchars = opts.borderchars or { '', '', '', '', '', '', '', ''}
local finder = opts.finder
assert(finder, "Finder is required to do picking")
@@ -275,16 +287,15 @@ function Picker:find(opts)
state.set_status(prompt_bufnr, {
prompt_bufnr = prompt_bufnr,
prompt_win = prompt_win,
prompt_border_win = prompt_opts.border.win_id,
prompt_border_win = prompt_opts.border and prompt_opts.border.win_id,
results_bufnr = results_bufnr,
results_win = results_win,
results_border_win = results_opts.border.win_id,
results_border_win = results_opts.border and results_opts.border.win_id,
preview_bufnr = preview_bufnr,
preview_win = preview_win,
preview_border_win = preview_opts and preview_opts.border.win_id,
preview_border_win = preview_opts.border and preview_opts.border.win_id,
picker = self,
previewer = self.previewer,
finder = finder,