Fix lf + zsh find_global

This commit is contained in:
Thomas Avé 2024-04-24 00:00:18 +02:00
parent 8183bcfa2b
commit 3228a5d271
2 changed files with 28 additions and 65 deletions

View File

@ -15,29 +15,8 @@ map - $nvim -c "lua require(\"oil\").open(\"$PWD\")"
map <enter> open
cmd jump ${{
FZY_CACHE=~/.cache/fzy_paths
if [ -f $FZY_CACHE ]; then
# Check if cache is older than 1 day
if [ $(($(date +%s) - $(date -r $FZY_CACHE +%s))) -gt 86400 ]; then
rm $FZY_CACHE
fi
fi
if [ ! -f $FZY_CACHE ]; then
PATHS="$(/usr/bin/git --git-dir=$HOME/.dotfiles/ --work-tree=$HOME ls-files | xargs -n 1 dirname | uniq | grep -v '^\.$' | parallel echo ~/{})"
search_dirs=(~/Workspace/ \
/home/server/Storage/Thomas/ \
)
for i in $search_dirs ; do
if [ -d $i ]; then
PATHS="$PATHS\n$i"
PATHS="$PATHS\n$(ssh mallorea fdfind . $i -t d -d 8)"
fi
done
echo -e $PATHS > $FZY_CACHE
fi
res="$(cat $FZY_CACHE | fzy -l 20)"
res="$(printf '%s' "$res" | sed 's/\\/\\\\/g;s/"/\\"/g')"
lf -remote "send $id cd \"$res\""
res=$(zsh -c "source $HOME/.zshrc && find_global d")
lf -remote "send $id cd \"$res\""
}}
map <c-t> :jump
map <c-t> :jump <enter>

View File

@ -48,40 +48,11 @@ function cd_to() {
zle reset-prompt
}
# Use FZY instead of FZF for ctrl-t
function find_global_directories() {
zle -I
FZY_CACHE=~/.cache/fzy_paths
if [ -f $FZY_CACHE ]; then
# Check if cache is older than 1 day
if [ $(($(date +%s) - $(date -r $FZY_CACHE +%s))) -gt 86400 ]; then
rm $FZY_CACHE
fi
fi
if [ ! -f $FZY_CACHE ]; then
PATHS="$(/usr/bin/git --git-dir=$HOME/.dotfiles/ --work-tree=$HOME ls-files | xargs -n 1 dirname | uniq | grep -v '^\.$' | parallel echo ~/{})"
search_dirs=( \
~/Workspace/ \
/home/server/Storage/Thomas/ \
)
for i in $search_dirs ; do
if [ -d $i ]; then
PATHS="$PATHS\n$i"
PATHS="$PATHS\n$(fd . $i -t d -d 8)"
fi
done
echo -e $PATHS > $FZY_CACHE
fi
cd_to "$(cat $FZY_CACHE | fzy -l 20)"
}
function find_local_directories() {
zle -I
cd_to "$(fd . -t d | fzy -l 20)"
}
function edit_local_files() {
zle -I
file=$(fd . -t f | fzy -l 20)
if [ -z "$file" ]; then
return 0
@ -89,32 +60,45 @@ function edit_local_files() {
nvim "$file"
}
function edit_global_files() {
zle -I
FZY_CACHE=~/.cache/fzy_file_paths
function find_global() {
file_type=$1
FZY_CACHE=~/.cache/fzy_paths_$file_type
if [ -f $FZY_CACHE ]; then
# Check if cache is older than 1 day
if [ $(($(date +%s) - $(date -r $FZY_CACHE +%s))) -gt 86400 ]; then
if [ $(stat -c %Y $FZY_CACHE) -lt $(date +%s -d '-1 day') ]; then
rm $FZY_CACHE
fi
fi
if [ ! -f $FZY_CACHE ]; then
PATHS="$(/usr/bin/git --git-dir=$HOME/.dotfiles/ --work-tree=$HOME ls-files | parallel echo ~/{})"
search_dirs=(~/Workspace/ )
for i in $search_dirs ; do
PATHS="$(/usr/bin/git --git-dir=$HOME/.dotfiles/ --work-tree=$HOME ls-files)"
if [ "$file_type" = "d" ]; then
PATHS="$(echo -e $PATHS | xargs -n 1 dirname | uniq | grep -v '^\.$' | parallel echo ~/{})"
else
PATHS="$(echo -e $PATHS | parallel echo ~/{})"
fi
search_dirs=(~/Workspace/ ~/Containers/ /home/server/Storage/Thomas/)
for i in "$search_dirs[@]"; do
if [ -d $i ]; then
PATHS="$PATHS\n$(fd . $i -t f)"
PATHS="$PATHS$i\n"
PATHS+="$(fd . $i -t $file_type -d 8)"
fi
done
echo -e $PATHS > $FZY_CACHE
echo -e "$PATHS" > $FZY_CACHE
fi
file=$(cat $FZY_CACHE | fzy -l 20)
file="$(cat $FZY_CACHE | fzy -l 20)"
echo $file
}
function find_global_directories() {
cd_to "$(find_global d)"
}
function edit_global_files() {
file="$(find_global f)"
if [ -z "$file" ]; then
return 0
fi
cd_to "$(dirname $file)"
nvim "$file"
}
function zvm_after_init() {