fix(bash): l functions not reading from the correct target dir (#50)

Reviewed-on: https://codeberg.org/vlw/dotfiles/pulls/50
This commit is contained in:
Victor Westerlund 2025-09-30 13:06:40 +02:00
parent d7902bc188
commit b42d346dbb

View file

@ -15,13 +15,25 @@ alias qa="tmux split-window -v"
# Preview contents of a file or list the contents of a directory
l () {
if [ -f "$1" ] ; then
less $1
# Set target to argument or default to current working directory
local target="${1:-$(pwd)}"
if [ -f $target ] ; then
less $target
return
fi
# List current directory contents and bail out if target does not exist
if [ ! -d $target ]; then
l $(dirname $target)
echo ""
echo -e "\e[0;91mNo such file or directory '$target'\e[0m"
return 1
fi
# Current directory is the user home directory
if [ "$(pwd)" == "$HOME" ]; then
if [ $target == "$HOME" ]; then
# Ignore these files when running the "l" command from the home directory
local BLACKLIST=("Makefile")
@ -36,27 +48,51 @@ l () {
return 0
fi
ls -lh $1 || l $(dirname "$1")
ls -lh $target
}
# Preview the contents of a file or list the contents of a directory with hidden files shown
ll () {
if [ -f "$1" ] ; then
less $1
# Set target to argument or default to current working directory
local target="${1:-$(pwd)}"
if [ -f $target ] ; then
less $target
return
fi
ls -lah $1 || ll $(dirname "$1")
# List current directory contents and bail out if target does not exist
if [ ! -d $target ]; then
ll $(dirname $target)
echo ""
echo -e "\e[0;91mNo such file or directory '$target'\e[0m"
return 1
fi
ls -lah $target
}
# Edit the contents of a file or list the contents of a directory (with hidden files shown) if that file is not found
lll () {
if [ -f "$1" ] ; then
nano $1
# Set target to argument or default to current working directory
local target="${1:-$(pwd)}"
if [ -f $target ] ; then
nano $target
return
fi
ls -lah $1 || lll $(dirname "$1")
# List current directory contents and bail out if target does not exist
if [ ! -d $target ]; then
lll $(dirname $target)
echo ""
echo -e "\e[0;91mNo such file or directory '$target'\e[0m"
return 1
fi
ls -lah $target
}
.. () {