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>
This commit is contained in:
@@ -2,10 +2,27 @@
|
||||
-- Currently certain designs need a number of parameters.
|
||||
--
|
||||
-- local opts = themes.get_dropdown { winblend = 3 }
|
||||
--
|
||||
|
||||
---@tag telescope.themes
|
||||
|
||||
---@brief [[
|
||||
--- Themes are ways to combine several elements of styling together.
|
||||
---
|
||||
--- They are helpful for managing the several differnt UI aspects for telescope and provide
|
||||
--- a simple interface for users to get a particular "style" of picker.
|
||||
---@brief ]]
|
||||
|
||||
local themes = {}
|
||||
|
||||
--- Dropdown style theme.
|
||||
--- <pre>
|
||||
---
|
||||
--- Usage:
|
||||
---
|
||||
--- `local builtin = require('telescope.builtin')`
|
||||
--- `local themes = require('telescope.themes')`
|
||||
--- `builtin.find_files(themes.get_dropdown())`
|
||||
--- </pre>
|
||||
function themes.get_dropdown(opts)
|
||||
opts = opts or {}
|
||||
|
||||
@@ -21,14 +38,49 @@ function themes.get_dropdown(opts)
|
||||
width = 80,
|
||||
results_height = 15,
|
||||
borderchars = {
|
||||
{ '─', '│', '─', '│', '╭', '╮', '╯', '╰'},
|
||||
{ "─", "│", "─", "│", "╭", "╮", "╯", "╰"},
|
||||
prompt = {"─", "│", " ", "│", "╭", "╮", "│", "│"},
|
||||
results = {"─", "│", "─", "│", "├", "┤", "╯", "╰"},
|
||||
preview = { '─', '│', '─', '│', '╭', '╮', '╯', '╰'},
|
||||
preview = { "─", "│", "─", "│", "╭", "╮", "╯", "╰"},
|
||||
},
|
||||
}
|
||||
|
||||
return vim.tbl_deep_extend("force", theme_opts, opts)
|
||||
end
|
||||
|
||||
--- Ivy style theme.
|
||||
--- <pre>
|
||||
---
|
||||
--- Usage:
|
||||
---
|
||||
--- `local builtin = require('telescope.builtin')`
|
||||
--- `local themes = require('telescope.themes')`
|
||||
--- `builtin.find_files(themes.get_ivy())`
|
||||
--- </pre>
|
||||
function themes.get_ivy(opts)
|
||||
opts = opts or {}
|
||||
|
||||
return vim.tbl_deep_extend("force", {
|
||||
theme = "ivy",
|
||||
|
||||
sorting_strategy = "ascending",
|
||||
|
||||
preview_title = "",
|
||||
|
||||
layout_strategy = "bottom_pane",
|
||||
layout_config = {
|
||||
height = 25,
|
||||
},
|
||||
|
||||
border = true,
|
||||
borderchars = {
|
||||
"z",
|
||||
prompt = { "─", " ", " ", " ", "─", "─", " ", " " },
|
||||
results = { " " },
|
||||
-- results = { "a", "b", "c", "d", "e", "f", "g", "h" },
|
||||
preview = { "─", "│", "─", "│", "╭", "╮", "╯", "╰"},
|
||||
},
|
||||
}, opts)
|
||||
end
|
||||
|
||||
return themes
|
||||
|
||||
Reference in New Issue
Block a user