aboutsummaryrefslogtreecommitdiffstats
path: root/modules/by-name/lf
diff options
context:
space:
mode:
Diffstat (limited to 'modules/by-name/lf')
-rw-r--r--modules/by-name/lf/lf/commands/default.nix2
-rw-r--r--modules/by-name/lf/lf/wrappers/ll.fish25
2 files changed, 17 insertions, 10 deletions
diff --git a/modules/by-name/lf/lf/commands/default.nix b/modules/by-name/lf/lf/commands/default.nix
index 0c0acecf..a6c4a3f9 100644
--- a/modules/by-name/lf/lf/commands/default.nix
+++ b/modules/by-name/lf/lf/commands/default.nix
@@ -30,7 +30,7 @@
syscmd = command: ''
''${{
- printf "%s\n" "SYSCMD::${command}"
+ printf "%s\n" "SYSCMD::${command}" >>"$LL_SYSCMD_SOCKET"
}}
'';
diff --git a/modules/by-name/lf/lf/wrappers/ll.fish b/modules/by-name/lf/lf/wrappers/ll.fish
index 6478d6f1..2600f14b 100644
--- a/modules/by-name/lf/lf/wrappers/ll.fish
+++ b/modules/by-name/lf/lf/wrappers/ll.fish
@@ -14,17 +14,24 @@ begin
test -d "$XDG_RUNTIME_DIR/ll"; or mkdir "$XDG_RUNTIME_DIR/ll"
set last_directory "$XDG_RUNTIME_DIR/ll/last_directory"
- command lf -last-dir-path="$last_directory" "$argv" 2>&1 | while read -l cmd
- switch "$cmd"
- case "SYSCMD::DIRENV::SANDBOX::ENABLE"
- set --global SHOULD_SANDBOX_DIRENV
- case "SYSCMD::DIRENV::SANDBOX::DISABLE"
- set --erase SHOULD_SANDBOX_DIRENV
- case '*'
- # Just pass things along, that we don't know about
- printf "%s\n\r" "$cmd" >&2
+ set --export LL_SYSCMD_SOCKET "$(mktemp -t fish_ll_syscmd_socket)"
+ begin
+ command lf -last-dir-path="$last_directory" "$argv"
+
+ cat "$LL_SYSCMD_SOCKET" | while read -l cmd
+ switch "$cmd"
+ case "SYSCMD::DIRENV::SANDBOX::ENABLE"
+ set --global SHOULD_SANDBOX_DIRENV
+ case "SYSCMD::DIRENV::SANDBOX::DISABLE"
+ set --erase SHOULD_SANDBOX_DIRENV
+ case '*'
+ # Just pass things along, that we don't know about
+ printf "%s\n\r" "$cmd" >&2
+ end
end
end
+ rm "$LL_SYSCMD_SOCKET"
+ set --erase --export LL_SYSCMD_SOCKET
set dir "$(cat "$last_directory")"