From b92fff64945a18102b95692f3b13bb3ff35f512f Mon Sep 17 00:00:00 2001 From: Bryan Ramos Date: Fri, 2 Jun 2023 10:02:51 -0400 Subject: [PATCH] Trying to fix tab completion --- .../dotfiles/nvim/lua/config/autocmds.lua | 142 +++++++++--------- 1 file changed, 75 insertions(+), 67 deletions(-) diff --git a/homeConfig/dotfiles/nvim/lua/config/autocmds.lua b/homeConfig/dotfiles/nvim/lua/config/autocmds.lua index 83436e3..26aeca2 100644 --- a/homeConfig/dotfiles/nvim/lua/config/autocmds.lua +++ b/homeConfig/dotfiles/nvim/lua/config/autocmds.lua @@ -1,93 +1,101 @@ -- Autocmds are automatically loaded on the VeryLazy event -- Default autocmds that are always set: https://github.com/LazyVim/LazyVim/blob/main/lua/lazyvim/config/autocmds.lua -- Add any additional autocmds here -local lsp = require('lsp-zero').preset({}) +local lsp = require("lsp-zero").preset({}) lsp.on_attach(function(client, bufnr) - lsp.default_keymaps({ buffer = bufnr }) + lsp.default_keymaps({ buffer = bufnr }) end) -- When you don't have mason.nvim installed -- You'll need to list the servers installed in your system lsp.setup_servers({ - 'tsserver', - 'eslint', - 'hls', - 'pyright', - 'nil_ls', - 'cssls', - 'html', - 'jsonls', - 'diagnosticls', - 'lua_ls', - 'marksman', - 'purescriptls', - 'tailwindcss', - 'bashls' + "tsserver", + "eslint", + "hls", + "pyright", + "nil_ls", + "cssls", + "html", + "jsonls", + "diagnosticls", + "lua_ls", + "marksman", + "purescriptls", + "tailwindcss", + "bashls", }) -- (Optional) Configure lua language server for neovim -require('lspconfig').lua_ls.setup(lsp.nvim_lua_ls()) +require("lspconfig").lua_ls.setup(lsp.nvim_lua_ls()) lsp.setup() -local cmp = require 'cmp' -cmp.setup { - snippet = { - expand = function(args) - require('luasnip').lsp_expand(args.body) - end, - }, - sources = { - { name = 'nvim_lsp' }, - { name = 'luasnip' }, - -- other sources... - }, - -- other configurations... -} +local cmp = require("cmp") +cmp.setup({ + snippet = { + expand = function(args) + require("luasnip").lsp_expand(args.body) + end, + }, + sources = { + { name = "nvim_lsp" }, + { name = "luasnip" }, + -- other sources... + }, + -- other configurations... +}) -vim.cmd [[ +vim.cmd([[ au BufRead,BufNewFile *.purs set filetype=purescript -]] +]]) -local luasnip = require 'luasnip' +local luasnip = require("luasnip") -cmp.setup { - mapping = { - [''] = cmp.mapping(function(fallback) - if vim.fn.pumvisible() == 1 then - vim.fn.feedkeys(vim.api.nvim_replace_termcodes('', true, true, true), 'n') - elseif luasnip.expand_or_jumpable() then - vim.fn.feedkeys(vim.api.nvim_replace_termcodes('luasnip-expand-or-jump', true, true, true), '') - else - fallback() - end - end, { 'i', 's' }), +cmp.setup({ + mapping = { + [""] = cmp.mapping(function(fallback) + if vim.fn.pumvisible() == 1 then + vim.fn.feedkeys(vim.api.nvim_replace_termcodes("", true, true, true), "n") + elseif luasnip.expand_or_jumpable() then + vim.fn.feedkeys(vim.api.nvim_replace_termcodes("luasnip-expand-or-jump", true, true, true), "") + else + fallback() + end + end, { "i", "s" }), - [''] = cmp.mapping(function(fallback) - if vim.fn.pumvisible() == 1 then - vim.fn.feedkeys(vim.api.nvim_replace_termcodes('', true, true, true), 'n') - elseif luasnip.jumpable(-1) then - vim.fn.feedkeys(vim.api.nvim_replace_termcodes('luasnip-jump-prev', true, true, true), '') - else - fallback() - end - end, { 'i', 's' }), + [""] = cmp.mapping(function(fallback) + if vim.fn.pumvisible() == 1 then + vim.fn.feedkeys(vim.api.nvim_replace_termcodes("", true, true, true), "n") + elseif luasnip.jumpable(-1) then + vim.fn.feedkeys(vim.api.nvim_replace_termcodes("luasnip-jump-prev", true, true, true), "") + else + fallback() + end + end, { "i", "s" }), - [''] = cmp.mapping(function(fallback) - fallback() - end, { 'i', 's' }), + -- [""] = cmp.mapping(function(fallback) + -- fallback() + -- end, { "i", "s" }), + [""] = cmp.mapping({ + i = function(fallback) + if cmp.visible() and cmp.get_active_entry() then + cmp.confirm({ behavior = cmp.ConfirmBehavior.Replace, select = false }) + else + fallback() + end + end, + s = cmp.mapping.confirm({ select = true }), + c = cmp.mapping.confirm({ behavior = cmp.ConfirmBehavior.Replace, select = true }), + }), + }, +}) - }, -} - -vim.lsp.handlers["textDocument/publishDiagnostics"] = vim.lsp.with( - vim.lsp.diagnostic.on_publish_diagnostics, { - -- Disable virtual_text - virtual_text = false, - } -) +vim.lsp.handlers["textDocument/publishDiagnostics"] = vim.lsp.with(vim.lsp.diagnostic.on_publish_diagnostics, { + -- Disable virtual_text + virtual_text = false, +}) require("notify").setup({ - background_colour = "#000000", + background_colour = "#000000", })