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:
Julian Doherty
2022-08-27 11:48:28 +10:00
parent e459f3262c
commit 04b4abb5ba
3 changed files with 11 additions and 0 deletions

View File

@@ -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>',

View File

@@ -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')