Skip to content

Examples

Zhaosheng Pan edited this page Jan 18, 2025 · 19 revisions

QuickFix

let g:sidebar.quickfix = #{
\   position: 'bottom',
\   filter: {nr -> (getwinvar(nr, '&buftype') ==# 'quickfix') && !getwininfo(win_getid(nr))[0]['loclist']},
\   open: 'copen',
\   close: 'cclose'
\ }

Location List

let g:sidebar.loclist = #{
\   position: 'bottom',
\   filter: {nr -> getwinvar(nr, '&buftype') ==# 'quickfix' && getwininfo(win_getid(nr))[0]['loclist']},
\   open: 'silent! lopen',
\   close: 'silent! lclose'
\ }

Help Window

let g:sidebar.help = #{
\   position: 'right',
\   filter: {nr -> getwinvar(nr, '&buftype') ==# 'help'},
\   open: function("sidebar#open_last_help", ['botright vertical']),
\   close: 'helpclose',
\   width: 0.4
\ }
let g:sidebar.toggleterm = #{
\   position: 'bottom',
\   filter: {nr -> getwinvar(nr, '&filetype') ==# 'toggleterm'},
\   open: 'ToggleTerm',
\   close: 'ToggleTerm'
\ }
let g:sidebar.neo_tree_filesystem = #{
\   position: 'left',
\   filter: {nr -> getwinvar(nr, '&filetype') ==# 'neo-tree' && winbufnr(nr)->getbufvar('neo_tree_source') ==# 'filesystem'},
\   open: 'Neotree filesystem reveal',
\   close: 'Neotree close',
\   dont_close: 'neo_tree_.*'
\ }

let g:sidebar.neo_tree_buffers = #{
\   position: 'left',
\   filter: {nr -> getwinvar(nr, '&filetype') ==# 'neo-tree' && winbufnr(nr)->getbufvar('neo_tree_source') ==# 'buffers'},
\   open: 'Neotree buffers reveal',
\   close: 'Neotree close',
\   dont_close: 'neo_tree_.*'
\ }

let g:sidebar.neo_tree_git_status = #{
\   position: 'left',
\   filter: {nr -> getwinvar(nr, '&filetype') ==# 'neo-tree' && winbufnr(nr)->getbufvar('neo_tree_source') ==# 'git_status'},
\   open: 'Neotree git_status reveal',
\   close: 'Neotree close',
\   dont_close: 'neo_tree_.*'
\ }

let g:sidebar.neo_tree_document_symbols = #{
\   position: 'left',
\   filter: {nr -> getwinvar(nr, '&filetype') ==# 'neo-tree' && winbufnr(nr)->getbufvar('neo_tree_source') ==# 'document_symbols'},
\   open: 'Neotree document_symbols reveal',
\   close: 'Neotree close',
\   dont_close: 'neo_tree_.*'
\ }
let g:sidebar.trouble_quickfix = #{
\   position: 'bottom',
\   filter: {nr -> getwinvar(nr, '&filetype') ==# 'trouble' && getwinvar(nr, 'trouble')['mode'] ==# 'quickfix'},
\   open: 'Trouble quickfix',
\   close: 'lua require("trouble").close()'
\ }

let g:sidebar.trouble_loclist = #{
\   position: 'bottom',
\   filter: {nr -> getwinvar(nr, '&filetype') ==# 'trouble' && getwinvar(nr, 'trouble')['mode'] ==# 'loclist'},
\   open: 'Trouble loclist',
\   close: 'lua require("trouble").close()'
\ }

let g:sidebar.trouble_diagnostics = #{
\   position: 'bottom',
\   filter: {nr -> getwinvar(nr, '&filetype') ==# 'trouble' && getwinvar(nr, 'trouble')['mode'] ==# 'diagnostics'},
\   open: 'Trouble diagnostics',
\   close: 'lua require("trouble").close()'
\ }

let g:sidebar.trouble_declarations = #{
\   position: 'bottom',
\   filter: {nr -> getwinvar(nr, '&filetype') ==# 'trouble' && getwinvar(nr, 'trouble')['mode'] ==# 'lsp_declarations'},
\   open: 'Trouble lsp_declarations',
\   close: 'lua require("trouble").close()'
\ }

let g:sidebar.trouble_lsp_definitions = #{
\   position: 'bottom',
\   filter: {nr -> getwinvar(nr, '&filetype') ==# 'trouble' && getwinvar(nr, 'trouble')['mode'] ==# 'lsp_definitions'},
\   open: 'Trouble lsp_definitions',
\   close: 'lua require("trouble").close()'
\ }

let g:sidebar.trouble_lsp_implementations = #{
\   position: 'bottom',
\   filter: {nr -> getwinvar(nr, '&filetype') ==# 'trouble' && getwinvar(nr, 'trouble')['mode'] ==# 'lsp_implementations'},
\   open: 'Trouble lsp_implementations',
\   close: 'lua require("trouble").close()'
\ }

let g:sidebar.trouble_lsp_incoming_calls = #{
\   position: 'bottom',
\   filter: {nr -> getwinvar(nr, '&filetype') ==# 'trouble' && getwinvar(nr, 'trouble')['mode'] ==# 'lsp_incoming_calls'},
\   open: 'Trouble lsp_incoming_calls',
\   close: 'lua require("trouble").close()'
\ }

let g:sidebar.trouble_lsp_outgoing_calls = #{
\   position: 'bottom',
\   filter: {nr -> getwinvar(nr, '&filetype') ==# 'trouble' && getwinvar(nr, 'trouble')['mode'] ==# 'lsp_outgoing_calls'},
\   open: 'Trouble lsp_outgoing_calls',
\   close: 'lua require("trouble").close()'
\ }

let g:sidebar.trouble_lsp_references = #{
\   position: 'bottom',
\   filter: {nr -> getwinvar(nr, '&filetype') ==# 'trouble' && getwinvar(nr, 'trouble')['mode'] ==# 'lsp_references'},
\   open: 'Trouble lsp_references',
\   close: 'lua require("trouble").close()'
\ }

let g:sidebar.trouble_lsp_type_definitions = #{
\   position: 'bottom',
\   filter: {nr -> getwinvar(nr, '&filetype') ==# 'trouble' && getwinvar(nr, 'trouble')['mode'] ==# 'lsp_type_definitions'},
\   open: 'Trouble lsp_type_definitions',
\   close: 'lua require("trouble").close()'
\ }

let g:sidebar.trouble_todo = #{
\   position: 'bottom',
\   filter: {nr -> getwinvar(nr, '&filetype') ==# 'trouble' && getwinvar(nr, 'trouble')['mode'] ==# 'todo'},
\   open: 'Trouble todo',
\   close: 'lua require("trouble").close()'
\ }
let g:sidebar.spectre = #{
\   position: 'bottom',
\   filter: {nr -> getwinvar(nr, '&filetype') ==# 'spectre_panel'},
\   open: 'Spectre'
\ }
let g:sidebar.coc_explorer = #{
\   position: 'left',
\   filter: {nr -> getwinvar(nr, '&filetype') ==# 'coc-explorer'},
\   open: 'CocCommand explorer --no-toggle',
\   close: 'CocCommand explorer --toggle'
\ }
let g:vista_sidebar_position = 'vertical topleft'
let g:vista_sidebar_width = 40
let g:sidebar.vista = #{
\   position: 'left',
\   filter: {nr -> bufname(winbufnr(nr)) =~ '__vista__'},
\   open: 'Vista',
\   close: 'Vista!'
\ }

At left side:

let g:undotree_SetFocusWhenToggle = 1
let g:undotree_SplitWidth = 40
let g:sidebar.undotree = #{
\   position: 'left',
\   filter: {nr -> getwinvar(nr, '&filetype') ==# 'undotree'},
\   open': 'UndotreeShow',
\   close: 'UndotreeHide',
\   move: 0
\ }

At bottom side:

let g:undotree_CustomUndotreeCmd = 'botright split 20new'
let g:undotree_CustomDiffpanelCmd = 'belowright vertical new'
let g:sidebar.undotree = #{
\   position: 'bottom',
\   filter: {nr -> getwinvar(nr, '&filetype') ==# 'undotree'},
\   open: 'UndotreeShow',
\   close: 'UndotreeHide',
\   move: 0
\ }
Clone this wiki locally