From 256c091196c6f7713f875e2a327f2c3755d5c45b Mon Sep 17 00:00:00 2001 From: Jberczel Date: Mon, 1 Nov 2021 11:52:59 -0400 Subject: [PATCH] Cleanup reorder account numbers action Refactors commit 85c5d01 * Keep the comment(s) when reordering account numbers in temp file. Users may accidently reorder rows or rename accounts rather than update order number. * Remove original default config from muttrc. Currently, script only removes the macro shortcuts .If you run reorder action multiple times, you'll end up sourcing multiple "default" config files. --- bin/mw | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/bin/mw b/bin/mw index 5205a13..bcca18d 100755 --- a/bin/mw +++ b/bin/mw @@ -308,23 +308,27 @@ To change an account's password, run \`pass edit your@email.com\`. EOF } -reorder(){ +reorder() { tempfile="$(mktemp -u)" trap 'rm -f $tempfile' HUP INT QUIT TERM PWR EXIT - echo "# Carefully reorder these accounts with the desired numbers." > "$tempfile" + echo "# Carefully reorder these accounts with the desired numbers in the first column. +# DO NOT reorder rows or rename the accounts in the second column." > "$tempfile" sed -n " / i[0-9] / s?\(.* i\|' "$tempfile" + " "$muttrc" >> "$tempfile" ${EDITOR:-vim} "$tempfile" || exit 1 + sed -i -e 's/#.*//' -e '/^$/d' "$tempfile" default="$(sort -n "$tempfile" | head -n 1)" default="${default#* }" - sed -ibu "/.* i[0-9] .*.muttrc/d" "$muttrc" 2>/dev/null; rm -f "$muttrc"bu + sed -ibu " + /.* i[0-9] .*.muttrc/d + /^source.*accounts.*.muttrc/d + " "$muttrc" 2>/dev/null; rm -f "$muttrc"bu awk -v a="$accdir" -v d="$default" ' BEGIN { print "source "a"/"d".muttrc" } { print "macro index,pager i"$1" '\''source "a"/"$2".muttrc!;'\'' \"switch to "$2"\"" } ' "$tempfile" >> "$muttrc" - } while getopts "rfpPXlhodTYD:y:i:I:s:S:u:a:n:x:m:t:" o; do case "${o}" in