Embed language servers inside kak-lsp's PATH
This commit is contained in:
parent
30ba277d46
commit
567542d665
3 changed files with 32 additions and 21 deletions
|
@ -7,10 +7,11 @@ let
|
|||
name = "vscode-${name}-language-server";
|
||||
value = {
|
||||
args = [ "--stdio" ];
|
||||
command = "${pkgs.nodePackages.vscode-langservers-extracted}/bin/vscode-${name}-language-server";
|
||||
command = "vscode-${name}-language-server";
|
||||
filetypes = [ name ];
|
||||
roots = [ "package.json" ".git" ];
|
||||
};
|
||||
package = pkgs.nodePackages.vscode-langservers-extracted;
|
||||
};
|
||||
|
||||
tailwind = {
|
||||
|
@ -23,6 +24,7 @@ let
|
|||
validate = "warning";
|
||||
userLanguages.templ = "html";
|
||||
};
|
||||
package = pkgs.tailwindcss-language-server;
|
||||
};
|
||||
|
||||
templModule = { pkgs, lib, ... }: {
|
||||
|
@ -33,9 +35,9 @@ let
|
|||
args = [ "lsp" ];
|
||||
filetypes = [ "templ" ];
|
||||
roots = [ "go.mod" ".git" ];
|
||||
package = pkgs.unstable.templ;
|
||||
};
|
||||
|
||||
home.packages = [ pkgs.unstable.templ ];
|
||||
};
|
||||
|
||||
in
|
||||
|
@ -45,11 +47,6 @@ let
|
|||
programs.kak-lsp.languageServers = (builtins.listToAttrs (map langserver [ "html" "css" "json" ])) // {
|
||||
tailwindcss-language-server = tailwind;
|
||||
};
|
||||
|
||||
home.packages = with pkgs; [
|
||||
nodePackages.vscode-langservers-extracted
|
||||
tailwindcss-language-server
|
||||
];
|
||||
};
|
||||
|
||||
ltexLsp = { pkgs, lib, ... }: {
|
||||
|
@ -58,9 +55,8 @@ let
|
|||
args = [ "--log-file=/tmp" ];
|
||||
filetypes = [ "latex" "typst" ];
|
||||
roots = [ "main.tex" "main.typ" ".git" ];
|
||||
package = pkgs.ltex-ls;
|
||||
};
|
||||
|
||||
home.packages = [ pkgs.ltex-ls ];
|
||||
};
|
||||
|
||||
in
|
||||
|
@ -72,8 +68,6 @@ in
|
|||
universal-ctags
|
||||
# tree-sitter for kak
|
||||
kak-tree-sitter
|
||||
# LSPs
|
||||
metals
|
||||
];
|
||||
|
||||
# xdg.configFile."kak-tree-sitter/config.toml".source = ./kak-tree-sitter.toml;
|
||||
|
@ -106,8 +100,9 @@ in
|
|||
programs.kak-lsp.languageServers.typescript-language-server = {
|
||||
args = [ "--stdio" ];
|
||||
command = "typescript-language-server";
|
||||
filetypes = [ "typescript" ];
|
||||
filetypes = [ "typescript" "javascript" ];
|
||||
roots = [ "package.json" ];
|
||||
package = pkgs.nodePackages.typescript-language-server;
|
||||
};
|
||||
programs.kak-lsp.languageServers.fsautocomplete = {
|
||||
args = [ "--adaptive-lsp-server-enabled" "--project-graph-enabled" "--source-text-factory" "RoslynSourceText" ];
|
||||
|
@ -135,6 +130,7 @@ in
|
|||
statusBarProvider = "log-message";
|
||||
compilerOptions = { overrideDefFormat = "unicode"; };
|
||||
};
|
||||
package = pkgs.metals;
|
||||
};
|
||||
programs.kak-lsp.languageServers.texlab = {
|
||||
command = "texlab";
|
||||
|
|
|
@ -61,12 +61,8 @@ map global normal D ": delete-current-brackets<ret>"
|
|||
|
||||
# Tab sizes
|
||||
hook global InsertChar \t %{ exec -draft -itersel h@ }
|
||||
set global tabstop 4
|
||||
set global indentwidth 4
|
||||
hook global WinSetOption filetype=(c|cpp|haskell|nix|yaml) %{
|
||||
set global tabstop 2
|
||||
set global indentwidth 2
|
||||
}
|
||||
set global tabstop 2
|
||||
set global indentwidth 2
|
||||
|
||||
# Ctrl + a in insert mode = esc
|
||||
map global insert <c-a> '<esc>'
|
||||
|
@ -91,6 +87,7 @@ hook global InsertCompletionHide .* %{
|
|||
# Enable LSP
|
||||
try %{
|
||||
eval %sh{test -z "$WE_STARTED_KAK" && kak-lsp --kakoune -s $kak_session}
|
||||
set-option global lsp_cmd "kak-lsp -s %val{session}"
|
||||
}
|
||||
hook global WinSetOption filetype=(racket|rust|python|go|javascript|typescript|c|cpp|tex|latex|fsharp|ocaml|haskell|nix|scala|typst|html|css|json|markdown|templ|elixir) %{
|
||||
lsp-enable-window
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue