summary refs log tree commit diff
path: root/.vim/lua/plugins/_completion.lua
diff options
context:
space:
mode:
Diffstat (limited to '.vim/lua/plugins/_completion.lua')
-rw-r--r--.vim/lua/plugins/_completion.lua48
1 files changed, 42 insertions, 6 deletions
diff --git a/.vim/lua/plugins/_completion.lua b/.vim/lua/plugins/_completion.lua
index 8a4a92e..504ab00 100644
--- a/.vim/lua/plugins/_completion.lua
+++ b/.vim/lua/plugins/_completion.lua
@@ -1,17 +1,53 @@
 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_confirm_key = '<tab>'
+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', 'buffers', 'ts', 'path'}},
-	{mode = 'file'},
+  {complete_items = {'lsp', 'snippet', 'buffers', 'path', 'ts'}},
+  -- {mode = '<c-p>'},
+  -- {mode = '<c-n>'},
+  {mode = 'file'},
+  {mode = 'spel'},
+}
+
+u.augroup2 {
+  completion_user = {{'BufEnter', '*', 'lua require("completion").on_attach()'}}
 }
 
-u.augroup('completion', {
-	{'BufEnter', '*', 'lua require("completion").on_attach()'},
-})
+inoremap { '<tab>', function() require('completion').smart_tab() end }
+inoremap { '<s-tab>', function() require('completion').smart_s_tab() end }
+inoremap { '<c-j>', function() require('completion.source').nextCompletion() end }
+inoremap { '<c-k>', function() require('completion.source').prevCompletion() end }
+
+-- 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 })
+