about summary refs log tree commit diff stats
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--home-manager/soispha/config/lf/commands/default.nix4
-rwxr-xr-xhome-manager/soispha/config/lf/commands/scripts/rename26
2 files changed, 30 insertions, 0 deletions
diff --git a/home-manager/soispha/config/lf/commands/default.nix b/home-manager/soispha/config/lf/commands/default.nix
index c8652442..fa366d37 100644
--- a/home-manager/soispha/config/lf/commands/default.nix
+++ b/home-manager/soispha/config/lf/commands/default.nix
@@ -196,6 +196,10 @@ in {
     file = ./scripts/set_wall_paper;
     dependencies = [];
   };
+  rename = pipe {
+    file = ./scripts/rename;
+    dependencies = [];
+  };
   stripspace = pipe {
     file = ./scripts/stripspace;
     dependencies = [];
diff --git a/home-manager/soispha/config/lf/commands/scripts/rename b/home-manager/soispha/config/lf/commands/scripts/rename
new file mode 100755
index 00000000..e1aef306
--- /dev/null
+++ b/home-manager/soispha/config/lf/commands/scripts/rename
@@ -0,0 +1,26 @@
+#!/usr/bin/env dash
+
+# shellcheck source=/dev/null
+SHELL_LIBRARY_VERSION="1.1.4" . %SHELL_LIBRARY_PATH
+
+
+prompt "New name: "
+name=""
+while [ -z "$name" ] || [ -e "$name" ]
+do
+  read -r name
+  if [ -e "$name" ]; then
+    prompt "Name already exists, overwrite [y|N]: "
+    read -r ans
+
+    if [ "$ans" = "y" ]; then
+      break
+    else
+      prompt "Name: "
+    fi
+  fi
+done
+
+mv "$f" "$name"
+
+# vim: ft=sh