feat(jj): configure jj fix with formatters from nvim
Some checks failed
/ check (push) Successful in 29s
/ check-renovaterc (push) Successful in 3s
/ build-packages (push) Successful in 35s
/ build-vm (push) Failing after 1s
/ report-size (push) Has been skipped

Export nvim formatters as `jj fix` tools.
This commit is contained in:
Jalil David Salamé Messina 2025-05-07 16:36:38 +02:00
parent 434829c96a
commit cf335569c2
Signed by: jalil
GPG key ID: F016B9E770737A0B
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.nixvim.plugins.conform-nvim.settings.formatters;
jjFormatters =
let
ext = extension: "glob:'**/*.${ext}'";
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) nvimFmt;
# 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" ];