summaryrefslogtreecommitdiff
path: root/lua/telescope/pickers.lua
diff options
context:
space:
mode:
authorTJ DeVries <devries.timothyj@gmail.com>2020-08-28 00:19:10 -0400
committerTJ DeVries <devries.timothyj@gmail.com>2020-08-28 00:19:10 -0400
commitf2fcdcb6751701db94236d534db72346f7c118d6 (patch)
treebaa700549805f8ca969f3acdb29eaeb6af8f273f /lua/telescope/pickers.lua
parentd20be453a82b7fc6e54c8424133218b4032962a7 (diff)
feat: borders and no previews for rocker
Diffstat (limited to 'lua/telescope/pickers.lua')
-rw-r--r--lua/telescope/pickers.lua25
1 files changed, 18 insertions, 7 deletions
diff --git a/lua/telescope/pickers.lua b/lua/telescope/pickers.lua
index 3b70235..b5e418a 100644
--- a/lua/telescope/pickers.lua
+++ b/lua/telescope/pickers.lua
@@ -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,