Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Browse files

New xolox#misc#path#which() function to search the $PATH

  • Loading branch information...
commit 362ec9c9391decf5440b1a14e8a84a71168158cd 1 parent 9cabfbd
@xolox authored
Showing with 24 additions and 1 deletion.
  1. +24 −1 path.vim
View
25 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)
Please sign in to comment.
Something went wrong with that request. Please try again.