From 0f8e1b4fde3c946aa2070fa82db1d732e5a4fb38 Mon Sep 17 00:00:00 2001 From: piecka Date: Tue, 25 Feb 2025 09:58:13 +0100 Subject: [PATCH] addet lf config --- colors | 132 ++++++++++++++++++++ icons | 384 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++ lfrc | 104 ++++++++++++++++ 3 files changed, 620 insertions(+) create mode 100644 colors create mode 100644 icons create mode 100644 lfrc diff --git a/colors b/colors new file mode 100644 index 0000000..d0b5839 --- /dev/null +++ b/colors @@ -0,0 +1,132 @@ +# vim:ft=dircolors +# (This is not a dircolors file but it helps to highlight colors and comments) + +# default values from dircolors +# (entries with a leading # are not implemented in lf) +# #no 00 # NORMAL +# fi 00 # FILE +# #rs 0 # RESET +# di 01;34 # DIR +# ln 01;36 # LINK +# #mh 00 # MULTIHARDLINK +# pi 40;33 # FIFO +# so 01;35 # SOCK +# #do 01;35 # DOOR +# bd 40;33;01 # BLK +# cd 40;33;01 # CHR +# or 40;31;01 # ORPHAN +# #mi 00 # MISSING +# su 37;41 # SETUID +# sg 30;43 # SETGID +# #ca 30;41 # CAPABILITY +# tw 30;42 # STICKY_OTHER_WRITABLE +# ow 34;42 # OTHER_WRITABLE +# st 37;44 # STICKY +# ex 01;32 # EXEC + +# default values from lf (with matching order) +# ln 01;36 # LINK +# or 31;01 # ORPHAN +# tw 01;34 # STICKY_OTHER_WRITABLE +# ow 01;34 # OTHER_WRITABLE +# st 01;34 # STICKY +# di 01;34 # DIR +# pi 33 # FIFO +# so 01;35 # SOCK +# bd 33;01 # BLK +# cd 33;01 # CHR +# su 01;32 # SETUID +# sg 01;32 # SETGID +# ex 01;32 # EXEC +# fi 00 # FILE + +# file types (with matching order) +ln 03;01;38;5;116 # LINK (cyan) +or 38;5;203 # ORPHAN (red) +tw 38;5;109 # STICKY_OTHER_WRITABLE (light blue) +ow 38;5;109 # OTHER_WRITABLE (light blue) +st 01;38;5;110 # STICKY (blue) +di 01;38;5;111 # DIR (blue) +pi 38;5;175 # FIFO (purple) +so 01;38;5;203 # SOCK (red) +bd 38;5;175;01 # BLK (purple) +cd 38;5;175;01 # CHR (purple) +su 01;38;5;116 # SETUID (light cyan) +sg 01;38;5;116 # SETGID (light cyan) +ex 01;38;5;29 # EXEC (orange) +fi 38;5;252 # FILE (light gray) + +# archives or compressed +*.tar 38;5;168 +*.tgz 38;5;168 +*.zip 38;5;168 +*.gz 38;5;168 +*.bz2 38;5;168 +*.xz 38;5;168 +*.rar 38;5;168 +*.7z 38;5;168 + +# image formats +*.jpg 01;38;5;135 +*.jpeg 01;38;5;135 +*.gif 01;38;5;135 +*.bmp 01;38;5;135 +*.png 01;38;5;135 +*.svg 01;38;5;135 +*.ico 03;01;38;5;135 + +# audio formats +*.mp3 01;38;5;120 +*.wav 01;38;5;120 +*.flac 01;38;5;120 +*.ogg 01;38;5;120 + +# video formats +*.mp4 38;5;167 +*.mkv 38;5;167 +*.avi 38;5;167 +*.mov 38;5;167 + +# documents +*.pdf 01;38;5;160 +*.doc 01;38;5;160 +*.docx 01;38;5;160 +*.xls 01;38;5;160 +*.xlsx 01;38;5;160 +*.ppt 01;38;5;160 +*.pptx 01;38;5;160 + +# source code +*.c 01;38;5;69 +*.cpp 01;38;5;69 +*.py 01;38;5;69 +*.js 38;5;69 +*.java 01;38;5;69 +*.jar 01;38;5;69 +*.sh 01;38;5;69 +*.rb 01;38;5;69 +*.html 01;38;5;69 +*.css 03;01;38;5;69 +*.php 01;38;5;69 + +# text documents +*.md 01;38;5;185 +*.txt 01;38;5;185 +*.note 01;38;5;185 +*.log 03;01;38;5;185 + +# git related stuff +*.gitignore 03;38;5;131 +*.gitmodules 03;38;5;131 +*.gitattributes 03;38;5;131 + +# docker stuff +*.yaml 01;38;5;63 +*.yml 01;38;5;63 +*.env 01;38;5;63 + +# config stuff +*.json 01;38;5;161 +*.toml 01;38;5;161 +*.lock 01;38;5;161 +*.xml 01;38;5;161 diff --git a/icons b/icons new file mode 100644 index 0000000..5b33d8d --- /dev/null +++ b/icons @@ -0,0 +1,384 @@ +# vim:ft=conf + +# These examples require Nerd Fonts or a compatible font to be used. +# See https://www.nerdfonts.com for more information. + +# default values from lf (with matching order) +# ln l # LINK +# or l # ORPHAN +# tw t # STICKY_OTHER_WRITABLE +# ow d # OTHER_WRITABLE +# st t # STICKY +# di d # DIR +# pi p # FIFO +# so s # SOCK +# bd b # BLK +# cd c # CHR +# su u # SETUID +# sg g # SETGID +# ex x # EXEC +# fi - # FILE + +# file types (with matching order) +ln  # LINK +or  # ORPHAN +tw t # STICKY_OTHER_WRITABLE +ow  # OTHER_WRITABLE +st t # STICKY +di  # DIR +pi p # FIFO +so s # SOCK +bd b # BLK +cd c # CHR +su u # SETUID +sg g # SETGID +ex  # EXEC +fi  # FILE + +# disable some default filetype icons, let them choose icon by filename +# ln  # LINK +# or  # ORPHAN +# tw # STICKY_OTHER_WRITABLE +# ow # OTHER_WRITABLE +# st # STICKY +# di  # DIR +# pi # FIFO +# so # SOCK +# bd # BLK +# cd # CHR +# su # SETUID +# sg # SETGID +# ex # EXEC +# fi  # FILE + +# file extensions (vim-devicons) +*.styl  +*.sass  +*.scss  +*.htm  +*.html  +*.slim  +*.haml  +*.ejs  +*.css  +*.less  +*.md  +*.mdx  +*.markdown  +*.rmd  +*.json  +*.webmanifest  +*.js  +*.mjs  +*.jsx  +*.rb  +*.gemspec  +*.rake  +*.php  +*.py  +*.pyc  +*.pyo  +*.pyd  +*.coffee  +*.mustache  +*.hbs  +*.pub 󰣀 +'^*id_rsa*' 󰣀 +*.conf  +*.ini  +*.env  +*.yml  +*.yaml  +*.toml  +*.bat  +*.mk  +*.jpg  +*.jpeg  +*.bmp  +*.png  +*.webp  +*.gif 󰵸 +*.ico  +*.twig  +*.cpp  +*.c++  +*.cxx  +*.cc  +*.cp  +*.c  +*.cs 󰌛 +*.h  +*.hh  +*.hpp  +*.hxx  +*.hs  +*.lhs  +*.nix  +*.lua  +*.java  +*.sh  +*.fish  +*.bash  +*.zsh  +*.ksh  +*.csh  +*.awk  +*.ps1  +*.ml λ +*.mli λ +*.diff  +*.db  +*.sql  +*.dump  +*.clj  +*.cljc  +*.cljs  +*.edn  +*.scala  +*.go  +*.dart  +*.xul  +*.sln  +*.suo  +*.pl  +*.pm  +*.t  +*.rss  +'*.f#'  +*.fsscript  +*.fsx  +*.fs  +*.fsi  +*.rs  +*.rlib  +*.d  +*.erl  +*.hrl  +*.ex  +*.exs  +*.eex  +*.leex  +*.heex  +*.vim  +*.ai  +*.psd  +*.psb  +*.ts  +*.tsx  +*.jl  +*.pp  +*.vue  +*.elm  +*.swift  +*.xcplayground  +*.tex 󰙩 +*.r 󰟔 +*.rproj 󰗆 +*.sol 󰡪 +*.pem  + +# file names (vim-devicons) (case-insensitive not supported in lf) +*gruntfile.coffee  +*gruntfile.js  +*gruntfile.ls  +*gulpfile.coffee  +*gulpfile.js  +*gulpfile.ls  +*mix.lock  +*dropbox  +*.ds_store  +*.gitconfig  +*.gitignore  +*.gitattributes  +*.gitlab-ci.yml  +*.bashrc  +*.zshrc  +*.zshenv  +*.zprofile  +*.vimrc  +*.gvimrc  +*_vimrc  +*_gvimrc  +*.bashprofile  +*favicon.ico  +*license  +*node_modules  +*react.jsx  +*procfile  +*dockerfile  +*docker-compose.yml  +*docker-compose.yaml  +*compose.yml  +*compose.yaml  +*rakefile  +*config.ru  +*gemfile  +*makefile  +*cmakelists.txt  +*robots.txt 󰚩 + +*hyprland.conf  +*hotkeys.conf  +*style.conf  + +# file names (case-sensitive adaptations) +*Gruntfile.coffee  +*Gruntfile.js  +*Gruntfile.ls  +*Gulpfile.coffee  +*Gulpfile.js  +*Gulpfile.ls  +*Dropbox  +*.DS_Store  +*LICENSE  +*React.jsx  +*Procfile  +*Dockerfile  +*Docker-compose.yml  +*Docker-compose.yaml  +*Rakefile  +*Gemfile  +*Makefile  +*CMakeLists.txt  + +# file patterns (vim-devicons) (patterns not supported in lf) +# .*jquery.*\.js$  +# .*angular.*\.js$  +# .*backbone.*\.js$  +# .*require.*\.js$  +# .*materialize.*\.js$  +# .*materialize.*\.css$  +# .*mootools.*\.js$  +# .*vimrc.*  +# Vagrantfile$  + +# file patterns (file name adaptations) +*jquery.min.js  +*angular.min.js  +*backbone.min.js  +*require.min.js  +*materialize.min.js  +*materialize.min.css  +*mootools.min.js  +*vimrc  +Vagrantfile  + +# archives or compressed (extensions from dircolors defaults) +*.tar  +*.tgz  +*.arc  +*.arj  +*.taz  +*.lha  +*.lz4  +*.lzh  +*.lzma  +*.tlz  +*.txz  +*.tzo  +*.t7z  +*.zip  +*.z  +*.dz  +*.gz  +*.lrz  +*.lz  +*.lzo  +*.xz  +*.zst  +*.tzst  +*.bz2  +*.bz  +*.tbz  +*.tbz2  +*.tz  +*.deb  +*.rpm  +*.jar  +*.war  +*.ear  +*.sar  +*.rar  +*.alz  +*.ace  +*.zoo  +*.cpio  +*.7z  +*.rz  +*.cab  +*.wim  +*.swm  +*.dwm  +*.esd  + +# image formats (extensions from dircolors defaults) +*.jpg  +*.jpeg  +*.mjpg  +*.mjpeg  +*.gif 󰵸 +*.bmp  +*.pbm  +*.pgm  +*.ppm  +*.tga  +*.xbm  +*.xpm  +*.tif  +*.tiff  +*.png  +*.svg  +*.svgz  +*.mng  +*.pcx  +*.mov  +*.mpg  +*.mpeg  +*.m2v  +*.mkv  +*.webm  +*.ogm  +*.mp4  +*.m4v  +*.mp4v  +*.vob  +*.qt  +*.nuv  +*.wmv  +*.asf  +*.rm  +*.rmvb  +*.flc  +*.avi  +*.fli  +*.flv  +*.gl  +*.dl  +*.xcf  +*.xwd  +*.yuv  +*.cgm  +*.emf  +*.ogv  +*.ogx  + +# audio formats (extensions from dircolors defaults) +*.aac  +*.au  +*.flac  +*.m4a  +*.mid  +*.midi  +*.mka  +*.mp3  +*.mpc  +*.ogg  +*.ra  +*.wav  +*.oga  +*.opus  +*.spx  +*.xspf  + +# other formats +*.pdf  diff --git a/lfrc b/lfrc new file mode 100644 index 0000000..ec953a4 --- /dev/null +++ b/lfrc @@ -0,0 +1,104 @@ +# ───────────────────────────────────< set some options >─────────────────────────────────── +# ─< interpreter for shell commands >───────────────────────────────────────────────────── +set shell zsh +set hidden! +# ─< set '-eu' options for shell commands >─────────────────────────────────────────────── +set shellopts '-eu' + +# ─< set internal field separator (IFS) to "\n" for shell commands >────────────────────── +set ifs "\n" + +# ─< leave some space at the top and the bottom of the screen >─────────────────────────── +set scrolloff 6 + +# ─< Use the `dim` attribute instead of underline for the cursor in the preview pane >──── +set cursorpreviewfmt "\033[7;2m" +set drawbox +set icons true + + +# ───────────────────────────────────────< keymaps >───────────────────────────────────── +map t shell +map c :cut + +map H set hidden! +map quit + +# show the result of execution of previous commands +map !true +map gd :cd + +# execute current file (must be executable) +map x $$f +map X !$f + +# dedicated keys for file opener actions +map o &mimeopen $f +map O $mimeopen --ask $f +map N &nvim $f + +# ─< open everything in neovim >────────────────────────────────────────────────────────── +# map l $if [ -d "$f" ]; then lf -remote "send $id cd \"$f\""; elif [[ "$f" == *.php || "$f" == *.txt || "$f" == *.sh || "$f" == *.html ]]; then nvim "$f"; else $OPENER "$f" > /dev/null 2> /dev/null & fi + +# ─< define a custom 'open' command >───────────────────────────────────────────────────── +cmd open &{{ + case $(file --mime-type -Lb $f) in + text/*) lf -remote "send $id \$$EDITOR \$fx";; + *) for f in $fx; do $OPENER $f > /dev/null 2> /dev/null & done;; + esac +}} + +# ─< Create a new file and open it in the editor >──────────────────────────────────────── +map a :push %touch +# ─< mkdir command >────────────────────────────────────────────────────────────────────── +map A :push %mkdir + +# ─< make sure trash folder exists >────────────────────────────────────────────────────── +%mkdir -p ~/.local/share/Trash + +# move current file or selected files to trash folder +cmd trash %set; mv $fx ~/.local/share/Trash + +# ─< use '' key for 'trash' command >───────────────────────────────────────────── +# map trash +map trash + +# ─< extract the current file with the right command >──────────────────────────────────── +cmd extract ${{ + set -f + case $f in + *.tar.bz|*.tar.bz2|*.tbz|*.tbz2) tar xjvf $f;; + *.tar.gz|*.tgz) tar xzvf $f;; + *.tar.xz|*.txz) tar xJvf $f;; + *.zip) unzip $f;; + *.rar) unrar x $f;; + *.7z) 7z x $f;; + esac +}} + +# ─< compress current file or selected files with tar and gunzip >──────────────────────── +cmd tar ${{ + set -f + mkdir $1 + cp -r $fx $1 + tar czf $1.tar.gz $1 + rm -rf $1 +}} + +# ─< compress current file or selected files with zip >─────────────────────────────────── +cmd zip ${{ + set -f + mkdir $1 + cp -r $fx $1 + zip -r $1.zip $1 + rm -rf $1 +}} + +# ─< Show file size, last modification time, and permissions in columns >───────────────── +set info 'size:time' + +# ─< Enable icons for directories, executables, and symlinks (requires patched font) >──── +set icons true + +map d : +map v :