summaryrefslogtreecommitdiff
path: root/lua/telescope/themes.lua
diff options
context:
space:
mode:
authorTJ DeVries <devries.timothyj@gmail.com>2021-05-15 12:02:14 -0700
committerGitHub <noreply@github.com>2021-05-15 15:02:14 -0400
commit4da66dab44f37d0de4b88cedf9e114c5b0855c20 (patch)
treeea0179d0d0c8be5e716ce70d6dab14aa4fc4fcac /lua/telescope/themes.lua
parentb78d4ef10c72597c322baaa3830c760a26734b21 (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/themes.lua')
-rw-r--r--lua/telescope/themes.lua58
1 files changed, 55 insertions, 3 deletions
diff --git a/lua/telescope/themes.lua b/lua/telescope/themes.lua
index eba3d11..f2af1a7 100644
--- a/lua/telescope/themes.lua
+++ b/lua/telescope/themes.lua
@@ -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