scriptencoding utf-8 function! unite#sources#location_list#define() return s:source endfunction let s:source = { \ "name" : "location_list", \ "description" : "output location_list", \ "syntax" : "uniteSource__QuickFix", \ "hooks" : {}, \ "converters" : "converter_quickfix_default", \} function! s:location_list_to_unite(val) let bufnr = a:val.bufnr let fname = bufnr == 0 ? "" : bufname(bufnr) let line = bufnr == 0 ? 0 : a:val.lnum return { \ "source": "location_list", \ "kind": a:val.valid ? ["common", "jump_list"] : ["common"], \ "action__buffer_nr" : bufnr, \ "action__path" : fname, \ "action__line" : line, \ "action__pattern" : a:val.pattern, \ "action__quickfix_val" : a:val, \ "action__quickfix_type" : "location_list", \ } endfunction function! s:source.gather_candidates(args, context) call unite#print_source_message(strtrans(unite#sources#quickfix#get_quickfix_title(1)), "location_list") let unite = get(b:, "unite", {}) let winnr = get(unite, "prev_winnr", winnr()) let lolder = empty(a:args) ? 0 : a:args[0] if lolder == 0 return map(getloclist(winnr), "s:location_list_to_unite(v:val)") else try execute "lolder" lolder return map(getloclist(winnr), "s:location_list_to_unite(v:val)") finally execute "lnewer" lolder endtry endif endfunction function! s:source.hooks.on_syntax(args, context) call unite#sources#quickfix#hl_candidates(a:context) let self.source__old_concealcursor = &l:concealcursor setlocal concealcursor=incv endfunction function! s:source.hooks.on_close(args, context) if &l:concealcursor == "incv" let &l:concealcursor = self.source__old_concealcursor endif call unite#sources#quickfix#highlight_disable() endfunction