nushell fzf

This commit is contained in:
Sascha Koenig
2025-05-19 21:03:09 +02:00
parent 22cbc7c5a2
commit 72ceffc61d
8 changed files with 55 additions and 43 deletions

View File

@ -22,13 +22,6 @@ in {
$env.VISUAL = "zed"
$env.XDG_DATA_HOME = $"($env.HOME)/.local/share"
$env.FZF_DEFAULT_COMMAND = "fd --type f --exclude .git --follow --hidden"
$env.FZF_DEFAULT_OPTS = "
--preview='bat --color=always -n {}'
--preview-window up:3:hidden:wrap
--bind 'ctrl-/:toggle-preview'
--bind 'ctrl-y:execute-silent(echo -n {2..} | wl-copy)+abort'
--color header:bold
--header 'Press CTRL-Y to copy command into clipboard'"
$env.FLAKE = $"($env.HOME)/p/nixos/nixos-config"
source /run/agenix/${config.home.username}-secrets
'';
@ -73,12 +66,14 @@ in {
def history_fuzzy [] {
let selected = (
history
| uniq
| reverse
| get command
| sk --height 40% --layout=reverse --color=fg:#f8f8f2,bg:#282a36,current_bg:#ff79c6,current_fg:#bd93f9,info:#ffb86c,marker:#6272a4,pointer:#50fa7b,spinner:#50fa7b
| uniq
| to text
| ^fzf
)
if ($selected | is-not-empty) {
^nu -c ($selected)
commandline edit ($selected)
} else {
null
}
@ -86,7 +81,7 @@ in {
def --env dir_fuzzy [] {
let selected = (
fd --type directory
| ^sk --preview 'eza --tree --no-permissions --no-filesize --no-user --no-time --only-dirs {}' --height 40% --layout=reverse --color=fg:#f8f8f2,bg:#282a36,current_bg:#ff79c6,current_fg:#bd93f9,info:#ffb86c,marker:#6272a4,pointer:#50fa7b,spinner:#50fa7b
| ^fzf
)
cd $selected
}
@ -95,11 +90,8 @@ in {
let selected = (
^fd --type file --no-hidden -X rg -l --files-with-matches .
| lines
| sk --format { $in }
--height 40%
--layout=reverse
--preview { open $in | bat --color=always --line-range :50 }
--color=fg:#f8f8f2,bg:#282a36,current_bg:#ff79c6,current_fg:#bd93f9,info:#ffb86c,marker:#6272a4,pointer:#50fa7b,spinner:##50fa7b
| to text
| ^fzf
)
if ($selected | is-not-empty) {
^$env.EDITOR $selected