" unite source: file selection for projects using mkbuild let s:save_cpo = &cpo set cpo&vim let s:source = { \ 'name': 'mkbfiles', \ 'description': 'select files in an mkbuild based project', \ 'action_table': { \ 'open' : { 'is_selectable': 1 }, \ }, \ 'default_action': 'open' \ } function! s:source.action_table.open.func(candidates) for c in a:candidates execute "e" c.word endfor endfunction function! s:source.gather_candidates(args, context) return map(split(mkbuild#filelist(), '\n'), '{ "word": v:val }') endfunction function! unite#sources#mkbfiles#define() return s:source endfunction let &cpo = s:save_cpo unlet s:save_cpo