extend cdf and pwdf ignore patterns

This commit is contained in:
Yan Lin 2026-01-26 20:16:11 +01:00
parent fe63681d7c
commit 883810a8b2

View file

@ -1,5 +1,12 @@
{ config, pkgs, ... }:
{ config, pkgs, lib, ... }:
let
fdIgnorePatterns = [
"Documents/app-state"
"Library"
];
fdExcludes = lib.concatMapStrings (p: "-E ${lib.escapeShellArg p} ") fdIgnorePatterns;
in
{
programs.zsh = {
enable = true;
@ -93,7 +100,7 @@
function cdf() {
local search_dir="''${1:-~}"
local target
target=$(echo "" | fzf --bind "change:reload:fd --follow -E Documents/app-state {q} ''$search_dir 2>/dev/null || true" --header="Type to search, Enter to cd" --preview '([[ -d {} ]] && ls -la {}) || ([[ -f {} ]] && head -20 {})' --height 40% --ansi)
target=$(echo "" | fzf --bind "change:reload:fd --follow ${fdExcludes}{q} ''$search_dir 2>/dev/null || true" --header="Type to search, Enter to cd" --preview '([[ -d {} ]] && ls -la {}) || ([[ -f {} ]] && head -20 {})' --height 40% --ansi)
if [[ -n "$target" ]]; then
[[ -d "$target" ]] && cd "$target" || cd "$(dirname "$target")"
fi
@ -103,7 +110,7 @@
function pwdf() {
local search_dir="''${1:-~}"
local target
target=$(echo "" | fzf --bind "change:reload:fd --follow -E Documents/app-state {q} ''$search_dir 2>/dev/null || true" --header="Type to search, Enter to print path" --preview '([[ -d {} ]] && ls -la {}) || ([[ -f {} ]] && head -20 {})' --height 40% --ansi)
target=$(echo "" | fzf --bind "change:reload:fd --follow ${fdExcludes}{q} ''$search_dir 2>/dev/null || true" --header="Type to search, Enter to print path" --preview '([[ -d {} ]] && ls -la {}) || ([[ -f {} ]] && head -20 {})' --height 40% --ansi)
if [[ -n "$target" ]]; then
echo "$target"
fi