From 256c091196c6f7713f875e2a327f2c3755d5c45b Mon Sep 17 00:00:00 2001
From: Jberczel <jxberc@gmail.com>
Date: Mon, 1 Nov 2021 11:52:59 -0400
Subject: 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(-)

(limited to 'bin/mw')

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\|'<sync.*/\|\.muttrc.*\)??g p
-	" "$muttrc" > "$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" '\''<sync-mailbox><enter-command>source "a"/"$2".muttrc<enter><change-folder>!<enter>;<check-stats>'\'' \"switch to "$2"\""
 		}
 	' "$tempfile" >> "$muttrc"
-
 }
 
 while getopts "rfpPXlhodTYD:y:i:I:s:S:u:a:n:x:m:t:" o; do case "${o}" in
-- 
cgit v1.2.3