diff options
author | Benedikt Peetz <benedikt.peetz@b-peetz.de> | 2024-05-11 10:00:29 +0200 |
---|---|---|
committer | Benedikt Peetz <benedikt.peetz@b-peetz.de> | 2024-05-11 10:01:51 +0200 |
commit | f8421335afe6d5f6120a40c7ed363cdb879a3c24 (patch) | |
tree | aa0cc514fd160f74660480ed95a4e31ec5b43043 | |
parent | fix(hm/wms/river/init): Restore the pre 3.0 forced ssd (diff) | |
download | nixos-config-f8421335afe6d5f6120a40c7ed363cdb879a3c24.zip |
fix(hm/conf/lf): Correctly implement symlink following
-rw-r--r-- | hm/soispha/conf/lf/commands/default.nix | 4 | ||||
-rwxr-xr-x | hm/soispha/conf/lf/commands/scripts/follow_link.sh | 19 | ||||
-rw-r--r-- | hm/soispha/conf/lf/keybindings/default.nix | 2 |
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"; |