if !exists('b:nm_raw_lines')
echoe 'no b:nm_raw_lines'
return ''
- else
- let line = line('.')
- let info = b:nm_raw_lines[line-1]
- let what = split(info, '\s\+')[0]
- return what
endif
+ let mnum = line('.') - 1
+ if len(b:nm_raw_lines) <= mnum
+ return ''
+ endif
+ echo 'len=' . string(len(b:nm_raw_lines)) . ' mnum=' . string(mnum)
+ let info = b:nm_raw_lines[mnum]
+ let what = split(info, '\s\+')[0]
+ return what
endfunction
function! s:NM_search_add_remove_tags(prompt, prefix, intags)
endfor
let filter = ['('] + advance_tags + [')', 'AND', '('] + ids + [')']
-echo 'NM_add_remove_tags ALL filter=' . string(filter)
call <SID>NM_add_remove_tags(filter, '-', advance_tags)
call <SID>NM_show_next(1, 1)
return
echo "No bottom visible message."
endif
- echo 'top=' . msg_top['id'] . ' bot=' . msg_top['id']
-
" if entire message fits on the screen, read/archive it, move to the next one
if msg_top['id'] != msg_bot['id'] || msg_top['end'] <= vis_bot
call <SID>NM_add_remove_tags_on_screen(msg_top['start'], '-', advance_tags)
redraw
" do this last to hide the latency
let filter = ['('] + advance_tags + [')', 'AND', msg_top['id']]
-echo 'NM_add_remove_tags 1 filter=' . string(filter)
call <SID>NM_add_remove_tags(filter, '-', advance_tags)
endif
return
if !len(filter)
echoe 'Eeek! I couldn''t find the thead id!'
endif
- echo 'filter = ' . string(filter) . ' ... ' . string(type(filter))
call map(a:tags, 'a:prefix . v:val')
- " TODO: handle errors
let args = ['tag']
call extend(args, a:tags)
call add(args, '--')
call extend(args, filter)
- echo 'NUM_run( ' . string(args) . ' )'
+ " TODO: handle errors
call <SID>NM_run(args)
endfunction