X-Git-Url: https://git.armaanb.net/?p=charsel.git;a=blobdiff_plain;f=src%2Fcharsel;h=84c0affc7a0a26d9ff8fb028377a1d871ee3b5aa;hp=b3dc78623b172d3f0aa75f1132c255167b97afce;hb=a83d035291f0d6f0f33923972ffd67a25a069219;hpb=85a4c96299e44e38f7a1a8c9e38d863f29d9d111 diff --git a/src/charsel b/src/charsel index b3dc786..84c0aff 100755 --- a/src/charsel +++ b/src/charsel @@ -1,29 +1,34 @@ -#!/usr/bin/env sh +#!/usr/bin/env bash # Merge both global and local charfiles -CHARDIR=/tmp/charsel -cp -R /usr/share/charsel/* $CHARDIR/ -cp -R ~/.local/share/* $CHARDIR/ +CHARDIR=~/.cache/charsel -# Clear screen -clear +if [[ ! "$(ls -A $CHARDIR)" || ! -d $CHARDIR ]]; then + mkdir $CHARDIR/ + cp -R /usr/share/charsel/* $CHARDIR/ + cp -R ~/.local/share/charsel/* $CHARDIR/ +fi # Check if user provided an input -[ -z "$1" ] && echo "No argument supplied" && exit - if [ $1 = "list" ]; then echo "The following charfiles are installed" ls $CHARDIR/charfiles exit +elif [[ $1 = "help" || $1 = "-h" || $1 = "--help" || $# -ne 1 ]]; then + cat /usr/share/doc/charsel/README.md + exit else -# Define charfile +# Clear screen +clear + +# Define charfile path CHARFILE=$CHARDIR/charfiles/$1 # Define length of shortcut LENGTH=$(cat $CHARFILE | cut -f 1 -d ',' -s | wc -L | cut -b 1) # MOTD -cat /tmp/charsel/motd +cat $CHARDIR/motd # Main program while : @@ -35,8 +40,8 @@ do read -N $LENGTH INPUT # Navigate to the right characther - OUTPUT=$(grep $INPUT $CHARFILE | cut -f 2 -d ',' -s) - + LINENUMBER=$(cut -f 1 -d ',' -s $CHARFILE | grep -n $INPUT | cut -d : -f 1) + OUTPUT=$(cut -f 2 -d ',' -s $CHARFILE | head -$LINENUMBER | tail +$LINENUMBER) # Clear screen clear