diff options
| author | Robert Günzler <r@gnzler.io> | 2021-07-29 23:39:08 +0200 |
|---|---|---|
| committer | Robert Günzler <r@gnzler.io> | 2021-07-29 23:40:32 +0200 |
| commit | 3079e935c793a9aa1831fd165e28636eb7a87dae (patch) | |
| tree | e832ac6a08ad70c14c01b1eac32ac1b5eec3549f /.vim/lua/plugins | |
| parent | cefbce656c511a3583744ed7735aa71249b73500 (diff) | |
vim: cleanup config
Diffstat (limited to '')
| -rw-r--r-- | .vim/lua/plugins.lua | 487 | ||||
| -rw-r--r-- | .vim/lua/plugins/_colorizer.lua | 8 | ||||
| -rw-r--r-- | .vim/lua/plugins/_completion.lua | 53 | ||||
| -rw-r--r-- | .vim/lua/plugins/_git-messenger.lua | 4 | ||||
| -rw-r--r-- | .vim/lua/plugins/_goyo.lua | 12 | ||||
| -rw-r--r-- | .vim/lua/plugins/_indent-guides.lua | 4 | ||||
| -rw-r--r-- | .vim/lua/plugins/_lightbulb.lua | 19 | ||||
| -rw-r--r-- | .vim/lua/plugins/_limelight.lua | 7 | ||||
| -rw-r--r-- | .vim/lua/plugins/_lsp.lua | 176 | ||||
| -rw-r--r-- | .vim/lua/plugins/_markdown.lua | 12 | ||||
| -rw-r--r-- | .vim/lua/plugins/_neuron.lua | 15 | ||||
| -rw-r--r-- | .vim/lua/plugins/_signify.lua | 10 | ||||
| -rw-r--r-- | .vim/lua/plugins/_telescope.lua | 114 | ||||
| -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 |
16 files changed, 396 insertions, 561 deletions
diff --git a/.vim/lua/plugins.lua b/.vim/lua/plugins.lua index f5f9a37..cb8bdb1 100644 --- a/.vim/lua/plugins.lua +++ b/.vim/lua/plugins.lua @@ -1,14 +1,22 @@ +-- vim: foldenable -- load by calling `lua require('plugins')` from your init.vim local g = vim.g local u = require('utils') --- local install_path = fn.stdpath('data') .. '/site/pack/packer/opt/packer.nvim' --- if vim.fn.empty(vim.fn.glob(install_path)) > 0 then --- vim.fn.system({ 'git', 'clone', 'https://github.com/wbthomason/packer.nvim', install_path }) --- vim.api.nvim_command 'packadd packer.nvim' --- end +-- force packer into a system directory +local sysdata = vim.fn.stdpath('data_dirs')[1] -function disable_distribution_plugins() +local install_path = sysdata .. '/site/pack/packer/start/packer.nvim' +if vim.fn.empty(vim.fn.glob(install_path)) > 0 then + vim.fn.system({ 'git', 'clone', 'https://github.com/wbthomason/packer.nvim', install_path }) + vim.api.nvim_command 'packadd packer.nvim' +end + +if not vim.fn.filewritable(vim.fn.stdpath('cache')) == 2 then + return +end + +function disable_distribution_plugins() --{{{ g.loaded_gzip = 1 g.loaded_tar = 1 g.loaded_tarPlugin = 1 @@ -27,12 +35,9 @@ function disable_distribution_plugins() g.loaded_netrwPlugin = 1 g.loaded_netrwSettings = 1 g.loaded_netrwFileHandlers = 1 -end - --- enable to bootstrap packer from ~/.local/share/nvim/site/pack/packer/opt/packer.nvim --- vim.cmd [[packadd packer.nvim]] +end -- }}} -return require'packer'.startup(function() +return require('packer').startup({function() -- disable built-in plugins disable_distribution_plugins() @@ -40,119 +45,388 @@ return require'packer'.startup(function() use {'wbthomason/packer.nvim'} -- git status in the sign column - use {'mhinz/vim-signify', - config = "require('plugins._signify')" - } + use {'mhinz/vim-signify', -- {{{ + config = function() + local nnoremap = require('astronauta.keymap').nnoremap + + vim.g.signify_sign_change = '~' + + nnoremap { ']h', function() vim.fn['sy#jump#next_hunk'](1) end } + nnoremap { '[h', function() vim.fn['sy#jump#prev_hunk'](1) end } + end} -- }}} use {'tpope/vim-commentary'} -- auto-comment using `gcc` - use {'cohama/lexima.vim'} -- auto-close parens, brackets, etc. + + use {'windwp/nvim-autopairs', + config = function() + require('nvim-autopairs').setup() + end} + use {'tpope/vim-surround'} -- edit surroundings in pairs - -- use {'neomake/neomake'} -- async job runner - use {'sbdchd/neoformat'} -- async code formatter + use {'justinmk/vim-dirvish'} -- folder browser - use {'justinmk/vim-sneak', - config = "vim.g['sneak#label'] = true" - } + + use {'ggandor/lightspeed.nvim'} + + use {'jose-elias-alvarez/null-ls.nvim', -- {{{ + requires = {'nvim-lua/plenary.nvim'}, + config = function() + local nls = require('null-ls') + nls.config { + sources = { + nls.builtins.formatting.clang_format, -- c* + nls.builtins.formatting.gofumpt, -- go + nls.builtins.formatting.json_tool, -- json + nls.builtins.formatting.rustfmt, -- rust + nls.builtins.formatting.shfmt, -- *sh + nls.builtins.formatting.yapf, -- python + nls.builtins.diagnostics.shellcheck, -- *sh + } + } + + require('lspconfig')['null-ls'].setup { + on_attach = require('lsp').my_attach + } + end} -- }}} use {'neovim/nvim-lspconfig', - requires = { - {'kosayoda/nvim-lightbulb', config = "require('plugins._lightbulb')"}, - }, - config = "require('plugins._lsp')" - } + requires = {'~/devel/projects/spinner.nvim'}, + config = function() + require('lsp').setup() + end} + + use {'kosayoda/nvim-lightbulb', -- {{{ + config = function() + require('nvim-lightbulb').update_lightbulb { + sign = { + enabled = true, + priority = 10, + }, + float = { + enabled = true, + text = ' ', + win_opts = {}, + }, + virtual_text = { + enabled = false, + text = ' ', + }, + status_text = { + enabled = false, + } + } + + vim.fn.sign_define('LightBulbSign', {text="⚐", texthl="LightBulbVirtualText"}) - use {'nvim-treesitter/nvim-treesitter', + require('utils').augroup2 { + lightbulb = { + {'CursorHold', '*', "lua require('nvim-lightbulb').update_lightbulb()"} + } + } + end} -- }}} + + use {'nvim-treesitter/nvim-treesitter', -- {{{ + run = ':TSUpdate', requires = { 'nvim-treesitter/completion-treesitter', 'nvim-treesitter/nvim-treesitter-refactor', }, - config = "require('plugins._treesitter')", - run = ':TSUpdate', - } + config = function() + require('nvim-treesitter.configs').setup { + ensure_installed = { + "bash", + "c", + "c_sharp", + "css", + "dockerfile", + "html", + "go", "gomod", + "javascript", + "ledger", + "lua", + "rust", + "typescript", + }, + highlight = { + enable = false, + }, + indent = { + enable = true, + }, + refactor = { + navigation = { + enable = true, + keymaps = { + goto_definition = "<c-]>", + }, + }, + smart_rename = { + enable = true, + keymaps = { + smart_rename = "grr", + }, + }, + }, + } + end} -- }}} - use {'nvim-lua/completion-nvim', - requires = {'steelsojka/completion-buffers'}, - config = "require('plugins._completion')", - } + use {'hrsh7th/nvim-compe', -- {{{ + -- requires nvim-autopairs + config = function() + require('compe').setup { + enabled = true, + autocomplete = true, + preselect = 'enable', + documentation = { + border = 'single', + }, + source = { + path = true, + buffer = true, + tags = true, + nvim_lsp = true, + nvim_lua = true, + orgmode = true, + ultisnips = true, + } + } - -- use {'hrsh7th/nvim-compe', - -- config = "require('plugins._compe')", - -- } + vim.cmd [[ + inoremap <silent><expr> <c-space> compe#complete() + inoremap <silent><expr> <c-e> compe#close('<c-e>') + ]] + + require('nvim-autopairs.completion.compe').setup { + map_cr = true, + map_complete = true, + } + end} -- }}} - use {'nvim-telescope/telescope.nvim', + use {'nvim-telescope/telescope.nvim', --- {{{ requires = { 'nvim-lua/popup.nvim', 'nvim-lua/plenary.nvim', -- telescope plugins: 'nvim-telescope/telescope-fzf-writer.nvim', }, - config = "require('plugins._telescope')" - } + config = function() + local nnoremap = require('astronauta.keymap').nnoremap + + require('telescope').setup{ + defaults = { + -- initial_mode = 'input', + prompt_prefix = '> ', + selection_caret = '* ', + + sorting_strategy = 'ascending', + + preview_title = '', + layout_strategy = 'bottom_pane', + layout_config = { + preview_cutoff = 1, + height = 20, + }, + border = true, + borderchars = { + 'z', + prompt = { '─', ' ', ' ', ' ', '─', '─', ' ', ' ' }, + results = { ' ' }, + -- results = { 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h' }, + preview = { '─', '│', '─', '│', '┌', '┐', '┘', '└'}, + + -- "center" + -- { '─', '│', '─', '│', '┌', '┐', '┘', '└'}, + -- prompt = {'─', '│', ' ', '│', '┌', '┐', '│', '│'}, + -- results = {'─', '│', '─', '│', '├', '┤', '┘', '└'}, + -- preview = { '─', '│', '─', '│', '┌', '┐', '┘', '└'}, + }, + + 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, + } + } + } + } + + nnoremap { ';q', require('telescope.builtin').quickfix } + nnoremap { ';c', require('telescope.builtin').loclist } + + nnoremap { ';g', require('telescope').extensions.fzf_writer.staged_grep } + nnoremap { ';f', require('telescope.builtin').fd } + nnoremap { ';l', require('telescope.builtin').current_buffer_fuzzy_find } + nnoremap { ';w', require('telescope.builtin').file_browser } + nnoremap { ';b', require('telescope.builtin').buffers } + nnoremap { ';t', require('telescope.builtin').tags } + nnoremap { ';h', require('telescope.builtin').command_history } + nnoremap { ';H', require('telescope.builtin').help_tags } + nnoremap { ';c', require('telescope.builtin').commands } + + nnoremap { ';v', function() + require('telescope.builtin').find_files({ + prompt_title = 'vimrc', + previewer = false, + cwd = vim.fn.stdpath('config'), + }) + end } + + -- LSP stuff + nnoremap { ';a', require('telescope.builtin').lsp_code_actions } + nnoremap { ';0', require('telescope.builtin').lsp_document_symbols } + nnoremap { ';r', require('telescope.builtin').lsp_references } + end} -- }}} -- polyfill for some missing stuff use {'tjdevries/astronauta.nvim'} -- snippets - use {'SirVer/ultisnips', + use {'SirVer/ultisnips', -- {{{ requires = {'honza/vim-snippets'}, - config = "require('plugins._ultisnips')" - } + config = function() + vim.g.UltiSnipsJumpForwardTrigger = "<tab>" + vim.g.UltiSnipsJumpBackwardTrigger = "<s-tab>" + end} -- }}} + + -- use {'L3MON4D3/LuaSnip', + -- config = "require('plugins._ultisnips')", + -- } use {'junegunn/vim-easy-align'} - use {'editorconfig/editorconfig-vim', - config = "require('plugins._editorconfig')" - } - -- use {'tpope/vim-sleuth'} -- detect indentation - use {'nathanaelkane/vim-indent-guides', - disable = true, - config = "require('plugins._indent-guides')" - } + use {'editorconfig/editorconfig-vim', -- {{{ + config = function() + require('utils').augroup2 { + editorconfig = { + { 'FileType', 'gitcommit', 'let b:EditorConfig_disable = 1' }, + } + } + end} -- }}} - use {'tpope/vim-repeat'} -- extend '.' to plugins - use {'michaeljsmith/vim-indent-object'} -- adds indentation text-objects - use {'kshenoy/vim-signature', disable = true} -- toggle, display and navigate marks - use {'norcalli/nvim-colorizer.lua', - config = "require('plugins._colorizer')" - } + use {'lukas-reineke/indent-blankline.nvim', + config = function() + vim.g.indent_blankline_char = '▏' + end} - use {'rhysd/git-messenger.vim', - config = "require('plugins._git-messenger')" - } + use {'tpope/vim-repeat'} -- extend '.' to plugins + use {'michaeljsmith/vim-indent-object'} -- indentation text-objects + use {'kshenoy/vim-signature', disable = true} -- toggle, display and navigate marks + use {'norcalli/nvim-colorizer.lua', -- {{{ + config = function() + require('colorizer').setup(nil, { + name = true; + RRGGBB = true; + RRGGBBAA = false; + rgb_fn = true; + hsl_fn = true; + mode = 'background'; + }) + end} -- }}} - use {'TimUntersberger/neogit'} + use {'rhysd/git-messenger.vim', -- {{{ + config = function() + -- vim.g.git_messenger_include_diff = false + vim.g.git_messenger_always_into_popup = true + vim.g.git_messenger_close_on_cursor_moved = true + vim.g.git_messenger_no_default_mappings = true + end} -- }}} + -- use {'TimUntersberger/neogit', + -- config = "require('astronauta.keymap').nnoremap { '<leader>gg', function() require('neogit').open({ kind = 'split' }) end }" + -- } + + use {'liuchengxu/vista.vim'} use {'rhysd/conflict-marker.vim', disable = true} - -- use {'liuchengxu/vista.vim'} -- sidebar populated by lsp, ctags, etc. use {'kassio/neoterm', disable = true} -- zettelkasten via neuron - -- NOTE: needs telescope.nvim and plenary.nvim - use {'oberblastmeister/neuron.nvim', + use {'oberblastmeister/neuron.nvim', -- {{{ branch = 'unstable', requires = {'nvim-telescope/telescope.nvim'}, - config = "require('.plugins._neuron')" - } + config = function() + require('neuron').setup { + virtual_titles = true, + mappings = true, + run = nil, + neuron_dir = "~/.zk", + leader = "gz", + } + + vim.cmd [[ command! NeuronServe lua require('neuron').rib {address = "127.0.0.1:8200", verbose = true} ]] + vim.cmd [[ command! NeuronZettels lua require('neuron.telescope').find_zettels {insert = false} ]] + vim.cmd [[ command! NeuronZettelsInsert lua require('neuron.telescope').find_zettels {insert = true} ]] + vim.cmd [[ command! NeuronTags lua require('neuron.telescope').find_tags() ]] + end} -- }}} + + use {'kristijanhusak/orgmode.nvim', -- {{{ + config = function() + local nnoremap = require('astronauta.keymap').nnoremap + + require('orgmode').setup { + org_agenda_files = {'$HOME/.zk/.orgmode/*.org'}, + org_default_notes_file = '$HOME/.zk/.orgmode/todo.org', + } + + local pickers = require('telescope.pickers') + local finders = require('telescope.finders') + + nnoremap { ';o', function() + pickers.new(opts, { + prompt_title = 'Orgmode', + finder = finders.new_table(require('orgmode.config'):get_all_files()), + }):find() + end } + + vim.cmd [[ command! Orgmode lua require('orgmode').action('agenda.prompt') ]] + vim.cmd [[ command! OrgmodeCapture lua require('orgmode').action('capture.refile') ]] + vim.cmd [[ command! OrgmodeInsert lua require('orgmode').action('org_mappings.insert_heading_respect_content') ]] + vim.cmd [[ command! OrgmodeTodoCycle lua require('orgmode').action('org_mappings.todo_next_state') ]] + vim.cmd [[ command! OrgmodeTag lua require('orgmode').action('org_mappings.set_tags') ]] + vim.cmd [[ command! OrgmodeArchive lua require('orgmode').action('org_mappings.toggle_archive_tag') ]] + end} -- }}} -- languages -- NOTE: these should only be loaded when they are required... -- use {'rhysd/vim-grammarous', -- ft = {'markdown', 'latex', 'tex'} -- } - use {'lervag/vimtex', + use {'lervag/vimtex', -- {{{ ft = {'latex', 'tex'}, - config = "require('plugins._vimtex')" - } - use {'plasticboy/vim-markdown', + config = function() + vim.g.tex_flavor = 'latex' + vim.g.vimtex_compiler_enabled = 0 + 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 + end} -- }}} + + use {'plasticboy/vim-markdown', -- {{{ ft = {'markdown'}, - config = "require('plugins._markdown')" - } - use {'masukomi/vim-markdown-folding', - ft = {'markdown'} - } - use {'jjo/vim-cue', - ft = {'cue'} - } + config = function() + vim.g.vim_markdown_folding_disabled = true + vim.g.vim_markdown_math = true + vim.g.vim_markdown_frontmatter = true + vim.g.vim_markdown_json_frontmatter = true + vim.g.vim_markdown_toml_frontmatter = true + vim.g.vim_markdown_yaml_frontmatter = true + -- vim.g.vim_markdown_folding_level = 2 + vim.g.vim_markdown_strikethrough = true + vim.g.vim_markdown_auto_insert_bullets = true + vim.g.vim_markdown_new_list_item_indent = false + vim.g.vim_markdown_conceal = true + vim.g.vim_markdown_conceal_code_blocks = true + end} -- }}} + + use {'masukomi/vim-markdown-folding', ft = {'markdown'}} + use {'jjo/vim-cue', ft = {'cue'}} use {'gentoo/gentoo-syntax'} -- multi-language support with lazy loading @@ -160,22 +434,53 @@ return require'packer'.startup(function() g.polyglot_disabled = { 'autoindent' } use {'sheerun/vim-polyglot'} - -- minimal ux - use {'junegunn/goyo.vim', - cmd = 'Goyo', - config = "require('plugins._goyo')" - } - use {'junegunn/limelight.vim', - cmd = 'Limelight', - config = "require('plugins._limelight')" - } + use {'folke/zen-mode.nvim', -- {{{ + config = function() + require('zen-mode').setup { + window = { + backdrop = 1, + width = 0.3, + -- height = 1, + options = { + number = false, + list = false, + }, + }, + plugins = { + options = { + enabled = true, + ruler = false, + showcmd = false, + }, + twilight = { enabled = true }, + } + } + end} -- }}} - use {'rktjmp/lush.nvim',} - -- config="require('colors')"} + use {'folke/twilight.nvim', -- {{{ + config = function() + require('twilight').setup { + context = 15, + dimming = { + alpha = 0.3, + color = { 'Normal', '#ffffff' }, + }, + } + end} -- }}} - -- vim config debugging - use {'dstein64/vim-startuptime', disable = true} + use {'mhinz/vim-startify', -- {{{ + config = function() + require('utils').augroup2 { + startify = {{ 'FileType', 'startify', [[ IndentBlanklineDisable ]] }} + } + end} -- }}} + + use {'rktjmp/lush.nvim'} -- local use {'~/devel/upstream/github.com/knsh14/vim-github-link'} -end) + +end, +config = { + package_root = require('packer.util').join_paths(sysdata, 'site', 'pack'), +}}) diff --git a/.vim/lua/plugins/_colorizer.lua b/.vim/lua/plugins/_colorizer.lua deleted file mode 100644 index 7b6f678..0000000 --- a/.vim/lua/plugins/_colorizer.lua +++ /dev/null @@ -1,8 +0,0 @@ -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 deleted file mode 100644 index 5497c4b..0000000 --- a/.vim/lua/plugins/_completion.lua +++ /dev/null @@ -1,53 +0,0 @@ -local g = vim.g -local u = require('utils') -local inoremap = require('astronauta.keymap').inoremap - -g.completion_enable_auto_popup = true -g.completion_enable_auto_signature = true -g.completion_enable_auto_paren = false -g.completion_enable_auto_hover = true -g.completion_trigger_on_delete = true -g.completion_confirm_key = '<cr>' -g.completion_enable_snippet = 'UltiSnips' --- g.completion_matching_ignore_case = false -g.completion_matching_smart_case = true -g.completion_matching_strategy_list = {'exact', 'substring', 'fuzzy', 'all'} -g.completion_sorting = 'length' -- or: alphabet, none - -g.completion_auto_change_source = true -g.completion_chain_complete_list = { - {complete_items = {'lsp', 'snippet', 'path', 'buffers', 'ts'}}, - -- {mode = '<c-p>'}, - -- {mode = '<c-n>'}, - {mode = 'file'}, - {mode = 'spel'}, -} - -u.augroup2 { - completion_user = {{'BufEnter', '*', 'lua require("completion").on_attach()'}} -} - -inoremap { '<tab>', require('completion').smart_tab} -inoremap { '<s-tab>', require('completion').smart_s_tab } -inoremap { '<c-j>', require('completion.source').nextCompletion } -inoremap { '<c-k>', require('completion.source').prevCompletion } - --- inoremap { '<c-n>', function() --- if vim.fn.pumvisible() == 1 then --- vim.api.nvim_feedkeys('<c-n>') --- else --- require('completion').triggerCompletion() --- end --- end } - --- inoremap { '<c-p>', function() --- if vim.fn.pumvisible() == 1 then --- vim.api.nvim_feedkeys('<c-p>') --- else --- require('completion').triggerCompletion() --- end --- end } - --- require('utils').map('i', '<C-n>', 'pumvisible() ? "\\<C-n>" : completion#trigger_completion()', { expr = true }) --- require('utils').map('i', '<C-p>', 'pumvisible() ? "\\<C-p>" : completion#trigger_completion()', { expr = true }) - diff --git a/.vim/lua/plugins/_git-messenger.lua b/.vim/lua/plugins/_git-messenger.lua deleted file mode 100644 index dceadeb..0000000 --- a/.vim/lua/plugins/_git-messenger.lua +++ /dev/null @@ -1,4 +0,0 @@ --- vim.g.git_messenger_include_diff = false -vim.g.git_messenger_always_into_popup = true -vim.g.git_messenger_close_on_cursor_moved = true -vim.g.git_messenger_no_default_mappings = true diff --git a/.vim/lua/plugins/_goyo.lua b/.vim/lua/plugins/_goyo.lua deleted file mode 100644 index 538712d..0000000 --- a/.vim/lua/plugins/_goyo.lua +++ /dev/null @@ -1,12 +0,0 @@ -vim.g.goyo_width = 120 -vim.g.goyo_height = 90 -vim.g.goyo_linenr = false - -require('utils').augroup2 { - 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 deleted file mode 100644 index eb3c4aa..0000000 --- a/.vim/lua/plugins/_indent-guides.lua +++ /dev/null @@ -1,4 +0,0 @@ -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/_lightbulb.lua b/.vim/lua/plugins/_lightbulb.lua deleted file mode 100644 index cc3f941..0000000 --- a/.vim/lua/plugins/_lightbulb.lua +++ /dev/null @@ -1,19 +0,0 @@ - -require('nvim-lightbulb').update_lightbulb { - sign = { - enabled = true, - priority = 10, - }, - float = { - enabled = true, - text = '', - win_opts = {}, - }, - virtual_test = { - enabled = false - } -} - -require('utils').augroup('lightbulb', { - {'CursorHold,CursorHoldI', '*', "lua require'nvim-lightbulb'.update_lightbulb()"} -}) diff --git a/.vim/lua/plugins/_limelight.lua b/.vim/lua/plugins/_limelight.lua deleted file mode 100644 index b77fdfc..0000000 --- a/.vim/lua/plugins/_limelight.lua +++ /dev/null @@ -1,7 +0,0 @@ -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 deleted file mode 100644 index 39a10b9..0000000 --- a/.vim/lua/plugins/_lsp.lua +++ /dev/null @@ -1,176 +0,0 @@ --- lsp config - -local lsp = require('lspconfig') -local util = require('lspconfig.util') -local u = require('utils') -local nnoremap = require('astronauta.keymap').nnoremap - -local M = {} -local my_attach = function(client) - -- attach completion - require 'completion'.on_attach(client) - - -- lsp mappings - nnoremap { 'K' , vim.lsp.buf.hover } - nnoremap { '<C-]>' , vim.lsp.buf.definition } - nnoremap { 'gd' , vim.lsp.buf.definition } - nnoremap { 'grr' , vim.lsp.buf.rename } - nnoremap { '<c-h>' , vim.lsp.buf.signature_help } - nnoremap { ']d' , vim.lsp.diagnostic.goto_next } - nnoremap { '[d' , vim.lsp.diagnostic.goto_prev } - - nnoremap { '<leader>f' , vim.lsp.buf.formatting } - -- nnoremap { 'g0', vim.lsp.buf.document_symbol } - nnoremap { 'gR' , vim.lsp.buf.references } - nnoremap { 'gW' , vim.lsp.buf.workspace_symbol } - nnoremap { 'gD' , vim.lsp.buf.declaration } - nnoremap { 'gT' , vim.lsp.buf.type_definition } - nnoremap { 'gI' , vim.lsp.buf.implementation } - - -- nnoremap <silent> ;s <cmd> lua vim.lsp.buf.signature_help()<CR> - nnoremap { '<leader>d' , vim.lsp.diagnostic.show_line_diagnostics } - - u.augroup2 { - lsp_user = { - {'BufWritePre' , '*' , 'lua vim.lsp.buf.formatting_sync(nil, 1000)'}, - {'BufWritePre' , '*.go' , 'lua vim.lsp.buf.code_action({ source = { organizeImports = true } })'}, - -- {'CursorHold' , '*' , 'lua vim.lsp.diagnostic.show_line_diagnostics()'}, - } - } -end - --- handler overwrites --- configure builtin diagnositcs -vim.lsp.handlers["textDocument/publishDiagnostics"] = vim.lsp.with( -- {{{ - vim.lsp.diagnostic.on_publish_diagnostics, { - virtual_text = false, - signs = true, - underline = true, - update_in_insert = false, - } -) --- }}} - --- overwrite codeAction handler to not ask for confirmation if only a single --- action is given -vim.lsp.handlers["textDocument/codeAction"] = function(_, _, actions) -- {{{ - if actions == nil or vim.tbl_isempty(actions) then - -- skip printing 'no code actions available' - return - end - - local action_cosen - if #actions == 1 then - action_chosen = actions[1] - else - local option_strings = {"Code Actions:"} - for i, action in ipairs(actions) do - local title = action.title:gsub('\r\n', '\\r\\n') - title = title:gsub('\n', '\\n') - table.insert(option_strings, string.format("%d. %s", i, title)) - end - - local choice = vim.fn.inputlist(option_strings) - if choice < 1 or choice > #actions then - return - end - action_chosen = actions[choice] - end - - if action_chosen.edit or type(action_chosen.command) == "table" then - if action_chosen.edit then - vim.lsp.util.apply_workspace_edit(action_chosen.edit) - end - if type(action_chosen.command) == "table" then - vim.lsp.buf.execute_command(action_chosen.command) - end - else - vim.lsp.buf.execute_command(action_chosen) - end -end --- }}} - --- configure signs {{{ -vim.fn.sign_define("LspDiagnosticsSignError", {text="⚡", numhl="Error"}) -vim.fn.sign_define("LspDiagnosticsSignWarning", {text="⯈", numhl="Warning"}) -vim.fn.sign_define("LspDiagnosticsSignInformation", {text="≈"}) -vim.fn.sign_define("LspDiagnosticsSignHint", {text="🞶"}) --- }}} - --- lsp.ccls.setup{ --- on_attach = my_attach, --- } - -lsp.gopls.setup{ - on_attach = my_attach, - -- root_dir = util.root_pattern('go.mod', '.git'), - settings = { - gopls = { - -- analyses = { - -- composites = false - -- }, - codelenses = { - test = true, - tidy = true, - }, - gofumpt = true, - } - } -} - -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' }, -} - -lsp.efm.setup{ - on_attach = my_attach, - root_dir = util.root_pattern('.git', '.editorconfig'), - init_options = { documentFormatting = true }, - -- filetypes = { "sh", "c" }, - settings = { - -- rootMarkers = {".git/"}, - languages = { - sh = { - { - lintCommand = 'shellcheck -f gcc -x', - lintSource = 'shellcheck', - lintFormats = { - '%f:%l:%c: %trror: %m', - '%f:%l:%c: %tarning: %m', - '%f:%l:%c: %tote: %m', - }, - formatCommand = 'shfmt -ci -s -bn', - formatStdin = true, - } - } - } - } -} - -lsp.zls.setup{ - on_attach = my_attach -} - -return M diff --git a/.vim/lua/plugins/_markdown.lua b/.vim/lua/plugins/_markdown.lua deleted file mode 100644 index e02e160..0000000 --- a/.vim/lua/plugins/_markdown.lua +++ /dev/null @@ -1,12 +0,0 @@ -vim.g.vim_markdown_folding_disabled = true -vim.g.vim_markdown_math = true -vim.g.vim_markdown_frontmatter = true -vim.g.vim_markdown_json_frontmatter = true -vim.g.vim_markdown_toml_frontmatter = true -vim.g.vim_markdown_yaml_frontmatter = true --- vim.g.vim_markdown_folding_level = 2 -vim.g.vim_markdown_strikethrough = true -vim.g.vim_markdown_auto_insert_bullets = true -vim.g.vim_markdown_new_list_item_indent = false -vim.g.vim_markdown_conceal = true -vim.g.vim_markdown_conceal_code_blocks = true diff --git a/.vim/lua/plugins/_neuron.lua b/.vim/lua/plugins/_neuron.lua deleted file mode 100644 index d99a13f..0000000 --- a/.vim/lua/plugins/_neuron.lua +++ /dev/null @@ -1,15 +0,0 @@ - -local def = require('utils').def - -require('neuron').setup { - virtual_titles = true, - mappings = true, - run = nil, - neuron_dir = "~/.zk", - leader = "gz", -} - -def("NeuronServe", [[ lua require('neuron').rib {address = "127.0.0.1:8200", verbose = true} ]]) -def("NeuronZettels", [[ lua require('neuron/telescope').find_zettels {insert = false} ]]) -def("NeuronZettelsInsert", [[ lua require('neuron/telescope').find_zettels {insert = true} ]]) -def("NeuronTags", [[ lua require('neuron/telescope').find_tags() ]]) diff --git a/.vim/lua/plugins/_signify.lua b/.vim/lua/plugins/_signify.lua deleted file mode 100644 index 41ced80..0000000 --- a/.vim/lua/plugins/_signify.lua +++ /dev/null @@ -1,10 +0,0 @@ -local def = require('utils').def -local nnoremap = require('astronauta.keymap').nnoremap - -vim.g.signify_sign_change = '~' - -nnoremap { ']h', function() vim.fn['sy#jump#next_hunk'](1) end } -nnoremap { '[h', function() vim.fn['sy#jump#prev_hunk'](1) end } - -def("SignifyNextHunk", [[ call sy#jump#next_hunk(1) ]]) -def("SignifyPrevHunk", [[ call sy#jump#prev_hunk(1) ]]) diff --git a/.vim/lua/plugins/_telescope.lua b/.vim/lua/plugins/_telescope.lua deleted file mode 100644 index 44931fa..0000000 --- a/.vim/lua/plugins/_telescope.lua +++ /dev/null @@ -1,114 +0,0 @@ --- telescope.nvim et al config - -local nnoremap = require('astronauta.keymap').nnoremap - -local M = {} - --- TELESCOPE config -- {{{ -require('telescope').setup{ - defaults = { - initial_mode = 'normal', - prompt_prefix = '> ', - selection_caret = '* ', - - -- copied from dropdown theme - sorting_strategy = 'ascending', - layout_strategy = 'center', - results_title = false, - preview_title = 'P', - preview_cutoff = 1, - width = 0.88, - results_height = 15, - borderchars = { - { '─', '│', '─', '│', '┌', '┐', '┘', '└'}, - prompt = {'─', '│', ' ', '│', '┌', '┐', '│', '│'}, - results = {'─', '│', '─', '│', '├', '┤', '┘', '└'}, - preview = { '─', '│', '─', '│', '┌', '┐', '┘', '└'}, - }, - - 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, - } - } - } -} --- }}} - --- MAPPINGS -- {{{ - -nnoremap { ';g', function() - require('telescope').extensions.fzf_writer.staged_grep() -end } - -nnoremap { ';w', function() - require('telescope.builtin').find_files({ - prompt_title = 'workspace', - previewer = false, - cwd = vim.lsp.buf.list_workspace_folders()[1] or require('lspconfig.util').root_pattern('.git')(vim.fn.expand('%:p')), - }) -end } - -nnoremap { ';q', function() - local ids = vim.fn.getqflist({winid = 1}) - if ids and not (ids.winid == 0) then - vim.api.nvim_win_close(ids.winid, true) - end - require('telescope.builtin').quickfix() -end } - -nnoremap { ';l', function() - local ids = vim.fn.getloclist(0, {winid = 1}) - if ids and not (ids.winid == 0) then - vim.api.nvim_win_close(ids.winid, true) - end - require('telescope.builtin').loclist() -end } - -nnoremap { ';f', function() - require('telescope.builtin').fd() -end } - -nnoremap { ';b', function() - require('telescope.builtin').buffers() -end } - -nnoremap { ';t', function() - require('telescope.builtin').tags() -end } - -nnoremap { ';h', function() - require('telescope.builtin').command_history() -end } - -nnoremap { ';c', function() - require('telescope.builtin').commands() -end } - --- LSP stuff - -nnoremap { 'gA', function() - require('telescope.builtin').lsp_code_actions() -end } - -nnoremap { 'gA', function() - require('telescope.builtin').lsp_code_actions() -end } - -nnoremap { 'g0', function() - require('telescope.builtin').lsp_document_symbols() -end } - -nnoremap { 'gr', function() - require('telescope.builtin').lsp_references() -end } - --- }}} - -return M diff --git a/.vim/lua/plugins/_treesitter.lua b/.vim/lua/plugins/_treesitter.lua deleted file mode 100644 index c5225bc..0000000 --- a/.vim/lua/plugins/_treesitter.lua +++ /dev/null @@ -1,24 +0,0 @@ - -require('nvim-treesitter.configs').setup { - ensure_installed = { "c", "c_sharp", "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 deleted file mode 100644 index cd077d2..0000000 --- a/.vim/lua/plugins/_ultisnips.lua +++ /dev/null @@ -1,4 +0,0 @@ --- vim.g.UltiSnipsListSnippets = "<c-tab>" -vim.g.UltiSnipsExpandTrigger = vim.g.completion_confirm_key -vim.g.UltiSnipsJumpForwardTrigger = "<c-n>" -vim.g.UltiSnipsJumpBackwardTrigger = "<c-p>" diff --git a/.vim/lua/plugins/_vimtex.lua b/.vim/lua/plugins/_vimtex.lua deleted file mode 100644 index 2a3d550..0000000 --- a/.vim/lua/plugins/_vimtex.lua +++ /dev/null @@ -1,8 +0,0 @@ -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 |