Skip to content

Commit

Permalink
New xolox#misc#path#which() function to search the $PATH
Browse files Browse the repository at this point in the history
  • Loading branch information
xolox committed Sep 25, 2011
1 parent 9cabfbd commit 362ec9c
Showing 1 changed file with 24 additions and 1 deletion.
25 changes: 24 additions & 1 deletion path.vim
@@ -1,10 +1,33 @@
" Vim auto-load script
" Author: Peter Odding <peter@peterodding.com>
" Last Change: August 31, 2011
" Last Change: September 26, 2011
" URL: http://peterodding.com/code/vim/misc/

let s:windows_compatible = has('win32') || has('win64')

function! xolox#misc#path#which(...)
let extensions = s:windows_compatible ? split($PATHEXT, ';') : ['']
let matches = []
let checked = {}
for directory in split($PATH, s:windows_compatible ? ';' : ':')
let directory = xolox#misc#path#absolute(directory)
if !has_key(checked, directory)
if isdirectory(directory)
for program in a:000
for extension in extensions
let path = xolox#misc#path#merge(directory, program . extension)
if executable(path)
call add(matches, path)
endif
endfor
endfor
endif
let checked[directory] = 1
endif
endfor
return matches
endfunction

" Split a pathname into a list of path components.

function! xolox#misc#path#split(path)
Expand Down

0 comments on commit 362ec9c

Please sign in to comment.