about summary refs log tree commit diff stats
path: root/home-manager
diff options
context:
space:
mode:
authorSoispha <soispha@vhack.eu>2023-08-19 23:09:26 +0200
committerSoispha <soispha@vhack.eu>2023-08-19 23:09:26 +0200
commit7d99e6f2d84cbcf51553f26e2abc82a106592c16 (patch)
treed7f74629ae0aac7199f70a1e5a48c487eded06dd /home-manager
parentFix(hm/conf/lf): Split file creation and edit of the made file cmds (diff)
downloadnixos-config-7d99e6f2d84cbcf51553f26e2abc82a106592c16.tar.gz
nixos-config-7d99e6f2d84cbcf51553f26e2abc82a106592c16.zip
Fix(hm/conf/lf): Implement rename cmd
The default lf rename command starts behind the extension like this:
```
filename.extension
       ^
       |
   startpoint
```
This new cmd avoids this.
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