From 4a42fd146780f9a4cd5de72649171d9e128c23cd Mon Sep 17 00:00:00 2001 From: Belal Elsabbagh Date: Sat, 12 Jul 2025 19:20:04 +0300 Subject: [PATCH] commit --- .config/nvim/init.lua | 1 + .config/nvim/lsp/astrols.lua | 22 ++++++++++++++++++++++ .config/nvim/lua/plugins/formatter.lua | 2 +- 3 files changed, 24 insertions(+), 1 deletion(-) create mode 100644 .config/nvim/lsp/astrols.lua diff --git a/.config/nvim/init.lua b/.config/nvim/init.lua index 55939a0..8816d88 100644 --- a/.config/nvim/init.lua +++ b/.config/nvim/init.lua @@ -149,4 +149,5 @@ vim.lsp.enable { 'rust-analyzer', 'tsls', 'yamlls', + 'astrols', } diff --git a/.config/nvim/lsp/astrols.lua b/.config/nvim/lsp/astrols.lua new file mode 100644 index 0000000..d23588d --- /dev/null +++ b/.config/nvim/lsp/astrols.lua @@ -0,0 +1,22 @@ +---@brief +--- +--- https://github.com/withastro/language-tools/tree/main/packages/language-server +--- +--- `astro-ls` can be installed via `npm`: +--- ```sh +--- npm install -g @astrojs/language-server +--- ``` + +return { + cmd = { 'astro-ls', '--stdio' }, + filetypes = { 'astro' }, + root_markers = { 'package.json', 'tsconfig.json', 'jsconfig.json', '.git' }, + init_options = { + typescript = {}, + }, + before_init = function(_, config) + if config.init_options and config.init_options.typescript and not config.init_options.typescript.tsdk then + config.init_options.typescript.tsdk = 'node_modules/typescript/lib' + end + end, +} diff --git a/.config/nvim/lua/plugins/formatter.lua b/.config/nvim/lua/plugins/formatter.lua index ffff506..582e25d 100644 --- a/.config/nvim/lua/plugins/formatter.lua +++ b/.config/nvim/lua/plugins/formatter.lua @@ -20,7 +20,7 @@ return { }, formatters_by_ft = { lua = { 'stylua' }, - + astro = { 'prettier' }, go = { 'gofmt' }, python = { 'ruff' }, javascript = { 'biome', 'prettier', stop_after_first = true },