Skip to content

Commit 95ea663

Browse files
committed
fix lcd bug & add a new option
1 parent db8e306 commit 95ea663

3 files changed

Lines changed: 20 additions & 9 deletions

File tree

autoload/codequery.vim

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,8 +38,9 @@ function! s:save_cwd() abort
3838
endfunction
3939

4040

41-
function! s:restore_cwd() abort
41+
function! s:restore_cwd()
4242
execute 'lcd ' . g:codequery_cwd
43+
let g:codequery_cwd = ''
4344
endfunction
4445

4546

autoload/codequery/query.vim

Lines changed: 17 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -42,12 +42,8 @@ function! s:create_grep_options(word) abort
4242
\ . word . ' -u ' . fuzzy_option . ' \| awk ''{ print $2 " " $1 }'''
4343

4444
elseif g:codequery_querytype == s:subcmd_map['Text']
45-
silent execute g:codequery_find_text_cmd . ' ' . a:word
46-
call codequery#query#prettify_qf_layout_and_map_keys(getqflist())
47-
48-
let g:codequery_last_query_word = a:word
49-
let g:last_query_fuzzy = g:codequery_fuzzy
50-
return
45+
let grepformat = ''
46+
let grepprg = g:codequery_find_text_cmd . ' ' . a:word
5147
endif
5248

5349
return [grepformat, grepprg]
@@ -104,7 +100,11 @@ endfunction
104100
" Ref: MarcWeber's vim-addon-qf-layout
105101
function! codequery#query#prettify_qf_layout_and_map_keys(results) abort
106102
if &filetype !=# 'qf'
103+
if !empty(g:codequery_cwd)
104+
execute 'lcd ' . g:codequery_cwd
105+
endif
107106
copen
107+
execute 'lcd ' . g:codequery_cwd
108108
endif
109109

110110
" unlock qf to make changes
@@ -169,10 +169,19 @@ function! codequery#query#do_query(word) abort
169169
endif
170170

171171
let grep_options = s:create_grep_options(a:word)
172-
if empty(grep_options)
172+
let [grepformat, grepprg] = grep_options
173+
174+
" Find Text
175+
if empty(grepformat)
176+
if g:codequery_find_text_from_current_file_dir == 1
177+
lcd %:p:h
178+
endif
179+
silent execute grepprg
180+
call codequery#query#prettify_qf_layout_and_map_keys(getqflist())
181+
let g:codequery_last_query_word = a:word
182+
let g:last_query_fuzzy = g:codequery_fuzzy
173183
return
174184
endif
175-
let [grepformat, grepprg] = grep_options
176185

177186
" TODO: Rewrite it when Vim8 is coming
178187
" ----------------------------------------------------------------

plugin/codequery.vim

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66

77
" Init with default value
88
let g:codequery_find_text_cmd = 'Ack!'
9+
let g:codequery_find_text_from_current_file_dir = 1
910

1011

1112
" No need to init

0 commit comments

Comments
 (0)