dotfiles/modules/home/cli/development/editing/helix/config/languages.nix

145 lines
2.6 KiB
Nix
Raw Normal View History

2025-10-03 21:13:17 -05:00
{
lib,
pkgs,
flake,
...
}:
2025-10-01 19:51:55 -05:00
{
language = [
{
auto-format = true;
2025-10-03 21:13:17 -05:00
formatter.command = "shfmt";
name = "bash";
2025-10-01 19:51:55 -05:00
}
{
auto-format = true;
2025-10-03 21:13:17 -05:00
formatter.command = lib.getExe pkgs.haskellPackages.cabal-fmt;
2025-10-04 02:27:52 -05:00
language-servers = [
"cabal-gild"
];
2025-10-03 21:13:17 -05:00
name = "cabal";
2025-10-01 19:51:55 -05:00
}
{
auto-format = true;
language-servers = [
"elm-language-server"
];
name = "elm";
}
2025-10-03 21:13:17 -05:00
{
auto-format = true;
2025-10-01 19:51:55 -05:00
name = "haskell";
}
2025-10-03 21:13:17 -05:00
{
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;
name = "rust";
}
2025-11-25 00:14:51 -06:00
{
name = "ron";
scope = "source.ron";
file-types = [ "ron" ];
comment-token = "//";
language-servers = [ "rust-analyzer" ];
auto-format = true;
formatter = {
command = "rustfmt";
args = [
"--edition"
"2021"
];
};
indent = {
tab-width = 4;
unit = " ";
};
}
2025-10-03 21:13:17 -05:00
{
file-types = [ "txt" ];
language-servers = [ "vale" ];
name = "text";
scope = "text.plain";
}
{
auto-format = true;
formatter = {
args = [
"format"
"-"
];
command = "taplo";
};
name = "toml";
roots = [ "flake.nix" ];
}
2025-10-01 19:51:55 -05:00
{
auto-format = true;
2025-10-03 21:13:17 -05:00
name = "typescript";
2025-10-01 19:51:55 -05:00
}
2025-10-03 21:13:17 -05:00
{
auto-format = true;
formatter.command = "typstyle";
language-servers = [ "tinymist" ];
name = "typst";
roots = [ "flake.nix" ];
}
{
auto-format = true;
formatter = {
args = [ "-in" ];
command = "yamlfmt";
};
name = "yaml";
}
2025-10-01 19:51:55 -05:00
];
language-server = {
elm-language-server = {
config.elmLS = {
disableElmLSDiagnostics = true;
elmReviewDiagnostics = "warning";
};
};
2025-10-03 21:13:17 -05:00
just-lsp = {
command = lib.getExe pkgs.just-lsp;
};
tinymist = {
command = lib.getExe pkgs.tinymist;
config.exportPdf = "onType";
};
vale = {
command = lib.getExe pkgs.vale-ls;
};
2025-10-01 19:51:55 -05:00
};
2025-10-03 21:13:17 -05:00
2025-10-01 19:51:55 -05:00
}