Skip to content

Commit

Permalink
Merge branch 'master' of https://github.com/xolox/vim-misc
Browse files Browse the repository at this point in the history
  • Loading branch information
xolox committed Nov 21, 2011
2 parents 4f9cffe + d7b3e0c commit ce002d6
Show file tree
Hide file tree
Showing 2 changed files with 24 additions and 4 deletions.
22 changes: 21 additions & 1 deletion autoload/xolox/misc/escape.vim
@@ -1,6 +1,6 @@
" Vim auto-load script
" Author: Peter Odding <peter@peterodding.com>
" Last Change: March 15, 2011
" Last Change: November 21, 2011
" URL: http://peterodding.com/code/vim/misc/

" Convert a string into a :substitute pattern that matches the string literally.
Expand All @@ -23,4 +23,24 @@ function! xolox#misc#escape#substitute(string)
return ''
endfunction

" Convert a string into a quoted command line argument. I was going to add a
" long rant here about &shellslash, but really, it won't make any difference.
" Let's just suffice to say that I have yet to encounter a single person out
" there who uses this option for its intended purpose (running a UNIX-style
" shell on Windows).

function! xolox#misc#escape#shell(string)
if xolox#misc#os#is_win()
try
let ssl_save = &shellslash
set noshellslash
return shellescape(a:string)
finally
let &shellslash = ssl_save
endtry
else
return shellescape(a:string)
endif
endfunction

" vim: ts=2 sw=2 et
6 changes: 3 additions & 3 deletions autoload/xolox/misc/open.vim
@@ -1,10 +1,10 @@
" Vim auto-load script
" Author: Peter Odding <peter@peterodding.com>
" Last Change: June 18, 2011
" Last Change: November 21, 2011
" URL: http://peterodding.com/code/vim/misc/

if !exists('s:version')
let s:version = '1.0'
let s:version = '1.1'
let s:enoimpl = "open.vim %s: %s() hasn't been implemented for your platform! If you have suggestions, please contact peter@peterodding.com."
let s:handlers = ['gnome-open', 'kde-open', 'exo-open', 'xdg-open']
endif
Expand All @@ -15,7 +15,7 @@ function! xolox#misc#open#file(path, ...)
call xolox#shell#open_with_windows_shell(a:path)
catch /^Vim\%((\a\+)\)\=:E117/
let command = '!start CMD /C START "" %s'
silent execute printf(command, shellescape(a:path))
silent execute printf(command, xolox#misc#escape#shell(a:path))
endtry
return
elseif has('macunix')
Expand Down

0 comments on commit ce002d6

Please sign in to comment.