init.lua 1.0 KB

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