diff options
| author | Aleksa Vučković <aleksav013@gmail.com> | 2022-01-04 10:04:47 +0100 |
|---|---|---|
| committer | Aleksa Vučković <aleksav013@gmail.com> | 2022-01-04 10:04:47 +0100 |
| commit | e1b0a35e04546333634c3ceb6ed84cb21ef90c38 (patch) | |
| tree | 573ddfa23750192cbc95ac0f7eeaea262ecca14c /lua/plugins | |
| parent | 0a1fd3601928a82135822829641a109cb5948a8c (diff) | |
Initial commit
Diffstat (limited to 'lua/plugins')
| -rw-r--r-- | lua/plugins/autopairs.lua | 7 | ||||
| -rw-r--r-- | lua/plugins/bufferline.lua | 2 | ||||
| -rw-r--r-- | lua/plugins/compe.lua | 70 |
3 files changed, 79 insertions, 0 deletions
diff --git a/lua/plugins/autopairs.lua b/lua/plugins/autopairs.lua new file mode 100644 index 0000000..e1aa126 --- /dev/null +++ b/lua/plugins/autopairs.lua @@ -0,0 +1,7 @@ +require('nvim-autopairs').setup{} + +require("nvim-autopairs.completion.compe").setup({ + map_cr = true, -- map <CR> on insert mode + map_complete = true, -- it will auto insert `(` after select function or method item + auto_select = false, -- auto select first item +}) diff --git a/lua/plugins/bufferline.lua b/lua/plugins/bufferline.lua new file mode 100644 index 0000000..a30a561 --- /dev/null +++ b/lua/plugins/bufferline.lua @@ -0,0 +1,2 @@ +--vim.opt.termguicolors = true +require("bufferline").setup{} diff --git a/lua/plugins/compe.lua b/lua/plugins/compe.lua new file mode 100644 index 0000000..8700a7a --- /dev/null +++ b/lua/plugins/compe.lua @@ -0,0 +1,70 @@ +vim.o.completeopt = "menuone,noselect" + +require'compe'.setup { + enabled = true; + autocomplete = true; + debug = false; + min_length = 1; + preselect = 'enable'; + throttle_time = 80; + source_timeout = 200; + resolve_timeout = 800; + incomplete_delay = 400; + max_abbr_width = 100; + max_kind_width = 100; + max_menu_width = 100; + documentation = { + border = { '', '' ,'', ' ', '', '', '', ' ' }, -- the border option is the same as `|help nvim_open_win|` + winhighlight = "NormalFloat:CompeDocumentation,FloatBorder:CompeDocumentationBorder", + max_width = 120, + min_width = 60, + max_height = math.floor(vim.o.lines * 0.3), + min_height = 1, + }; + + source = { + path = true; + buffer = true; + calc = true; + nvim_lsp = true; + nvim_lua = true; + vsnip = true; + ultisnips = true; + luasnip = true; + }; +} + + +local t = function(str) + return vim.api.nvim_replace_termcodes(str, true, true, true) +end + +local check_back_space = function() + local col = vim.fn.col('.') - 1 + return col == 0 or vim.fn.getline('.'):sub(col, col):match('%s') ~= nil +end + +-- Use (s-)tab to: +--- move to prev/next item in completion menuone +--- jump to prev/next snippet's placeholder +_G.tab_complete = function() + if vim.fn.pumvisible() == 1 then + return t "<C-n>" + elseif vim.fn['vsnip#available'](1) == 1 then + return t "<Plug>(vsnip-expand-or-jump)" + elseif check_back_space() then + return t "<Tab>" + else + return vim.fn['compe#complete']() + end +end +_G.s_tab_complete = function() + if vim.fn.pumvisible() == 1 then + return t "<C-p>" + elseif vim.fn['vsnip#jumpable'](-1) == 1 then + return t "<Plug>(vsnip-jump-prev)" + else + -- If <S-Tab> is not working in your terminal, change it to <C-h> + return t "<S-Tab>" + end +end |
