LightAndLight / git-format-staged

Modify staged files in Git.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

git-format-staged

Modify staged files, backporting changes onto their unstaged versions. Useful for formatting files as part of a pre-commit hook.

Example:

$ git init

$ tree
.
├── a.txt
└── b
    └── c.txt

$ git add a.txt b/c.txt
                                     # Remove trailing whitespace
$ git-format-staged a.txt b/c.txt -- sed 's/\s\+$//' -i

Installation

Try using Nix: nix run github:LightAndLight/git-format-staged -- --help

Add to a Nix Flake:

{
  inputs = {
    flake-utils.url = "github:numtide/flake-utils";
    git-format-staged.url = "github:LightAndLight/git-format-staged";
  };
  outputs = { self, nixpkgs, flake-utils, git-format-staged }:
    flake-utils.lib.eachDefaultSystem (system:
      let
        pkgs = import nixpkgs { inherit system; };
      in {
        devShell = pkgs.mkShell {
          buildInputs = with pkgs; [
            git-format-staged.packages.${system}.default
          ];
        };
      }
    );
}

About

Modify staged files in Git.


Languages

Language:Nix 80.2%Language:Rust 19.8%