From 7cdac89502d87623ed5a5f700c3e7fbb8d65deaf Mon Sep 17 00:00:00 2001 From: Alexander Gehrke Date: Tue, 27 Jun 2023 11:52:49 +0200 Subject: [PATCH] Clean up --- after/ftplugin/bib.vim | 1 - after/ftplugin/c.vim | 4 -- after/ftplugin/java.lua | 22 +++++++++++ after/ftplugin/java.vim | 47 ---------------------- after/ftplugin/ruby.vim | 6 --- after/ftplugin/tex.vim | 8 ---- after/plugin/airline.vim | 18 --------- after/plugin/autoformat.vim | 2 - after/plugin/c.vim | 2 - after/plugin/centerscroll.vim | 33 ++++++++-------- after/plugin/coc.vim | 20 ---------- after/plugin/compe.vim | 7 ---- after/plugin/deepl.vim | 10 ----- after/plugin/general.vim | 19 --------- after/plugin/nvim-metals.vim | 2 - after/plugin/syntastic.vim | 7 ---- after/plugin/tabline.vim | 45 --------------------- after/plugin/vimtex.vim | 4 -- lua/plugins/init.lua | 10 +++-- lua/plugins/lspconfig.lua | 13 ++++-- lua/plugins/tabline.lua | 74 +++++++++++++++++++++++++++++++++++ lua/plugins/treesitter.lua | 19 ++++++++- 22 files changed, 147 insertions(+), 226 deletions(-) delete mode 100644 after/ftplugin/bib.vim delete mode 100644 after/ftplugin/c.vim create mode 100644 after/ftplugin/java.lua delete mode 100644 after/ftplugin/java.vim delete mode 100644 after/plugin/airline.vim delete mode 100644 after/plugin/autoformat.vim delete mode 100644 after/plugin/coc.vim delete mode 100644 after/plugin/compe.vim delete mode 100644 after/plugin/deepl.vim delete mode 100644 after/plugin/general.vim delete mode 100644 after/plugin/nvim-metals.vim delete mode 100644 after/plugin/syntastic.vim delete mode 100644 after/plugin/tabline.vim delete mode 100644 after/plugin/vimtex.vim create mode 100644 lua/plugins/tabline.lua diff --git a/after/ftplugin/bib.vim b/after/ftplugin/bib.vim deleted file mode 100644 index a4f9c7a..0000000 --- a/after/ftplugin/bib.vim +++ /dev/null @@ -1 +0,0 @@ -map f :%!bibformat diff --git a/after/ftplugin/c.vim b/after/ftplugin/c.vim deleted file mode 100644 index 6dd71c1..0000000 --- a/after/ftplugin/c.vim +++ /dev/null @@ -1,4 +0,0 @@ -let c_space_errors = 1 -let c_space_errors = 1 -let c_no_comment_fold = 1 -let g:syntastic_c_checkers=['make'] diff --git a/after/ftplugin/java.lua b/after/ftplugin/java.lua new file mode 100644 index 0000000..f039aac --- /dev/null +++ b/after/ftplugin/java.lua @@ -0,0 +1,22 @@ +vim.api.nvim_buf_set_option(0, 'textwidth', 120) +vim.cmd.iabbrev('syso', 'System.out.println') + +local bmap = vim.keymap.set +local map_opt = { silent = true, buffer = true } + +bmap('n', 'ev', function() require('jdtls').extract_variable() end, + { silent = true, buffer = true, desc = 'Extract variable'}) +bmap('v', 'ev', function() require('jdtls').extract_variable(true) end, + { silent = true, buffer = true, desc = 'Extract variable'}) +bmap('n', 'ec', function() require('jdtls').extract_constant() end, + { silent = true, buffer = true, desc = 'Extract constant'}) +bmap('v', 'ec', function() require('jdtls').extract_constant(true) end, + { silent = true, buffer = true, desc = 'Extract constant'}) +bmap('v', 'em', function() require('jdtls').extract_method(true) end, + { silent = true, buffer = true, desc = 'Extract method'}) +bmap('n', 'ro', function() require('jdtls').organize_imports() end, + { silent = true, buffer = true, desc = 'Organize imports'}) +bmap('n', 'tc', function() require 'jdtls'.test_class() end, + { silent = true, buffer = true, desc = 'Test class'}) +bmap('n', 'tm', function() require 'jdtls'.test_nearest_method() end, + { silent = true, buffer = true, desc = 'Test nearest method'}) diff --git a/after/ftplugin/java.vim b/after/ftplugin/java.vim deleted file mode 100644 index fd1c415..0000000 --- a/after/ftplugin/java.vim +++ /dev/null @@ -1,47 +0,0 @@ -iab syso System.out.println - -setlocal foldmethod=syntax -setlocal foldenable -setlocal textwidth=120 - -nnoremap jd :JavaDocComment -nnoremap :JavaDocPreview -nnoremap :JavaSearchContext -nnoremap ev lua require('jdtls').extract_variable() -vnoremap ev lua require('jdtls').extract_variable(true) -nnoremap ec lua require('jdtls').extract_constant() -vnoremap ec lua require('jdtls').extract_constant(true) -vnoremap em lua require('jdtls').extract_method(true) -nnoremap ro lua require('jdtls').organize_imports() - -nnoremap tc lua require'jdtls'.test_class() -nnoremap tm lua require'jdtls'.test_nearest_method() - -inoremap pumvisible() \|\| &omnifunc == '' ? -\ "\C-n>" : -\ "\C-x>\C-o>=pumvisible() ?" . -\ "\"\\c-n>\\c-p>\\c-n>\" :" . -\ "\" \\bs>\\C-n>\"\" -imap map - -function! InsertJavaPackage() - let filename = expand("%") - let filename = substitute(filename, "\.java$", "", "") - let dir = getcwd() . "/" . filename - let dir = substitute(dir, "^.*\/src\/", "", "") - let dir = substitute(dir, "\/[^\/]*$", "", "") - let dir = substitute(dir, "\/", ".", "g") - let filename = substitute(filename, "^.*\/", "", "") - let dir = "package " . dir . ";" - let result = append(0, dir) - let result = append(1, "") - let result = append(2, "class " . filename . " {") - let result = append(4, "}") -endfunction - -"java {{{ -"if filereadable(bufname("%")) == 0 -" call InsertJavaPackage() -"endif - -"}}} diff --git a/after/ftplugin/ruby.vim b/after/ftplugin/ruby.vim index 9be0081..8c3ca50 100644 --- a/after/ftplugin/ruby.vim +++ b/after/ftplugin/ruby.vim @@ -1,10 +1,4 @@ setl sts=2 setl sw=2 setl expandtab -setl omnifunc=rubycomplete#Complete -let g:rubycomplete_buffer_loading = 1 -let g:rubycomplete_classes_in_global = 1 - -nmap K :!ri - hi link rubySymbol Special diff --git a/after/ftplugin/tex.vim b/after/ftplugin/tex.vim index e04fe7f..88c0487 100644 --- a/after/ftplugin/tex.vim +++ b/after/ftplugin/tex.vim @@ -1,11 +1,3 @@ -if exists("&cole") - " conceal" Use conceal vim 7.3 feature: - set cole=0 " conceal level - " Conceal in tex file: "admgs", a=accents, d=delimiters, m=math symbols, - " g=Greek, s=superscripts/subscripts: - let g:tex_conceal="agm" -endif - imap [[ \begin{ imap ]] (vimtex-delim-close) imap [( \left( diff --git a/after/plugin/airline.vim b/after/plugin/airline.vim deleted file mode 100644 index dc78b32..0000000 --- a/after/plugin/airline.vim +++ /dev/null @@ -1,18 +0,0 @@ -let g:airline_powerline_fonts = 1 -let g:airline_left_sep = '' -let g:airline_left_alt_sep = '' -let g:airline_right_sep = '' -let g:airline_right_alt_sep = '' -let g:airline_symbols.branch = '' -let g:airline_symbols.readonly = '' -let g:airline_symbols.linenr = '' -let g:airline_section_z = 'L:%l/%L C:%v' - -function! LspStatus() abort - let status = luaeval('require("lsp-status").status()') - return trim(status) -endfunction -call airline#parts#define_function('lsp_status', 'LspStatus') -call airline#parts#define_condition('lsp_status', 'luaeval("#vim.lsp.buf_get_clients() > 0")') -let g:airline#extensions#nvimlsp#enabled = 0 -let g:airline_section_warning = airline#section#create_right(['lsp_status']) diff --git a/after/plugin/autoformat.vim b/after/plugin/autoformat.vim deleted file mode 100644 index b7ec72d..0000000 --- a/after/plugin/autoformat.vim +++ /dev/null @@ -1,2 +0,0 @@ -let g:formatdef_scalafmt = '"scalafmt --stdin 2>/dev/null"' -let g:formatters_scala = ['scalafmt'] diff --git a/after/plugin/c.vim b/after/plugin/c.vim index 09e6281..8a96d9f 100644 --- a/after/plugin/c.vim +++ b/after/plugin/c.vim @@ -1,4 +1,3 @@ - "{{{ c header gates function! s:insert_gates() let gatename = substitute(toupper(expand("%:t")), "\\.", "_", "g") @@ -8,5 +7,4 @@ function! s:insert_gates() normal! kk endfunction autocmd BufNewFile *.{h,hpp} call insert_gates() - "}}} diff --git a/after/plugin/centerscroll.vim b/after/plugin/centerscroll.vim index 24c9f0e..64db6f6 100644 --- a/after/plugin/centerscroll.vim +++ b/after/plugin/centerscroll.vim @@ -1,17 +1,18 @@ -set scrolloff=99999 -set lazyredraw +" from https://vi.stackexchange.com/a/26055 +augroup KeepCentered + autocmd! + autocmd CursorMoved * normal! zz + autocmd TextChangedI * call InsertRecenter() +augroup END -nnoremap 11kzz -nnoremap 11jzz -nnoremap j gjzz -nnoremap k gkzz -nnoremap # #zz -nnoremap * *zz -nnoremap n nzz -nnoremap N Nzz -nnoremap gg ggzz -nnoremap G Gzz -nnoremap gj jzz -nnoremap gk kzz -vnoremap < >gv +function InsertRecenter() abort + let at_end = getcursorcharpos()[2] > len(getline('.')) + normal! zz + + " Fix position of cursor at end of line + if at_end + let cursor_pos = getcursorcharpos() + let cursor_pos[2] = cursor_pos[2] + 1 + call setcursorcharpos(cursor_pos[1:]) + endif +endfunction diff --git a/after/plugin/coc.vim b/after/plugin/coc.vim deleted file mode 100644 index ca3afb4..0000000 --- a/after/plugin/coc.vim +++ /dev/null @@ -1,20 +0,0 @@ -if exists(":CocAction") - set signcolumn=yes - map gd (coc-definition) - - map call CocAction("doHover") - map t (coc-type-definition) - map u (coc-references) - map r (coc-rename) - map q (coc-quickfix) - - map F (coc-format) - map f (coc-format-selected) - vmap f (coc-format-selected) - - map (coc-codeaction) - vmap (coc-codeaction-selected) - - omap af (coc-funcobj-a) - omap if (coc-funcobj-i) -endif diff --git a/after/plugin/compe.vim b/after/plugin/compe.vim deleted file mode 100644 index a4ea8a8..0000000 --- a/after/plugin/compe.vim +++ /dev/null @@ -1,7 +0,0 @@ -if exists('g:loaded_compe') - inoremap compe#complete() - inoremap compe#confirm('') - inoremap compe#close('') - inoremap compe#scroll({ 'delta': +4 }) - inoremap compe#scroll({ 'delta': -4 }) -endif diff --git a/after/plugin/deepl.vim b/after/plugin/deepl.vim deleted file mode 100644 index a1add28..0000000 --- a/after/plugin/deepl.vim +++ /dev/null @@ -1,10 +0,0 @@ -let g:deepl#endpoint = "https://api-free.deepl.com/v2/translate" -function TranslateSelection(lang) - if !exists('g:deepl#auth_key') - let g:deepl#auth_key = pass#get('web/deepl.com', 'apikey') - endif - call deepl#v(a:lang) -endfun - -vmap call TranslateSelection("EN") -vmap call TranslateSelection("DE") diff --git a/after/plugin/general.vim b/after/plugin/general.vim deleted file mode 100644 index b816a66..0000000 --- a/after/plugin/general.vim +++ /dev/null @@ -1,19 +0,0 @@ -let g:deoplete#enable_at_startup = 1 -if !exists('g:deoplete#omni#input_patterns') - let g:deoplete#omni#input_patterns = {} -endif - -" , : close popup and delete backword char. -"inoremap deoplete#smart_close_popup()."\" -"inoremap deoplete#smart_close_popup()."\" - -"inoremap -" \ pumvisible() ? "\" : -" \ check_back_space() ? "\" : -" \ '\' - -function! s:check_back_space() - let col = col('.') - 1 - return !col || getline('.')[col - 1] =~ '\s' -endfunction -"inoremap diff --git a/after/plugin/nvim-metals.vim b/after/plugin/nvim-metals.vim deleted file mode 100644 index b29809e..0000000 --- a/after/plugin/nvim-metals.vim +++ /dev/null @@ -1,2 +0,0 @@ -":let g:metals_server_version = '0.10.6-M1+29-22f5a4b1-SNAPSHOT' -"let g:metals_server_version = '0.10.6-M1' diff --git a/after/plugin/syntastic.vim b/after/plugin/syntastic.vim deleted file mode 100644 index 84e9de0..0000000 --- a/after/plugin/syntastic.vim +++ /dev/null @@ -1,7 +0,0 @@ - -hi SyntasticErrorLine ctermbg=52 ctermfg=fg cterm=NONE -hi SyntasticWarningLine ctermbg=234 ctermfg=fg cterm=NONE - -let g:syntastic_tex_chktex_showmsg = 0 -let g:syntastic_tex_chktex_args = '-n 1 -n 11' -let g:syntastic_tex_checkers = ['chktex'] diff --git a/after/plugin/tabline.vim b/after/plugin/tabline.vim deleted file mode 100644 index f3aa0b3..0000000 --- a/after/plugin/tabline.vim +++ /dev/null @@ -1,45 +0,0 @@ -function MyTabLine() - let s = '' - let t = tabpagenr() - let i = 1 - while i <= tabpagenr('$') - let buflist = tabpagebuflist(i) - let winnr = tabpagewinnr(i) - let s .= '%' . i . 'T' - let s .= (i == t ? '%2*' : '%1*') - let s .= ' ' - let s .= i . ':' - let s .= winnr . '/' . tabpagewinnr(i,'$') - - let bufnrlist = tabpagebuflist(i) - for bufnr in bufnrlist - if getbufvar(bufnr, "&modified") - let s .= '+' - break - endif - endfor - - let s .= ' %*' - let s .= (i == t ? '%#TabLineSel#' : '%#TabLine#') - let bufnr = buflist[winnr - 1] - let file = bufname(bufnr) - let buftype = getbufvar(bufnr, 'buftype') - if buftype == 'nofile' - if file =~ '\/.' - let file = substitute(file, '.*\/\ze.', '', '') - endif - else - let file = fnamemodify(file, ':p:t') - endif - if file == '' - let file = '[No Name]' - endif - let s .= file - let i = i + 1 - endwhile - let s .= '%T%#TabLineFill#%=' - let s .= (tabpagenr('$') > 1 ? '%999XX' : 'X') - return s -endfunction -set stal=2 -set tabline=%!MyTabLine() diff --git a/after/plugin/vimtex.vim b/after/plugin/vimtex.vim deleted file mode 100644 index d813c7a..0000000 --- a/after/plugin/vimtex.vim +++ /dev/null @@ -1,4 +0,0 @@ -let g:vimtex_quickfix_ignorefilters = [ - \ 'overfull', - \ 'underfull', - \] diff --git a/lua/plugins/init.lua b/lua/plugins/init.lua index 1af8e03..f325736 100644 --- a/lua/plugins/init.lua +++ b/lua/plugins/init.lua @@ -29,7 +29,6 @@ return { require('lsp_signature').setup({}) end }, - 'nvim-lua/lsp-status.nvim', 'kyazdani42/nvim-web-devicons', 'folke/trouble.nvim', 'folke/lsp-colors.nvim', @@ -37,7 +36,6 @@ return { 'junegunn/vim-easy-align', 'machakann/vim-highlightedyank', - 'vim-airline/vim-airline', 'lukas-reineke/indent-blankline.nvim', 'lambdalisue/suda.vim', -- git @@ -47,7 +45,13 @@ return { 'sjl/splice.vim', 'jamessan/vim-gnupg', - 'lervag/vimtex', + {'lervag/vimtex', + init = function() + vim.g.tex_conceal="agm" + vim.g.vimtex_quickfix_ignorefilters = { 'overfull', 'underfull' } + end, + ft = "tex", + }, 'ledger/vim-ledger', 'anekos/hledger-vim', diff --git a/lua/plugins/lspconfig.lua b/lua/plugins/lspconfig.lua index 147bec8..354fdb1 100644 --- a/lua/plugins/lspconfig.lua +++ b/lua/plugins/lspconfig.lua @@ -8,6 +8,7 @@ return { { "folke/neodev.nvim", opts = {} }, "mason.nvim", "williamboman/mason-lspconfig.nvim", + 'nvim-lua/lsp-status.nvim', { "hrsh7th/cmp-nvim-lsp", cond = function() @@ -16,7 +17,7 @@ return { }, }, ---@class PluginLspOpts - opts = { + opts = function() return { -- options for vim.diagnostic.config() diagnostics = { underline = true, @@ -32,7 +33,7 @@ return { severity_sort = true, }, -- add any global capabilities here - capabilities = {}, + capabilities = { require'lsp-status'.capabilities }, servers = { jsonls = {}, lua_ls = { @@ -71,7 +72,7 @@ return { -- Specify * to use this function as a fallback for any server -- ["*"] = function(server, opts) end, }, - }, + } end, ---@param opts PluginLspOpts config = function(_, opts) -- diagnostics @@ -196,5 +197,11 @@ return { end, }, 'mfussenegger/nvim-jdtls', + {'nvim-lua/lsp-status.nvim', + config = function(_, opts) + local lsp_status = require('lsp-status') + lsp_status.register_progress() + end + } } diff --git a/lua/plugins/tabline.lua b/lua/plugins/tabline.lua new file mode 100644 index 0000000..6f570ae --- /dev/null +++ b/lua/plugins/tabline.lua @@ -0,0 +1,74 @@ +local colors = { + blue = '#00afff', + lightblue = '#87afff', + orange = '#ffaf5f', + yellow = '#ffd75f', + green = '#87d75f', + red = '#ff0000', + lightred = '#ff5f5f', + white = '#ffffff', + lightgray = '#c6c6c6', + gray = '#6a6a6a', + bggray = '#1c1c1c', + lightbggray = '#262626', + visualgray = '#303030', + black = '#000000', + normfg = '#ffffff', + normbg = '#000000', +} + +return { + 'hoob3rt/lualine.nvim', + dependencies = { + {'kyazdani42/nvim-web-devicons', lazy = true }, + 'nvim-lua/lsp-status.nvim', + }, + opts = { + options = { + theme = { + normal = { + a = { fg = colors.black, bg = colors.gray }, + b = { fg = colors.yellow, bg = colors.lightbggray }, + c = { fg = colors.blue, bg = colors.bggray }, + z = { fg = colors.yellow, bg = colors.gray }, + }, + inactive = { + a = { fg = colors.black, bg = colors.gray }, + b = { fg = colors.red, bg = colors.lightbggray }, + c = { fg = colors.gray, bg = colors.bggray }, + z = { fg = colors.blue, bg = colors.gray }, + }, + insert = { a = { fg = colors.black, bg = colors.green } }, + visual = { a = { fg = colors.black, bg = colors.yellow } }, + replace = { a = { fg = colors.black, bg = colors.red } }, + } + }, + tabline = { + lualine_a = { 'branch' }, + lualine_b = {}, + lualine_c = { 'windows' }, + lualine_x = {}, + lualine_y = {}, + lualine_z = { 'tabs' } + }, + sections = { + lualine_a = { 'filename' }, + lualine_b = { 'diff', 'diagnostics' }, + lualine_c = {}, + lualine_x = { "require'lsp-status'.status()" }, + lualine_y = { 'filetype' }, + lualine_z = { 'searchcount', 'location' } + }, + inactive_sections = { + lualine_a = {}, + lualine_b = {}, + lualine_c = { 'filename' }, + lualine_x = { 'location' }, + lualine_y = {}, + lualine_z = {} + }, + winbar = {}, + inactive_winbar = {}, + extensions = {} + } +} diff --git a/lua/plugins/treesitter.lua b/lua/plugins/treesitter.lua index 8f77982..bcbecb9 100644 --- a/lua/plugins/treesitter.lua +++ b/lua/plugins/treesitter.lua @@ -28,7 +28,7 @@ return { }, keys = { { "", desc = "Increment selection" }, - { "", desc = "Decrement selection", mode = "x" }, + { "", desc = "Decrement selection", mode = "x" }, }, ---@type TSConfig opts = { @@ -76,13 +76,28 @@ return { end added[lang] = true return true - end, opts.ensure_installed) + end, opts.ensure_installed --[[@as string[] ]]) end require("nvim-treesitter.configs").setup(opts) end, }, { 'nvim-treesitter/playground', + dependencies = { "nvim-treesitter/nvim-treesitter" }, cmd = 'TSPlaygroundToggle' }, + { "nvim-treesitter/nvim-treesitter-context", + event = "VeryLazy", + dependencies = { "nvim-treesitter/nvim-treesitter" }, + cmd = { 'TSContextEnable', 'TSContextDisable', 'TSContextToggle' }, + keys = { + { "[c", function() require("treesitter-context").go_to_context() end, desc = "Go to context start" }, + }, + opts = { enable = true }, + config = function(_, opts) + require'treesitter-context'.setup(opts) + vim.api.nvim_set_hl(0, 'TreesitterContext', { bg = "#555555" }) + vim.api.nvim_set_hl(0, 'TreesitterContextLineNumber', { link = "Special" }) + end, + } }