diff runtime/ftplugin/ruby.vim @ 548:f43150a669dc

updated for version 7.0155
author vimboss
date Mon, 10 Oct 2005 20:59:28 +0000
parents 339999b511a0
children 862863033fdd
line wrap: on
line diff
--- a/runtime/ftplugin/ruby.vim
+++ b/runtime/ftplugin/ruby.vim
@@ -1,10 +1,10 @@
 " Vim filetype plugin
 " Language:	Ruby
 " Maintainer:	Gavin Sinclair <gsinclair at soyabean.com.au>
-" Info:         $Id$
-" URL:          http://vim-ruby.sourceforge.net
-" Anon CVS:     See above site
-" Licence:      GPL (http://www.gnu.org)
+" Info:		$Id$
+" URL:		http://vim-ruby.sourceforge.net
+" Anon CVS:	See above site
+" Licence:	GPL (http://www.gnu.org)
 " Disclaimer:
 "    This program is distributed in the hope that it will be useful,
 "    but WITHOUT ANY WARRANTY; without even the implied warranty of
@@ -12,7 +12,7 @@
 "    GNU General Public License for more details.
 " ----------------------------------------------------------------------------
 "
-" Original matchit support thanks to Ned Konz.  See his ftplugin/ruby.vim at
+" Original matchit support thanks to Ned Konz.	See his ftplugin/ruby.vim at
 "   http://bike-nomad.com/vim/ruby.vim.
 " ----------------------------------------------------------------------------
 
@@ -32,18 +32,18 @@ if exists("loaded_matchit") && !exists("
  " TODO: improve optional do loops
  let b:match_words =
     \ '\%(' .
-    \     '\%(\%(\.\|\:\:\)\s*\)\@<!\<\%(class\|module\|begin\|def\|case\|for\|do\)\>' .
-    \   '\|' .
-    \     '\%(\%(^\|\.\.\.\=\|[\,;=([<>~\*/%!&^|+-]\)\s*\)\@<=\%(if\|unless\|until\|while\)\>' .
+    \	  '\%(\%(\.\|\:\:\)\s*\|\:\)\@<!\<\%(class\|module\|begin\|def\|case\|for\|do\)\>' .
+    \	'\|' .
+    \	  '\%(\%(^\|\.\.\.\=\|[\,;=([<>~\*/%!&^|+-]\)\s*\)\@<=\%(if\|unless\|until\|while\)\>' .
     \ '\)' .
     \ ':' .
     \ '\%(' .
-    \     '\%(\%(\.\|\:\:\)\s*\)\@<!\<\%(else\|elsif\|ensure\|when\)\>' .
-    \   '\|' .
-    \     '\%(\%(^\|;\)\s*\)\@<=\<rescue\>' .
+    \	  '\%(\%(\.\|\:\:\)\s*\|\:\)\@<!\<\%(else\|elsif\|ensure\|when\)\>' .
+    \	'\|' .
+    \	  '\%(\%(^\|;\)\s*\)\@<=\<rescue\>' .
     \ '\)' .
     \ ':' .
-    \ '\%(\%(\.\|\:\:\)\s*\)\@<!\<end\>'
+    \ '\%(\%(\.\|\:\:\)\s*\|\:\)\@<!\<end\>'
 
   let b:match_skip =
      \ "synIDattr(synID(line('.'),col('.'),0),'name') =~ '" .
@@ -66,12 +66,13 @@ setlocal commentstring=#\ %s
 
 if !exists("s:rubypath")
   if executable("ruby")
+    let s:code = "print ($: + begin; require %q{rubygems}; Gem.all_load_paths.sort.uniq; rescue LoadError; []; end).join(%q{,})"
     if &shellxquote == "'"
-      let s:rubypath = system('ruby -e "puts (begin; require %q{rubygems}; Gem.all_load_paths; rescue LoadError; []; end + $:).join(%q{,})"')
+      let s:rubypath = system('ruby -e "' . s:code . '"')
     else
-      let s:rubypath = system("ruby -e 'puts (begin; require %q{rubygems}; Gem.all_load_paths; rescue LoadError; []; end + $:).join(%q{,})'")
+      let s:rubypath = system("ruby -e '" . s:code . "'")
     endif
-    let s:rubypath = substitute(s:rubypath,',.$',',,','')
+    let s:rubypath = '.,' . substitute(s:rubypath, '\%(^\|,\)\.\%(,\|$\)', ',,', '')
   else
     " If we can't call ruby to get its path, just default to using the
     " current directory and the directory of the current file.
@@ -83,7 +84,7 @@ let &l:path = s:rubypath
 
 if has("gui_win32") && !exists("b:browsefilter")
   let b:browsefilter = "Ruby Source Files (*.rb)\t*.rb\n" .
-                     \ "All Files (*.*)\t*.*\n"
+		     \ "All Files (*.*)\t*.*\n"
 endif
 
 let b:undo_ftplugin = "setl fo< inc< inex< sua< def< com< cms< path< "
@@ -97,7 +98,7 @@ unlet s:cpo_save
 "
 " 1. Look for the latest "matchit" plugin at
 "
-"         http://www.vim.org/scripts/script.php?script_id=39
+"	  http://www.vim.org/scripts/script.php?script_id=39
 "
 "    It is also packaged with Vim, in the $VIMRUNTIME/macros directory.
 "
@@ -108,16 +109,16 @@ unlet s:cpo_save
 " 4. Ensure this file (ftplugin/ruby.vim) is installed.
 "
 " 5. Ensure you have this line in your $HOME/.vimrc:
-"         filetype plugin on
+"	  filetype plugin on
 "
 " 6. Restart Vim and create the matchit documentation:
 "
-"         :helptags ~/.vim/doc
+"	  :helptags ~/.vim/doc
 "
 "    Now you can do ":help matchit", and you should be able to use "%" on Ruby
-"    keywords.  Try ":echo b:match_words" to be sure.
+"    keywords.	Try ":echo b:match_words" to be sure.
 "
-" Thanks to Mark J. Reed for the instructions.  See ":help vimrc" for the
+" Thanks to Mark J. Reed for the instructions.	See ":help vimrc" for the
 " locations of plugin directories, etc., as there are several options, and it
 " differs on Windows.  Email gsinclair@soyabean.com.au if you need help.
 "