diff --git a/lua/plugins/code.lua b/lua/plugins/code.lua index f81c8ad..2fb99ee 100644 --- a/lua/plugins/code.lua +++ b/lua/plugins/code.lua @@ -9,7 +9,7 @@ return { ts_config = { lua = { "string" }, -- do not add pair in this node }, - + -- General config map_cr = true, }, @@ -24,8 +24,19 @@ return { require("mason-lspconfig").setup_handlers { function(server_name) require("lspconfig")[server_name].setup { - capabilities = capabilites, + --capabilities = capabilities, } + end, + ["neocmake"] = function() + local capabilities = vim.lsp.protocol.make_client_capabilities() + capabilities.textDocument.completion.completionItem.snippetSupport = true + require("vim.lsp").set_log_level("TRACE") + require("lspconfig").neocmake.setup({ + capabilities = capabilities, + root_dir = function(fname) + return require("lspconfig").util.find_git_ancestor(fname) + end, + }) end } end @@ -42,11 +53,12 @@ return { "asm_lsp", "bashls", "clangd", + "lua_ls", "neocmake", "pyright", }, }, - }, + }, { "hrsh7th/nvim-cmp", event = { "InsertEnter", "CmdlineEnter", }, @@ -64,7 +76,7 @@ return { -- Looks "onsails/lspkind.nvim", -- Add symbols for type }, - config = function() + config = function() local cmp = require("cmp") cmp.setup({ @@ -73,11 +85,11 @@ return { require("luasnip").lsp_expand(args.body) end }, - view = { + view = { entries = { - name = 'custom', + name = 'custom', selection_order = 'near_cursor' - } + } }, formatting = { format = require("lspkind").cmp_format({ @@ -94,6 +106,7 @@ return { { name = "path" }, }, mapping = { + [""] = cmp.mapping.complete(), [""] = cmp.mapping(function(fallback) if cmp.visible() then if #cmp.get_entries() == 1 then @@ -116,7 +129,10 @@ return { [""] = cmp.mapping(function(fallback) if cmp.visible() then cmp.select_prev_item() + else + fallback() end + end, { "i", "s", "c" }), [""] = cmp.mapping({ i = function(fallback) diff --git a/lua/plugins/tooling.lua b/lua/plugins/tooling.lua index 337e66d..cca83d8 100644 --- a/lua/plugins/tooling.lua +++ b/lua/plugins/tooling.lua @@ -13,11 +13,15 @@ return { -- trigger highlighting when opening a new buffer vim.api.nvim_create_autocmd( - { "BufNew", "BufRead" }, + { "BufNew", "BufRead" }, { callback = function() local colorizer = require("colorizer") - colorizer.attach_to_buffer(0, colorizer.get_buffer_options(0)) + local options = nil + if colorizer.is_buffer_attached(0) then + options = colorizer.get_buffer_options(0) + end + colorizer.attach_to_buffer(0, options) end }) end,