Correct a bug in todo#Complete
where the entire lines were being shown as related
This commit is contained in:
@@ -173,6 +173,12 @@ buffers in which they appears in the preview window. It does the same thing
|
|||||||
for context except that it gives in the preview the list of projects existing
|
for context except that it gives in the preview the list of projects existing
|
||||||
in each existing contexts.
|
in each existing contexts.
|
||||||
|
|
||||||
|
If you don't want the preview window to open when performing completion, add the
|
||||||
|
following lines to your vimrc:
|
||||||
|
|
||||||
|
au filetype todo setlocal completeopt-=preview
|
||||||
|
|
||||||
|
|
||||||
## Hierarchical sort
|
## Hierarchical sort
|
||||||
|
|
||||||
This fork provides a hierarchical sorting function designed to do by project
|
This fork provides a hierarchical sorting function designed to do by project
|
||||||
|
|||||||
@@ -393,7 +393,11 @@ endfun
|
|||||||
fun! TodoCopyTempItem(item)
|
fun! TodoCopyTempItem(item)
|
||||||
let ret={}
|
let ret={}
|
||||||
let ret.word=a:item.word
|
let ret.word=a:item.word
|
||||||
let ret.related=[a:item.related]
|
if has_key(a:item, "related")
|
||||||
|
let ret.related=[a:item.related]
|
||||||
|
else
|
||||||
|
let ret.related=[]
|
||||||
|
endif
|
||||||
let ret.buffers=[a:item.buffers]
|
let ret.buffers=[a:item.buffers]
|
||||||
return ret
|
return ret
|
||||||
endfun
|
endfun
|
||||||
@@ -423,7 +427,9 @@ fun! todo#Complete(findstart, base)
|
|||||||
let item={}
|
let item={}
|
||||||
let item.word=substitute(line,'.*\('.a:base.'\S*\).*','\1',"")
|
let item.word=substitute(line,'.*\('.a:base.'\S*\).*','\1',"")
|
||||||
let item.buffers=bufname(bufnr)
|
let item.buffers=bufname(bufnr)
|
||||||
let item.related=substitute(line,'.*\s\('.opp.'\S\S*\).*','\1',"")
|
if line =~ '.*\s\('.opp.'\S\S*\).*'
|
||||||
|
let item.related=substitute(line,'.*\s\('.opp.'\S\S*\).*','\1',"")
|
||||||
|
endif
|
||||||
call add(res,item)
|
call add(res,item)
|
||||||
endif
|
endif
|
||||||
endfor
|
endfor
|
||||||
@@ -436,7 +442,7 @@ fun! todo#Complete(findstart, base)
|
|||||||
for it in res
|
for it in res
|
||||||
if curitem.word==it.word
|
if curitem.word==it.word
|
||||||
" Merge results
|
" Merge results
|
||||||
if index(curitem.related,it.related) <0
|
if has_key(curitem, "related") && has_key(it, "related") && index(curitem.related,it.related) <0
|
||||||
call add(curitem.related,it.related)
|
call add(curitem.related,it.related)
|
||||||
endif
|
endif
|
||||||
if index(curitem.buffers,it.buffers) <0
|
if index(curitem.buffers,it.buffers) <0
|
||||||
|
|||||||
@@ -182,6 +182,12 @@ buffers in which they appears in the preview window. It does the same thing
|
|||||||
for context except that it gives in the preview the list of projects existing
|
for context except that it gives in the preview the list of projects existing
|
||||||
in each existing contexts.
|
in each existing contexts.
|
||||||
|
|
||||||
|
If you don't want the preview window to open when performing completion, add the
|
||||||
|
following lines to your vimrc:
|
||||||
|
>
|
||||||
|
au filetype todo setlocal completeopt-=preview
|
||||||
|
<
|
||||||
|
|
||||||
===============================================================================
|
===============================================================================
|
||||||
5. Hierarchical sort *TodoTxt-HierarchicalSort* ~
|
5. Hierarchical sort *TodoTxt-HierarchicalSort* ~
|
||||||
|
|
||||||
|
|||||||
@@ -11,6 +11,7 @@ set rtp+=~/.vim/bundle/vader.vim
|
|||||||
set rtp+=./
|
set rtp+=./
|
||||||
filetype plugin indent on
|
filetype plugin indent on
|
||||||
syntax enable
|
syntax enable
|
||||||
|
autocmd filetype todo setlocal omnifunc=todo#Complete
|
||||||
EOF
|
EOF
|
||||||
) tests/todo.txt
|
) $*
|
||||||
|
|
||||||
|
|||||||
@@ -11,6 +11,7 @@ set rtp+=~/.vim/bundle/vader.vim
|
|||||||
set rtp+=./
|
set rtp+=./
|
||||||
filetype plugin indent on
|
filetype plugin indent on
|
||||||
syntax enable
|
syntax enable
|
||||||
|
autocmd filetype todo setlocal omnifunc=todo#Complete
|
||||||
EOF
|
EOF
|
||||||
) +Vader! tests/*.vader && echo Success || exit 1
|
) +Vader! tests/*.vader && echo Success || exit 1
|
||||||
|
|
||||||
@@ -24,6 +25,7 @@ set rtp+=~/.vim/bundle/vader.vim
|
|||||||
set rtp+=./
|
set rtp+=./
|
||||||
filetype plugin indent on
|
filetype plugin indent on
|
||||||
syntax enable
|
syntax enable
|
||||||
|
autocmd filetype todo setlocal omnifunc=todo#Complete
|
||||||
set ignorecase
|
set ignorecase
|
||||||
EOF
|
EOF
|
||||||
) +Vader! tests/*.vader && echo Success || exit 1
|
) +Vader! tests/*.vader && echo Success || exit 1
|
||||||
@@ -37,6 +39,7 @@ set rtp+=~/.vim/bundle/vader.vim
|
|||||||
set rtp+=./
|
set rtp+=./
|
||||||
filetype plugin indent on
|
filetype plugin indent on
|
||||||
syntax enable
|
syntax enable
|
||||||
|
autocmd filetype todo setlocal omnifunc=todo#Complete
|
||||||
set iskeyword+=-
|
set iskeyword+=-
|
||||||
EOF
|
EOF
|
||||||
) +Vader! tests/*.vader && echo Success || exit 1
|
) +Vader! tests/*.vader && echo Success || exit 1
|
||||||
|
|||||||
@@ -760,6 +760,33 @@ Then (Is cursor on first non-overdue task?):
|
|||||||
After:
|
After:
|
||||||
unlet g:TodoTxtSortDueDateCursorPos
|
unlet g:TodoTxtSortDueDateCursorPos
|
||||||
|
|
||||||
|
" function todo#Complete(findstart, base) {{{2
|
||||||
|
Given todo (Tasks):
|
||||||
|
2017-09-23 Test task +SecretProject @Work due:2017-09-26
|
||||||
|
Tricky lowercase @wrongCaseSelected +selectedWrongCase
|
||||||
|
Project without a context +SecretProject
|
||||||
|
Do (Complete context W):
|
||||||
|
Go@W\<C-X>\<C-O>
|
||||||
|
Expect todo (Context Work):
|
||||||
|
2017-09-23 Test task +SecretProject @Work due:2017-09-26
|
||||||
|
Tricky lowercase @wrongCaseSelected +selectedWrongCase
|
||||||
|
Project without a context +SecretProject
|
||||||
|
@Work
|
||||||
|
Do (Complete project S):
|
||||||
|
Go+S\<C-X>\<C-O>
|
||||||
|
Expect todo (Project SecretProject):
|
||||||
|
2017-09-23 Test task +SecretProject @Work due:2017-09-26
|
||||||
|
Tricky lowercase @wrongCaseSelected +selectedWrongCase
|
||||||
|
Project without a context +SecretProject
|
||||||
|
+SecretProject
|
||||||
|
Execute (Complete project and switch to preview):
|
||||||
|
:execute "normal Go+\<C-X>\<C-O>\<ESC>"
|
||||||
|
:blast!
|
||||||
|
Expect (Project SecretProject):
|
||||||
|
Contexts: @Context
|
||||||
|
Buffers: tests/todo.vader
|
||||||
|
|
||||||
|
|
||||||
" file: ftplugin/todo.vim {{{1
|
" file: ftplugin/todo.vim {{{1
|
||||||
|
|
||||||
" function: TodoFoldLevel(lnum) {{{2
|
" function: TodoFoldLevel(lnum) {{{2
|
||||||
|
|||||||
Reference in New Issue
Block a user