diff --git a/init.lua b/init.lua index 45c75c8..eff885e 100644 --- a/init.lua +++ b/init.lua @@ -28,65 +28,79 @@ local lazy_options = { } } -require("options") require("lazy").setup("plugins", lazy_options) +require("options") require("remap") -- LSP -local lsp_servers = require("mason-lspconfig").get_installed_servers() -local capabilities = require("cmp_nvim_lsp").default_capabilities() -capabilities.textDocument.foldingRange = { - dynamicRegistration = false, - lineFoldingOnly = true -} - -require("lspconfig").glsl_analyzer.setup({}) -for _, server in pairs(lsp_servers) do - if server == "lua_ls" then - require("lspconfig")[server].setup({ - capabilities = capabilities, - settings = { - Lua = { diagnostics = { globals = { "vim" } } } - } - }) - elseif server == "svelte" then - local dyn_cap = vim.lsp.protocol.make_client_capabilities() - dyn_cap.workspace.didChangeWatchedFiles.dynamicRegistration = true - dyn_cap.textDocument.foldingRange = { - dynamicRegistration = false, - lineFoldingOnly = true - } - - require("lspconfig")[server].setup({ - capabilities = dyn_cap, - on_attach = function(client) - vim.api.nvim_create_autocmd("BufWritePost", { - pattern = { "*.js", "*.ts" }, - callback = function(ctx) - client.notify("$/onDidChangeTsOrJsFile", { uri = ctx.match }) - end - }) - end, - settings = { - svelte = { plugin = { svelte = { compilerWarnings = { - ["a11y-no-onchange"] = "ignore", - ["a11y-aria-attributes"] = "ignore", - ["a11y-no-static-element-interactions"] = "ignore", - ["a11y-click-events-have-key-events"] = "ignore", - }}}} - } - }) - else - require("lspconfig")[server].setup({ capabilities = capabilities }) - end -end +-- local lsp_servers = require("mason-lspconfig").get_installed_servers() +-- local capabilities = require("cmp_nvim_lsp").default_capabilities() +-- capabilities.textDocument.foldingRange = { +-- dynamicRegistration = false, +-- lineFoldingOnly = true +-- } +-- +-- require("lspconfig").glsl_analyzer.setup({}) +-- for _, server in pairs(lsp_servers) do +-- if server == "lua_ls" then +-- require("lspconfig")[server].setup({ +-- capabilities = capabilities, +-- settings = { +-- Lua = { +-- runtime = { +-- version = "LuaJIT", +-- }, +-- diagnostics = { +-- globals = { "vim" } +-- } +-- } +-- } +-- }) +-- vim.lsp.enable("lua_ls") +-- elseif server == "svelte" then +-- local dyn_cap = vim.lsp.protocol.make_client_capabilities() +-- dyn_cap.workspace.didChangeWatchedFiles.dynamicRegistration = true +-- dyn_cap.textDocument.foldingRange = { +-- dynamicRegistration = false, +-- lineFoldingOnly = true +-- } +-- +-- require("lspconfig")[server].setup({ +-- capabilities = dyn_cap, +-- on_attach = function(client) +-- vim.api.nvim_create_autocmd("BufWritePost", { +-- pattern = { "*.js", "*.ts" }, +-- callback = function(ctx) +-- client.notify("$/onDidChangeTsOrJsFile", { uri = ctx.match }) +-- end +-- }) +-- end, +-- settings = { +-- svelte = { +-- plugin = { +-- svelte = { +-- compilerWarnings = { +-- ["a11y-no-onchange"] = "ignore", +-- ["a11y-aria-attributes"] = "ignore", +-- ["a11y-no-static-element-interactions"] = "ignore", +-- ["a11y-click-events-have-key-events"] = "ignore", +-- } +-- } +-- } +-- } +-- } +-- }) +-- else +-- require("lspconfig")[server].setup({ capabilities = capabilities }) +-- end +-- end vim.api.nvim_create_autocmd("LspAttach", { group = vim.api.nvim_create_augroup("LspConfig", {}), callback = function(ev) vim.bo[ev.buf].omnifunc = "v:lua.vim.lsp.omnifunc" - local opts = { buffer = ev.buf } + local opts = { buffer = ev.buf } vim.keymap.set("n", "gD", vim.lsp.buf.declaration, opts) vim.keymap.set("n", "gd", vim.lsp.buf.definition, opts) vim.keymap.set("n", "K", vim.lsp.buf.hover, opts) @@ -105,15 +119,22 @@ vim.api.nvim_create_autocmd("LspAttach", { vim.lsp.buf.format { async = true } end, opts) - require("lsp_signature").on_attach({ - - },ev.buf) + -- require("lsp_signature").on_attach({ + -- + -- }, ev.buf) end }) --Color -local color = nil +-- local color = nil -- vim.cmd.colorscheme(color or "rose-pine") -- vim.api.nvim_set_hl(0, "Normal", { bg = "none" }) -- vim.api.nvim_set_hl(0, "NormalFloat", { bg = "none" }) +-- +vim.diagnostic.config({ + float = { + source = "always", + border = "rounded", + }, +}) diff --git a/lua/plugins/lspconfig.lua b/lua/plugins/lspconfig.lua deleted file mode 100644 index 3ee81a1..0000000 --- a/lua/plugins/lspconfig.lua +++ /dev/null @@ -1,3 +0,0 @@ -return { - { "neovim/nvim-lspconfig" }, -} diff --git a/lua/plugins/mason.lua b/lua/plugins/mason.lua index bab7c21..1cb3096 100644 --- a/lua/plugins/mason.lua +++ b/lua/plugins/mason.lua @@ -1,4 +1,25 @@ return { - { "williamboman/mason-lspconfig.nvim", config = true }, - { "williamboman/mason.nvim", config = true }, + { + "mason-org/mason-lspconfig.nvim", + config = function () + require("mason-lspconfig").setup(); + + vim.lsp.config("lua_ls", { + settings = { + Lua = { + diagnostics = { + globals = { "vim" } + } + } + } + }) + end, + dependencies = { + { + "mason-org/mason.nvim", + opts = {}, + }, + "neovim/nvim-lspconfig", + } + }, }