about summary refs log tree commit diff stats
diff options
context:
space:
mode:
Diffstat (limited to '')
-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";