Complete using all buffers

This commit is contained in:
David Beniamine
2015-06-09 20:50:15 +02:00
parent c56632eeaa
commit 7e06e5aafd

View File

@@ -248,24 +248,26 @@ fun! TodoComplete(findstart, base)
endwhile endwhile
return start return start
else else
let res = [] let res = []
let lines=getline(1,"$") for bufnr in range(1,bufnr('$'))
for line in lines let lines=getbufline(bufnr,1,"$")
if line =~ " ".a:base for line in lines
let item={} if line =~ "([a-Z]).* ".a:base
let item.word=substitute(line,'.*\('.a:base.'\S*\).*','\1',"") let item={}
if a:base =~ '+' let item.word=substitute(line,'.*\('.a:base.'\S*\).*','\1',"")
let item.info="Context: ".substitute(line,'.*\s\(@\S\S*\).*','\1',"") if a:base =~ '+'
elseif a:base =~ '@' let item.info="Context: ".substitute(line,'.*\s\(@\S\S*\).*','\1',"")
let l:pr=[] elseif a:base =~ '@'
for line2 in lines let l:pr=[]
if line2 =~ l:item.word for line2 in lines
call add(l:pr,substitute(line2,'.*\s\(+\S\S*\).*','\1',"")) if line2 =~ l:item.word
endif call add(l:pr,substitute(line2,'.*\s\(+\S\S*\).*','\1',""))
endfor endif
endfor
let item.info="Projects: ".join(uniq(l:pr), " ")
endif
call add(res,item) call add(res,item)
endif endif
call add(res,item)
endfor endfor
endfor endfor
return res return res