From b51382fe9eb58903b927d20557e4b6e2d5f63247 Mon Sep 17 00:00:00 2001 From: Jan Edmund Lazo Date: Sun, 22 Oct 2017 09:50:12 -0400 Subject: [PATCH] [fzf#vim#preview] Use ruby in Windows if available (#471) Close #459 --- autoload/fzf/vim.vim | 4 ++-- bin/preview.rb | 6 +++++- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/autoload/fzf/vim.vim b/autoload/fzf/vim.vim index 2eb2c09..c4af601 100644 --- a/autoload/fzf/vim.vim +++ b/autoload/fzf/vim.vim @@ -32,7 +32,7 @@ let s:is_win = has('win32') || has('win64') let s:layout_keys = ['window', 'up', 'down', 'left', 'right'] let s:bin_dir = expand(':h:h:h').'/bin/' let s:bin = { -\ 'preview': s:bin_dir.(!s:is_win && executable('ruby') ? 'preview.rb' : 'preview.sh'), +\ 'preview': s:bin_dir.(executable('ruby') ? 'preview.rb' : 'preview.sh'), \ 'tags': s:bin_dir.'tags.pl' } let s:TYPE = {'dict': type({}), 'funcref': type(function('call')), 'string': type(''), 'list': type([])} if s:is_win @@ -41,7 +41,7 @@ if s:is_win else let s:bin.preview = fnamemodify(s:bin.preview, ':8') endif - let s:bin.preview = 'bash '.escape(s:bin.preview, '\') + let s:bin.preview = (executable('ruby') ? 'ruby' : 'bash').' '.escape(s:bin.preview, '\') endif function! s:extend_opts(dict, eopts, prepend) diff --git a/bin/preview.rb b/bin/preview.rb index 09b1bc0..f90016b 100755 --- a/bin/preview.rb +++ b/bin/preview.rb @@ -18,7 +18,11 @@ end usage if ARGV.empty? -file, center = ARGV.first.split(':') +file, center, extra = ARGV.first.split(':') +if ARGV.first =~ /^[A-Z]:\\/ + file << ':' + center + center = extra +end usage unless file path = File.expand_path(file)