about summary refs log tree commit diff stats
path: root/hm/soispha/conf/lf
diff options
context:
space:
mode:
authorBenedikt Peetz <benedikt.peetz@b-peetz.de>2024-05-11 10:00:29 +0200
committerBenedikt Peetz <benedikt.peetz@b-peetz.de>2024-05-11 10:01:51 +0200
commitf8421335afe6d5f6120a40c7ed363cdb879a3c24 (patch)
treeaa0cc514fd160f74660480ed95a4e31ec5b43043 /hm/soispha/conf/lf
parentfix(hm/wms/river/init): Restore the pre 3.0 forced ssd (diff)
downloadnixos-config-f8421335afe6d5f6120a40c7ed363cdb879a3c24.zip
fix(hm/conf/lf): Correctly implement symlink following
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";