summaryrefslogtreecommitdiff
path: root/.config/nvim/lua/custom/config/mason.lua
blob: 9d4287925c2226342f9976cd838c8900d7bb0ddb (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
-- NOTE: Not language servers but still make sure mason installs them
local ensure_installed = {
    stylua = true, -- lua formatting
    jdtls = true, -- java eclipse lsp
}
local servers = require('custom.config.language-servers')

require('mason').setup({
    ui = {
        icons = {
            package_installed = '✓',
            package_pending = '➜',
            package_uninstalled = '✗',
        },
    },
})

local servers_to_install = vim.tbl_filter(function(key)
    local server = servers[key]
    if type(server) == 'table' then
        return true
    else
        return server
    end
end, vim.tbl_keys(servers))

vim.list_extend(ensure_installed, servers_to_install)
require('mason-lspconfig').setup({ ensure_installed = servers_to_install })

require('mason-tool-installer').setup({
    ensure_installed = {
        'stylua', -- lua formatter
        'java-debug-adapter',
        'java-test',
    },
})

-- NOTE: apparently needed due to some issue or smthing?
vim.api.nvim_command('MasonToolsInstall')