diff --git a/lua/plugins/cmp.lua b/lua/plugins/cmp.lua deleted file mode 100644 index 237344d..0000000 --- a/lua/plugins/cmp.lua +++ /dev/null @@ -1,94 +0,0 @@ -return { - { "nvim-treesitter/nvim-treesitter" }, - { - "hrsh7th/nvim-cmp", - version = false, -- last release is way too old - event = "InsertEnter", - dependencies = { - "hrsh7th/cmp-nvim-lsp", - "hrsh7th/cmp-buffer", - "hrsh7th/cmp-path", - "saadparwaiz1/cmp_luasnip", - "hrsh7th/cmp-nvim-lua", - -- { - -- "hrsh7th/cmp-cmdline", - -- --event = "BufWinEnter", - -- event = "VeryLazy", - -- config = function() - -- require("user.cmdline") - -- end, - -- }, - }, - opts = function() - local cmp = require("cmp") - local luasnip = require("luasnip") - - local check_backspace = function() - local col = vim.fn.col(".") - 1 - return col == 0 or vim.fn.getline("."):sub(col, col):match("%s") - end - - return { - completion = { - completeopt = "menu,menuone,noinsert", - }, - snippet = { - expand = function(args) - require("luasnip").lsp_expand(args.body) - end, - }, - mapping = cmp.mapping.preset.insert({ - [""] = cmp.mapping.scroll_docs(-4), - [""] = cmp.mapping.scroll_docs(4), - [""] = cmp.mapping.complete(), - [""] = cmp.mapping.abort(), - [""] = cmp.mapping.confirm({ select = true }), -- Accept currently selected item. Set `select` to `false` to only confirm explicitly selected items. - [""] = cmp.mapping(function(fallback) - if cmp.visible() then - cmp.select_next_item() - elseif luasnip.expandable() then - luasnip.expand() - elseif luasnip.expand_or_jumpable() then - luasnip.expand_or_jump() - elseif check_backspace() then - fallback() - else - fallback() - end - end, { - "i", - "s", - }), - }), - sources = cmp.config.sources({ - { name = "nvim_lsp" }, - { name = "luasnip" }, - { name = "buffer" }, - { name = "path" }, - { name = "nvim_lua" }, - }), - formatting = { - fields = { "kind", "abbr", "menu" }, - format = function(entry, vim_item) - vim_item.kind = string.format("%s", require("user.icons")["kind"][vim_item.kind]) - vim_item.menu = ({ - nvim_lsp = "(LSP)", - luasnip = "(Snippet)", - buffer = "(Buffer)", - path = "(Path)", - })[entry.source.name] - return vim_item - end, - }, - window = { - completion = cmp.config.window.bordered(), - documentation = cmp.config.window.bordered(), - }, - experimental = { - ghost_text = false, - native_menu = false, - }, - } - end, - }, -} diff --git a/lua/plugins/cmp_cndline.lua b/lua/plugins/cmp_cndline.lua deleted file mode 100644 index 742106b..0000000 --- a/lua/plugins/cmp_cndline.lua +++ /dev/null @@ -1,49 +0,0 @@ -return { - -- { - -- "hrsh7th/cmp-cmdline", - -- event = "BufWinEnter", - -- config = function() - -- local cmp = require("cmp") - -- -- for cmd line - -- cmp.setup.cmdline("/", { - -- mapping = cmp.mapping.preset.cmdline(), - -- sources = { - -- { name = "buffer" }, - -- }, - -- }) - -- - -- -- -- `:` cmdline setup. - -- cmp.setup.cmdline(":", { - -- mapping = cmp.mapping.preset.cmdline(), - -- sources = cmp.config.sources({ - -- { name = "path" }, - -- }, { - -- { - -- name = "cmdline", - -- option = { - -- ignore_cmds = { "man", "!" }, - -- }, - -- }, - -- }), - -- }) - -- end, - -- }, - - -- for auto complate commond mode - { - "gelguy/wilder.nvim", - event = "BufWinEnter", - config = function() - local wilder = require("wilder") - wilder.setup({ modes = { ":", "/", "?" } }) - wilder.set_option( - "renderer", - wilder.popupmenu_renderer({ - highlighter = wilder.basic_highlighter(), - left = { " ", wilder.popupmenu_devicons() }, - right = { " ", wilder.popupmenu_scrollbar() }, - }) - ) - end, - }, -} diff --git a/lua/plugins/init.lua b/lua/plugins/init.lua index b642fe6..639944f 100644 --- a/lua/plugins/init.lua +++ b/lua/plugins/init.lua @@ -71,38 +71,98 @@ return { { "", function() require("luasnip").jump(-1) end, mode = { "i", "s" } }, }, }, - -- -- auto completion (dipindah supaya loading lebih cepat) - -- { - -- "hrsh7th/nvim-cmp", - -- version = false, -- last release is way too old - -- event = "InsertEnter", - -- dependencies = { - -- "hrsh7th/cmp-nvim-lsp", - -- "hrsh7th/cmp-buffer", - -- "hrsh7th/cmp-path", - -- "saadparwaiz1/cmp_luasnip", - -- "hrsh7th/cmp-nvim-lua", - -- { - -- "tzachar/cmp-tabnine", - -- build = build, - -- event = "BufWinEnter", - -- config = function() - -- require("user.tabnine") - -- end, - -- }, - -- -- { - -- -- "hrsh7th/cmp-cmdline", - -- -- event = "BufWinEnter", - -- -- config = function() - -- -- require("user.cmdline") - -- -- end, - -- -- }, - -- }, - -- opts = function() - -- require("user.cmp") - -- end, - -- }, - -- + -- for cmp + { + "hrsh7th/nvim-cmp", + version = false, -- last release is way too old + event = "InsertEnter", + dependencies = { + "hrsh7th/cmp-nvim-lsp", + "hrsh7th/cmp-buffer", + "hrsh7th/cmp-path", + "saadparwaiz1/cmp_luasnip", + "hrsh7th/cmp-nvim-lua", + -- { + -- "hrsh7th/cmp-cmdline", + -- --event = "BufWinEnter", + -- event = "VeryLazy", + -- config = function() + -- require("user.cmdline") + -- end, + -- }, + }, + opts = function() + local cmp = require("cmp") + local luasnip = require("luasnip") + + local check_backspace = function() + local col = vim.fn.col(".") - 1 + return col == 0 or vim.fn.getline("."):sub(col, col):match("%s") + end + + return { + completion = { + completeopt = "menu,menuone,noinsert", + }, + snippet = { + expand = function(args) + require("luasnip").lsp_expand(args.body) + end, + }, + mapping = cmp.mapping.preset.insert({ + [""] = cmp.mapping.scroll_docs(-4), + [""] = cmp.mapping.scroll_docs(4), + [""] = cmp.mapping.complete(), + [""] = cmp.mapping.abort(), + [""] = cmp.mapping.confirm({ select = true }), -- Accept currently selected item. Set `select` to `false` to only confirm explicitly selected items. + [""] = cmp.mapping(function(fallback) + if cmp.visible() then + cmp.select_next_item() + elseif luasnip.expandable() then + luasnip.expand() + elseif luasnip.expand_or_jumpable() then + luasnip.expand_or_jump() + elseif check_backspace() then + fallback() + else + fallback() + end + end, { + "i", + "s", + }), + }), + sources = cmp.config.sources({ + { name = "nvim_lsp" }, + { name = "luasnip" }, + { name = "buffer" }, + { name = "path" }, + { name = "nvim_lua" }, + }), + formatting = { + fields = { "kind", "abbr", "menu" }, + format = function(entry, vim_item) + vim_item.kind = string.format("%s", require("user.icons")["kind"][vim_item.kind]) + vim_item.menu = ({ + nvim_lsp = "(LSP)", + luasnip = "(Snippet)", + buffer = "(Buffer)", + path = "(Path)", + })[entry.source.name] + return vim_item + end, + }, + window = { + completion = cmp.config.window.bordered(), + documentation = cmp.config.window.bordered(), + }, + experimental = { + ghost_text = false, + native_menu = false, + }, + } + end, + }, { "neovim/nvim-lspconfig", event = "BufWinEnter", @@ -439,4 +499,20 @@ return { require("fidget").setup() end, }, + { + "gelguy/wilder.nvim", + event = "BufWinEnter", + config = function() + local wilder = require("wilder") + wilder.setup({ modes = { ":", "/", "?" } }) + wilder.set_option( + "renderer", + wilder.popupmenu_renderer({ + highlighter = wilder.basic_highlighter(), + left = { " ", wilder.popupmenu_devicons() }, + right = { " ", wilder.popupmenu_scrollbar() }, + }) + ) + end, + }, }