#!/usr/bin/env bash
+#######################################################################
+
# (C) Copyright Armaan Bhojwani, 2020
# This program is free software: you can redistribute it and/or modify
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <https://www.gnu.org/licenses/>.
-# Merge both global and local charfiles
+########################################################################
-CHARDIR=~/.cache/charsel
+# Merge both global and local charfiles
+CHARDIR=$HOME/.cache/charsel
if [[ ! -d $CHARDIR ]]
then
cp -rf $HOME/.local/share/charsel/- $CHARDIR/
fi
+# Check for xclip
+if [[ ! -f "$(which xclip)" ]]
+then
+ echo "Please install xclip."
+ exit 1
+fi
+
# Check for user inputs
if [[ $1 == "list" \
|| $1 == "-l" \
|| $1 == "--list" ]]
then
- echo "The following charfiles are installed"
+ echo "The following charfiles are installed:"
ls $CHARDIR/charfiles
exit 0
elif [[ $1 == "help" \
clear
# Main program
-while :
+while true
do
# Format output
echo "*---------*---------------*"
- echo "| CHARSEL | " $1
+ echo "| CHARSEL |" $1
echo "*---------*---------------*"
echo ""
echo "| previous shorcode:" $INPUT
echo "| previous output: " $OUTPUT
echo "*-------------------------*"
-
+
# User input
read -p "| input shortcode: " -N $LENGTH INPUT
LINENUMBER=$(cut -f 1 -d ',' -s $CHARFILE \
| grep -wn $INPUT \
| cut -d : -f 1)
-
+
# Outputs charachter 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=""
+ OUTPUT=""
fi
# Copy output to clipboard
- echo $OUTPUT | xclip -selection clipboard
+ echo $OUTPUT \
+ | xclip -selection clipboard
clear