diff --git a/modules/home/programs/editor/zed.nix b/modules/home/programs/editor/zed.nix index 9023b86..42b380a 100644 --- a/modules/home/programs/editor/zed.nix +++ b/modules/home/programs/editor/zed.nix @@ -16,7 +16,8 @@ in { enable = true; extensions = [ "nix" - "latex" + "fsharp" + # "latex" "typst" "justfile" ]; @@ -24,9 +25,14 @@ in { vim_mode = true; ui_font_size = mkForce 16; buffer_font_size = mkForce 16; - features = {inline_completion_provider = "none";}; + # features = {inline_completion_provider = "none";}; auto_update = false; languages = { + "FSharp" = { + language-servers = [ + "fsautocomplete" + ]; + }; "Nix" = { language-servers = [ "!nil" @@ -67,6 +73,18 @@ in { }; }; lsp = { + fsautocomplete = { + binary = { + path = getExe pkgs.fsautocomplete; + }; + settings = { + AutomaticWorkspaceInit = true; + FSharp.ExternalAutocomplete = true; + FSharp.linting.fsharplint.enabled = true; + FSharp.linting.fsharplint.configFile = "fsharplint.json"; + FSharp.formatting.fantomas.enabled = true; + }; + }; clangd = { binary = { arguments = []; @@ -92,19 +110,19 @@ in { }; initialization_options.formatting.command = [(getExe pkgs.alejandra)]; }; - nil = { - binary = { - arguments = []; - path = getExe pkgs.nil; - }; - initialization_options.formatting.command = [(getExe pkgs.alejandra)]; - }; - texlab = { - binary = { - arguments = []; - path = getExe pkgs.texlab; - }; - }; + # nil = { + # binary = { + # arguments = []; + # path = getExe pkgs.nil; + # }; + # initialization_options.formatting.command = [(getExe pkgs.alejandra)]; + # }; + # texlab = { + # binary = { + # arguments = []; + # path = getExe pkgs.texlab; + # }; + # }; tinymist = { binary = { arguments = [];