fish: enable language server
2 files changed, 17 insertions(+), 1 deletion(-)
changed files
M user/emacs/init.el → user/emacs/init.el
@@ -1203,6 +1203,7 @@ :ghook ('(typescript-mode-hook dockerfile-mode-hook yaml-mode-hook js-base-mode-hook + fish-mode-hook css-base-mode-hook lua-mode-hook markdown-mode-hook@@ -1218,7 +1219,8 @@ :config (progn (when (assoc 'nix-mode eglot-server-programs) (setf (car (assoc 'nix-mode eglot-server-programs)) '(nix-mode nix-ts-mode))) (nconc eglot-server-programs '((toml-ts-mode "taplo" "lsp" "stdio") - (just-ts-mode "just-lsp"))) + (just-ts-mode "just-lsp") + (fish-mode "fish-lsp" "start"))) (advice-add 'eglot--message :before-until (lambda (formatstring &rest rest) (s-starts-with-p "Connected!" formatstring))) (defun my/setup-eglot-eldoc ()
M user/settings/fish.nix → user/settings/fish.nix
@@ -13,6 +13,7 @@ direct_symlink = path: config.lib.file.mkOutOfStoreSymlink "${nixfiles}/${removePrefix "/" path}"; in { home.shell.enableFishIntegration = true; + home.packages = [ pkgs.fish-lsp ]; programs.fish = { enable = true; plugins =@@ -58,6 +59,19 @@ source = direct_symlink "/user/settings/fish/functions"; }; xdg.configFile."fish/conf.d/user_config.fish" = { source = direct_symlink "/user/settings/fish/config.fish"; + }; + + programs.zed-editor.userSettings = { + languages.Fish = { + tab_size = 4; + language_servers = [ "fish-lsp" ]; + }; + lsp.fish-lsp = { + binary = { + path = "fish-lsp"; + arguments = [ "start" ]; + }; + }; }; programs.nix-your-shell = {