diff options
| author | Robert Günzler <r@gnzler.io> | 2021-02-20 21:27:26 +0100 |
|---|---|---|
| committer | Robert Günzler <r@gnzler.io> | 2021-04-26 02:09:43 +0200 |
| commit | 1996ef15613f2d4773017128bba1a719a1b63a19 (patch) | |
| tree | aa291b56947f0f710c96c62758990de3b2939bba /.vim/lua/plugins | |
| parent | 30451238df36d238fea816f01ca987853c6562a5 (diff) | |
Move to lua based vimrc
Diffstat (limited to '.vim/lua/plugins')
| -rw-r--r-- | .vim/lua/plugins/_colorizer.lua | 8 | ||||
| -rw-r--r-- | .vim/lua/plugins/_completion.lua | 17 | ||||
| -rw-r--r-- | .vim/lua/plugins/_git-messenger.lua | 3 | ||||
| -rw-r--r-- | .vim/lua/plugins/_goyo.lua | 9 | ||||
| -rw-r--r-- | .vim/lua/plugins/_indent-guides.lua | 4 | ||||
| -rw-r--r-- | .vim/lua/plugins/_limelight.lua | 7 | ||||
| -rw-r--r-- | .vim/lua/plugins/_lsp.lua | 78 | ||||
| -rw-r--r-- | .vim/lua/plugins/_markdown.lua | 9 | ||||
| -rw-r--r-- | .vim/lua/plugins/_signify.lua | 6 | ||||
| -rw-r--r-- | .vim/lua/plugins/_telescope.lua | 99 | ||||
| -rw-r--r-- | .vim/lua/plugins/_treesitter.lua | 24 | ||||
| -rw-r--r-- | .vim/lua/plugins/_ultisnips.lua | 4 | ||||
| -rw-r--r-- | .vim/lua/plugins/_vimtex.lua | 8 |
13 files changed, 276 insertions, 0 deletions
diff --git a/.vim/lua/plugins/_colorizer.lua b/.vim/lua/plugins/_colorizer.lua new file mode 100644 index 0000000..7b6f678 --- /dev/null +++ b/.vim/lua/plugins/_colorizer.lua @@ -0,0 +1,8 @@ +require('colorizer').setup(nil, { + name = true; + RRGGBB = true; + RRGGBBAA = false; + rgb_fn = true; + hsl_fn = true; + mode = 'background'; +}) diff --git a/.vim/lua/plugins/_completion.lua b/.vim/lua/plugins/_completion.lua new file mode 100644 index 0000000..8a4a92e --- /dev/null +++ b/.vim/lua/plugins/_completion.lua @@ -0,0 +1,17 @@ +local g = vim.g +local u = require('utils') + +g.completion_enable_auto_popup = true +g.completion_enable_auto_signature = true +g.completion_enable_auto_paren = false +g.completion_confirm_key = '<tab>' +g.completion_enable_snippet = 'UltiSnips' +g.completion_auto_change_source = true +g.completion_chain_complete_list = { + {complete_items = {'lsp', 'snippet', 'buffers', 'ts', 'path'}}, + {mode = 'file'}, +} + +u.augroup('completion', { + {'BufEnter', '*', 'lua require("completion").on_attach()'}, +}) diff --git a/.vim/lua/plugins/_git-messenger.lua b/.vim/lua/plugins/_git-messenger.lua new file mode 100644 index 0000000..ea1c271 --- /dev/null +++ b/.vim/lua/plugins/_git-messenger.lua @@ -0,0 +1,3 @@ +-- vim.g.git_messenger_include_diff = false +vim.g.git_messenger_always_into_popup = true +vim.g.git_messenger_close_on_cursor_moved = true diff --git a/.vim/lua/plugins/_goyo.lua b/.vim/lua/plugins/_goyo.lua new file mode 100644 index 0000000..e18d2ba --- /dev/null +++ b/.vim/lua/plugins/_goyo.lua @@ -0,0 +1,9 @@ +vim.g.goyo_width = 120 +vim.g.goyo_height = 90 +vim.g.goyo_linenr = false +require('utils').augroup('goyo_hooks', { + {'User', 'GoyoEnter', 'set laststatus=0 scrolloff=999'}, + {'User', 'GoyoEnter', 'Limelight'}, + {'User', 'GoyoLeave', 'set laststatus=2 scrolloff=5'}, + {'User', 'GoyoLeave', 'Limelight!'}, +}) diff --git a/.vim/lua/plugins/_indent-guides.lua b/.vim/lua/plugins/_indent-guides.lua new file mode 100644 index 0000000..eb3c4aa --- /dev/null +++ b/.vim/lua/plugins/_indent-guides.lua @@ -0,0 +1,4 @@ +vim.g.indent_guides_enable_on_vim_startup = false +vim.g.indent_guides_start_level = 2 +vim.g.indent_guides_color_change_percent = 2 +vim.g.indent_guides_guide_size = 1 diff --git a/.vim/lua/plugins/_limelight.lua b/.vim/lua/plugins/_limelight.lua new file mode 100644 index 0000000..b77fdfc --- /dev/null +++ b/.vim/lua/plugins/_limelight.lua @@ -0,0 +1,7 @@ +vim.g.limelight_conceal_ctermfg = 'gray' +vim.g.limelight_conceal_ctermbg = 'none' +vim.g.limelight_conceal_guifg = '#828282' +vim.g.limelight_conceal_guibg = 'none' +vim.g.limelight_default_coefficient = 0.5 +vim.g.limelight_paragraph_span = 1 +vim.g.limelight_priority = -1 diff --git a/.vim/lua/plugins/_lsp.lua b/.vim/lua/plugins/_lsp.lua new file mode 100644 index 0000000..9d98aca --- /dev/null +++ b/.vim/lua/plugins/_lsp.lua @@ -0,0 +1,78 @@ +-- lsp config + +local lsp = require('lspconfig') +local util = require('lspconfig.util') +local u = require('utils') + +-- https://github.com/kosayoda/nvim-lightbulb +require('nvim-lightbulb').update_lightbulb { + sign = { + enabled = true, + priority = 10, + }, + float = { + enabled = true, + text = '', + win_opts = {}, + }, +} + +local my_attach = function(client) + -- attach completion + require 'completion'.on_attach(client) + + -- lsp mappings + u.map('n', 'K', '<cmd>lua vim.lsp.buf.hover()<cr>') + u.map(0, 'n', '<c-]>', '<cmd>lua vim.lsp.buf.definition()<cr>') + u.map(0, 'n', 'grr', '<cmd>lua vim.lsp.buf.rename()<cr>') + u.map(0, 'i', '<c-h>', '<cmd>lua vim.lsp.buf.signature_help()<cr>') + u.map(0, 'n', ']d', '<cmd>lua vim.lsp.diagnostic.goto_next()<cr>') + u.map(0, 'n', '[d', '<cmd>lua vim.lsp.diagnostic.goto_prev()<cr>') + + -- nnoremap <silent> gD <cmd> lua vim.lsp.buf.declaration()<CR> + -- nnoremap <silent> gd <cmd> lua vim.lsp.buf.definition()<CR> + -- nnoremap <silent> gT <cmd> lua vim.lsp.buf.type_definition()<CR> + -- nnoremap <silent> gI <cmd> lua vim.lsp.buf.implementation()<CR> + -- nnoremap <silent> gr <cmd> lua vim.lsp.buf.references()<CR> + -- nnoremap <silent> g0 <cmd> lua vim.lsp.buf.document_symbol()<CR> + -- nnoremap <silent> gW <cmd> lua vim.lsp.buf.workspace_symbol()<CR> + -- nnoremap <silent> ;h <cmd> lua vim.lsp.buf.hover()<CR> + -- nnoremap <silent> ;s <cmd> lua vim.lsp.buf.signature_help()<CR> +end + +-- lsp.ccls.setup{ +-- on_attach = my_attach, +-- } + +lsp.gopls.setup{ + on_attach = my_attach, + root_dir = util.root_pattern('go.mod', '.git'), + -- NOTE: this is done to avoid the gopls warning about being outside gopath + -- message_level = vim.lsp.protocol.MessageType.Error, +} + +lsp.sumneko_lua.setup{ + on_attach = my_attach; + cmd = { 'lua-language-server' }; + settings = { + Lua = { + runtime = { + version = 'LuaJIT', + }, + diagnostics = { + globals = {'vim'}, + }, + workspace = { + library = { + [vim.fn.expand('$VIMRUNTIME/lua')] = true, + [vim.fn.expand('$VIMRUNTIME/lua/vim/lsp')] = true, + } + } + } + }, +} + +lsp.rust_analyzer.setup{ + on_attach = my_attach, + cmd = { 'env', 'CARGO_TARGET_DIR=/tmp', 'rust-analyzer' }, +} diff --git a/.vim/lua/plugins/_markdown.lua b/.vim/lua/plugins/_markdown.lua new file mode 100644 index 0000000..c773d50 --- /dev/null +++ b/.vim/lua/plugins/_markdown.lua @@ -0,0 +1,9 @@ +g.vim_markdown_folding_disabled = true +g.vim_markdown_math = true +g.vim_markdown_frontmatter = true +g.vim_markdown_json_frontmatter = true +g.vim_markdown_toml_frontmatter = true +g.vim_markdown_folding_level = 2 +g.vim_markdown_strikethrough = true +g.vim_markdown_auto_insert_bullets = true +g.vim_markdown_new_list_item_indent = false diff --git a/.vim/lua/plugins/_signify.lua b/.vim/lua/plugins/_signify.lua new file mode 100644 index 0000000..a91ecb6 --- /dev/null +++ b/.vim/lua/plugins/_signify.lua @@ -0,0 +1,6 @@ +vim.g.signify_sign_change = '~' +require('utils').map('n', ']h', '<plug>(signify-next-hunk)', {silent=false}) +require('utils').map('n', '[h', '<plug>(signify-prev-hunk)') +vim.cmd('hi SignifySignChange guibg=NONE ctermbg=NONE') +vim.cmd('hi SignifySignAdd guibg=NONE ctermbg=NONE') +vim.cmd('hi SignifySignDelete guibg=NONE ctermbg=NONE') diff --git a/.vim/lua/plugins/_telescope.lua b/.vim/lua/plugins/_telescope.lua new file mode 100644 index 0000000..d4f9b89 --- /dev/null +++ b/.vim/lua/plugins/_telescope.lua @@ -0,0 +1,99 @@ +-- telescope.nvim et al config + +local u = require('utils') + +local M = {} + +-- TELESCOPE config -- {{{ +require('telescope').setup{ + defaults = { + -- vimgrep_arguments = { + -- 'rg', + -- '--color=never', + -- '--no-heading', + -- '--with-filename', + -- '--line-number', + -- '--column', + -- '--smart-case' + -- }, + + prompt_prefix = ' >', + borderchars = {'─', '│', '─', '│', '┌', '┐', '┘', '└'}, + winblend = 0, + preview_cutoff = 120, + + layout_strategy = 'flex', + + file_previewer = require('telescope.previewers').vim_buffer_cat_new, + grep_previewer = require('telescope.previewers').vim_buffer_vimgrep_new, + qflist_previewer = require('telescope.previewers').vim_buffer_qflist_new, + + extensions = { + fzf_writer = { + use_highlighter = true, + minimum_grep_characters = 4, + shorten_path = true, + } + } + } +} +-- }}} + +-- LOCAL finders -- {{{ +M.wrap = function(opts) + opts = opts or {} + my_opts = require('telescope.themes').get_dropdown({ width = 110 }) + return vim.tbl_deep_extend("force", my_opts, opts) +end + +M.live_grep = function() + require('telescope').extensions.fzf_writer.staged_grep(M.wrap()) +end + +M.repo_search = function() + require('telescope').extensions.fzf_writer.files(M.wrap({ + previewer = false, + cwd = require('lspconfig.util').root_pattern('.git')(vim.fn.expand('%:p')), + })) +end + +M.wiki = function() + require('telescope').extensions.fzf_writer.files(M.wrap({ + previewer = false, + cwd = '~/wiki/', + })) +end + +M.devel = function() + require('telescope').extensions.fzf_writer.files(M.wrap({ + previewer = false, + cwd = '~/devel/', + })) +end +-- }}} + +-- MAPPINGS -- {{{ + +u.map('n', ';g', "<cmd>lua require('plugins._telescope').live_grep()<cr>") +u.map('n', ';r', "<cmd>lua require('plugins._telescope').repo_search()<cr>") +-- u.map('n', ';w', "<cmd>lua require('plugins._telescope').wiki()<cr>") +u.map('n', ';d', "<cmd>lua require('plugins._telescope').devel()<cr>") + +local mapbuiltin = function(key, fn, previewer) + opts = (not previewer and '{ previewer = false }') or '{}' + u.map('n', key, "<cmd>lua require('telescope.builtin')."..fn.."(require('plugins._telescope').wrap("..opts.."))<cr>") +end + +mapbuiltin(';f', 'fd', true) +mapbuiltin(';q', 'quickfix') +mapbuiltin(';l', 'loclist') +mapbuiltin(';b', 'buffers') +mapbuiltin(';t', 'tags') +mapbuiltin(';lr', 'lsp_references') +mapbuiltin(';la', 'lsp_code_actions') +mapbuiltin(';lw', 'lsp_workspace_symbols') +mapbuiltin(';c', 'command_history') + +-- }}} + +return M diff --git a/.vim/lua/plugins/_treesitter.lua b/.vim/lua/plugins/_treesitter.lua new file mode 100644 index 0000000..ef24286 --- /dev/null +++ b/.vim/lua/plugins/_treesitter.lua @@ -0,0 +1,24 @@ + +require('nvim-treesitter.configs').setup { + ensure_installed = { "c", "c_sharp", "javascript", "lua", "bash" }, + highlight = { + enable = false, + }, + indent = { + enable = true, + }, + refactor = { + navigation = { + enable = true, + keymaps = { + goto_definition = "<c-]>", + }, + }, + smart_rename = { + enable = true, + keymaps = { + smart_rename = "grr", + }, + }, + }, +} diff --git a/.vim/lua/plugins/_ultisnips.lua b/.vim/lua/plugins/_ultisnips.lua new file mode 100644 index 0000000..f2a6f6e --- /dev/null +++ b/.vim/lua/plugins/_ultisnips.lua @@ -0,0 +1,4 @@ +-- vim.g.UltiSnipsListSnippets = "<c-tab>" +vim.g.UltiSnipsExpandTrigger = "<Tab>" +vim.g.UltiSnipsJumpForwardTrigger = "<c-n>" +vim.g.UltiSnipsJumpBackwardTrigger = "<c-p>" diff --git a/.vim/lua/plugins/_vimtex.lua b/.vim/lua/plugins/_vimtex.lua new file mode 100644 index 0000000..2a3d550 --- /dev/null +++ b/.vim/lua/plugins/_vimtex.lua @@ -0,0 +1,8 @@ +vim.g.tex_flavor = 'latex' +vim.g.vimtex_compiler_enabled = 1 +vim.g.vimtex_compiler_method = 'tectonic' +vim.g.vimtex_compiler_tectonic = "{'executable': 'tectonic'}" +vim.g.vimtex_view_method = 'zathura' +-- vim.g.vimtex_view_zathura_check_libsynctex = false +-- vim.g.vimtex_view_use_temp_files = true +-- vim.g.vimtex_view_forward_search_on_start = false |