init.lua 1.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. require('nvim-autopairs').setup()
  2. local pairs_map = {
  3. ["'"] = "'",
  4. ['"'] = '"',
  5. ['('] = ')',
  6. ['['] = ']',
  7. ['{'] = '}',
  8. ['`'] = '`',
  9. ['```'] = '```',
  10. }
  11. local disable_filetype = { "TelescopePrompt" }
  12. local break_line_filetype = nil -- mean all file type
  13. local html_break_line_filetype = {'html' , 'vue' , 'typescriptreact' , 'svelte' , 'javascriptreact'}
  14. local ignored_next_char = "%w"
  15. local remap = vim.api.nvim_set_keymap
  16. local npairs = require('nvim-autopairs')
  17. -- skip it, if you use another global object
  18. _G.MUtils= {}
  19. vim.g.completion_confirm_key = ""
  20. MUtils.completion_confirm=function()
  21. if vim.fn.pumvisible() ~= 0 then
  22. if vim.fn.complete_info()["selected"] ~= -1 then
  23. vim.fn["compe#confirm"]()
  24. return npairs.esc("<c-y>")
  25. else
  26. vim.defer_fn(function()
  27. vim.fn["compe#confirm"]("<cr>")
  28. end, 20)
  29. return npairs.esc("<c-n>")
  30. end
  31. else
  32. return npairs.check_break_line_char()
  33. end
  34. end
  35. remap('i' , '<CR>','v:lua.MUtils.completion_confirm()', {expr = true , noremap = true})