Package: less Version: 551-2 Severity: wishlist Currently, lesspipe looks for a user-defined filter in the user's home directory only (~/.lessfilter).
This change allows the user-defined filter to be placed at $XDG_CONFIG_HOME/lessfilter (or ~/.config/lessfilter if $XDG_CONFIG_HOME is empty or not defined), falling back to ~/.lessfilter if the filter is not found.
commit ff12f0e26ae7b35d7c04e9fec47718aa289a98b0 Author: Jeffery To <jeffery...@gmail.com> Date: Wed Aug 18 01:13:30 2021 +0800 lesspipe: Look for user-defined filter in $XDG_CONFIG_HOME Currently, lesspipe looks for a user-defined filter in the user's home directory only (~/.lessfilter). This change allows the user-defined filter to be placed at $XDG_CONFIG_HOME/lessfilter (or ~/.config/lessfilter if $XDG_CONFIG_HOME is empty or not defined), falling back to ~/.lessfilter if the filter is not found. diff --git a/debian/lesspipe b/debian/lesspipe index 98224b0..14b33f6 100644 --- a/debian/lesspipe +++ b/debian/lesspipe @@ -25,6 +25,7 @@ # $2 filename that was created during LESSOPEN TMPDIR=${TMPDIR:-/tmp} +CONFIGDIR=${XDG_CONFIG_HOME:-~/.config} BASENAME=`basename $0` LESSFILE=lessfile @@ -60,9 +61,13 @@ if [ $# -eq 1 ] ; then if [ $BASENAME = $LESSFILE ]; then exec > $TMPFILE; fi # Allow for user defined filters - #if [ -x ~/.lessfilter -a -O ~/.lessfilter ]; then - if [ -x ~/.lessfilter ]; then - ~/.lessfilter "$1" + if [ -x "$CONFIGDIR/lessfilter" ]; then + USERFILTER="$CONFIGDIR/lessfilter" + elif [ -x ~/.lessfilter ]; then + USERFILTER=~/.lessfilter + fi + if [ -n "$USERFILTER" ]; then + "$USERFILTER" "$1" if [ $? -eq 0 ]; then if [ $BASENAME = $LESSFILE ]; then if [ -s $TMPFILE ]; then