{ lib, pkgs, flake, ... }: { language = [ { auto-format = true; formatter.command = "shfmt"; name = "bash"; } { auto-format = true; formatter.command = lib.getExe pkgs.haskellPackages.cabal-fmt; name = "cabal"; } { auto-format = true; language-servers = [ "elm-language-server" ]; name = "elm"; } { auto-format = true; formatter.command = lib.getExe pkgs.fprettify; name = "fortran"; roots = [ "flake.nix" ]; } { auto-format = true; name = "haskell"; } { auto-format = true; formatter = { args = [ "-" ]; command = lib.getExe pkgs.google-java-format; }; language-servers = [ pkgs.jdt-language-server.pname ]; name = "java"; } { formatter = { args = [ "--dump" "--unstable" ]; command = lib.getExe pkgs.just; }; language-servers = [ pkgs.just-lsp.pname ]; name = "just"; } { name = "markdown"; language-servers = [ "vale" ]; } { auto-format = true; formatter.command = "nixfmt"; language-servers = [ "nil" ]; name = "nix"; } # { # auto-format = true; # formatter = { # args = [ "-s" ]; # command = "nufmt"; # }; # name = "nu"; # roots = [ "flake.nix" ]; # } { auto-format = true; formatter = { args = [ "--stdin" "foo.rb" "-a" "--stderr" "--fail-level" "fatal" "--server" ]; command = "rubocop"; }; name = "ruby"; } { auto-format = true; name = "rust"; } { file-types = [ "txt" ]; language-servers = [ "vale" ]; name = "text"; scope = "text.plain"; } { auto-format = true; formatter = { args = [ "format" "-" ]; command = "taplo"; }; name = "toml"; roots = [ "flake.nix" ]; } { auto-format = true; language-id = "typescriptreact"; # This is important for Motion Canvas. name = "tsx"; } { auto-format = true; name = "typescript"; } { auto-format = true; formatter.command = "typstyle"; language-servers = [ "tinymist" ]; name = "typst"; roots = [ "flake.nix" ]; } { auto-format = true; formatter = { args = [ "-in" ]; command = "yamlfmt"; }; name = "yaml"; } ]; language-server = { elm-language-server = { config.elmLS = { disableElmLSDiagnostics = true; elmReviewDiagnostics = "warning"; }; }; "${pkgs.jdt-language-server.pname}" = { command = lib.getExe pkgs.jdt-language-server; }; just-lsp = { command = lib.getExe pkgs.just-lsp; }; tinymist = { command = lib.getExe pkgs.tinymist; config.exportPdf = "onType"; }; vale = { command = lib.getExe pkgs.vale-ls; }; }; }