nvim-config/lua/utils/profile.lua
peturparkur 2985d98684
Beta (#4)
* remove doc/tags

* use cmd instead of alias for clarity

* use alias and proper checking of existing command installation

* mason pkg name override

* we still want to enforce local by default

* remove unused on_attach since we have event to control it

* fallback to using existing docker language servers

* add yaml language server + remove table setup logging

* write comment what symbol we expect

* more notes

* use mason-lspconfig for getting lsp->mason map and better utilities

* use very lazy
2025-08-03 18:23:21 +02:00

44 lines
801 B
Lua

local PROFILES = {
['HOME'] = {
'python',
'nix',
'go',
'rust',
'markdown',
'bash',
'docker',
'lua',
'yaml',
},
['DEFAULT'] = {
'python',
'markdown',
'bash',
'docker',
'lua',
'yaml',
},
}
local Profile = {}
Profile.Languages = function(profile)
if profile == nil then
profile = os.getenv 'NVIM_PROFILE' or 'DEFAULT'
end
return PROFILES[profile]
end
Profile.LanguageServers = function(profile)
local languages = Profile.Languages(profile)
local language_config = require 'utils.languages'
local result = {} -- <nvim_ls_name> -> {<configuration>}
for _, lang in ipairs(languages) do
for lsp, config in pairs(language_config[lang]) do
result[lsp] = config
end
end
return result
end
return Profile