Patch works fine for me. It also would be nice to have a "move to next
unread message" function.
Most beautiful would be a treeview of the thread structure. Currently
threads are rendered as plain list, so you can't immediately see and
jump to the quoted mail. Bower IMHO uses the best approach here. I tried
emacs treeview but did not really like it (partly because I failed badly
to implement a solution that shows treeview by default). Indent the
whole large Message view IMHO also is not a good (at least to me)
solution.

On Mon,  6 Oct 2014 10:55:16 -0700, Ian Main <im...@stemwinder.org> wrote:
> @@ -113,6 +114,22 @@ EOF
>       call s:kill_this_buffer()
>  endfunction
>  
> +function! s:show_prev_msg()
> +ruby << EOF
> +     r, c = $curwin.cursor
> +     n = $curbuf.line_number
> +     i = $messages.index { |m| n >= m.start && n <= m.end }
> +     m = $messages[i - 1] if i > 0

This one
> +     vim_puts ("messages index is #{i} and m is #{m}")
was missed ;)

> +     if m
> +             r = m.body_start + 1
> +             scrolloff = VIM::evaluate("&scrolloff")
> +             VIM::command("normal #{m.start + scrolloff}zt")
> +             $curwin.cursor = r + scrolloff, c
> +     end
> +EOF
> +endfunction
> +
>  function! s:show_next_msg()
>  ruby << EOF
>       r, c = $curwin.cursor
> @@ -121,8 +138,9 @@ ruby << EOF
>       m = $messages[i + 1]
>       if m
>               r = m.body_start + 1
> -             VIM::command("normal #{m.start}zt")
> -             $curwin.cursor = r, c
> +             scrolloff = VIM::evaluate("&scrolloff")
> +             VIM::command("normal #{m.start + scrolloff}zt")
> +             $curwin.cursor = r + scrolloff, c
>       end
>  EOF
>  endfunction
> -- 
> 1.9.3
> 
> _______________________________________________
> notmuch mailing list
> notmuch@notmuchmail.org
> http://notmuchmail.org/mailman/listinfo/notmuch
_______________________________________________
notmuch mailing list
notmuch@notmuchmail.org
http://notmuchmail.org/mailman/listinfo/notmuch

Reply via email to