feat: add cursor layout (#878)

* Add basic implementation of "cursor" layout strategy

* Update cursor layout strategy to properly follow cursor

* feat(cursor_layout): handle previewer

* Refactor cursor layout code

* Add cursor theme

* Update readme

* Improve cursor theme and layout documentation

* [docgen] Update doc/telescope.txt
skip-checks: true

* Remove trailing whitespace

* Fix issues related with neovim and plugin api changes

* [docgen] Update doc/telescope.txt
skip-checks: true

* Allow preview width to be configured

* [docgen] Update doc/telescope.txt
skip-checks: true

Co-authored-by: Github Actions <actions@github>
Co-authored-by: cbrunel <cbrunel@sogescom.local>
This commit is contained in:
Corentin Brunel
2021-07-16 14:17:21 -04:00
committed by GitHub
parent 747396227d
commit b13306e5cc
5 changed files with 173 additions and 0 deletions

View File

@@ -58,6 +58,44 @@ function themes.get_dropdown(opts)
return vim.tbl_deep_extend("force", theme_opts, opts)
end
--- Cursor style theme.
--- <pre>
---
--- Usage:
---
--- `local builtin = require('telescope.builtin')`
--- `local themes = require('telescope.themes')`
--- `builtin.lsp_code_actions(themes.get_cursor())`
--- </pre>
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 = function(_, _, _)
return 80
end,
height = function(_, _, _)
return 6
end,
},
borderchars = {
{ '', '', '', '', '', '', '', ''},
prompt = {'', '', ' ', '', '', '', '', ''},
results = {'', '', '', '', '', '', '', ''},
preview = { '', '', '', '', '', '', '', ''},
},
}
return vim.tbl_deep_extend('force', theme_opts, opts)
end
--- Ivy style theme.
--- <pre>
---