Created toggle function for viewing autocompletion

This commit is contained in:
z3rOR0ne 2022-12-10 19:05:37 -08:00
parent e97431cdb0
commit c7cbe6a21f
4 changed files with 74 additions and 16 deletions

View file

@ -31,6 +31,7 @@ lsp_installer.on_server_ready(function(server)
end) end)
-- Setup nvim-cmp. -- Setup nvim-cmp.
local cmp = require'cmp' local cmp = require'cmp'
vim.cmd[[set completeopt=menu,menuone,noselect]]
cmp.setup({ cmp.setup({
snippet = { snippet = {
@ -58,12 +59,19 @@ local cmp = require'cmp'
}) })
-- Set configuration for specific filetype. -- Set configuration for specific filetype.
cmp.setup.filetype('gitcommit', { -- cmp.setup.filetype('gitcommit', {
sources = cmp.config.sources({ -- sources = cmp.config.sources({
{ name = 'cmp_git' }, -- You can specify the `cmp_git` source if you were installed it. -- { name = 'cmp_git' }, -- You can specify the `cmp_git` source if you were installed it.
}, { -- }, {
{ name = 'buffer' }, -- { name = 'buffer' },
}) -- })
-- })
-- auto completion doesn't apply to txt files
cmp.setup.filetype({ 'text' }, {
completion = {
autocomplete = false
}
}) })
-- Use buffer source for `/` (if you enabled `native_menu`, this won't work anymore). -- Use buffer source for `/` (if you enabled `native_menu`, this won't work anymore).
@ -84,6 +92,26 @@ local cmp = require'cmp'
}) })
}) })
-- function that is used with keybinding cm to toggle autocompletion
Mode = require('cmp.types').cmp.TriggerEvent.TextChanged
function SetAutoCmp(mode)
if mode then
cmp.setup({
completion = {
autocomplete = { Mode }
}
})
Mode = false
else
cmp.setup({
completion = {
autocomplete = Mode
}
})
Mode = require('cmp.types').cmp.TriggerEvent.TextChanged
end
end
local capabilities = require('cmp_nvim_lsp').default_capabilities() local capabilities = require('cmp_nvim_lsp').default_capabilities()
-- Replace <YOUR_LSP_SERVER> with each lsp server you've enabled. -- Replace <YOUR_LSP_SERVER> with each lsp server you've enabled.
@ -339,8 +367,6 @@ vim.opt.splitright = true
-- vim.cmd[[g:gitblame_enabled = 0]] -- vim.cmd[[g:gitblame_enabled = 0]]
vim.g.gitblame_enabled = 0 vim.g.gitblame_enabled = 0
-- set up completion
vim.cmd[[set completeopt=menu,menuone,noselect]]
-- Vertically center document when entering Insert mode -- Vertically center document when entering Insert mode
vim.cmd[[autocmd InsertEnter * norm zz]] vim.cmd[[autocmd InsertEnter * norm zz]]

View file

@ -20,6 +20,9 @@ keymap('n', '<c-p>', '<c-w>:FZFExplore<CR>', {})
-- vim.cmd[[nnoremap gb :silent :GitBlameToggle]] -- vim.cmd[[nnoremap gb :silent :GitBlameToggle]]
keymap('n', '<c-g>', '<c-w>:GitBlameToggle<CR>', {}) keymap('n', '<c-g>', '<c-w>:GitBlameToggle<CR>', {})
--toggle autocompletion
vim.cmd[[nnoremap cm :silent lua SetAutoCmp(Mode)]]
-- pageup/pagedown autotmatically recenters -- pageup/pagedown autotmatically recenters
vim.cmd[[:map <C-d> <C-d>zz]] vim.cmd[[:map <C-d> <C-d>zz]]
vim.cmd[[:map <C-u> <C-u>zz]] vim.cmd[[:map <C-u> <C-u>zz]]

View file

@ -31,6 +31,7 @@ lsp_installer.on_server_ready(function(server)
end) end)
-- Setup nvim-cmp. -- Setup nvim-cmp.
local cmp = require'cmp' local cmp = require'cmp'
vim.cmd[[set completeopt=menu,menuone,noselect]]
cmp.setup({ cmp.setup({
snippet = { snippet = {
@ -58,12 +59,19 @@ local cmp = require'cmp'
}) })
-- Set configuration for specific filetype. -- Set configuration for specific filetype.
cmp.setup.filetype('gitcommit', { -- cmp.setup.filetype('gitcommit', {
sources = cmp.config.sources({ -- sources = cmp.config.sources({
{ name = 'cmp_git' }, -- You can specify the `cmp_git` source if you were installed it. -- { name = 'cmp_git' }, -- You can specify the `cmp_git` source if you were installed it.
}, { -- }, {
{ name = 'buffer' }, -- { name = 'buffer' },
}) -- })
-- })
-- auto completion doesn't apply to txt files
cmp.setup.filetype({ 'text' }, {
completion = {
autocomplete = false
}
}) })
-- Use buffer source for `/` (if you enabled `native_menu`, this won't work anymore). -- Use buffer source for `/` (if you enabled `native_menu`, this won't work anymore).
@ -84,6 +92,26 @@ local cmp = require'cmp'
}) })
}) })
-- function that is used with keybinding cm to toggle autocompletion
Mode = require('cmp.types').cmp.TriggerEvent.TextChanged
function SetAutoCmp(mode)
if mode then
cmp.setup({
completion = {
autocomplete = { Mode }
}
})
Mode = false
else
cmp.setup({
completion = {
autocomplete = Mode
}
})
Mode = require('cmp.types').cmp.TriggerEvent.TextChanged
end
end
local capabilities = require('cmp_nvim_lsp').default_capabilities() local capabilities = require('cmp_nvim_lsp').default_capabilities()
-- Replace <YOUR_LSP_SERVER> with each lsp server you've enabled. -- Replace <YOUR_LSP_SERVER> with each lsp server you've enabled.
@ -339,8 +367,6 @@ vim.opt.splitright = true
-- vim.cmd[[g:gitblame_enabled = 0]] -- vim.cmd[[g:gitblame_enabled = 0]]
vim.g.gitblame_enabled = 0 vim.g.gitblame_enabled = 0
-- set up completion
vim.cmd[[set completeopt=menu,menuone,noselect]]
-- Vertically center document when entering Insert mode -- Vertically center document when entering Insert mode
vim.cmd[[autocmd InsertEnter * norm zz]] vim.cmd[[autocmd InsertEnter * norm zz]]

View file

@ -20,6 +20,9 @@ keymap('n', '<c-p>', '<c-w>:FZFExplore<CR>', {})
-- vim.cmd[[nnoremap gb :silent :GitBlameToggle]] -- vim.cmd[[nnoremap gb :silent :GitBlameToggle]]
keymap('n', '<c-g>', '<c-w>:GitBlameToggle<CR>', {}) keymap('n', '<c-g>', '<c-w>:GitBlameToggle<CR>', {})
--toggle autocompletion
vim.cmd[[nnoremap cm :silent lua SetAutoCmp(Mode)]]
-- pageup/pagedown autotmatically recenters -- pageup/pagedown autotmatically recenters
vim.cmd[[:map <C-d> <C-d>zz]] vim.cmd[[:map <C-d> <C-d>zz]]
vim.cmd[[:map <C-u> <C-u>zz]] vim.cmd[[:map <C-u> <C-u>zz]]