aboutsummaryrefslogtreecommitdiffstats
path: root/pkgs/by-name
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/by-name')
-rwxr-xr-xpkgs/by-name/gi/git-edit-index/git-edit-index.sh48
-rw-r--r--pkgs/by-name/gi/git-edit-index/package.nix15
2 files changed, 26 insertions, 37 deletions
diff --git a/pkgs/by-name/gi/git-edit-index/git-edit-index.sh b/pkgs/by-name/gi/git-edit-index/git-edit-index.sh
index e73dc53c..94a8d4a4 100755
--- a/pkgs/by-name/gi/git-edit-index/git-edit-index.sh
+++ b/pkgs/by-name/gi/git-edit-index/git-edit-index.sh
@@ -1,19 +1,10 @@
#!/usr/bin/env dash
-# shellcheck source=/dev/null
-SHELL_LIBRARY_VERSION="2.1.2" . %SHELL_LIBRARY_PATH
+NAME="git-edit-index"
-# needed for help() and version
-# shellcheck disable=2034
-AUTHORS="Soispha"
-# shellcheck disable=2034
-YEARS="2024"
-# shellcheck disable=2034
-VERSION="1.0.0"
-
-# NAME is from the wrapper
-# shellcheck disable=SC2269
-NAME="$NAME"
+warn() {
+ echo "WARNING: $1"
+}
help() {
cat <<EOF
@@ -55,23 +46,24 @@ materialize_file() {
}
edit() {
- files_to_add="$(mktmp)"
- realpath --relative-to=. "$@" >"$files_to_add"
+ files_to_add="$(mktemp)"
+ cleanup() {
+ rm "$files_to_add"
+ }
+ trap cleanup EXIT
- index_files="$(mktmp)"
- git diff --name-only --cached --diff-filter=AM >"$index_files"
+ realpath --relative-to=. "$@" >"$files_to_add"
- while read -r file; do
- if grep -q "$file" "$files_to_add"; then
- sed -i "s|$file||" "$files_to_add"
- materialize_file "$file"
+ git diff --name-only --cached --diff-filter=AM | while read -r index_file; do
+ if grep -q "$index_file" "$files_to_add"; then
+ sed -i "s|$index_file||" "$files_to_add"
+ materialize_file "$index_file"
fi
- done <"$index_files"
+ done
- files_to_check="$(mktmp)"
- clean "$files_to_add" >"$files_to_check"
- if [ "$(wc -l <"$files_to_check")" -gt 0 ]; then
- warn "Could not edit every file:"
+ unedided_files="$(sed '/^\s*$/d' "$files_to_add" | wc -l)"
+ if [ "$unedided_files" -gt 0 ]; then
+ warn "Failed to edit $unedided_files file(s):"
cat "$files_to_add"
fi
}
@@ -82,10 +74,6 @@ for arg in "$@"; do
help
exit 0
;;
- "--version" | "-v")
- version
- exit 0
- ;;
"--")
end_of_cli_options=true
;;
diff --git a/pkgs/by-name/gi/git-edit-index/package.nix b/pkgs/by-name/gi/git-edit-index/package.nix
index 8ac085bf..d7bba6af 100644
--- a/pkgs/by-name/gi/git-edit-index/package.nix
+++ b/pkgs/by-name/gi/git-edit-index/package.nix
@@ -1,19 +1,20 @@
{
- sysLib,
+ writeShellApplication,
+ # Dependencies
+ coreutils,
git,
gnused,
}:
-sysLib.writeShellScript {
+writeShellApplication {
name = "git-edit-index";
- src = ./git-edit-index.sh;
- generateCompletions = true;
+ text = builtins.readFile ./git-edit-index.sh;
# `git-edit-index` starts neovim, wich might want to shell out from
- keepPath = true;
+ inheritPath = true;
- dependencies = [
+ runtimeInputs = [
+ coreutils
git
gnused
- # $EDITOR
];
}