From 37f1cf4af439703c6bad7e84e9844ad7afb96439 Mon Sep 17 00:00:00 2001 From: Wang Shidong Date: Thu, 24 Oct 2019 00:47:58 +0800 Subject: [PATCH] Improve todo manager (#3185) --- .SpaceVim.d/autoload/SpaceVim/dev/todo.vim | 0 autoload/SpaceVim/plugins/todo.vim | 34 ++++++++++++++++++++-- config/plugins/deoplete.vim | 2 +- 3 files changed, 33 insertions(+), 3 deletions(-) delete mode 100644 .SpaceVim.d/autoload/SpaceVim/dev/todo.vim diff --git a/.SpaceVim.d/autoload/SpaceVim/dev/todo.vim b/.SpaceVim.d/autoload/SpaceVim/dev/todo.vim deleted file mode 100644 index e69de29bb..000000000 diff --git a/autoload/SpaceVim/plugins/todo.vim b/autoload/SpaceVim/plugins/todo.vim index 2d02677d4..de1a0262a 100644 --- a/autoload/SpaceVim/plugins/todo.vim +++ b/autoload/SpaceVim/plugins/todo.vim @@ -8,10 +8,21 @@ let s:JOB = SpaceVim#api#import('job') let s:BUFFER = SpaceVim#api#import('vim#buffer') +let s:SYS = SpaceVim#api#import('system') " @question any other recommanded tag? let s:labels = map(['fixme', 'question', 'todo', 'idea'], '"@" . v:val') +let [ + \ s:grep_default_exe, + \ s:grep_default_opt, + \ s:grep_default_ropt, + \ s:grep_default_expr_opt, + \ s:grep_default_fix_string_opt, + \ s:grep_default_ignore_case, + \ s:grep_default_smart_case + \ ] = SpaceVim#mapping#search#default_tool() + function! SpaceVim#plugins#todo#list() abort call s:open_win() endfunction @@ -36,8 +47,27 @@ endfunction function! s:update_todo_content() abort let s:todos = [] let s:todo = {} - " @fixme fix the rg command for todo manager - let argv = ['rg','--hidden', '--no-heading', '-g', '!.git', '--color=never', '--with-filename', '--line-number', '--column', '-e', join(s:labels, '|'), '.'] + let argv = [s:grep_default_exe] + + \ s:grep_default_opt + + \ s:grep_default_expr_opt + " @fixme expr for defferent tools + " when using rg, [join(s:labels, '|')] + " when using grep, [join(s:labels, '\|')] + if s:grep_default_exe == 'rg' + let argv += [join(s:labels, '|')] + elseif s:grep_default_exe == 'grep' + let argv += [join(s:labels, '\|')] + elseif s:grep_default_exe == 'findstr' + let argv += [join(s:labels, ' ')] + else + let argv += [join(s:labels, '|')] + endif + if s:SYS.isWindows && (s:grep_default_exe ==# 'rg' || s:grep_default_exe ==# 'ag' || s:grep_default_exe ==# 'pt' ) + let argv += ['.'] + elseif s:SYS.isWindows && s:grep_default_exe ==# 'findstr' + let argv += ['*.*'] + endif + let argv += s:grep_default_ropt call SpaceVim#logger#info('todo cmd:' . string(argv)) let jobid = s:JOB.start(argv, { \ 'on_stdout' : function('s:stdout'), diff --git a/config/plugins/deoplete.vim b/config/plugins/deoplete.vim index 52aa9344f..89925ee82 100644 --- a/config/plugins/deoplete.vim +++ b/config/plugins/deoplete.vim @@ -102,7 +102,7 @@ call deoplete#custom#source('racer', 'mark', '') call deoplete#custom#option('ignore_sources', {'vim': ['tag']}) " denite -call deoplete#custom#option('ignore_sources', {'denite-filter': ['denite', 'buffer', 'around', 'member']}) +call deoplete#custom#option('ignore_sources', {'denite-filter': ['denite', 'buffer', 'around', 'member', 'neosnippet']}) " clojure call deoplete#custom#option('keyword_patterns', {