########################################################################
+VERSION=2.0.1
+
# Define argument functions
function usage() {
echo "Usage: /usr/bin/charsel [OPTION]... [CHARFILE]...
-h show this message
-l show installed charfiles
-d show readme
+ -v print version
--all include hidden shortcodes
Exit status:
fi
# Look for arguments
-while getopts ":lhd" arg
+while getopts ":lhdv" arg
do
case ${arg} in
h)
readme
exit 0
;;
+ v)
+ echo "charsel" $VERSION
+ exit 0
+ ;;
?)
echo "Invalid option"
usage
# User input
read -p "| input shortcode: " -N $LENGTH INPUT
- # This can definately be simplifed, but it works fine
- # Finds line number of shortcode
- LINENUMBER=$(cut -f 1 -d ',' -s $CHARFILE | grep -wn $INPUT | cut -d : -f 1)
-
- # Outputs character selected above
- OUTPUT=$(cut -f 2 -d ',' -s $CHARFILE | head -$LINENUMBER | tail +$LINENUMBER)
-
- # Check to see if the shortcode actually exists
- if [[ $(cut -f 1 -d ',' -s $CHARFILE | grep -wnc $INPUT) == "0" ]]
- then
- OUTPUT=""
- fi
-
- if [[ $INPUT == ";"* ]]
+ if [[ $INPUT == ";"* ]] # Semicolon exits
then
clear
exit 0
- fi
+ elif [[ $INPUT == " "* ]] # Spaces dont count
+ then
+ OUTPUT=""
+ clear
+ else
+ # Finds line number of shortcode
+ LINENUMBER=$(cut -f 1 -d ',' -s $CHARFILE | grep -wn $INPUT | cut -d : -f 1)
- # Copy output to clipboard
- echo $OUTPUT | xclip -selection clipboard
+ # Outputs character selected above
+ OUTPUT=$(cut -f 2 -d ',' -s $CHARFILE | head -$LINENUMBER | tail +$LINENUMBER)
- clear
+ # Check to see if the shortcode actually exists
+ if [[ $(cut -f 1 -d ',' -s $CHARFILE | grep -wnc $INPUT) == "0" ]]
+ then
+ OUTPUT=""
+ fi
+
+ # Copy output to clipboard
+ echo $OUTPUT | xclip -selection clipboard
+
+ clear
+ fi
done