From 490aa3ad354c6a2cbdc76d2362a8af0e99c8bd69 Mon Sep 17 00:00:00 2001 From: Natsu Kagami Date: Fri, 29 Sep 2023 10:00:08 +0200 Subject: [PATCH] Add some basic frontend LSP servers --- home/kakoune/kak.nix | 15 ++++++++++++++- home/kakoune/kakrc | 2 +- 2 files changed, 15 insertions(+), 2 deletions(-) diff --git a/home/kakoune/kak.nix b/home/kakoune/kak.nix index a988319..791e569 100644 --- a/home/kakoune/kak.nix +++ b/home/kakoune/kak.nix @@ -38,9 +38,22 @@ let ) ++ (with pkgs; [ libiconv ]); }; + kak-lsp-frontend = { pkgs, lib, ... }: + let + langserver = name: { + args = [ "--stdio" ]; + command = "${pkgs.nodePackages.vscode-langservers-extracted}/bin/vscode-${name}-language-server"; + filetypes = [ name ]; + roots = [ "package.json" ".git" ]; + }; + in + { + programs.kak-lsp.languages = lib.attrsets.genAttrs [ "html" "css" "json" ] langserver; + }; + in { - imports = [ ../modules/programs/my-kakoune ./kaktex.nix ]; + imports = [ ../modules/programs/my-kakoune ./kaktex.nix kak-lsp-frontend ]; home.packages = with pkgs; [ # ctags for peneira diff --git a/home/kakoune/kakrc b/home/kakoune/kakrc index 3a1e0fe..23a42b5 100644 --- a/home/kakoune/kakrc +++ b/home/kakoune/kakrc @@ -89,7 +89,7 @@ hook global InsertCompletionHide .* %{ try %{ eval %sh{test -z "$WE_STARTED_KAK" && kak-lsp --kakoune -s $kak_session} } -hook global WinSetOption filetype=(racket|rust|python|go|javascript|typescript|c|cpp|tex|latex|fsharp|ocaml|haskell|nix|scala|typst) %{ +hook global WinSetOption filetype=(racket|rust|python|go|javascript|typescript|c|cpp|tex|latex|fsharp|ocaml|haskell|nix|scala|typst|html|css|json) %{ lsp-enable-window map window lsp N -docstring "Display the next message request" ": lsp-show-message-request-next" map window normal ": enter-user-mode lsp"