about summary refs log tree commit diff stats
path: root/home-manager/config/lf/cmds/dl_file
diff options
context:
space:
mode:
Diffstat (limited to 'home-manager/config/lf/cmds/dl_file')
-rwxr-xr-xhome-manager/config/lf/cmds/dl_file38
1 files changed, 38 insertions, 0 deletions
diff --git a/home-manager/config/lf/cmds/dl_file b/home-manager/config/lf/cmds/dl_file
new file mode 100755
index 00000000..dfd11f69
--- /dev/null
+++ b/home-manager/config/lf/cmds/dl_file
@@ -0,0 +1,38 @@
+#! /usr/bin/env dash
+# shellcheck disable=SC2086
+# shellcheck source=/dev/null
+# . ~/.local/lib/shell/lib
+. %SHELL_LIBRARY_PATH
+
+LIB_TEMP_DIR_FOR_SCRIPT=$(mktemp -d)
+
+# Provides the ability to download a file by dropping it into a window
+
+url=$(dragon -t -x)
+
+if [ -n "$url" ]; then
+  printf "File Name: "
+  name=""
+  while [ -z $name ] || [ -e $name ]
+  do
+    read -r name
+    if [ -e "$name" ]; then
+      printf "File already exists, overwrite (y|n): "
+      read -r ans
+
+      if [ "$ans" = "y" ]; then
+        break
+      else
+        printf "File Name: "
+      fi
+    fi
+  done
+
+  # Download the file with curl
+  [ -n "$name" ] && curl -o "$name" "$url" || die "curl failed"
+else
+  die "Url is not valid!"
+fi
+
+if [ -d "$LIB_TEMP_DIR_FOR_SCRIPT" ];then rm -r "$LIB_TEMP_DIR_FOR_SCRIPT"; fi
+# vim: ft=sh