diff options
author | Doug Kearns <dougkearns@gmail.com> | 2023-09-01 18:33:33 +0200 |
---|---|---|
committer | Christian Brabandt <cb@256bit.org> | 2023-09-01 18:36:49 +0200 |
commit | da16a1b471aa717f58909cc6531cb6dbbff14d22 (patch) | |
tree | 313bb28b097f3b22db47a407fd081b651de74f78 /runtime/ftplugin | |
parent | 816fbcc262687b81fc46f82f7bbeb1453addfe0c (diff) |
runtime(ruby): Update syntax, indent and ftplugin files
While making changes to the ruby ftplugin, slightly change the exepath()
conditional from patch 9.0.1833 and move it after the :cd invocation.
closes: 12981
closes: 12994
Signed-off-by: Christian Brabandt <cb@256bit.org>
Co-authored-by: Tim Pope <code@tpope.net>
Co-authored-by: Doug Kearns <dougkearns@gmail.com>
Diffstat (limited to 'runtime/ftplugin')
-rw-r--r-- | runtime/ftplugin/eruby.vim | 12 | ||||
-rw-r--r-- | runtime/ftplugin/ruby.vim | 76 |
2 files changed, 43 insertions, 45 deletions
diff --git a/runtime/ftplugin/eruby.vim b/runtime/ftplugin/eruby.vim index e67b00b278..893fa58d32 100644 --- a/runtime/ftplugin/eruby.vim +++ b/runtime/ftplugin/eruby.vim @@ -3,7 +3,7 @@ " Maintainer: Tim Pope <vimNOSPAM@tpope.org> " URL: https://github.com/vim-ruby/vim-ruby " Release Coordinator: Doug Kearns <dougkearns@gmail.com> -" Last Change: 2020 Jun 28 +" Last Change: 2022 May 15 " Only do this when not done yet for this buffer if exists("b:did_ftplugin") @@ -86,8 +86,12 @@ runtime! ftplugin/ruby.vim ftplugin/ruby_*.vim ftplugin/ruby/*.vim let b:did_ftplugin = 1 " Combine the new set of values with those previously included. -if exists("b:undo_ftplugin") - let s:undo_ftplugin = b:undo_ftplugin . " | " . s:undo_ftplugin +if !exists('b:undo_ftplugin') + " No-op + let b:undo_ftplugin = 'exe' +endif +if !empty(s:undo_ftplugin) + let b:undo_ftplugin .= '|' . s:undo_ftplugin endif if exists ("b:browsefilter") let s:browsefilter = substitute(b:browsefilter,'\cAll Files (\*\.\*)\t\*\.\*\n','','') . s:browsefilter @@ -119,7 +123,7 @@ endif setlocal commentstring=<%#%s%> let b:undo_ftplugin = "setl cms< " . - \ " | unlet! b:browsefilter b:match_words | " . s:undo_ftplugin + \ " | unlet! b:browsefilter b:match_words | " . b:undo_ftplugin let &cpo = s:save_cpo unlet s:save_cpo diff --git a/runtime/ftplugin/ruby.vim b/runtime/ftplugin/ruby.vim index f4e1f60438..1262099d88 100644 --- a/runtime/ftplugin/ruby.vim +++ b/runtime/ftplugin/ruby.vim @@ -3,7 +3,7 @@ " Maintainer: Tim Pope <vimNOSPAM@tpope.org> " URL: https://github.com/vim-ruby/vim-ruby " Release Coordinator: Doug Kearns <dougkearns@gmail.com> -" Last Change: 2022 Mar 21 +" Last Change: 2023 Sep 1st if (exists("b:did_ftplugin")) finish @@ -77,7 +77,11 @@ function! s:query_path(root) abort let cwd = fnameescape(getcwd()) try exe cd fnameescape(a:root) - let path = split(system(path_check),',') + if fnamemodify(exepath('ruby'), ':p:h') ==# getcwd() + let path = [] + else + let path = split(system(path_check),',') + endif exe cd cwd return path finally @@ -99,51 +103,41 @@ function! s:build_path(path) abort return path endfunction -let s:execute_ruby = 1 -" Security Check, don't execute ruby from the current directory -if fnamemodify(exepath("ruby"), ":p:h") ==# getcwd() - let s:execute_ruby = 0 -endif - -function SetRubyPath() - if !exists('b:ruby_version') && !exists('g:ruby_path') && isdirectory(expand('%:p:h')) - let s:version_file = findfile('.ruby-version', '.;') - if !empty(s:version_file) && filereadable(s:version_file) && s:execute_ruby - let b:ruby_version = get(readfile(s:version_file, '', 1), '') - if !has_key(g:ruby_version_paths, b:ruby_version) - let g:ruby_version_paths[b:ruby_version] = s:query_path(fnamemodify(s:version_file, ':p:h')) - endif +if !exists('b:ruby_version') && !exists('g:ruby_path') && isdirectory(expand('%:p:h')) + let s:version_file = findfile('.ruby-version', '.;') + if !empty(s:version_file) && filereadable(s:version_file) + let b:ruby_version = get(readfile(s:version_file, '', 1), '') + if !has_key(g:ruby_version_paths, b:ruby_version) + let g:ruby_version_paths[b:ruby_version] = s:query_path(fnamemodify(s:version_file, ':p:h')) endif endif +endif - if exists("g:ruby_path") - let s:ruby_path = type(g:ruby_path) == type([]) ? join(g:ruby_path, ',') : g:ruby_path - elseif has_key(g:ruby_version_paths, get(b:, 'ruby_version', '')) && s:execute_ruby - let s:ruby_paths = g:ruby_version_paths[b:ruby_version] - let s:ruby_path = s:build_path(s:ruby_paths) - else - if !exists('g:ruby_default_path') - if has("ruby") && has("win32") - ruby ::VIM::command( 'let g:ruby_default_path = split("%s",",")' % $:.join(%q{,}) ) - elseif executable('ruby') && !empty($HOME) && s:execute_ruby - let g:ruby_default_path = s:query_path($HOME) - else - let g:ruby_default_path = map(split($RUBYLIB,':'), 'v:val ==# "." ? "" : v:val') - endif +if exists("g:ruby_path") + let s:ruby_path = type(g:ruby_path) == type([]) ? join(g:ruby_path, ',') : g:ruby_path +elseif has_key(g:ruby_version_paths, get(b:, 'ruby_version', '')) + let s:ruby_paths = g:ruby_version_paths[b:ruby_version] + let s:ruby_path = s:build_path(s:ruby_paths) +else + if !exists('g:ruby_default_path') + if has("ruby") && has("win32") + ruby ::VIM::command( 'let g:ruby_default_path = split("%s",",")' % $:.join(%q{,}) ) + elseif executable('ruby') && !empty($HOME) + let g:ruby_default_path = s:query_path($HOME) + else + let g:ruby_default_path = map(split($RUBYLIB,':'), 'v:val ==# "." ? "" : v:val') endif - let s:ruby_paths = g:ruby_default_path - let s:ruby_path = s:build_path(s:ruby_paths) - endif - - if stridx(&l:path, s:ruby_path) == -1 - let &l:path = s:ruby_path - endif - if exists('s:ruby_paths') && stridx(&l:tags, join(map(copy(s:ruby_paths),'v:val."/tags"'),',')) == -1 - let &l:tags = &tags . ',' . join(map(copy(s:ruby_paths),'v:val."/tags"'),',') endif -endfunction + let s:ruby_paths = g:ruby_default_path + let s:ruby_path = s:build_path(s:ruby_paths) +endif -call SetRubyPath() +if stridx(&l:path, s:ruby_path) == -1 + let &l:path = s:ruby_path +endif +if exists('s:ruby_paths') && stridx(&l:tags, join(map(copy(s:ruby_paths),'v:val."/tags"'),',')) == -1 + let &l:tags = &tags . ',' . join(map(copy(s:ruby_paths),'v:val."/tags"'),',') +endif if (has("gui_win32") || has("gui_gtk")) && !exists("b:browsefilter") let b:browsefilter = "Ruby Source Files (*.rb)\t*.rb\n" . |