diff options
| author | seth <[email protected]> | 2023-04-02 21:14:36 -0400 |
|---|---|---|
| committer | seth <[email protected]> | 2023-04-02 21:14:36 -0400 |
| commit | 8a8be409c0f0d911eb19969c05e7f4a171a63767 (patch) | |
| tree | 3dcdd90daed9ef83527093396d185a7bfda9dbd5 /.config/nvim/lua/getchoo/lsp/config | |
| parent | d421be1222d6744c0d738e5fbf96ee6daafd61b2 (diff) | |
copy refactor from flake for neovim config
Diffstat (limited to '.config/nvim/lua/getchoo/lsp/config')
| -rw-r--r-- | .config/nvim/lua/getchoo/lsp/config/cmp.lua | 71 | ||||
| -rw-r--r-- | .config/nvim/lua/getchoo/lsp/config/init.lua | 31 | ||||
| -rw-r--r-- | .config/nvim/lua/getchoo/lsp/config/lsp_config.lua | 44 | ||||
| -rw-r--r-- | .config/nvim/lua/getchoo/lsp/config/mason.lua | 17 | ||||
| -rw-r--r-- | .config/nvim/lua/getchoo/lsp/config/null_ls.lua | 42 | ||||
| -rw-r--r-- | .config/nvim/lua/getchoo/lsp/config/sources.lua | 31 |
6 files changed, 0 insertions, 236 deletions
diff --git a/.config/nvim/lua/getchoo/lsp/config/cmp.lua b/.config/nvim/lua/getchoo/lsp/config/cmp.lua deleted file mode 100644 index cef2ad1..0000000 --- a/.config/nvim/lua/getchoo/lsp/config/cmp.lua +++ /dev/null @@ -1,71 +0,0 @@ --- --- config for nvim-cmp --- - -local cmp = require("cmp") -local mapping = cmp.mapping -local luasnip = require("luasnip") - -local M = {} - -local has_words_before = function() - local line, col = unpack(vim.api.nvim_win_get_cursor(0)) - return col ~= 0 and vim.api.nvim_buf_get_lines(0, line - 1, line, true)[1]:sub(col, col):match("%s") == nil -end - -local feedkey = function(key, mode) - vim.api.nvim_feedkeys(vim.api.nvim_replace_termcodes(key, true, true, true), mode, true) -end - -M.config = { - snippet = { - expand = function(args) - vim.fn["vsnip#anonymous"](args.body) - luasnip.lsp_expand(args.body) - end, - }, - mapping = mapping.preset.insert({ - ["<Tab>"] = cmp.mapping(function(fallback) - if cmp.visible() then - cmp.select_next_item() - elseif luasnip.expand_or_jumpable() then - luasnip.expand_or_jump() - elseif vim.fn["vsnip#available"](1) == 1 then - feedkey("<Plug>(vsnip-expand-or-jump)", "") - elseif has_words_before() then - cmp.complete() - else - fallback() - end - end, { "i", "s" }), - ["<S-Tab>"] = cmp.mapping(function(fallback) - if cmp.visible() then - cmp.select_prev_item() - elseif luasnip.jumpable(-1) then - luasnip.jump(-1) - elseif vim.fn["vsnip#available"](-1) == 1 then - feedkey("<Plug>(vsnip-jump-prev)", "") - else - fallback() - end - end, { "i", "s" }), - }), - sources = cmp.config.sources({ - { name = "nvim_lsp" }, - { name = "luasnip" }, - { name = "vsnip" }, - { name = "buffer" }, - { name = "path" }, - }), -} - -local capabilities = require("cmp_nvim_lsp").default_capabilities() -capabilities.textDocument.completion.completionItem.snippetSupport = true - -M.capabilities = capabilities - -M.on_attach = function(_, bufnr) - vim.api.nvim_buf_set_option(bufnr, "omnifunc", "v:lua.vim.lsp.omnifunc") -end - -return M diff --git a/.config/nvim/lua/getchoo/lsp/config/init.lua b/.config/nvim/lua/getchoo/lsp/config/init.lua deleted file mode 100644 index b3e58dd..0000000 --- a/.config/nvim/lua/getchoo/lsp/config/init.lua +++ /dev/null @@ -1,31 +0,0 @@ --- --- load all lsp configs --- - -local cmp = require("getchoo.lsp.config.cmp") -local lsp_config = require("getchoo.lsp.config.lsp_config") -local mason = require("getchoo.lsp.config.mason") -local null_ls = require("getchoo.lsp.config.null_ls") - -local M = {} - -M.cmp = cmp.config - -M.lsp_servers = lsp_config.servers - -M.mason_tool_installer = mason.mason_tool_installer -M.mason_lspconfig = mason.mason_lspconfig - -M.null_ls = null_ls.config - -M.treesitter = { - auto_install = true, - highlight = { - enable = true, - additional_vim_regex_highlighting = false, - }, -} - -M.trouble = {} - -return M diff --git a/.config/nvim/lua/getchoo/lsp/config/lsp_config.lua b/.config/nvim/lua/getchoo/lsp/config/lsp_config.lua deleted file mode 100644 index eb6bb84..0000000 --- a/.config/nvim/lua/getchoo/lsp/config/lsp_config.lua +++ /dev/null @@ -1,44 +0,0 @@ --- --- setup lsp_config --- - -local cmp = require("getchoo.lsp.config.cmp") -local sources = require("getchoo.lsp.config.sources") - -local M = {} - -local on_attach = function(client, bufnr) - cmp.on_attach(client, bufnr) -end - -local all_config = { - capabilities = cmp.capabilities, - on_attach = on_attach, -} - -local servers = {} -for _, server in ipairs(sources.lsp_servers) do - servers[server] = all_config -end - -servers["lua_ls"] = { - capabilities = cmp.capabilities, - on_attach = on_attach, - settings = { - Lua = { - runtime = { - version = "LuaJIT", - }, - diagnostics = { - globals = { "vim" }, - }, - workspace = { - library = vim.api.nvim_get_runtime_file("", true), - }, - }, - }, -} - -M.servers = servers - -return M diff --git a/.config/nvim/lua/getchoo/lsp/config/mason.lua b/.config/nvim/lua/getchoo/lsp/config/mason.lua deleted file mode 100644 index 24adffb..0000000 --- a/.config/nvim/lua/getchoo/lsp/config/mason.lua +++ /dev/null @@ -1,17 +0,0 @@ --- --- config for mason tools --- - -local sources = require("getchoo.lsp.config.sources") - -local M = {} - -M.mason_tool_installer = { - ensure_installed = sources.mason, -} - -M.mason_lspconfig = { - automatic_installation = true, -} - -return M diff --git a/.config/nvim/lua/getchoo/lsp/config/null_ls.lua b/.config/nvim/lua/getchoo/lsp/config/null_ls.lua deleted file mode 100644 index 16b1b3c..0000000 --- a/.config/nvim/lua/getchoo/lsp/config/null_ls.lua +++ /dev/null @@ -1,42 +0,0 @@ --- --- config for null_ls --- - -local sources = require("getchoo.lsp.config.sources") - -local M = {} - --- only use null-ls for formatting --- for neovim >= 8 -local lsp_formatting = function(bufnr) - vim.lsp.buf.format({ - filter = function(client) - return client.name == "null-ls" - end, - bufnr = bufnr, - }) -end - -local augroup = vim.api.nvim_create_augroup("LspFormatting", {}) -local formatting_on_attach = function(client, bufnr) - if client.supports_method("textDocument/formatting") then - vim.api.nvim_clear_autocmds({ group = augroup, buffer = bufnr }) - vim.api.nvim_create_autocmd("BufWritePre", { - group = augroup, - buffer = bufnr, - callback = function() - -- for neovim < 8 - ---- local params = require("vim.lsp.util").make_formatting_params({}) - ---- client.request("textDocument/formatting", params, nil, bufnr) - lsp_formatting(bufnr) -- neovim >= 8 - end, - }) - end -end - -M.config = { - on_attach = formatting_on_attach, - sources = sources.null_ls, -} - -return M diff --git a/.config/nvim/lua/getchoo/lsp/config/sources.lua b/.config/nvim/lua/getchoo/lsp/config/sources.lua deleted file mode 100644 index 3b67ab2..0000000 --- a/.config/nvim/lua/getchoo/lsp/config/sources.lua +++ /dev/null @@ -1,31 +0,0 @@ --- --- sources for lsp --- - -local null_ls = require("null-ls") -local diagnostics = null_ls.builtins.diagnostics -local formatting = null_ls.builtins.formatting - -local M = { - lsp_servers = { "rust_analyzer", "pyright", "bashls" }, - null_ls = { - diagnostics.alex, - diagnostics.codespell, - diagnostics.pylint, - formatting.codespell, - formatting.prettier, - formatting.rustfmt, - formatting.stylua, - formatting.yapf, - }, - mason = { - "alex", - "codespell", - "prettier", - "pylint", - "stylua", - "yapf", - }, -} - -return M |
