From ff6d9004a8d4c5b745a11aa4304bd6fa52379c19 Mon Sep 17 00:00:00 2001 From: Armaan Bhojwani <3fb650a9-b47e-4604-a282-1dd91953b2ee@anonaddy.me> Date: Thu, 15 Oct 2020 20:31:29 -0400 Subject: [PATCH] added previous i/o display --- TODO.md | 2 +- charsel | 32 +++++++++++++++++++++++--------- 2 files changed, 24 insertions(+), 10 deletions(-) diff --git a/TODO.md b/TODO.md index 88e1be6..f79d4f7 100644 --- a/TODO.md +++ b/TODO.md @@ -1,2 +1,2 @@ - Create a simple gtk interface using Zenity -- Cleanup code +- "Smart" shortcode length detection diff --git a/charsel b/charsel index 1143947..0934f5e 100755 --- a/charsel +++ b/charsel @@ -18,7 +18,10 @@ then echo "The following charfiles are installed" ls $CHARDIR/charfiles exit 0 -elif [[ $1 == "help" || $1 == "-h" || $1 == "--help" || $# -ne 1 ]] +elif [[ $1 == "help" \ + || $1 == "-h" \ + || $1 == "--help" \ + || $# -ne 1 ]] then cat /usr/share/doc/charsel/README.md exit 0 @@ -34,7 +37,10 @@ then fi # Define length of shortcut -LENGTH=$(cat $CHARFILE | cut -f 1 -d ',' -s | wc -L | cut -b 1) +LENGTH=$(cat $CHARFILE \ + | cut -f 1 -d ',' -s \ + | wc -L \ + | cut -b 1) # Clear screen clear @@ -43,19 +49,27 @@ clear while : do # Format charfile into table, showing only the shortcuts below the divider in the charfile - cat $CHARFILE | grep -A 100 - | tail -n +2 | column -t -N input,output --output-separator ' | ' --separator ',' + cat $CHARFILE \ + | grep -A 100 - \ + | tail -n +2 \ + | column -t -N input,output --output-separator ' | ' --separator ',' - # Print a separator - echo "" + # Display previous + echo "--------------------------" + echo "previous shorcode:" $INPUT + echo "previous output: " $OUTPUT echo "--------------------------" - echo "enter the input shortcode here:" # User input - read -N $LENGTH INPUT + read -p "input shortcode: " -N $LENGTH INPUT # This can definately be simplifed, but it works fine - LINENUMBER=$(cut -f 1 -d ',' -s $CHARFILE | grep -wn $INPUT | cut -d : -f 1) - OUTPUT=$(cut -f 2 -d ',' -s $CHARFILE | head -$LINENUMBER | tail +$LINENUMBER) + LINENUMBER=$(cut -f 1 -d ',' -s $CHARFILE \ + | grep -wn $INPUT \ + | cut -d : -f 1) + OUTPUT=$(cut -f 2 -d ',' -s $CHARFILE \ + | head -$LINENUMBER \ + | tail +$LINENUMBER) # Copy output to clipboard echo $OUTPUT | xclip -selection clipboard -- 2.39.2