From 849c89decd55172337d14e7311caa985d44eb522 Mon Sep 17 00:00:00 2001 From: Snoweuph Date: Wed, 15 Apr 2026 19:08:16 +0200 Subject: [PATCH 1/6] languages/twig: add lsp/presets/emmet-ls to lsp.servers --- modules/plugins/languages/twig.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/plugins/languages/twig.nix b/modules/plugins/languages/twig.nix index b6a3c530..dd5744a1 100644 --- a/modules/plugins/languages/twig.nix +++ b/modules/plugins/languages/twig.nix @@ -16,7 +16,7 @@ cfg = config.vim.languages.twig; defaultServers = ["twig-language-server"]; - servers = ["twig-language-server"]; + servers = ["twig-language-server" "emmet-ls"]; defaultFormat = ["djlint"]; formats = { From b124f009b9caf7bd8d161b15bd72a3fcb75fbfa2 Mon Sep 17 00:00:00 2001 From: Snoweuph Date: Wed, 15 Apr 2026 19:08:34 +0200 Subject: [PATCH 2/6] languages/jinja: add lsp/presets/emmet-ls to lsp.servers --- modules/plugins/languages/jinja.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/plugins/languages/jinja.nix b/modules/plugins/languages/jinja.nix index a7d677b0..ff32bc24 100644 --- a/modules/plugins/languages/jinja.nix +++ b/modules/plugins/languages/jinja.nix @@ -13,7 +13,7 @@ cfg = config.vim.languages.jinja; defaultServers = ["jinja-lsp"]; - servers = ["jinja-lsp"]; + servers = ["jinja-lsp" "emmet-ls"]; in { options.vim.languages.jinja = { enable = mkEnableOption "Jinja template language support"; From db13552f570243fa49aacb7b18318298f4e9dcfe Mon Sep 17 00:00:00 2001 From: Snoweuph Date: Wed, 15 Apr 2026 19:08:48 +0200 Subject: [PATCH 3/6] languages/liquid: add lsp/presets/emmet-ls to lsp.servers --- modules/plugins/languages/liquid.nix | 31 +++++++++++++++++++++++++++- 1 file changed, 30 insertions(+), 1 deletion(-) diff --git a/modules/plugins/languages/liquid.nix b/modules/plugins/languages/liquid.nix index 4d76799c..834a202f 100644 --- a/modules/plugins/languages/liquid.nix +++ b/modules/plugins/languages/liquid.nix @@ -4,11 +4,16 @@ lib, ... }: let - inherit (lib.options) mkEnableOption literalExpression; + inherit (lib) genAttrs; + inherit (lib.options) mkEnableOption literalExpression mkOption; inherit (lib.modules) mkIf mkMerge; + inherit (lib.types) enum listOf; inherit (lib.nvim.types) mkGrammarOption; cfg = config.vim.languages.liquid; + + defaultServers = []; + servers = ["emmet-ls"]; in { options.vim.languages.liquid = { enable = mkEnableOption "Liquid templating language support"; @@ -22,6 +27,21 @@ in { }; package = mkGrammarOption pkgs "liquid"; }; + + lsp = { + enable = + mkEnableOption "Liquid LSP support" + // { + default = config.vim.lsp.enable; + defaultText = literalExpression "config.vim.lsp.enable"; + }; + servers = mkOption { + description = "Liquid LSP server to use"; + type = listOf (enum servers); + default = defaultServers; + }; + }; + # TODO: if curlylint gets packaged for nix, add it. }; @@ -30,5 +50,14 @@ in { vim.treesitter.enable = true; vim.treesitter.grammars = [cfg.treesitter.package]; }) + + (mkIf cfg.lsp.enable { + vim.lsp = { + presets = genAttrs cfg.lsp.servers (_: {enable = true;}); + servers = genAttrs cfg.lsp.servers (_: { + filetypes = ["liquid"]; + }); + }; + }) ]); } From 4d0857ad1529b26b250de85bcab16b4eb27f2944 Mon Sep 17 00:00:00 2001 From: Snoweuph Date: Wed, 15 Apr 2026 19:08:59 +0200 Subject: [PATCH 4/6] languages/tera: add lsp/presets/emmet-ls to lsp.servers --- modules/plugins/languages/tera.nix | 30 +++++++++++++++++++++++++++++- 1 file changed, 29 insertions(+), 1 deletion(-) diff --git a/modules/plugins/languages/tera.nix b/modules/plugins/languages/tera.nix index 9650da92..0a28014c 100644 --- a/modules/plugins/languages/tera.nix +++ b/modules/plugins/languages/tera.nix @@ -4,11 +4,16 @@ lib, ... }: let - inherit (lib.options) mkEnableOption literalExpression; + inherit (lib) genAttrs; + inherit (lib.options) mkEnableOption literalExpression mkOption; inherit (lib.modules) mkIf mkMerge; + inherit (lib.types) enum listOf; inherit (lib.nvim.types) mkGrammarOption; cfg = config.vim.languages.tera; + + defaultServers = []; + servers = ["emmet-ls"]; in { options.vim.languages.tera = { enable = mkEnableOption "Tera templating language support"; @@ -22,6 +27,20 @@ in { }; package = mkGrammarOption pkgs "tera"; }; + + lsp = { + enable = + mkEnableOption "Tera LSP support" + // { + default = config.vim.lsp.enable; + defaultText = literalExpression "config.vim.lsp.enable"; + }; + servers = mkOption { + description = "Tera LSP server to use"; + type = listOf (enum servers); + default = defaultServers; + }; + }; }; config = mkIf cfg.enable (mkMerge [ @@ -29,5 +48,14 @@ in { vim.treesitter.enable = true; vim.treesitter.grammars = [cfg.treesitter.package]; }) + + (mkIf cfg.lsp.enable { + vim.lsp = { + presets = genAttrs cfg.lsp.servers (_: {enable = true;}); + servers = genAttrs cfg.lsp.servers (_: { + filetypes = ["tera"]; + }); + }; + }) ]); } From d9b93565cb89c9fb8800aad45ffea8a57a56dee0 Mon Sep 17 00:00:00 2001 From: Snoweuph Date: Wed, 15 Apr 2026 19:09:10 +0200 Subject: [PATCH 5/6] languages/astro: add lsp/presets/emmet-ls to lsp.servers --- modules/plugins/languages/astro.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/plugins/languages/astro.nix b/modules/plugins/languages/astro.nix index 08dfe17b..a14471fe 100644 --- a/modules/plugins/languages/astro.nix +++ b/modules/plugins/languages/astro.nix @@ -17,7 +17,7 @@ cfg = config.vim.languages.astro; defaultServers = ["astro-language-server"]; - servers = ["astro-language-server"]; + servers = ["astro-language-server" "emmet-ls"]; defaultFormat = ["prettier"]; formats = let From 0f543681f6839f0504995a5f6fdbd70e95bff224 Mon Sep 17 00:00:00 2001 From: Snoweuph Date: Wed, 15 Apr 2026 19:09:38 +0200 Subject: [PATCH 6/6] docs: update release notes about added emmet support in templating languages --- docs/manual/release-notes/rl-0.9.md | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/docs/manual/release-notes/rl-0.9.md b/docs/manual/release-notes/rl-0.9.md index 3b77533d..375f95e8 100644 --- a/docs/manual/release-notes/rl-0.9.md +++ b/docs/manual/release-notes/rl-0.9.md @@ -316,6 +316,13 @@ - Added Makefile support via `languages.make`. +- Add `lsp.presets.emmet-ls` as supported LSP to + - `languages.jinja` + - `languages.liquid` + - `languages.tera` + - `languages.twig` + - `languages.astro` + - Fix `languages.hcl` init, depending on `comment-nvim` by checking if it is enabled. Fixes a crash (#1350).