mail improvements
[distro-setup] / brc
diff --git a/brc b/brc
index 5f12a07f609f1720367a5e47e5e42a1b78d6a473..9e9752c18d33c9da89120b008acbcd9892d82a1d 100644 (file)
--- a/brc
+++ b/brc
@@ -735,7 +735,7 @@ fdup() {
   local p
   fdroidcl update
   if fdroidcl search -u | grep ^org.fdroid.fdroid; then
-    fdroidcl upgrade org.fdroid.fdroid
+    fdroidcl install org.fdroid.fdroid
     sleep 5
     fdroidcl update
   fi
@@ -754,7 +754,7 @@ fdup() {
   done
   for p in ${!installed[@]}; do
     if ! ${updated[$p]:-true}; then
-      fdroidcl upgrade $p
+      fdroidcl install $p
       sleep 5
     fi
   done
@@ -991,6 +991,9 @@ grr() { # grep recursive
     grep --exclude-dir='*.emacs.d' --exclude-dir='*.git' -RiIP --color=auto "$@"
   fi
 }
+rg() {
+  command rg -i -M 200 "$@"
+}
 
 hstatus() {
   # do git status on published repos
@@ -1803,9 +1806,8 @@ testmail() {
   # MSG_ID is in /var/log/exim4/mainlog, looks like 1ccdnD-0001nh-EN
 }
 
-# to test sieve, use below command. for fsf mail, see fsf-get-mail script.
+# to test sieve, use below command. for fsf mail, see offlineimap-sync script
 # make modifications, then copy to live file, use -eW to actually modify mailbox
-# cp /p/c/subdir_files/sieve/personal{test,}.sieve; testsievelist -eW INBOX
 #
 # Another option is to use sieve-test SCRIPT MAIL_FILE. note,
 # sieve-test doesnt know about envelopes, Im not sure if sieve-filter does.
@@ -1813,15 +1815,17 @@ testmail() {
 # sieve with output filter. arg is mailbox, like INBOX.
 # This depends on dovecot conf, notably mail_location in /etc/dovecot/conf.d/10-mail.conf
 
-testsievelist() {
-  sieve-filter ~/sieve/maintest.sieve "$@" >/tmp/testsieve.log 2> >(tail) && sed -rn '/^Performed actions:/{n;n;p}' /tmp/testsieve.log | sort -u
+_dosieve() {
+  sieve-filter "$@" 2> >(head; tail) >/tmp/testsieve.log  && sed -rn '/^Performed actions:/,/^[^ ]/{/^ /p}' /tmp/testsieve.log | sort | uniq -c
 }
 
-
-# mail related
-# plain sieve
+# always run this first, edit the test files, then run the following
 testsieve() {
-  sieve-filter ~/sieve/main.sieve "$@"
+  _dosieve ~/sieve/maintest.sieve INBOX delete
+}
+runsieve() {
+  c ~/sieve; cp personal{test,}.sieve; cp lists{test,}.sieve
+  _dosieve ~/sieve/main.sieve -eW INBOX delete
 }
 
 # mail related
@@ -2290,8 +2294,12 @@ path_add /usr/local/go/bin
 # ARDUINO_PATH=/a/opt/Arduino/build/linux/work
 export ARDUINO_PATH=/a/opt/arduino-1.8.9
 
+# They want to be added to the start, but i think
+# that should be avoided unless we really need it.
 path_add --end ~/.npm-global
 
+path_add --end $HOME/.cargo/bin
+
 # taken from default changes to bashrc and bash_profile
 path_add --end $HOME/.rvm/bin
 [[ -s "$HOME/.rvm/scripts/rvm" ]] && source "$HOME/.rvm/scripts/rvm" # Load RVM into a shell session *as a function*