67 lines
1.5 KiB
Lua
67 lines
1.5 KiB
Lua
---@type string
|
|
local xdg_config = vim.env.XDG_CONFIG_HOME or vim.env.HOME .. "/.config"
|
|
|
|
---@param path string
|
|
local function have(path)
|
|
return vim.uv.fs_stat(xdg_config .. "/" .. path) ~= nil
|
|
end
|
|
|
|
return {
|
|
recommended = true,
|
|
desc = "Language support for dotfiles",
|
|
{
|
|
"neovim/nvim-lspconfig",
|
|
opts = {
|
|
servers = {
|
|
bashls = {},
|
|
},
|
|
},
|
|
},
|
|
{
|
|
"williamboman/mason.nvim",
|
|
opts = function(_, opts)
|
|
opts.ensure_installed = opts.ensure_installed or {}
|
|
vim.list_extend(opts.ensure_installed, { "shellcheck" })
|
|
end,
|
|
},
|
|
-- add some stuff to treesitter
|
|
{
|
|
"nvim-treesitter/nvim-treesitter",
|
|
opts = function(_, opts)
|
|
local function add(lang)
|
|
if type(opts.ensure_installed) == "table" then
|
|
table.insert(opts.ensure_installed, lang)
|
|
end
|
|
end
|
|
|
|
vim.filetype.add({
|
|
extension = { rasi = "rasi", rofi = "rasi", wofi = "rasi" },
|
|
filename = {
|
|
["vifmrc"] = "vim",
|
|
},
|
|
pattern = {
|
|
[".*/waybar/config"] = "jsonc",
|
|
[".*/mako/config"] = "dosini",
|
|
[".*/kitty/.+%.conf"] = "bash",
|
|
[".*/hypr/.+%.conf"] = "hyprlang",
|
|
["%.env%.[%w_.-]+"] = "sh",
|
|
},
|
|
})
|
|
|
|
add("git_config")
|
|
|
|
if have("hypr") then
|
|
add("hyprlang")
|
|
end
|
|
|
|
if have("fish") then
|
|
add("fish")
|
|
end
|
|
|
|
if have("rofi") or have("wofi") then
|
|
add("rasi")
|
|
end
|
|
end,
|
|
},
|
|
}
|