lfrc refactor
This commit is contained in:
parent
945f3d118f
commit
d99af87acd
1 changed files with 40 additions and 47 deletions
|
@ -131,46 +131,39 @@ cmd dupe &{{
|
||||||
|
|
||||||
# cmd share $curl -F"file=@$fx" https://0x0.snaile.de | xclip -r -selection c
|
# cmd share $curl -F"file=@$fx" https://0x0.snaile.de | xclip -r -selection c
|
||||||
|
|
||||||
cmd find_file ${{
|
cmd fzf ${{
|
||||||
file="$(find -L $PWD | fzf --header='Searching Filenames' --preview='head -$LINES \"$(echo {} | cut -f2)\" 2>/dev/null || ls -lhpAN --color=always --group-directories-first {}' || true)"
|
name="$1" input="$2" delimiter="$3" field="$4" width="$5" query="${6:-}"
|
||||||
[ -z "$file" ] && return
|
histfile="$XDG_DATA_HOME/$(echo $name | tr '[:upper:]' '[:lower:]')_history"
|
||||||
[ -d "$file" ] && lf -remote "send $id cd $file" && return 0
|
|
||||||
[ -f "$file" ] && lf -remote "send $id select $file"
|
|
||||||
}}
|
|
||||||
cmd find_tag ${{
|
|
||||||
file="$(cat $XDG_DATA_HOME/lf/tags | fzf --header='Searching Tags' | sed 's/:.$//' || true)"
|
|
||||||
[ -z "$file" ] && return
|
|
||||||
[ -d "$file" ] && lf -remote "send $id cd $file" && return 0
|
|
||||||
[ -f "$file" ] && lf -remote "send $id select $file"
|
|
||||||
}}
|
|
||||||
cmd find_mark ${{
|
|
||||||
file="$(cat $XDG_DATA_HOME/lf/marks | fzf --header='Searching Marks' | cut -b 3- || true)"
|
|
||||||
[ -z "$file" ] && return
|
|
||||||
[ -d "$file" ] && lf -remote "send $id cd $file" && return 0
|
|
||||||
[ -f "$file" ] && lf -remote "send $id select $file"
|
|
||||||
}}
|
|
||||||
cmd find_shortcut ${{
|
|
||||||
clear
|
clear
|
||||||
file="$(\
|
file="$(eval "$input" | fzf \
|
||||||
fzf --expect=' ' --preview-window right,90% --select-1 --cycle --bind one:accept -q '^' -d "\t" -e -n 1 --with-nth=1 --scheme=history --history="$XDG_DATA_HOME/lf/shortcut_history" --header='Searching Shortcuts' --preview='
|
--query "$query" \
|
||||||
file=$(cut -f2 <<< {})
|
--delimiter "$delimiter" \
|
||||||
|
--exact \
|
||||||
|
--select-1 \
|
||||||
|
--cycle \
|
||||||
|
--nth=1 \
|
||||||
|
--with-nth=1 \
|
||||||
|
--preview-window="right,$width" \
|
||||||
|
--bind="one:accept,focus:transform-preview-label(echo {} | cut -d '$delimiter' -f '$field')" \
|
||||||
|
--scheme='history' \
|
||||||
|
--history="$histfile" \
|
||||||
|
--header="$name" \
|
||||||
|
--preview='
|
||||||
|
file=$(echo {} | cut -d '$delimiter' -f '$field')
|
||||||
if [ -f "$file" ] && [ -r "$file" ]; then
|
if [ -f "$file" ] && [ -r "$file" ]; then
|
||||||
head -$LINES "$file"
|
head -$LINES "$file"
|
||||||
elif [ -d "$file" ] && [ -r "$file" ]; then
|
elif [ -d "$file" ] && [ -r "$file" ]; then
|
||||||
ls -lhpANX --color=always --group-directories-first "$file"
|
ls -pLHAN1 --color=always --group-directories-first "$file"
|
||||||
fi
|
fi
|
||||||
' <"$XDG_DATA_HOME/lf/dirs" |
|
' |
|
||||||
cut -f2 |
|
cut -d "$delimiter" -f "$field" |
|
||||||
tr -d '\n'
|
tr -d '\n'
|
||||||
)"
|
)"
|
||||||
|
[ -d "$file" ] && lf -remote "send $id cd $file" && return 0
|
||||||
if [ -d "$file" ]; then
|
[ -f "$file" ] && lf -remote "send $id select $file"
|
||||||
lf -remote "send $id cd $file"
|
|
||||||
return
|
|
||||||
elif [ -f "$file" ]; then
|
|
||||||
lf -remote "send $id select $file"
|
|
||||||
fi
|
|
||||||
}}
|
}}
|
||||||
|
|
||||||
cmd find_word ${{
|
cmd find_word ${{
|
||||||
set +ue
|
set +ue
|
||||||
RG_PREFIX="rg --hidden --column --line-number --no-heading --color=always --smart-case --follow --no-ignore "
|
RG_PREFIX="rg --hidden --column --line-number --no-heading --color=always --smart-case --follow --no-ignore "
|
||||||
|
@ -228,18 +221,18 @@ cmd new_lf_term &{{
|
||||||
&{{
|
&{{
|
||||||
set +u
|
set +u
|
||||||
previewer=ueberzug
|
previewer=ueberzug
|
||||||
# [ -n "$SCRATCHPAD" ] && previewer=sixel
|
|
||||||
# [ -n "$TMUX" ] && previewer=ueberzug
|
# [ -n "$TMUX" ] && previewer=ueberzug
|
||||||
[ -n "$VIM" ] && previewer=chafa
|
# [ -n "$VIM" ] && previewer=chafa
|
||||||
lf -remote "send $id set_previewer $previewer"
|
lf -remote "send $id set_previewer $previewer"
|
||||||
|
|
||||||
# Clean up tags that don't exist anymore
|
# Clean up tags that don't exist anymore
|
||||||
echo "$(
|
# BUG: causes an obscure lf crash when tags are empty
|
||||||
while read -r l; do
|
# echo "$(
|
||||||
file=$(echo "$l" | cut -d ':' -f 1)
|
# while read -r l; do
|
||||||
[ -e "$file" ] && echo "$l"
|
# file=$(echo "$l" | cut -d ':' -f 1)
|
||||||
done <"${XDG_DATA_HOME}/lf/tags"
|
# [ -e "$file" ] && echo "$l"
|
||||||
)" >"${XDG_DATA_HOME}/lf/tags"
|
# done <"${XDG_DATA_HOME}/lf/tags"
|
||||||
|
# )\n" >"${XDG_DATA_HOME}/lf/tags"
|
||||||
}}
|
}}
|
||||||
on-cd
|
on-cd
|
||||||
|
|
||||||
|
@ -250,19 +243,19 @@ map <esc> quit
|
||||||
map <space> :toggle; down
|
map <space> :toggle; down
|
||||||
map <enter> shell
|
map <enter> shell
|
||||||
map <a-enter> shell-wait
|
map <a-enter> shell-wait
|
||||||
map <tab> find_shortcut
|
map <tab> fzf 'Shortcuts' 'cat $XDG_DATA_HOME/lf/shortcuts 2>/dev/null' ':' '2' '85%' '^'
|
||||||
map -a find_file
|
map -t fzf 'Tags' 'cat $XDG_DATA_HOME/lf/tags 2>/dev/null' ':' '1' '50%' '^'
|
||||||
map -t find_tag
|
map -m fzf 'Marks' 'cat $XDG_DATA_HOME/lf/marks 2>/dev/null' ':' '2' '85%' '^'
|
||||||
map -m find_mark
|
map -f fzf 'Files' 'find -L $PWD' ':' '1' '50%'
|
||||||
map -g find_word
|
map -g find_word
|
||||||
map "'" mark-load
|
map "'" mark-load
|
||||||
map '"' mark-save
|
map '"' mark-save
|
||||||
map "$" shell
|
map "$" shell
|
||||||
map "!" shell-wait
|
map "!" shell-wait
|
||||||
map "&" shell-async
|
map "&" shell-async
|
||||||
map ; find-next
|
map ";" find-next
|
||||||
map , find-prev
|
map "," find-prev
|
||||||
map / search
|
map "/" search
|
||||||
map a :rename; cmd-home # rename from beginning
|
map a :rename; cmd-home # rename from beginning
|
||||||
map <c-b> page-up
|
map <c-b> page-up
|
||||||
map b dupe
|
map b dupe
|
||||||
|
|
Loading…
Add table
Reference in a new issue