summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--flake.nix1
-rw-r--r--lsp/angular-language-server.lua11
-rw-r--r--lua/config/lsp.lua10
3 files changed, 22 insertions, 0 deletions
diff --git a/flake.nix b/flake.nix
index 65a317a..3bfa69b 100644
--- a/flake.nix
+++ b/flake.nix
@@ -152,6 +152,7 @@
];
typescript = [
+ angular-language-server
biome
typescript-language-server
];
diff --git a/lsp/angular-language-server.lua b/lsp/angular-language-server.lua
new file mode 100644
index 0000000..63a61c6
--- /dev/null
+++ b/lsp/angular-language-server.lua
@@ -0,0 +1,11 @@
+return {
+ cmd = { "ngserver", "--stdio" },
+ root_markers = { "angular.json" },
+ filetypes = {
+ "html",
+ "htmlangular",
+ "typescript",
+ "typescriptreact",
+ "typescript.tsx",
+ },
+}
diff --git a/lua/config/lsp.lua b/lua/config/lsp.lua
index 58edc2e..413e06f 100644
--- a/lua/config/lsp.lua
+++ b/lua/config/lsp.lua
@@ -12,8 +12,18 @@ vim.lsp.enable({
"rust-analyzer",
+ "angular-language-server",
"biome",
"typescript-language-server",
})
vim.lsp.inlay_hint.enable(true)
+
+-- Enable Angular HTML Treesitter grammar when needed
+vim.api.nvim_create_autocmd({ "BufReadPost", "BufNewFile" }, {
+ pattern = { "*.component.html", "*.container.html" },
+ callback = function()
+ vim.bo.filetype = "htmlangular"
+ vim.treesitter.start(nil, "angular")
+ end,
+})