Mercurial > dotfiles
changeset 425:10916f9b1676
Replace delimitMate with nvim-autopairs
author | zegervdv <zegervdv@me.com> |
---|---|
date | Wed, 28 Jul 2021 11:42:54 +0200 |
parents | f42ea4c4a78c |
children | 53a73096981a |
files | dot_config/nvim/init.lua dot_config/nvim/plugin/config.vim |
diffstat | 2 files changed, 42 insertions(+), 9 deletions(-) [+] |
line wrap: on
line diff
--- a/dot_config/nvim/init.lua Wed Jul 28 11:40:52 2021 +0200 +++ b/dot_config/nvim/init.lua Wed Jul 28 11:42:54 2021 +0200 @@ -81,10 +81,48 @@ -- Parentheses etc use { 'tpope/vim-surround' } use { - 'raimondi/delimitMate', + 'windwp/nvim-autopairs', config = function() - vim.g.delimitMate_expand_cr = 1 - vim.g.delimitMate_expand_space = 1 + local npairs = require 'nvim-autopairs' + local Rule = require 'nvim-autopairs.rule' + + npairs.setup() + + require('nvim-autopairs.completion.compe').setup { + map_cr = true, + map_complete = true, + } + + npairs.add_rules { + Rule(' ', ' '):with_pair(function(opts) + local pair = opts.line:sub(opts.col - 1, opts.col) + return vim.tbl_contains({ '()', '[]', '{}' }, pair) + end), + Rule('( ', ' )') + :with_pair(function() + return false + end) + :with_move(function(opts) + return opts.prev_char:match '.%)' ~= nil + end) + :use_key ')', + Rule('{ ', ' }') + :with_pair(function() + return false + end) + :with_move(function(opts) + return opts.prev_char:match '.%}' ~= nil + end) + :use_key '}', + Rule('[ ', ' ]') + :with_pair(function() + return false + end) + :with_move(function(opts) + return opts.prev_char:match '.%]' ~= nil + end) + :use_key ']', + } end, } @@ -176,8 +214,7 @@ } vim.cmd [[ inoremap <silent><expr> <C-y> compe#complete() ]] - vim.cmd [[ inoremap <silent><expr> <CR> compe#confirm({ 'keys': "\<Plug>delimitMateCR", 'mode': '' }) ]] - vim.cmd [[ inoremap <silent><expr> <C-e> compe#close('<C-e>') ]] + vim.cmd [[ inoremap <silent><expr> <C-e> compe#close('<C-e>') ]] end, } use {
--- a/dot_config/nvim/plugin/config.vim Wed Jul 28 11:40:52 2021 +0200 +++ b/dot_config/nvim/plugin/config.vim Wed Jul 28 11:42:54 2021 +0200 @@ -738,10 +738,6 @@ return !col || getline('.')[col - 1] =~# '\s' endfunction -" let g:completion_confirm_key_rhs = "\<Plug>delimitMateCR" -let g:completion_confirm_key = "" -imap <expr> <CR> (pumvisible() ? (complete_info()["selected"] != "-1" ? "\<Plug>(completion_confirm_completion)" : "\<Plug>delimitMateCR") : "\<Plug>delimitMateCR") - " Auto close popup menu when finish completion autocmd! CompleteDone * if pumvisible() == 0 | pclose | endif