unofficial mirror of notmuch@notmuchmail.org
 help / color / mirror / code / Atom feed
From: Felipe Contreras <felipe.contreras@gmail.com>
To: notmuch@notmuchmail.org
Cc: Felipe Contreras <felipe.contreras@gmail.com>
Subject: [PATCH 07/13] vim: use notmuch config command
Date: Sun, 18 Apr 2021 17:48:45 -0500	[thread overview]
Message-ID: <20210418224851.88240-8-felipe.contreras@gmail.com> (raw)
In-Reply-To: <20210418224851.88240-1-felipe.contreras@gmail.com>

This simplifies the configuration parsing, is more efficient, and also
reverts back to previous logic.

Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com>
---
 vim/notmuch.vim | 26 ++++++++++++--------------
 1 file changed, 12 insertions(+), 14 deletions(-)

diff --git a/vim/notmuch.vim b/vim/notmuch.vim
index 97167461..8777d412 100644
--- a/vim/notmuch.vim
+++ b/vim/notmuch.vim
@@ -484,24 +484,22 @@ ruby << EOF
 	$searches = []
 	$threads = []
 	$messages = []
+	$config = {}
 	$mail_installed = defined?(Mail)
 
-	def get_config_item(item)
-		result = ''
-		IO.popen(['notmuch', 'config', 'get', item]) { |out|
-			result = out.read
-		}
-		return result.rstrip
-	end
-
 	def get_config
-		$db_name = get_config_item('database.path')
-		$email_name = get_config_item('user.name')
-		$email_address = get_config_item('user.primary_email')
-		$email_name = get_config_item('user.name')
+		IO.popen(%w[notmuch config list]) do |io|
+			io.each(chomp: true) do |e|
+				key, value = e.split('=')
+				$config[key] = value
+			end
+		end
+
+		$db_name = $config['database.path']
+		$email_name = $config['user.name']
+		$email_address = $config['user.primary_email']
+		$exclude_tags = $config['search.exclude_tags']&.split(';') || []
 		$email = "%s <%s>" % [$email_name, $email_address]
-		ignore_tags = get_config_item('search.exclude_tags')
-		$exclude_tags = ignore_tags.split("\n")
 	end
 
 	def vim_puts(s)
-- 
2.31.0

  parent reply	other threads:[~2021-04-18 22:49 UTC|newest]

Thread overview: 19+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-04-18 22:48 [PATCH 00/13] vim: a bunch of updates from upstream Felipe Contreras
2021-04-18 22:48 ` [PATCH 01/13] vim: fix Mail 2.8.0 warning Felipe Contreras
2021-04-26 23:10   ` David Bremner
2021-04-18 22:48 ` [PATCH 02/13] vim: doc: small fixes Felipe Contreras
2021-04-18 22:48 ` [PATCH 03/13] vim: doc: minor spelling fix Felipe Contreras
2021-04-18 22:48 ` [PATCH 04/13] vim: fix for missing parts Felipe Contreras
2021-04-18 22:48 ` [PATCH 05/13] vim: show first part if no text part is detected Felipe Contreras
2021-04-18 22:48 ` [PATCH 06/13] vim: trivial cleanup Felipe Contreras
2021-04-18 22:48 ` Felipe Contreras [this message]
2021-04-18 22:48 ` [PATCH 08/13] " Felipe Contreras
2021-04-18 22:48 ` [PATCH 09/13] vim: option to add email address to reply quote Felipe Contreras
2021-04-18 22:48 ` [PATCH 10/13] vim: option to add reply quote datetime Felipe Contreras
2021-04-18 22:48 ` [PATCH 11/13] vim: syntax: fix message description highlighting Felipe Contreras
2021-04-18 22:48 ` [PATCH 12/13] vim: remove backwards compatibility wrappers Felipe Contreras
2021-04-18 22:48 ` [PATCH 13/13] vim: README: sync with upstream Felipe Contreras
2021-04-19 10:16 ` [PATCH 00/13] vim: a bunch of updates from upstream David Bremner
2021-04-19 20:44   ` Felipe Contreras
2021-04-19 22:14     ` David Bremner
2021-04-20  3:21       ` Felipe Contreras

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://notmuchmail.org/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20210418224851.88240-8-felipe.contreras@gmail.com \
    --to=felipe.contreras@gmail.com \
    --cc=notmuch@notmuchmail.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://yhetil.org/notmuch.git/

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).