aboutsummaryrefslogtreecommitdiff
path: root/lf/dot-config
diff options
context:
space:
mode:
authorMohammad Reza Karimi <m.r.karimi.j@gmail.com>2026-01-04 21:28:36 -0500
committerMohammad Reza Karimi <m.r.karimi.j@gmail.com>2026-01-04 21:28:36 -0500
commit06d1242317f7159ccf3014f0a1480e7c56236ebb (patch)
tree89863b3287ae2c7cc88cd532220f18c38e8d8657 /lf/dot-config
parent5a41da5881a11ba3fdc3890c342aa3b7eb53e0cf (diff)
add all sorts of things
Diffstat (limited to 'lf/dot-config')
-rw-r--r--lf/dot-config/lf/lfrc59
-rw-r--r--lf/dot-config/lf/shortcutrc5
2 files changed, 44 insertions, 20 deletions
diff --git a/lf/dot-config/lf/lfrc b/lf/dot-config/lf/lfrc
index 226e1aa..7e3eefe 100644
--- a/lf/dot-config/lf/lfrc
+++ b/lf/dot-config/lf/lfrc
@@ -25,27 +25,16 @@ cmd open ${{
cmd mkdir $mkdir -p "$@"
cmd extract ${{
- clear; tput cup $(($(tput lines)/3)); tput bold
set -f
- printf "%s\n\t" "$fx"
- printf "extract?[y/N]"
- read ans
- [ $ans = "y" ] && {
- case $fx in
- *.tar.bz2) tar xjf $fx ;;
- *.tar.gz) tar xzf $fx ;;
- *.bz2) bunzip2 $fx ;;
- *.rar) unrar e $fx ;;
- *.gz) gunzip $fx ;;
- *.tar) tar xf $fx ;;
- *.tbz2) tar xjf $fx ;;
- *.tgz) tar xzf $fx ;;
- *.zip) unzip $fx ;;
- *.Z) uncompress $fx ;;
- *.7z) 7z x $fx ;;
- *.tar.xz) tar xf $fx ;;
- esac
- }
+ filelist=""
+ while IFS= read -r filename; do
+ filelist+=" $(basename "$filename")"
+ done <<< "$fx"
+ if ouch decompress $fx; then
+ lf -remote "send $id echomsg \"Extracted"$filelist" with ouch.\""
+ else
+ lf -remote "send $id echoerr \"Cannot extract"$filelist" with ouch.\""
+ fi
}}
cmd quit-and-cd &{{
@@ -70,6 +59,36 @@ cmd dragon ${{
IFS="$(printf '\n\t')"; dragon-drop $fx
}}
+cmd git_branch ${{
+ git branch | fzf | xargs git checkout
+ pwd_shell="$(pwd | sed 's/\\/\\\\/g;s/"/\\"/g')"
+ lf -remote "send $id updir; cd \"$pwd_shell\""
+}}
+
+map gb :git_branch
+map gp $clear; git pull --rebase || true; echo "press ENTER"; read ENTER
+map gs $clear; git status; echo "press ENTER"; read ENTER
+map gl $clear; git log --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit; echo "press ENTER"; read ENTER
+
+cmd fzf_search ${{
+ cmd="rg --column --line-number --no-heading --color=always --smart-case"
+ fzf --ansi --disabled --layout=reverse --header="Search in files" --delimiter=: \
+ --bind="start:reload([ -n {q} ] && $cmd -- {q} || true)" \
+ --bind="change:reload([ -n {q} ] && $cmd -- {q} || true)" \
+ --bind='enter:become(lf -remote "send $id select \"$(printf "%s" {1} | sed '\''s/\\/\\\\/g;s/"/\\"/g'\'')\"")' \
+ --preview-window='+{2}-/2' \
+ --preview='bat --color=always --highlight-line={2} -- {1}'
+}}
+map gr :fzf_search
+
+
+cmd stwify ${{
+ pkg="$1"
+ IFS="$(printf '\n\t')"; stowify $fx $pkg
+ lf -remote "send $id unselect;"
+}}
+
+map S push :stwify<space>""<left>
map Y $printf "%s" "$fx" | wl-copy
map <c-n> push :mkdir<space>""<left>
map D delete
diff --git a/lf/dot-config/lf/shortcutrc b/lf/dot-config/lf/shortcutrc
new file mode 100644
index 0000000..29fddd6
--- /dev/null
+++ b/lf/dot-config/lf/shortcutrc
@@ -0,0 +1,5 @@
+map Ecala $$EDITOR "/home/moreka/.config/alacritty/alacritty.toml"
+map Ecgho $$EDITOR "/home/moreka/.config/ghostty/config"
+map Ecvim $$EDITOR "/home/moreka/.config/nvim/init.lua"
+map Echy $$EDITOR "/home/moreka/.config/hypr/hyprland.conf"
+map Ecway $$EDITOR "/home/moreka/.config/waybar/config.jsonc"