Some checks failed
Detach Plugins / check (FlyGrep.vim) (push) Has been cancelled
Detach Plugins / check (GitHub.vim) (push) Has been cancelled
Detach Plugins / check (JavaUnit.vim) (push) Has been cancelled
Detach Plugins / check (SourceCounter.vim) (push) Has been cancelled
Detach Plugins / check (cpicker.nvim) (push) Has been cancelled
Detach Plugins / check (dein-ui.vim) (push) Has been cancelled
Detach Plugins / check (git.vim) (push) Has been cancelled
Detach Plugins / check (iedit.vim) (push) Has been cancelled
Detach Plugins / check (scrollbar.vim) (push) Has been cancelled
Detach Plugins / check (vim-chat) (push) Has been cancelled
Detach Plugins / check (vim-cheat) (push) Has been cancelled
Detach Plugins / check (vim-todo) (push) Has been cancelled
Detach Plugins / check (xmake.vim) (push) Has been cancelled
test / Linux (nvim, nightly) (push) Has been cancelled
test / Linux (nvim, v0.3.8) (push) Has been cancelled
test / Linux (nvim, v0.4.0) (push) Has been cancelled
test / Linux (nvim, v0.4.2) (push) Has been cancelled
test / Linux (nvim, v0.4.3) (push) Has been cancelled
test / Linux (nvim, v0.4.4) (push) Has been cancelled
test / Linux (nvim, v0.5.0) (push) Has been cancelled
test / Linux (nvim, v0.5.1) (push) Has been cancelled
test / Linux (nvim, v0.6.0) (push) Has been cancelled
test / Linux (nvim, v0.6.1) (push) Has been cancelled
test / Linux (nvim, v0.7.0) (push) Has been cancelled
test / Linux (nvim, v0.7.2) (push) Has been cancelled
test / Linux (nvim, v0.8.0) (push) Has been cancelled
test / Linux (nvim, v0.8.1) (push) Has been cancelled
test / Linux (nvim, v0.8.2) (push) Has been cancelled
test / Linux (nvim, v0.8.3) (push) Has been cancelled
test / Linux (nvim, v0.9.0) (push) Has been cancelled
test / Linux (nvim, v0.9.1) (push) Has been cancelled
test / Linux (true, vim, v7.4.052) (push) Has been cancelled
test / Linux (true, vim, v7.4.1689) (push) Has been cancelled
test / Linux (true, vim, v7.4.629) (push) Has been cancelled
test / Linux (true, vim, v8.0.0027) (push) Has been cancelled
test / Linux (true, vim, v8.0.0183) (push) Has been cancelled
test / Linux (vim, nightly) (push) Has been cancelled
test / Linux (vim, v8.0.0184) (push) Has been cancelled
test / Linux (vim, v8.0.1453) (push) Has been cancelled
test / Linux (vim, v8.1.2269) (push) Has been cancelled
test / Linux (vim, v8.2.2434) (push) Has been cancelled
test / Linux (vim, v8.2.3995) (push) Has been cancelled
test / Windows (nvim, nightly) (push) Has been cancelled
test / Windows (nvim, v0.3.8) (push) Has been cancelled
test / Windows (nvim, v0.4.2) (push) Has been cancelled
test / Windows (nvim, v0.4.3) (push) Has been cancelled
test / Windows (nvim, v0.4.4) (push) Has been cancelled
test / Windows (nvim, v0.5.0) (push) Has been cancelled
test / Windows (nvim, v0.5.1) (push) Has been cancelled
test / Windows (nvim, v0.6.0) (push) Has been cancelled
test / Windows (nvim, v0.6.1) (push) Has been cancelled
test / Windows (nvim, v0.7.0) (push) Has been cancelled
test / Windows (nvim, v0.7.2) (push) Has been cancelled
test / Windows (nvim, v0.8.0) (push) Has been cancelled
test / Windows (nvim, v0.8.1) (push) Has been cancelled
test / Windows (nvim, v0.8.2) (push) Has been cancelled
test / Windows (nvim, v0.8.3) (push) Has been cancelled
test / Windows (nvim, v0.9.0) (push) Has been cancelled
test / Windows (nvim, v0.9.1) (push) Has been cancelled
test / Windows (vim, nightly) (push) Has been cancelled
test / Windows (vim, v7.4.1185) (push) Has been cancelled
test / Windows (vim, v7.4.1689) (push) Has been cancelled
test / Windows (vim, v8.0.0027) (push) Has been cancelled
test / Windows (vim, v8.0.1453) (push) Has been cancelled
test / Windows (vim, v8.1.2269) (push) Has been cancelled
test / Windows (vim, v8.2.2434) (push) Has been cancelled
test / Windows (vim, v8.2.3995) (push) Has been cancelled
docker / docker (push) Has been cancelled
mirror / check (coding) (push) Has been cancelled
mirror / check (gitee) (push) Has been cancelled
mirror / check (gitlab) (push) Has been cancelled
140 lines
3.8 KiB
Lua
140 lines
3.8 KiB
Lua
-- Prototype Theme System (WIP)
|
|
-- Currently certain designs need a number of parameters.
|
|
--
|
|
-- local opts = themes.get_dropdown { winblend = 3 }
|
|
|
|
---@tag telescope.themes
|
|
---@config { ["module"] = "telescope.themes" }
|
|
|
|
---@brief [[
|
|
--- Themes are ways to combine several elements of styling together.
|
|
---
|
|
--- They are helpful for managing the several different UI aspects for telescope and provide
|
|
--- a simple interface for users to get a particular "style" of picker.
|
|
---@brief ]]
|
|
|
|
local themes = {}
|
|
|
|
--- Dropdown style theme.
|
|
---
|
|
--- Usage:
|
|
--- <code>
|
|
--- local opts = {...} -- picker options
|
|
--- local builtin = require('telescope.builtin')
|
|
--- local themes = require('telescope.themes')
|
|
--- builtin.find_files(themes.get_dropdown(opts))
|
|
--- </code>
|
|
function themes.get_dropdown(opts)
|
|
opts = opts or {}
|
|
|
|
local theme_opts = {
|
|
theme = "dropdown",
|
|
|
|
results_title = false,
|
|
|
|
sorting_strategy = "ascending",
|
|
layout_strategy = "center",
|
|
layout_config = {
|
|
preview_cutoff = 1, -- Preview should always show (unless previewer = false)
|
|
|
|
width = function(_, max_columns, _)
|
|
return math.min(max_columns, 80)
|
|
end,
|
|
|
|
height = function(_, _, max_lines)
|
|
return math.min(max_lines, 15)
|
|
end,
|
|
},
|
|
|
|
border = true,
|
|
borderchars = {
|
|
prompt = { "─", "│", " ", "│", "╭", "╮", "│", "│" },
|
|
results = { "─", "│", "─", "│", "├", "┤", "╯", "╰" },
|
|
preview = { "─", "│", "─", "│", "╭", "╮", "╯", "╰" },
|
|
},
|
|
}
|
|
if opts.layout_config and opts.layout_config.prompt_position == "bottom" then
|
|
theme_opts.borderchars = {
|
|
prompt = { "─", "│", "─", "│", "╭", "╮", "╯", "╰" },
|
|
results = { "─", "│", "─", "│", "╭", "╮", "┤", "├" },
|
|
preview = { "─", "│", "─", "│", "╭", "╮", "╯", "╰" },
|
|
}
|
|
end
|
|
|
|
return vim.tbl_deep_extend("force", theme_opts, opts)
|
|
end
|
|
|
|
--- Cursor style theme.
|
|
---
|
|
--- Usage:
|
|
--- <code>
|
|
--- local opts = {...} -- picker options
|
|
--- local builtin = require('telescope.builtin')
|
|
--- local themes = require('telescope.themes')
|
|
--- builtin.find_files(themes.get_cursor(opts))
|
|
--- </code>
|
|
function themes.get_cursor(opts)
|
|
opts = opts or {}
|
|
|
|
local theme_opts = {
|
|
theme = "cursor",
|
|
|
|
sorting_strategy = "ascending",
|
|
results_title = false,
|
|
layout_strategy = "cursor",
|
|
layout_config = {
|
|
width = 80,
|
|
height = 9,
|
|
},
|
|
borderchars = {
|
|
prompt = { "─", "│", " ", "│", "╭", "╮", "│", "│" },
|
|
results = { "─", "│", "─", "│", "├", "┤", "╯", "╰" },
|
|
preview = { "─", "│", "─", "│", "╭", "╮", "╯", "╰" },
|
|
},
|
|
}
|
|
|
|
return vim.tbl_deep_extend("force", theme_opts, opts)
|
|
end
|
|
|
|
--- Ivy style theme.
|
|
---
|
|
--- Usage:
|
|
--- <code>
|
|
--- local opts = {...} -- picker options
|
|
--- local builtin = require('telescope.builtin')
|
|
--- local themes = require('telescope.themes')
|
|
--- builtin.find_files(themes.get_ivy(opts))
|
|
--- </code>
|
|
function themes.get_ivy(opts)
|
|
opts = opts or {}
|
|
|
|
local theme_opts = {
|
|
theme = "ivy",
|
|
|
|
sorting_strategy = "ascending",
|
|
|
|
layout_strategy = "bottom_pane",
|
|
layout_config = {
|
|
height = 25,
|
|
},
|
|
|
|
border = true,
|
|
borderchars = {
|
|
prompt = { "─", " ", " ", " ", "─", "─", " ", " " },
|
|
results = { " " },
|
|
preview = { "─", "│", "─", "│", "╭", "╮", "╯", "╰" },
|
|
},
|
|
}
|
|
if opts.layout_config and opts.layout_config.prompt_position == "bottom" then
|
|
theme_opts.borderchars = {
|
|
prompt = { " ", " ", "─", " ", " ", " ", "─", "─" },
|
|
results = { "─", " ", " ", " ", "─", "─", " ", " " },
|
|
preview = { "─", " ", "─", "│", "┬", "─", "─", "╰" },
|
|
}
|
|
end
|
|
|
|
return vim.tbl_deep_extend("force", theme_opts, opts)
|
|
end
|
|
|
|
return themes
|