From f42f70da93a162cca62859232e4ff0480c6fb846 Mon Sep 17 00:00:00 2001 From: pml68 Date: Sun, 17 Mar 2024 22:26:04 +0100 Subject: feat: reborn --- lua/pml68/configs/lspconfig.lua | 33 +++++++++++++++++++++++ lua/pml68/configs/mason.lua | 39 ++++++++++++++++++++++++++++ lua/pml68/configs/settings/clangd.lua | 5 ++++ lua/pml68/configs/settings/emmet_ls.lua | 3 +++ lua/pml68/configs/settings/jsonls.lua | 8 ++++++ lua/pml68/configs/settings/lua_ls.lua | 19 ++++++++++++++ lua/pml68/configs/settings/pyright.lua | 3 +++ lua/pml68/configs/settings/rust_analyzer.lua | 10 +++++++ lua/pml68/configs/telescope.lua | 7 +++++ 9 files changed, 127 insertions(+) create mode 100644 lua/pml68/configs/lspconfig.lua create mode 100644 lua/pml68/configs/mason.lua create mode 100755 lua/pml68/configs/settings/clangd.lua create mode 100755 lua/pml68/configs/settings/emmet_ls.lua create mode 100755 lua/pml68/configs/settings/jsonls.lua create mode 100644 lua/pml68/configs/settings/lua_ls.lua create mode 100755 lua/pml68/configs/settings/pyright.lua create mode 100755 lua/pml68/configs/settings/rust_analyzer.lua create mode 100644 lua/pml68/configs/telescope.lua (limited to 'lua/pml68/configs') diff --git a/lua/pml68/configs/lspconfig.lua b/lua/pml68/configs/lspconfig.lua new file mode 100644 index 0000000..12aacf8 --- /dev/null +++ b/lua/pml68/configs/lspconfig.lua @@ -0,0 +1,33 @@ +local capabilities = require("cmp_nvim_lsp").default_capabilities() + +local lspconfig = require("lspconfig") + +local servers = { + "html", + "tsserver", + "cssls", + "svelte", + "bashls", + "clangd", + "pyright", + "emmet_ls", + "jsonls", + "rust_analyzer", + "dartls", + "kotlin_language_server", + "lua_ls", + "glsl_analyzer" +} + +for _, server in pairs(servers) do + local opts = { + capabilities = capabilities, + } + + local require_ok, conf_opts = pcall(require, "pml68.configs.settings." .. server) + if require_ok then + opts = vim.tbl_deep_extend("force", conf_opts, opts) + end + + lspconfig[server].setup(opts) +end diff --git a/lua/pml68/configs/mason.lua b/lua/pml68/configs/mason.lua new file mode 100644 index 0000000..fbc5af7 --- /dev/null +++ b/lua/pml68/configs/mason.lua @@ -0,0 +1,39 @@ +return { + ensure_installed = { + "bash-language-server", + "lua-language-server", + "clangd", + "codelldb", + "clang-format", + "jq", + "json-lsp", + "svelte-language-server", + "emmet-ls", + "html-lsp", + "css-lsp", + "typescript-language-server", + "pyright", + "rust-analyzer", + "glsl_analyzer", + "kotlin-language-server" + }, + PATH = "skip", + ui = { + icons = { + package_pending = " ", + package_installed = "󰄳 ", + package_uninstalled = " 󰚌", + }, + keymaps = { + toggle_server_expand = "", + install_server = "i", + update_server = "u", + check_server_version = "c", + update_all_servers = "U", + check_outdated_servers = "C", + uninstall_server = "X", + cancel_installation = "", + }, + }, + max_concurrent_installers = 10, +} diff --git a/lua/pml68/configs/settings/clangd.lua b/lua/pml68/configs/settings/clangd.lua new file mode 100755 index 0000000..21b4046 --- /dev/null +++ b/lua/pml68/configs/settings/clangd.lua @@ -0,0 +1,5 @@ +return { + on_attach = function(client, bufnr) + client.server_capabilities.signatureHelpProvider = false + end +} diff --git a/lua/pml68/configs/settings/emmet_ls.lua b/lua/pml68/configs/settings/emmet_ls.lua new file mode 100755 index 0000000..18073fd --- /dev/null +++ b/lua/pml68/configs/settings/emmet_ls.lua @@ -0,0 +1,3 @@ +return { + filetypes = { "html", "typescript", "javascript", "css", "sass", "scss", "less", "svelte" }, +} diff --git a/lua/pml68/configs/settings/jsonls.lua b/lua/pml68/configs/settings/jsonls.lua new file mode 100755 index 0000000..c6c0776 --- /dev/null +++ b/lua/pml68/configs/settings/jsonls.lua @@ -0,0 +1,8 @@ +return { + settings = { + json = { + schemas = require('schemastore').json.schemas(), + validate = { enable = true }, + }, + }, +} diff --git a/lua/pml68/configs/settings/lua_ls.lua b/lua/pml68/configs/settings/lua_ls.lua new file mode 100644 index 0000000..7db368c --- /dev/null +++ b/lua/pml68/configs/settings/lua_ls.lua @@ -0,0 +1,19 @@ +return { + settings = { + Lua = { + diagnostics = { + globals = { "vim " }, + }, + workspace = { + library = { + [vim.fn.expand "$VIMRUNTIME/lua"] = true, + [vim.fn.expand "$VIMRUNTIME/lua/vim/lsp"] = true, + [vim.fn.stdpath "data" .. "/lazy/ui/nvchad_types"] = true, + [vim.fn.stdpath "data" .. "/lazy/lazy.nvim/lua/lazy"] = true, + }, + maxPreload = 100000, + preloadFileSize = 10000, + } + } + } +} diff --git a/lua/pml68/configs/settings/pyright.lua b/lua/pml68/configs/settings/pyright.lua new file mode 100755 index 0000000..da468c7 --- /dev/null +++ b/lua/pml68/configs/settings/pyright.lua @@ -0,0 +1,3 @@ +return { + single_file_support = true, +} diff --git a/lua/pml68/configs/settings/rust_analyzer.lua b/lua/pml68/configs/settings/rust_analyzer.lua new file mode 100755 index 0000000..e89b07f --- /dev/null +++ b/lua/pml68/configs/settings/rust_analyzer.lua @@ -0,0 +1,10 @@ +return { + filetypes = {"rust"}, + settings = { + ['rust-analyzer'] = { + cargo = { + allFeatures = true, + }, + }, + }, +} diff --git a/lua/pml68/configs/telescope.lua b/lua/pml68/configs/telescope.lua new file mode 100644 index 0000000..54ddb0e --- /dev/null +++ b/lua/pml68/configs/telescope.lua @@ -0,0 +1,7 @@ +local builtin = require("telescope.builtin") +vim.keymap.set('n', 'ff', builtin.find_files, {}) +vim.keymap.set('n', 'fw', builtin.live_grep, {}) +vim.keymap.set('n', 'fb', builtin.buffers, {}) +vim.keymap.set('n', 'fh', builtin.help_tags, {}) +vim.keymap.set('n', 'fz', builtin.current_buffer_fuzzy_find, {}) +vim.keymap.set('n', 'fg', builtin.git_files, {}) -- cgit v1.2.3