#!/bin/sh

# git-s -- selection-friendly git-status

git status -s | perl -ne '
	push @{$x{$1}}, $2 if /^(.). (.*)/;
	push @{$y{$1}}, $2 if /^.(.) (.*)/;
	END {
		delete $x{"?"}; delete $x{" "}; delete $y{" "};
		for (["index" => \%x], ["tree" => \%y]) {
			($n, $h) = @$_;
			print "$n:" if values %$h;
			for (sort keys %$h) {
				print "	$_ ";
				print " $_" for @{$h->{$_}};
				print "\n";
			}
		}
	}
'