Exit status:
0 okay,
- 1 invalid charfile
- 2 usage error/invalid option"
+ 1 charfile does not exist,
+ 2 charfile syntax error,
+ 3 usage error/invalid option,
+ 4 other error"
}
CHARDIR=$HOME/.cache/charsel
exit 1
}
-# Look for arguments
-while getopts ":lhd" arg
-do
- case ${arg} in
- h)
- usage
- exit 0
- ;;
- l)
- list
- exit 0
- ;;
- d)
- readme
- exit 0
- ;;
- ?)
- echo "Invalid option"
- usage
- exit 2
- ;;
- :)
- break
- ;;
- esac
-done
-shift $((OPTIND-1))
-
# Check if Xclip is installed
if [[ -x xclip ]]
then
echo "Please install xclip."
- exit 1
+ exit 4
fi
# Merge global and local charfiles
cp -rf /usr/share/charsel/* $CHARDIR
fi
+# Look for arguments
+while getopts ":lhd" arg
+do
+ case ${arg} in
+ h)
+ usage
+ exit 0
+ ;;
+ l)
+ list
+ exit 0
+ ;;
+ d)
+ readme
+ exit 0
+ ;;
+ ?)
+ echo "Invalid option"
+ usage
+ exit 3
+ ;;
+ :)
+ break
+ ;;
+ esac
+done
+shift $((OPTIND-1))
+
# Check if charfile exists
CHARFILE="$CHARDIR/charfiles/$1"
if [[ ! -f $CHARFILE ]]
invalid_charfile
fi
+# VERY basic syntax validation
+if [[ $(grep , $CHARFILE && grep - $CHARFILE) ]]
+then
+ echo "valid charfile"
+else
+ echo "invalid charfile"
+ exit 2
+fi
+
# Define length of shortcode
LENGTH=$(cat $CHARFILE \
| cut -f 1 -d ',' -s \
OUTPUT=""
fi
+ if [[ $INPUT == ";"* ]]
+ then
+ clear
+ exit 0
+ fi
+
# Copy output to clipboard
echo $OUTPUT | xclip -selection clipboard