add wrap config option, default to false
Default to not wrapping long function names etc that are too big for the window. If wrap=true is set, use some sane linebreak/breakindent/showbreak options to wrap with an indent at the current indent level of the UI tree, instead of just wrapping back to the far left side of the window.
This commit is contained in:
@@ -46,6 +46,7 @@ local opts = {
|
||||
autofold_depth = nil,
|
||||
auto_unfold_hover = true,
|
||||
fold_markers = { '', '' },
|
||||
wrap = false,
|
||||
keymaps = { -- These keymaps can be a string or a table for multiple keys
|
||||
close = {"<Esc>", "q"},
|
||||
goto_location = "<Cr>",
|
||||
@@ -114,6 +115,7 @@ local opts = {
|
||||
| autofold_depth | Depth past which nodes will be folded by default | int | nil |
|
||||
| auto_unfold_hover | Automatically unfold hovered symbol | boolean | true |
|
||||
| fold_markers | Markers to denote foldable symbol's status | table (array) | { '', '' } |
|
||||
| wrap | Whether to wrap long lines, or let them flow off the window | boolean | false |
|
||||
|
||||
## Commands
|
||||
|
||||
|
||||
@@ -19,6 +19,7 @@ M.defaults = {
|
||||
autofold_depth = nil,
|
||||
auto_unfold_hover = true,
|
||||
fold_markers = { '', '' },
|
||||
wrap = true,
|
||||
keymaps = { -- These keymaps can be a string or a table for multiple keys
|
||||
close = { '<Esc>', 'q' },
|
||||
goto_location = '<Cr>',
|
||||
|
||||
@@ -27,6 +27,14 @@ function View:setup_view()
|
||||
vim.api.nvim_win_set_option(self.winnr, 'relativenumber', false)
|
||||
vim.api.nvim_win_set_option(self.winnr, 'winfixwidth', true)
|
||||
vim.api.nvim_win_set_option(self.winnr, 'list', false)
|
||||
vim.api.nvim_win_set_option(self.winnr, 'wrap', config.options.wrap)
|
||||
vim.api.nvim_win_set_option(self.winnr, 'linebreak', true) -- only has effect when wrap=true
|
||||
vim.api.nvim_win_set_option(self.winnr, 'breakindent', true) -- only has effect when wrap=true
|
||||
-- Would be nice to use ui.markers.vertical as part of showbreak to keep
|
||||
-- continuity of the tree UI, but there's currently no way to style the
|
||||
-- color, apart from globally overriding hl-NonText, which will potentially
|
||||
-- mess with other theme/user settings. So just use empty spaces for now.
|
||||
vim.api.nvim_win_set_option(self.winnr, 'showbreak', ' ') -- only has effect when wrap=true.
|
||||
-- buffer stuff
|
||||
vim.api.nvim_buf_set_name(self.bufnr, 'OUTLINE')
|
||||
vim.api.nvim_buf_set_option(self.bufnr, 'filetype', 'Outline')
|
||||
|
||||
Reference in New Issue
Block a user