diff options
author | Benjamin Chausse <benjamin@chausse.xyz> | 2023-09-24 03:23:52 -0400 |
---|---|---|
committer | Benjamin Chausse <benjamin@chausse.xyz> | 2023-09-24 03:23:52 -0400 |
commit | adbe65a8bd41f17398a985d4c474ba7f907bb5d4 (patch) | |
tree | f4ef9f6bd5687edf35b71aaac31ad6604ba36806 /lua/ben/plugins/lsp/mason.lua |
Initial commit
Diffstat (limited to 'lua/ben/plugins/lsp/mason.lua')
-rw-r--r-- | lua/ben/plugins/lsp/mason.lua | 57 |
1 files changed, 57 insertions, 0 deletions
diff --git a/lua/ben/plugins/lsp/mason.lua b/lua/ben/plugins/lsp/mason.lua new file mode 100644 index 0000000..c1a3c10 --- /dev/null +++ b/lua/ben/plugins/lsp/mason.lua @@ -0,0 +1,57 @@ +return { + "williamboman/mason.nvim", + dependencies = { + "williamboman/mason-lspconfig.nvim", + "jayp0521/mason-null-ls.nvim", + }, + config = function() + -- import mason + local mason = require("mason") + + -- import mason-lspconfig + local mason_lspconfig = require("mason-lspconfig") + + -- import mason-null-ls + local mason_null_ls = require("mason-null-ls") + + -- enable mason and configure icons + mason.setup({ + ui = { + icons = { + package_installed = "✓", + package_pending = "➜", + package_uninstalled = "✗" + } + } + }) + + mason_lspconfig.setup({ + -- list of servers for mason to install + ensure_installed = { + "tsserver", + "html", + "cssls", + "tailwindcss", + "svelte", + "lua_ls", + "graphql", + "emmet_ls", + "prismals", + "pyright" + }, + -- auto-install configured servers (with lspconfig) + automatic_installation = true, -- not the same as ensure_installed + }) + + mason_null_ls.setup({ + -- list of formatters & linters for mason to install + ensure_installed = { + "prettier", -- ts/js formatter + "stylua", -- lua formatter + "eslint_d", -- ts/js linter + }, + -- auto-install configured servers (with lspconfig) + automatic_installation = true, + }) + end, +} |