vim: allow calling with arguments
authorFelipe Contreras <felipe.contreras@gmail.com>
Mon, 14 Oct 2013 04:25:44 +0000 (23:25 -0500)
committerFelipe Contreras <felipe.contreras@gmail.com>
Wed, 20 Nov 2013 13:23:29 +0000 (07:23 -0600)
For example:

  :NotMuch date:today

Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com>
vim/notmuch.vim

index 9cfa795d3d36e2d1652709b057d4f6aa802f38ca..aa1b7ef6677b7543728b180a08f3e635f190e77e 100644 (file)
@@ -273,12 +273,14 @@ function! s:show_next_thread()
 endfunction
 
 function! s:kill_this_buffer()
-       ruby $curbuf.close
-       bdelete!
 ruby << EOF
-       $buf_queue.pop
-       b = $buf_queue.last
-       VIM::command("buffer #{b}") if b
+       if $buf_queue.size > 1
+               $curbuf.close
+               VIM::command("bdelete!")
+               $buf_queue.pop
+               b = $buf_queue.last
+               VIM::command("buffer #{b}") if b
+       end
 EOF
 endfunction
 
@@ -412,7 +414,7 @@ function! s:set_defaults()
        endif
 endfunction
 
-function! s:NotMuch()
+function! s:NotMuch(...)
        call s:set_defaults()
 
 ruby << EOF
@@ -863,9 +865,13 @@ ruby << EOF
 
        get_config
 EOF
-       call s:folders()
+       if a:0
+         call s:search(join(a:000))
+       else
+         call s:folders()
+       endif
 endfunction
 
-command NotMuch :call s:NotMuch()
+command -nargs=* NotMuch call s:NotMuch(<f-args>)
 
 " vim: set noexpandtab: