Files
LazyVim/lua/lazyvim/plugins/extras/lang/astro.lua

55 lines
1.2 KiB
Lua

return {
recommended = function()
return LazyVim.extras.wants({
ft = "astro",
root = {
"astro.config.js",
"astro.config.mjs",
"astro.config.cjs",
},
})
end,
-- depends on the typescript extra
{ import = "lazyvim.plugins.extras.lang.typescript" },
{
"nvim-treesitter/nvim-treesitter",
opts = { ensure_installed = { "astro" } },
},
-- LSP Servers
{
"neovim/nvim-lspconfig",
opts = {
servers = {
astro = {},
},
},
},
-- Configure tsserver plugin
{
"neovim/nvim-lspconfig",
opts = function(_, opts)
LazyVim.extend(opts.servers.vtsls, "settings.vtsls.tsserver.globalPlugins", {
{
name = "@astrojs/ts-plugin",
location = LazyVim.get_pkg_path("astro-language-server", "/node_modules/@astrojs/ts-plugin"),
enableForWorkspaceTypeScriptVersions = true,
},
})
end,
},
{
"conform.nvim",
opts = function(_, opts)
if LazyVim.has_extra("formatting.prettier") then
opts.formatters_by_ft = opts.formatters_by_ft or {}
opts.formatters_by_ft.astro = { "prettier" }
end
end,
},
}