summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xshortcut16
1 files changed, 16 insertions, 0 deletions
diff --git a/shortcut b/shortcut
new file mode 100755
index 0000000..8f9479c
--- /dev/null
+++ b/shortcut
@@ -0,0 +1,16 @@
+#!/bin/bash
+
+printf "Shortcut: %s\nPath: %s\n" "$1" "$2"
+
+CONFIG_DIR="${XDG_CONFIG_HOME:-$HOME/.config}"
+
+FULLPATH="$(eval "cd $2; pwd" | sed -E 's/\/(home|Users)\/[A-Za-z_]([A-Za-z0-9_-]{0,31}|[A-Za-z0-9_-]{0,30}\$)\//\~\//')"
+
+SCD_CMD="$(printf "\"%s\") cd \"%s\" ;;\n" "$1" "$2" | sed 's/\//\\\//')"
+LF_CMD="$(printf "map g%s cd \"%s\"\n" "$1" "$FULLPATH")"
+
+# Add path to scd
+sed -i.old -E 's/(\s*# STOPPATHS)/'"$SCD_CMD"'\n\1/' "$CONFIG_DIR/sh/functions"
+
+# Add path to lf
+printf "%s\n" "$LF_CMD" >> "$CONFIG_DIR/lf/lfrc"