Skip to content

Commit 1c01c42

Browse files
committed
Support gf on require_relative
Also match: require File.expand_path('../test_helper', __FILE__)
1 parent 1320b9a commit 1c01c42

1 file changed

Lines changed: 5 additions & 1 deletion

File tree

ftplugin/ruby.vim

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -291,10 +291,14 @@ endfunction
291291

292292
function! s:gf(count,map,edit) abort
293293
let target = expand('<cfile>')
294-
if target ==# 'require_relative' && getline('.') =~# '^\s*require_relative\s*\(["'']\).*\1'
294+
if target ==# '^require' && getline('.') =~# '^\s*require_relative\s*\(["'']\).*\1'
295295
let target = matchstr(getline('.'),'\(["'']\)\zs.\{-\}\ze\1')
296296
return a:edit.' %:h/'.target.'.rb'
297297
endif
298+
if target =~# '^\%(require\|load\|autoload\)$' && getline('.') =~# '^\s*\%(require \|load \|autoload :\w\+,\)\s*\|^\s*require(\=\s*File\.expand_path(\(["'']\)\.\./.*\1,\s*__FILE__)'
299+
let target = matchstr(getline('.'),'\(["'']\)\.\./\zs.\{-\}\ze\1')
300+
return a:edit.' %:h/'.target.'.rb'
301+
endif
298302
if target =~# '^\%(require\|load\|autoload\)$' && getline('.') =~# '^\s*\%(require \|load \|autoload :\w\+,\)\s*\(["'']\).*\1'
299303
let target = matchstr(getline('.'),'\(["'']\)\zs.\{-\}\ze\1')
300304
endif

0 commit comments

Comments
 (0)