init.lua 3.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899
  1. -- require('nvim-autopairs').setup()
  2. -- local npairs = require('nvim-autopairs')
  3. -- local function imap(lhs, rhs, opts)
  4. -- local options = {noremap = false}
  5. -- if opts then options = vim.tbl_extend('force', options, opts) end
  6. -- vim.api.nvim_set_keymap('i', lhs, rhs, options)
  7. -- end
  8. -- _G.MUtils = {}
  9. -- -- TEST
  10. -- vim.g.completion_confirm_key = ""
  11. -- MUtils.completion_confirm = function()
  12. -- if vim.fn.pumvisible() ~= 0 then
  13. -- if vim.fn.complete_info()["selected"] ~= -1 then
  14. -- vim.fn["compe#confirm"]()
  15. -- -- return npairs.esc("<c-y>")
  16. -- return npairs.esc("")
  17. -- else
  18. -- vim.defer_fn(function()
  19. -- vim.fn["compe#confirm"]("<cr>")
  20. -- end, 20)
  21. -- return npairs.esc("<c-n>")
  22. -- end
  23. -- else
  24. -- return npairs.check_break_line_char()
  25. -- end
  26. -- end
  27. -- -- TEST
  28. -- MUtils.completion_confirm = function()
  29. -- if vim.fn.pumvisible() ~= 0 then
  30. -- if vim.fn.complete_info()["selected"] ~= -1 then
  31. -- vim.fn["compe#confirm"]()
  32. -- return npairs.esc("")
  33. -- else
  34. -- vim.api.nvim_select_popupmenu_item(0, false, false, {})
  35. -- vim.fn["compe#confirm"]()
  36. -- return npairs.esc("<c-n>")
  37. -- end
  38. -- else
  39. -- return npairs.check_break_line_char()
  40. -- end
  41. -- end
  42. -- MUtils.tab = function()
  43. -- if vim.fn.pumvisible() ~= 0 then
  44. -- return npairs.esc("<C-n>")
  45. -- else
  46. -- if vim.fn["vsnip#available"](1) ~= 0 then
  47. -- vim.fn.feedkeys(string.format('%c%c%c(vsnip-expand-or-jump)', 0x80, 253, 83))
  48. -- return npairs.esc("")
  49. -- else
  50. -- return npairs.esc("<Tab>")
  51. -- end
  52. -- end
  53. -- end
  54. -- MUtils.s_tab = function()
  55. -- if vim.fn.pumvisible() ~= 0 then
  56. -- return npairs.esc("<C-p>")
  57. -- else
  58. -- if vim.fn["vsnip#jumpable"](-1) ~= 0 then
  59. -- vim.fn.feedkeys(string.format('%c%c%c(vsnip-jump-prev)', 0x80, 253, 83))
  60. -- return npairs.esc("")
  61. -- else
  62. -- return npairs.esc("<C-h>")
  63. -- end
  64. -- end
  65. -- end
  66. -- -- Autocompletion and snippets
  67. -- vim.api.nvim_set_keymap('i', '<CR>', 'v:lua.MUtils.completion_confirm()', {expr = true, noremap = true})
  68. -- -- imap("<CR>", "v:lua.MUtils.completion_confirm()", {expr = true, noremap = true})
  69. -- imap("<Tab>", "v:lua.MUtils.tab()", {expr = true, noremap = true})
  70. -- imap("<S-Tab>", "v:lua.MUtils.s_tab()", {expr = true, noremap = true})
  71. local remap = vim.api.nvim_set_keymap
  72. local npairs = require('nvim-autopairs')
  73. -- skip it, if you use another global object
  74. _G.MUtils= {}
  75. vim.g.completion_confirm_key = ""
  76. MUtils.completion_confirm=function()
  77. if vim.fn.pumvisible() ~= 0 then
  78. if vim.fn.complete_info()["selected"] ~= -1 then
  79. return vim.fn["compe#confirm"](npairs.esc("<cr>"))
  80. else
  81. return npairs.esc("<cr>")
  82. end
  83. else
  84. return npairs.autopairs_cr()
  85. end
  86. end
  87. remap('i' , '<CR>','v:lua.MUtils.completion_confirm()', {expr = true , noremap = true})