From 22fafca7341a6eda87bc3a71203705279b467247 Mon Sep 17 00:00:00 2001 From: Maoyin Sun Date: Mon, 26 Aug 2024 20:06:09 +0200 Subject: [PATCH] Removing string indexing #32 --- helpers/piping.sh | 2 +- plugins/syntax_highlight/50_post_llm.sh | 18 +++++++++--------- 2 files changed, 10 insertions(+), 10 deletions(-) diff --git a/helpers/piping.sh b/helpers/piping.sh index 11ae469..c37f4c8 100755 --- a/helpers/piping.sh +++ b/helpers/piping.sh @@ -10,7 +10,7 @@ piping() { else # logging_debug "Piping: ${@}"; pipes="$(printf " | %s" "${@}")"; - pipes="${pipes:3}"; + pipes=$(echo "$pipes" | cut -c 4-); bash -c "${pipes}"; fi } diff --git a/plugins/syntax_highlight/50_post_llm.sh b/plugins/syntax_highlight/50_post_llm.sh index 6069423..be27e56 100755 --- a/plugins/syntax_highlight/50_post_llm.sh +++ b/plugins/syntax_highlight/50_post_llm.sh @@ -125,19 +125,19 @@ if [ "x${TO_TTY}" = "xtrue" ]; then elif echo "x${buffer}" | grep -E -q "^x#{1,}[[:blank:]]$" >/dev/null 2>&1; then # logging_debug "Heading mode"; printf "%s" "${STYLE_RESET}${STYLE_PUNCTUATION}${buffer%?}${STYLE_RESET}${STYLE_HEADING}"; - buffer="${buffer: -1}"; + buffer=$(echo "${buffer}" | awk -F '' '{print $NF}'); IN_HEADING=true; START_OF_CONTENT=true; elif echo "x${buffer}" | grep -E -q "^x[[:digit:]]+\.[[:space:]]$" >/dev/null 2>&1; then # logging_debug "Ordered list"; printf "%s" "${STYLE_RESET}${STYLE_LIST}${buffer%?}${STYLE_RESET}"; - buffer="${buffer: -1}"; + buffer=$(echo "${buffer}" | awk -F '' '{print $NF}'); IN_LIST=true; START_OF_CONTENT=true; elif [ "x${buffer}" = "x* " ] || [ "x${buffer}" = "x- " ] || [ "x${buffer}" = "x+ " ]; then # logging_debug "Unordered list"; printf "%s" "${STYLE_RESET}${STYLE_LIST}${buffer%?}${STYLE_RESET}"; - buffer="${buffer: -1}"; + buffer=$(echo "${buffer}" | awk -F '' '{print $NF}'); IN_LIST=true; START_OF_CONTENT=true; elif [ "x${buffer}" = "x>" ]; then @@ -228,7 +228,7 @@ if [ "x${TO_TTY}" = "xtrue" ]; then IN_ITALIC=true; printf "%s" "${STYLE_RESET}${STYLE_PUNCTUATION}${buffer%?}$(current_style)"; fi - buffer="${buffer: -1}"; + buffer=$(echo "${buffer}" | awk -F '' '{print $NF}'); dirty=true; elif echo "x${buffer}" | grep -E -q "^x\*\*[^\*]$|^x__[^_]$" >/dev/null 2>&1; then if [ "x${IN_BOLD}" = "xtrue" ]; then @@ -240,7 +240,7 @@ if [ "x${TO_TTY}" = "xtrue" ]; then IN_BOLD=true; printf "%s" "${STYLE_RESET}${STYLE_PUNCTUATION}${buffer%?}$(current_style)"; fi - buffer="${buffer: -1}"; + buffer=$(echo "${buffer}" | awk -F '' '{print $NF}'); dirty=true; elif echo "x${buffer}" | grep -E -q "^x\*[^\*]$|^x_[^_]$" >/dev/null 2>&1; then if [ "x${IN_ITALIC}" = "xtrue" ]; then @@ -252,7 +252,7 @@ if [ "x${TO_TTY}" = "xtrue" ]; then IN_ITALIC=true; printf "%s" "${STYLE_RESET}${STYLE_PUNCTUATION}${buffer%?}$(current_style)"; fi - buffer="${buffer: -1}"; + buffer=$(echo "${buffer}" | awk -F '' '{print $NF}'); dirty=true; elif echo "x${buffer}" | grep -E -q "^x~~[^~]$" >/dev/null 2>&1; then if [ "x${IN_STRIKETHROUGH}" = "xtrue" ]; then @@ -264,7 +264,7 @@ if [ "x${TO_TTY}" = "xtrue" ]; then IN_STRIKETHROUGH=true; printf "%s" "${STYLE_RESET}${STYLE_PUNCTUATION}${buffer%?}$(current_style)"; fi - buffer="${buffer: -1}"; + buffer=$(echo "${buffer}" | awk -F '' '{print $NF}'); dirty=true; elif [ "x${buffer}" = "x\`" ]; then IN_CODE=true; @@ -275,13 +275,13 @@ if [ "x${TO_TTY}" = "xtrue" ]; then IN_LINK_TEXT=false; # logging_debug "Exit link text mode missing URL"; printf "%s" "${STYLE_RESET}${STYLE_PUNCTUATION}${buffer%?}$(current_style)"; - buffer="${buffer: -1}"; + buffer=$(echo "${buffer}" | awk -F '' '{print $NF}'); dirty=true; elif [ "x${IN_IMAGE_TEXT}" = "xtrue" ]; then IN_LINK_TEXT=false; # logging_debug "Exit link text mode missing URL"; printf "%s" "${STYLE_RESET}${STYLE_PUNCTUATION}${buffer%?}$(current_style)"; - buffer="${buffer: -1}"; + buffer=$(echo "${buffer}" | awk -F '' '{print $NF}'); dirty=true; else # logging_debug "']' in the wild";