diff options
| author | TJ DeVries <devries.timothyj@gmail.com> | 2021-05-15 12:02:14 -0700 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2021-05-15 15:02:14 -0400 |
| commit | 4da66dab44f37d0de4b88cedf9e114c5b0855c20 (patch) | |
| tree | ea0179d0d0c8be5e716ce70d6dab14aa4fc4fcac /lua/telescope/pickers/window.lua | |
| parent | b78d4ef10c72597c322baaa3830c760a26734b21 (diff) | |
feat: add ivy-style layout strategy (#771)
* feat: add new layout strategy
* [docgen] Update doc/telescope.txt
skip-checks: true
Co-authored-by: Github Actions <actions@github>
Diffstat (limited to 'lua/telescope/pickers/window.lua')
| -rw-r--r-- | lua/telescope/pickers/window.lua | 37 |
1 files changed, 35 insertions, 2 deletions
diff --git a/lua/telescope/pickers/window.lua b/lua/telescope/pickers/window.lua index 76c1fe0..533fe30 100644 --- a/lua/telescope/pickers/window.lua +++ b/lua/telescope/pickers/window.lua @@ -1,10 +1,10 @@ -local p_layouts = require('telescope.pickers.layout_strategies') +local resolve = require("telescope.config.resolve") local p_window = {} function p_window.get_window_options(picker, max_columns, max_lines) local layout_strategy = picker.layout_strategy - local getter = p_layouts[layout_strategy] + local getter = require('telescope.pickers.layout_strategies')[layout_strategy] if not getter then error("Not a valid layout strategy: " .. layout_strategy) @@ -13,5 +13,38 @@ function p_window.get_window_options(picker, max_columns, max_lines) return getter(picker, max_columns, max_lines) end +function p_window.get_initial_window_options(picker) + local popup_border = resolve.win_option(picker.window.border) + local popup_borderchars = resolve.win_option(picker.window.borderchars) + + local preview = { + title = picker.preview_title, + border = popup_border.preview, + borderchars = popup_borderchars.preview, + enter = false, + highlight = false + } + + local results = { + title = picker.results_title, + border = popup_border.results, + borderchars = popup_borderchars.results, + enter = false, + } + + local prompt = { + title = picker.prompt_title, + border = popup_border.prompt, + borderchars = popup_borderchars.prompt, + enter = true + } + + return { + preview = preview, + results = results, + prompt = prompt, + } +end + return p_window |
