From 8aa7c77fd05df00aa910e4422d1ad9485517d7d3 Mon Sep 17 00:00:00 2001 From: Natsu Kagami Date: Tue, 4 Feb 2025 04:24:29 +0100 Subject: [PATCH] Enable templ lsp --- packages/common/nki-kakoune/lsp.nix | 18 +++++++++++++++--- 1 file changed, 15 insertions(+), 3 deletions(-) diff --git a/packages/common/nki-kakoune/lsp.nix b/packages/common/nki-kakoune/lsp.nix index eb62e0c..297a449 100644 --- a/packages/common/nki-kakoune/lsp.nix +++ b/packages/common/nki-kakoune/lsp.nix @@ -16,6 +16,7 @@ , texlab , tinymist , marksman +, templ , rust-analyzer , ... }: @@ -33,12 +34,12 @@ let languageServers = let - vscodeServerOf = name: { + vscodeServerWith = { name, extraFileTypes ? [ ] }: { name = "vscode-${name}-language-server"; value = { args = [ "--stdio" ]; command = "vscode-${name}-language-server"; - filetypes = [ name "templ" ]; + filetypes = [ name ] ++ extraFileTypes; roots = [ "package.json" ".git" ]; package = nodePackages.vscode-langservers-extracted; }; @@ -187,6 +188,13 @@ let roots = [ ".marksman.toml" ".git" ]; package = marksman; }; + templ = { + command = "templ"; + args = [ "lsp" ]; + filetypes = [ "templ" ]; + roots = [ "go.mod" ".git" ]; + package = templ; + }; rust-analyzer = { args = [ ]; command = "rust-analyzer"; @@ -195,7 +203,11 @@ let package = rust-analyzer; }; - } // (builtins.listToAttrs (builtins.map vscodeServerOf [ "html" "css" "json" ])); + } // (builtins.listToAttrs (builtins.map + (ft: vscodeServerWith { + name = ft; + extraFileTypes = if ft == "json" then [ ] else [ "templ" ]; + }) [ "html" "css" "json" ])); faces = [ ## Items