unofficial mirror of notmuch@notmuchmail.org
 help / color / mirror / code / Atom feed
* [PATCH] VIM: Use notmuch CLI for config
@ 2014-10-02 21:53 Ian Main
  2014-10-02 23:47 ` [PATCH v2] " Ian Main
  0 siblings, 1 reply; 9+ messages in thread
From: Ian Main @ 2014-10-02 21:53 UTC (permalink / raw)
  To: notmuch

This patch switches from reading .notmuch-config directly to using
the CLI the same way that emacs does it.  It actually uses less code
and is probably less error prone.

    Ian
---
 vim/notmuch.vim | 31 ++++++++++++-------------------
 1 file changed, 12 insertions(+), 19 deletions(-)

diff --git a/vim/notmuch.vim b/vim/notmuch.vim
index 331e930..faee3d2 100644
--- a/vim/notmuch.vim
+++ b/vim/notmuch.vim
@@ -471,28 +471,21 @@ ruby << EOF
 	$searches = []
 	$threads = []
 	$messages = []
-	$config = {}
 	$mail_installed = defined?(Mail)
 
-	def get_config
-		group = nil
-		config = ENV['NOTMUCH_CONFIG'] || '~/.notmuch-config'
-		File.open(File.expand_path(config)).each do |l|
-			l.chomp!
-			case l
-			when /^\[(.*)\]$/
-				group = $1
-			when ''
-			when /^(.*)=(.*)$/
-				key = "%s.%s" % [group, $1]
-				value = $2
-				$config[key] = value
-			end
-		end
+	def get_config_item(item)
+		result = nil
+		IO.popen(['notmuch', 'config', 'get', item]) { |out|
+			result = out.read
+		}
+		return result.rstrip
+	end
 
-		$db_name = $config['database.path']
-		$email_name = $config['user.name']
-		$email_address = $config['user.primary_email']
+	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')
 		$email = "%s <%s>" % [$email_name, $email_address]
 	end
 
-- 
1.9.3

^ permalink raw reply related	[flat|nested] 9+ messages in thread

end of thread, other threads:[~2014-10-21  8:31 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-10-02 21:53 [PATCH] VIM: Use notmuch CLI for config Ian Main
2014-10-02 23:47 ` [PATCH v2] " Ian Main
2014-10-03  6:54   ` David Bremner
2014-10-03 10:50     ` Sergei Shilovsky
2014-10-03 18:41     ` Ian Main
2014-10-10  9:32   ` Franz Fellner
2014-10-19 18:11   ` David Bremner
2014-10-20 17:47     ` Ian Main
2014-10-21  8:31   ` David Bremner

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).