set wildmenu
set colorcolumn=120
highlight ColorColumn ctermbg=0 guibg=lightgrey
-" Fallback for filetypes without a Tree-sitter parser.
-set foldmethod=indent
+" Create folds only after a Tree-sitter parser is started.
+set foldmethod=expr
+set foldexpr=0
set foldlevelstart=99
set foldlevel=99
+" Indent summaries one level past the retained first line, not a continuation.
+let &foldtext = 'repeat(" ", indent(v:foldstart - 1) + shiftwidth()) . printf("… %d lines …", v:foldend - v:foldstart + 1)'
+set fillchars+=fold:\ " Leave the rest of the summary line blank.
" Interaction and persistence
set mouse=a
Plug 'preservim/nerdtree'
Plug 'christoomey/vim-tmux-navigator'
Plug 'mbbill/undotree'
- Plug 'majutsushi/tagbar'
- Plug 'ludovicchabant/vim-gutentags'
+ Plug 'stevearc/aerial.nvim'
" Development
Plug 'nvim-treesitter/nvim-treesitter'
Plug 'zbirenbaum/copilot.lua'
" Git
- Plug 'tpope/vim-fugitive'
Plug 'lewis6991/gitsigns.nvim'
Plug 'kdheepak/lazygit.nvim'
nnoremap <leader>u :UndotreeToggle<CR>
endif
-if has_key(plugs, 'tagbar')
- nnoremap <leader>t :TagbarToggle<CR>
+if has_key(plugs, 'aerial.nvim')
+ lua require('aerial').setup()
+ nnoremap <leader>a <cmd>AerialToggle!<CR>
endif
" Development
nnoremap <silent> <leader>lg :LazyGit<CR>
endif
+" Markdown
+if has_key(plugs, 'markdown-preview.nvim')
+ let g:mkdp_echo_preview_url = 1
+ let g:mkdp_open_to_the_world = 1
+endif
+
" Optional
if has_key(plugs, 'avante.nvim')
lua require('plugin-config/avante')