aboutsummaryrefslogtreecommitdiffstats
path: root/hm/soispha/conf/lf
diff options
context:
space:
mode:
Diffstat (limited to 'hm/soispha/conf/lf')
-rw-r--r--hm/soispha/conf/lf/commands/default.nix4
-rwxr-xr-xhm/soispha/conf/lf/commands/scripts/follow_link.sh19
-rw-r--r--hm/soispha/conf/lf/keybindings/default.nix2
3 files changed, 24 insertions, 1 deletions
diff --git a/hm/soispha/conf/lf/commands/default.nix b/hm/soispha/conf/lf/commands/default.nix
index ff40d94d..933769ac 100644
--- a/hm/soispha/conf/lf/commands/default.nix
+++ b/hm/soispha/conf/lf/commands/default.nix
@@ -135,6 +135,10 @@ in {
name = "execute";
dependencies = [];
};
+ follow_link = pipe {
+ name = "follow_link";
+ dependencies = with pkgs; [lf];
+ };
fzf_jump = shell {
name = "fzf_jump";
dependencies = builtins.attrValues {
diff --git a/hm/soispha/conf/lf/commands/scripts/follow_link.sh b/hm/soispha/conf/lf/commands/scripts/follow_link.sh
new file mode 100755
index 00000000..80413990
--- /dev/null
+++ b/hm/soispha/conf/lf/commands/scripts/follow_link.sh
@@ -0,0 +1,19 @@
+#!/usr/bin/env dash
+
+# shellcheck source=/dev/null
+SHELL_LIBRARY_VERSION="2.1.2" . %SHELL_LIBRARY_PATH
+
+# shellcheck disable=SC2269
+f="$f"
+# shellcheck disable=SC2269
+fx="$fx"
+# shellcheck disable=SC2269
+fs="$fs"
+# shellcheck disable=SC2269
+id="$id"
+
+dir="$(realpath "$f")"
+
+lf -remote "send $id cd \"$dir\""
+
+# vim: ft=sh
diff --git a/hm/soispha/conf/lf/keybindings/default.nix b/hm/soispha/conf/lf/keybindings/default.nix
index c16a682f..b41004dc 100644
--- a/hm/soispha/conf/lf/keybindings/default.nix
+++ b/hm/soispha/conf/lf/keybindings/default.nix
@@ -29,7 +29,7 @@
u = "view_file";
cc = "\$sudo -e \"$f\"";
fe = "execute";
- fl = ''cd ''${{readlink --canonicalize "$f"}}'';
+ fl = "follow_link";
# Archive Mappings
au = "unarchive";