1
0
Fork 0
This commit is contained in:
Luca Bilke 2024-02-01 11:35:13 +01:00
commit 035b5a4f48
7 changed files with 69 additions and 30 deletions

View File

@ -21,35 +21,40 @@
},
"h1": {
"prefix": "▋ ",
"block_suffix": "\n",
"color": "#89ddff",
"bold": true,
"block_suffix": "\n"
"bold": true
},
"h2": {
"prefix": "▌ ",
"block_suffix": "\n",
"color": "#61bdf2",
"bold": true
},
"h3": {
"prefix": "┃ ",
"block_suffix": "\n",
"color": "#82aaff",
"bold": true
},
"h4": {
"prefix": "│ ",
"block_suffix": "\n",
"color": "#6d91de",
"bold": true
},
"h5": {
"prefix": "┆ ",
"block_suffix": "\n",
"color": "#9aa5ce",
"bold": true
},
"h6": {
"prefix": "┊ ",
"block_suffix": "\n",
"color": "#61bdf2"
},
"text": {

View File

@ -11,47 +11,58 @@ set previewer "~/.config/lf/preview/chafa"
set cursorpreviewfmt "\033[7;90m"
set promptfmt "\033[34;1m%u\033[36m@\033[34m%h \033[35m[\033[0;1m%d\033[35m]\033[32m » \033[33m%f\033[0m"
cmd open ${{
set -f
rifle -c $XDG_CONFIG_HOME/lf/rifle.conf -p 0 $f
clear
}}
cmd pushedit %{{
echo "Open: "
files=$(read x; echo $x)
lf -remote "send $id unselect"
echo "Open: " && read files
if sh -c '[ -n "$VIM" ]'; then
lf -remote "send $id vimopen $files"
else
lf -remote "send $id \$echo $files | xargs -or \$EDITOR"
lf -remote "send $id \$echo $files | xargs -or nvim +wa"
fi
lf -remote "send $id reload"
}}
cmd edit &{{
if sh -c "[ -n '\$VIM' ]"; then
cmd edit ${{
if sh -c "[ -n \"\$VIM\" ]"; then
lf -remote "send $id vimopen $fx"
else
lf -remote "send $id '\$echo $fx | xargs -or nvim +wa'"
lf -remote "send $id \$echo \$fx | xargs -or nvim +wa"
fi
}}
cmd open-with ${{
method=$(rifle -c $XDG_CONFIG_HOME/lf/rifle.conf -l $fx | fzf | cut -d':' -f1)
method=$(rifle -c $XDG_CONFIG_HOME/lf/rifle.conf -l $fx | fzf --header="Choose an application:" | cut -d':' -f1)
rifle -c $XDG_CONFIG_HOME/lf/rifle.conf -p $method $fx
}}
cmd vimopen &{{
touch "$@"
lf -remote "$(
for f in "$@"; do printf "%b" "send $id toggle $f\n"; done
printf "%b" "send $id select $f\n"
printf "%b" "send $id open\n"
printf "%b" "send $id unselect\n"
)"
}}
cmd mkdir &mkdir -p "$(echo $* | tr ' ' '\ ')"
cmd trash &{{
for f in $fx; do
trash-put $f &
done
lf -remote "send $id load"
lf -remote "send load"
}}
cmd lazygit ${{
cd "$(dirname "$(realpath "$f")")" && lazygit
cmd lazygit %{{
dir=$(dirname "$(realpath "${f:-_}")"})
if ! git --noglob-pathspecs -C $dir status >/dev/null 2>&1; then
echo "Initialize git repo in '${dir}' [Y/n]:" && read yn &&
case $yn in
"" | [Yy]*) git -C ${dir} init >/dev/null 2>&1; break ;;
[Nn]*) ;;
esac
fi
lf -remote "send $id \$cd '$dir' && lazygit"
}}
# y (select for copy) and P to paste soft-link
@ -119,22 +130,22 @@ cmd dupe &{{
# cmd share $curl -F"file=@$fx" https://0x0.snaile.de | xclip -r -selection c
cmd fzfsearch ${{
file="$(find $PWD | fzf)"
file="$(find -L $PWD | fzf --header="Searching Filenames")"
[ -d $file ] && lf -remote "send $id cd $file" && return 0
[ -f $file ] && lf -remote "send $id select $file"
}}
cmd fzftags ${{
file="$(cat ${XDG_DATA_HOME:-$HOME/.local/share}/lf/tags | sed 's/:\*$//' | fzf)"
file="$(cat ${XDG_DATA_HOME:-$HOME/.local/share}/lf/tags | sed 's/:\*$//' | fzf --header="Searching Tags")"
[ -d $file ] && lf -remote "send $id cd $file" && return 0
[ -f $file ] && lf -remote "send $id select $file"
}}
cmd fzfmarks ${{
file="$(cat ${XDG_DATA_HOME:-$HOME/.local/share}/lf/marks | sed 's/^.://' | fzf)"
file="$(cat ${XDG_DATA_HOME:-$HOME/.local/share}/lf/marks | sed 's/^.://' | fzf --header="Searching Marks")"
[ -d $file ] && lf -remote "send $id cd $file" && return 0
[ -f $file ] && lf -remote "send $id select $file"
}}
cmd fzfshortcut ${{
file="$(cat ${XDG_CONFIG_HOME:-$HOME/.config}/lf/shortcutrc | cut -d '"' -f2 | fzf)"
file="$(cat ${XDG_CONFIG_HOME:-$HOME/.config}/lf/shortcutrc | cut -d '"' -f2 | fzf --header="Searching Shortcuts")"
[ -d $file ] && lf -remote "send $id cd $file" && return 0
[ -f $file ] && lf -remote "send $id select $file"
}}
@ -143,15 +154,17 @@ cmd fzfgrep ${{
res="$(
FZF_DEFAULT_COMMAND="$RG_PREFIX ''" \
fzf --bind "change:reload:$RG_PREFIX {q} || true" \
--ansi --layout=reverse --header 'Search in files' |\
--ansi --layout=reverse --header 'Searching file contents' |\
grep -iv -e 'Trash/files' -e 'Trash/info'
)"
file="$(echo $res | cut -d':' -f1 | sed 's/\\/\\\\/g;s/"/\\"/g')"
row="$(echo $res | cut -d':' -f2)"
column="$(echo $res | cut -d':' -f3)"
if [ -n "$res" ]; then
lf -remote "send ${id} select '$file'"
if [ "$EDITOR" = "nvim" ] || [ "$EDITOR" = "vim" ]; then
lf -remote "send $id select '$file'"
if [ -n "$VIM" ]; then
lf -remote "send $id open '$file'"
elsif [ "$EDITOR" = "nvim" ] || [ "$EDITOR" = "vim" ]; then
lf -remote "send $id \$$EDITOR '$file' +'call cursor($row, $column)'"
else
lf -remote "send $id \$$EDITOR '$file'"
@ -190,7 +203,7 @@ cmd set_previewer %{{
# HACK: This is a dirty hack to have an lf terminal that I can "exit" out of into a shell
cmd new_lf_term &{{
mapcmd='map q $tmux'
mapcmd='map q $sh -c "tmux; kill $id"'
previewercmd="set_previewer $(basename "$lf_previewer")"
$TERMINAL -e lf -command "${previewercmd}; ${mapcmd}"
}}
@ -208,7 +221,7 @@ map <c-e> extract
map P link
# map S share
map <c-g> lazygit
map <c-v> push :!$EDITOR<space>
map <c-v> pushedit
map <c-n> push :mkdir<space>
map N push :&touch<space>
map <c-r> reload
@ -228,7 +241,7 @@ map n &echo $f | xclip -r -selection c
map <esc> quit
map g/ cd "/"
map W new_lf_term
map e $$EDITOR $f
map e edit
map E $sudo -e $f
# Load bookmark shortcuts

View File

@ -1 +1,6 @@
gpg asks for unlock when viewing gpg keys
rework rifle.conf
look into perl-File-MimeInfo
look into mimeo
Get the swallow patch up and running asap!
inode/directory handler for forking/terminal

View File

@ -6,7 +6,7 @@ local opts = {
style = "night",
transparent = true,
on_highlights = function(hl, _)
hl.CurSearch = nil
hl.CurSearch = { link = "Search" }
end,
}

View File

@ -5,3 +5,6 @@ dir = "~/Documents/wiki"
language = "en"
filename = "{{slug title}}-{{id}}"
extension = "md"
[tool]
fzf-preview = "glow -s '$XDG_CONFIG_HOME/glow/style.json' {-1}"

View File

@ -6,6 +6,8 @@
export EDITOR="nvim"
export TERMINAL="st"
export TERMCMD=$TERMINAL
export OPENER=opener
export BROWSER="brave-browser"
# Locale

11
.local/bin/opener Executable file
View File

@ -0,0 +1,11 @@
#!/bin/sh
set -f
if [ "$2" ]; then
for f in "$@"; do
# shellcheck disable=2086
rifle -c "$XDG_CONFIG_HOME/lf/rifle.conf" -p 0 $f
done
else
rifle -c "$XDG_CONFIG_HOME/lf/rifle.conf" -p 0 "$1"
fi