let g:polyglot_disabled = ['latex'] lua require 'plugins' lua require 'options' lua require 'lsp' lua require 'mappings' lua require 'treesitter' lua require 'statusline' lua require 'dap-config' "{{{ General Options " filetype detection for glsl au BufRead,BufNewFile *.glslv setfiletype glsl au BufRead,BufNewFile *.glslf setfiletype glsl " filetype detection for arm assembly files to enable syntax highlighting au BufNewFile,BufRead *_armv8.s,*_armv8.S set filetype=arm " filetype detection for verilog au BufNewFile,BufRead *.v set filetype=verilog " highlight yanked text au TextYankPost * lua vim.highlight.on_yank {on_visual = false, timeout = 200} " Disable autocompletion in telescope window autocmd FileType TelescopePrompt lua require'cmp'.setup.buffer { \ completion = { autocomplete = false } \ } " Enable and select color schemes let g:onedark_terminal_italics = 1 syntax on " colorscheme onedark let g:gruvbox_flat_style = "hard" colorscheme gruvbox-flat "}}} "{{{ Plugin Options " show lightbulb for codeactions autocmd CursorHold,CursorHoldI * lua require'nvim-lightbulb'.update_lightbulb() " highlight the buffer line highlight link BufferCurrent Title highlight link BufferCurrentMod Title highlight link BufferCurrentSign Title highlight link BufferCurrentIndex Title highlight link BufferCurrentTarget Title let bufferline = get(g:, 'bufferline', {}) let bufferline.animation = v:false let bufferline.icons = v:false " less aggressive highlighting highlight clear Identifier highlight clear Constant highlight clear LspDiagnosticsUnderlineHint augroup ExtraFiletypes autocmd! autocmd BufRead,BufNewFile *.jl setfiletype julia augroup END " just display a colored line for the git diff let g:gitgutter_sign_added = '│' let g:gitgutter_sign_modified = '│' let g:gitgutter_sign_removed = '_' let g:gitgutter_sign_modified_removed = '│_' " default max number of signs is 500. causes problems with large files let g:gitgutter_max_signs = 1000 " Prefer vimtex to latex-box let g:tex_flavor='xetex' " Fern config & mappings let g:fern#disable_default_mappings = 1 let g:fern#default_hidden = 1 function! s:init_fern() abort " Use 'select' instead of 'edit' for default 'open' action " nmap <buffer> <cr> <plug>(fern-action-open-or-expand) nmap <buffer><expr> \ <plug>(fern-my-open-or-expand-or-collapse) \ fern#smart#leaf( \ "\<plug>(fern-action-open)", \ "\<plug>(fern-action-expand:stay)", \ "\<plug>(fern-action-collapse)", \ ) nmap <buffer> <cr> <plug>(fern-my-open-or-expand-or-collapse) nmap <buffer> o <plug>(fern-action-open) nmap <buffer> u <plug>(fern-action-leave) nmap <buffer> i <plug>(fern-action-new-file) nmap <buffer> d <plug>(fern-action-new-dir) nmap <buffer> D <plug>(fern-action-remove) nmap <buffer> y <plug>(fern-action-yank) nmap <buffer> x <plug>(fern-action-move) nmap <buffer> p <plug>(fern-action-paste) nmap <buffer> r <plug>(fern-action-rename:below) nmap <buffer> m <plug>(fern-action-mark) nmap <buffer> cm <plug>(fern-action-mark:clear) nmap <buffer> cd <plug>(fern-action-cd) endfunction augroup fern-custom autocmd! * autocmd FileType fern call s:init_fern() augroup END "}}} "{{{ Mappings " use normal regex when searching in normal/visual mode nnoremap / /\v " search for highlighted text when entering search from visual mode vnoremap / y/\V<c-r>=escape(@",'/\')<cr><cr>