Skip to content

Commit 63c3b6b

Browse files
committed
FEAT: Added messaging to aid debugging and verbosity.
1 parent 302ae95 commit 63c3b6b

File tree

1 file changed

+23
-6
lines changed

1 file changed

+23
-6
lines changed

autoload/bettergrep.vim

Lines changed: 23 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -49,6 +49,7 @@ function! s:apply_mappings() abort
4949
for key in keys(s:qf_mappings)
5050
execute "nnoremap <buffer> <silent> " . key . ' ' . s:qf_mappings[key]
5151
endfor
52+
5253
endfunction
5354

5455
"}}}
@@ -123,14 +124,24 @@ if exists('*jobstart')
123124
call s:bettergrep_pre(grep_cmd)
124125

125126
let s:cmd = a:cmd
127+
let s:is_error = 0
126128

127129
function! s:on_out(job_id, data, event) dict
128-
execute s:cmd . ' join(a:data, "\n")'
130+
if len(a:data) == 1 && s:is_error == 0
131+
echohl WarningMsg
132+
echomsg "bettergrep: No results found."
133+
echohl None
134+
else
135+
if s:is_error == 0
136+
execute s:cmd . ' join(a:data, "\n")'
137+
endif
138+
endif
129139
endfunction
130140

131141
function! s:on_error(job_id, data, event) dict
142+
let s:is_error = 1
132143
if len(a:data) > 1
133-
echoerr 'bettergrep E: ' . join(a:data, "\n")
144+
echoerr 'bettergrep ERR: ' . join(a:data, "\n")
134145
endif
135146
endfunction
136147

@@ -165,21 +176,27 @@ elseif exists('*job_start')
165176

166177
let s:cmd = a:cmd
167178
let s:data = ''
179+
let s:is_error = 0
168180

169181
function! s:on_out(job_id, data)
170182
let s:data .= a:data . "\n"
171183
endfunction
172184

173185
function! s:on_error(job_id, data)
186+
let s:is_error = 1
174187
if len(a:data) > 1
175-
echoerr 'bettergrep E: ' . join([a:data], "\n")
188+
echoerr 'bettergrep ERR: ' . join([a:data], "\n")
176189
endif
177190
endfunction
178191

179192
function! s:on_exit(job_id, status)
180193
let job_to_kill = s:grep_job
181194
if len(s:data) > 1
182195
execute s:cmd . ' join([s:data], "\n")'
196+
elseif s:is_error == 0
197+
echohl WarningMsg
198+
echomsg "bettergrep: No results found."
199+
echohl None
183200
endif
184201
call s:bettergrep_post()
185202
call job_stop(job_to_kill)
@@ -192,9 +209,9 @@ elseif exists('*job_start')
192209
\ 'in_io': 'null'
193210
\ }
194211

195-
let cmd = split(&shell) + split(&shellcmdflag) + [grep_cmd]
196-
echomsg "bettergrep: " . cmd
197-
let s:grep_job = job_start(cmd, s:callbacks)
212+
let shell_cmd = split(&shell) + split(&shellcmdflag) + [grep_cmd]
213+
echomsg "bettergrep: " . join(shell_cmd, ' ')
214+
let s:grep_job = job_start(shell_cmd, s:callbacks)
198215

199216
endfunction
200217

0 commit comments

Comments
 (0)