unofficial mirror of notmuch@notmuchmail.org
 help / color / mirror / code / Atom feed
* [PATCH 0/3] vim fixes
@ 2010-12-09 22:16 Felipe Contreras
  2010-12-09 22:16 ` [PATCH 1/3] vim: refactor tagging stuff Felipe Contreras
                   ` (2 more replies)
  0 siblings, 3 replies; 4+ messages in thread
From: Felipe Contreras @ 2010-12-09 22:16 UTC (permalink / raw)
  To: notmuch

Hi,

These are a few patches to improve the vim support.

If nobody comments on these I'll push them.

Felipe Contreras (3):
  vim: refactor tagging stuff
  vim: fix get_user_email()
  vim: implement archive in show view

 vim/plugin/notmuch.vim |   29 +++++++++++++++--------------
 1 files changed, 15 insertions(+), 14 deletions(-)

-- 
1.7.3.2

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

* [PATCH 1/3] vim: refactor tagging stuff
  2010-12-09 22:16 [PATCH 0/3] vim fixes Felipe Contreras
@ 2010-12-09 22:16 ` Felipe Contreras
  2010-12-09 22:16 ` [PATCH 2/3] vim: fix get_user_email() Felipe Contreras
  2010-12-09 22:20 ` [PATCH 3/3] vim: implement archive in show view Felipe Contreras
  2 siblings, 0 replies; 4+ messages in thread
From: Felipe Contreras @ 2010-12-09 22:16 UTC (permalink / raw)
  To: notmuch; +Cc: Felipe Contreras

From: Felipe Contreras <felipe.contreras@ngmail.com>

Signed-off-by: Felipe Contreras <felipe.contreras@ngmail.com>
---
 vim/plugin/notmuch.vim |   18 ++++++++++--------
 1 files changed, 10 insertions(+), 8 deletions(-)

diff --git a/vim/plugin/notmuch.vim b/vim/plugin/notmuch.vim
index 8d5d1c3..6898d56 100644
--- a/vim/plugin/notmuch.vim
+++ b/vim/plugin/notmuch.vim
@@ -307,12 +307,12 @@ function! s:NM_search_edit()
 endfunction
 
 function! s:NM_search_archive_thread()
-        call <SID>NM_add_remove_tags([], '-', ['inbox'])
+        call <SID>NM_tag([], ['-inbox'])
         norm j
 endfunction
 
 function! s:NM_search_mark_read_then_archive_thread()
-        call <SID>NM_add_remove_tags([], '-', ['unread', 'inbox'])
+        call <SID>NM_tag([], ['-unread', '-inbox'])
         norm j
 endfunction
 
@@ -403,7 +403,8 @@ function! s:NM_search_add_remove_tags(prompt, prefix, intags)
         else
                 let tags = a:intags
         endif
-        call <SID>NM_add_remove_tags([], a:prefix, tags)
+        call map(tags, 'a:prefix . v:val')
+        call <SID>NM_tag([], tags)
 endfunction
 
 " --- implement show screen {{{1
@@ -497,7 +498,7 @@ function! s:NM_show_archive_thread()
 endfunction
 
 function! s:NM_show_mark_read_then_archive_thread()
-        call <SID>NM_add_remove_tags(b:nm_search_words, '-', ['unread', 'inbox'])
+        call <SID>NM_tag(b:nm_search_words, ['-unread', '-inbox'])
         call <SID>NM_show_next_thread()
 endfunction
 
@@ -561,7 +562,8 @@ function! s:NM_show_advance_marking_read_and_archiving()
                 let filter = <SID>NM_combine_tags('tag:', advance_tags, 'OR', '()')
                          \ + ['AND']
                          \ + <SID>NM_combine_tags('', ids, 'OR', '()')
-                call <SID>NM_add_remove_tags(filter, '-', advance_tags)
+                call map(advance_tags, '"+" . v:val')
+                call <SID>NM_tag(filter, advance_tags)
                 call <SID>NM_show_next(1, 1)
                 return
         endif
@@ -580,7 +582,8 @@ function! s:NM_show_advance_marking_read_and_archiving()
                         " do this last to hide the latency
                         let filter = <SID>NM_combine_tags('tag:', advance_tags, 'OR', '()')
                                  \ + ['AND', msg_top['id']]
-                        call <SID>NM_add_remove_tags(filter, '-', advance_tags)
+                        call map(advance_tags, '"-" . v:val')
+                        call <SID>NM_tag(filter, advance_tags)
                 endif
                 return
         endif
@@ -1266,12 +1269,11 @@ function! s:NM_search_expand(arg)
         let b:nm_prev_bufnr = prev_bufnr
 endfunction
 
-function! s:NM_add_remove_tags(filter, prefix, tags)
+function! s:NM_tag(filter, tags)
         let filter = len(a:filter) ? a:filter : [<SID>NM_search_thread_id()]
         if !len(filter)
                 throw 'Eeek! I couldn''t find the thead id!'
         endif
-        call map(a:tags, 'a:prefix . v:val')
         let args = ['tag']
         call extend(args, a:tags)
         call add(args, '--')
-- 
1.7.3.2

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

* [PATCH 2/3] vim: fix get_user_email()
  2010-12-09 22:16 [PATCH 0/3] vim fixes Felipe Contreras
  2010-12-09 22:16 ` [PATCH 1/3] vim: refactor tagging stuff Felipe Contreras
@ 2010-12-09 22:16 ` Felipe Contreras
  2010-12-09 22:20 ` [PATCH 3/3] vim: implement archive in show view Felipe Contreras
  2 siblings, 0 replies; 4+ messages in thread
From: Felipe Contreras @ 2010-12-09 22:16 UTC (permalink / raw)
  To: notmuch; +Cc: Felipe Contreras

From: Felipe Contreras <felipe.contreras@ngmail.com>

Signed-off-by: Felipe Contreras <felipe.contreras@ngmail.com>
---
 vim/plugin/notmuch.vim |    8 +++-----
 1 files changed, 3 insertions(+), 5 deletions(-)

diff --git a/vim/plugin/notmuch.vim b/vim/plugin/notmuch.vim
index 6898d56..8815712 100644
--- a/vim/plugin/notmuch.vim
+++ b/vim/plugin/notmuch.vim
@@ -1027,11 +1027,9 @@ endfunction
 " --- --- compose screen helper functions {{{2
 
 function! s:NM_compose_get_user_email()
-        let name = substitute(system('id -u -n'), '\v(^\s*|\s*$|\n)', '', 'g')
-        let fqdn = substitute(system('hostname -f'), '\v(^\s*|\s*$|\n)', '', 'g')
-
-        " TODO: do this properly
-        return name . '@' . fqdn
+        let rname = system("getent passwd $USER | cut -d ':' -f 5")
+        let rname = substitute(rname, '\n*$', '', '')
+        return printf("%s <%s>", rname, $EMAIL)
 endfunction
 
 function! s:NM_compose_find_line_match(start, pattern, failure)
-- 
1.7.3.2

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

* [PATCH 3/3] vim: implement archive in show view
  2010-12-09 22:16 [PATCH 0/3] vim fixes Felipe Contreras
  2010-12-09 22:16 ` [PATCH 1/3] vim: refactor tagging stuff Felipe Contreras
  2010-12-09 22:16 ` [PATCH 2/3] vim: fix get_user_email() Felipe Contreras
@ 2010-12-09 22:20 ` Felipe Contreras
  2 siblings, 0 replies; 4+ messages in thread
From: Felipe Contreras @ 2010-12-09 22:20 UTC (permalink / raw)
  To: notmuch; +Cc: Felipe Contreras

From: Felipe Contreras <felipe.contreras@ngmail.com>

Signed-off-by: Felipe Contreras <felipe.contreras@ngmail.com>
---
 vim/plugin/notmuch.vim |    3 ++-
 1 files changed, 2 insertions(+), 1 deletions(-)

diff --git a/vim/plugin/notmuch.vim b/vim/plugin/notmuch.vim
index 8815712..882c141 100644
--- a/vim/plugin/notmuch.vim
+++ b/vim/plugin/notmuch.vim
@@ -494,7 +494,8 @@ function! s:NM_show_next_thread()
 endfunction
 
 function! s:NM_show_archive_thread()
-        echo 'not implemented'
+        call <SID>NM_tag(b:nm_search_words, ['-inbox'])
+        call <SID>NM_show_next_thread()
 endfunction
 
 function! s:NM_show_mark_read_then_archive_thread()
-- 
1.7.3.2

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

end of thread, other threads:[~2010-12-09 22:21 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2010-12-09 22:16 [PATCH 0/3] vim fixes Felipe Contreras
2010-12-09 22:16 ` [PATCH 1/3] vim: refactor tagging stuff Felipe Contreras
2010-12-09 22:16 ` [PATCH 2/3] vim: fix get_user_email() Felipe Contreras
2010-12-09 22:20 ` [PATCH 3/3] vim: implement archive in show view Felipe Contreras

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