#!/usr/bin/env bash
# Merge both global and local charfiles
CHARDIR=~/.cache/charsel
-mkdir $CHARDIR/
-cp -R /usr/share/charsel/* $CHARDIR/
-cp -R ~/.local/share/charsel/* $CHARDIR/
+
+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
if [ $1 = "list" ]; then
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