Skip to content

Commit 47811da

Browse files
Updates to work against DanielG/ghc-mod#823
1 parent a3f00c4 commit 47811da

File tree

3 files changed

+13
-10
lines changed

3 files changed

+13
-10
lines changed

after/ftplugin/haskell/ghcmod.vim

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -59,8 +59,8 @@ command! -buffer -nargs=0 -bang GhcModCheckAsync call ghcmod#command#async_make(
5959
command! -buffer -nargs=0 -bang GhcModLintAsync call ghcmod#command#async_make('lint', <bang>0)
6060
command! -buffer -nargs=0 -bang GhcModCheckAndLintAsync call ghcmod#command#check_and_lint_async(<bang>0)
6161
command! -buffer -nargs=0 -bang GhcModExpand call ghcmod#command#expand(<bang>0)
62-
command! -buffer -nargs=? -bang GhcModOpenDoc call ghcmod#command#opendoc(<q-args>, <bang>0)
63-
command! -buffer -nargs=? -bang GhcModDocUrl call ghcmod#command#echo_doc_url(<q-args>, <bang>0)
62+
command! -buffer -nargs=? -bang GhcModOpenDoc call ghcmod#command#opendoc(<q-args>, <bang>0, 0)
63+
command! -buffer -nargs=? -bang GhcModDocUrl call ghcmod#command#echo_doc_url(<q-args>, <bang>0, 0)
6464
command! -buffer -nargs=? -bang GhcModOpenHaddockVismode call ghcmod#command#opendoc(<q-args>, <bang>0, 1)
6565
command! -buffer -nargs=? -bang GhcModEchoUrlVismode call ghcmod#command#echo_doc_url(<q-args>, <bang>0, 1)
6666

autoload/ghcmod.vim

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -36,10 +36,9 @@ function! ghcmod#get_doc_url(path, module, fexp, line, col) "{{{
3636
let l:cmd = ghcmod#build_command(['imported-from', a:path, a:line, a:col, a:fexp])
3737
let l:output = ghcmod#system(l:cmd)
3838
let l:lines = split(l:output, '\n')
39-
let l:lastline = l:lines[-1]
4039

41-
if l:lastline =~ "^file.*"
42-
return l:lastline
40+
if len(l:lines) > 0
41+
return l:lines[0]
4342
endif
4443
endfunction "}}}
4544

autoload/ghcmod/command.vim

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -290,21 +290,25 @@ function! ghcmod#command#opendoc(fexp, force, vismode) "{{{
290290

291291
let l:doc_url = ghcmod#get_doc_url(l:path, ghcmod#detect_module(), l:fexp, l:line, l:col)
292292

293-
if l:doc_url =~ '^file'
293+
let l:bits = split(l:doc_url)
294+
295+
if len(l:bits) == 3
296+
let l:the_url = l:bits[-1]
297+
294298
if exists('g:ghcmod_browser')
295-
execute 'silent !' . g:ghcmod_browser . ' ' . l:doc_url . ' >& /dev/null &'
299+
execute 'silent !' . g:ghcmod_browser . ' ' . l:the_url . ' >& /dev/null &'
296300
execute ':redraw!'
297301
else
298302
if has("win")
299-
echo 'Error, not implemented. Go here: ' . l:doc_url
303+
echo 'Error, not implemented. Go here: ' . l:the_url
300304
endif
301305

302306
if has("unix")
303307
if system('uname')=~'Darwin'
304308
" Redirect output to /dev/null?
305-
execute "silent !open " . l:doc_url
309+
execute "silent !open " . l:the_url
306310
else
307-
execute "silent !xdg-open " . l:doc_url . ' >& /dev/null'
311+
execute "silent !xdg-open " . l:the_url . ' >& /dev/null'
308312
endif
309313

310314
execute ':redraw!'

0 commit comments

Comments
 (0)