feat(jj): configure jj fix with formatters from nvim #456

Merged
jalil merged 2 commits from push-vzyvqmyoovlo into main 2025-05-07 16:53:52 +02:00
2 changed files with 61 additions and 2 deletions

View file

@ -6,6 +6,64 @@
}:
let
cfg = config.jhome.dev;
nvimFormatters = builtins.mapAttrs (
name: value: value.command
) config.programs.nixvim.plugins.conform-nvim.settings.formatters;
jjFormatters =
let
ext = extension: "glob:'**/*.${extension}'";
in
{
fish = cmd: {
command = [ cmd ];
patterns = [ (ext "fish") ];
};
nixfmt = cmd: {
command = [
cmd
"--filename=$path"
];
patterns = [ (ext "nix") ];
};
shfmt = cmd: {
command = [
cmd
"--filename"
"$path"
"-"
];
patterns = [
(ext "sh")
(ext "bash")
];
};
stylua = cmd: {
command = [
cmd
"--stdin-filepath=$path"
"-"
];
patterns = [ (ext "lua") ];
};
taplo = cmd: {
command = [
cmd
"--stdin-filepath=$path"
"-"
];
patterns = [ (ext "toml") ];
};
yamlfmt = cmd: {
command = [
cmd
"-in"
];
patterns = [
(ext "yaml")
(ext "yml")
];
};
};
in
{
config =
@ -68,6 +126,7 @@ in
package = pkgs.unstable.jujutsu;
settings = {
ui.pager = "bat";
fix.tools = builtins.mapAttrs (tool: cmd: jjFormatters.${tool} cmd) nvimFormatters;
# mimic git commit --verbose by adding a diff
templates.draft_commit_description = ''
concat(

View file

@ -95,12 +95,12 @@ in
enable = true;
settings = {
formatters = {
fish.command = lib.getExe pkgs.fish;
fish.command = lib.getExe' pkgs.fish "fish_indent";
nixfmt.command = lib.getExe pkgs.nixfmt-rfc-style;
shfmt.command = lib.getExe pkgs.shfmt;
stylua.command = lib.getExe pkgs.stylua;
taplo.command = lib.getExe pkgs.taplo;
yamlfmt.command = lib.getExe' pkgs.yamlfmt "fish_indent";
yamlfmt.command = lib.getExe pkgs.yamlfmt;
};
formatters_by_ft = {
"_" = [ "trim_whitespace" ];