+ - add tag(s) to selected message
- - remove tag(s) from selected message
= - refresh display
+ ? - reveal the thread ID of what's under cursor
^] - search using word under cursor
[notmuch-show]
h - toggle folding of extra header lines
s - toggle folding of signatures
q - return to search display
+ ? - reveal the message and thread IDs of what's under cursor
^] - search using word under cursor
\ '+': ':call <SID>NM_search_add_tags([])<CR>',
\ '-': ':call <SID>NM_search_remove_tags([])<CR>',
\ '=': ':call <SID>NM_search_refresh_view()<CR>',
+ \ '?': ':echo <SID>NM_search_thread_id()<CR>',
\ }
" --- --- bindings for show screen {{{2
\
\ 'r': ':call <SID>NM_show_reply()<CR>',
\ 'm': ':call <SID>NM_new_mail()<CR>',
+ \ '?': ':echo <SID>NM_show_thread_id() . '' '' . <SID>NM_show_message_id()<CR>',
\ }
" --- --- search screen action functions {{{2
function! s:NM_search_show_thread()
- let id = <SID>NM_search_find_thread_id()
+ let id = <SID>NM_search_thread_id()
if id != ''
call <SID>NM_cmd_show([id])
endif
" --- --- search screen helper functions {{{2
-function! s:NM_search_find_thread_id()
+function! s:NM_search_thread_id()
if !exists('b:nm_raw_lines')
echoe 'no b:nm_raw_lines'
return ''
setlocal bufhidden=hide
call <SID>NM_newBuffer('show', join(info['disp'], "\n"))
setlocal bufhidden=delete
+ let b:nm_words = a:words
let b:nm_raw_info = info
let b:nm_prev_bufnr = prev_bufnr
echo 'not implemented'
endfunction
-" --- --- search screen helper functions {{{2
+" --- --- show screen helper functions {{{2
+
+function! s:NM_show_thread_id()
+ if !exists('b:nm_words')
+ echoe 'no b:nm_words'
+ return ''
+ endif
+ return b:nm_words[0]
+endfunction
+
+function! s:NM_show_message_id()
+ if !exists('b:nm_raw_info')
+ echoe 'no b:nm_raw_info'
+ return ''
+ endif
+ let info = b:nm_raw_info
+ let lnum = line('.')
+ for msg in info['msgs']
+ if lnum < msg['start']
+ continue
+ endif
+
+ return msg['id']
+ endfor
+ return ''
+endfunction
function! s:NM_show_fold_toggle(key, type, fold)
let info = b:nm_raw_info
endfunction
function! s:NM_add_remove_tags(prefix, tags)
- let id = <SID>NM_search_find_thread_id()
+ let id = <SID>NM_search_thread_id()
if id == ''
echoe 'Eeek! I couldn''t find the thead id!'
endif