custom modifications for qnamefile

This commit is contained in:
Josh Holtrop 2013-11-08 10:01:11 -05:00
parent 588ddbe054
commit fbcf6fd739

View File

@ -32,7 +32,14 @@ let g:qnamefile_regexp = 0
" a:extensions A space separated list of extensions to filter on (e.g. "java cpp h") " a:extensions A space separated list of extensions to filter on (e.g. "java cpp h")
function! QNameFileInit(path, extensions, include_hidden) function! QNameFileInit(path, extensions, include_hidden)
let path = a:path let path = a:path
if !path if path != ""
let path = ""
for path_part in split(a:path, " ")
if isdirectory(path_part)
let path = path . path_part . " "
end
endfor
else
let path = '.' let path = '.'
endif endif
let ext = '' let ext = ''
@ -44,11 +51,12 @@ function! QNameFileInit(path, extensions, include_hidden)
if !a:include_hidden if !a:include_hidden
let hidden = '-not -regex ".*/\..*"' let hidden = '-not -regex ".*/\..*"'
endif endif
let ofnames = sort(split(system('find ' . a:path . ' -type f ' . hidden . ' ' . ext . ' -print'), "\n")) "let ofnames = sort(split(system('find ' . a:path . ' -type f ' . hidden . ' ' . ext . ' -print'), "\n"))
let ofnames = sort(split(system('find ' . path . ' -name .git -prune -o -name .svn -prune -o -not -type f -o -print'), "\n"))
let g:cmd_arr = map(ofnames, "fnamemodify(v:val, ':.')") let g:cmd_arr = map(ofnames, "fnamemodify(v:val, ':.')")
call QNamePickerStart(g:cmd_arr, { call QNamePickerStart(g:cmd_arr, {
\ "complete_func": function("QNameFileCompletion"), \ "complete_func": function("QNameFileCompletion"),
\ "acceptors": ["v", "s", "t", "\<M-v>", "\<M-s>", "\<M-t>"], \ "acceptors": ["v", "s", "t", "\<M-v>", "\<M-s>", "\<M-t>", "\<C-v>", "\<C-s>", "\<C-t>"],
\ "cancelors": ["g", "\<C-g>", s:qnamefile_hotkey], \ "cancelors": ["g", "\<C-g>", s:qnamefile_hotkey],
\ "regexp": g:qnamefile_regexp, \ "regexp": g:qnamefile_regexp,
\ "use_leader": g:qnamefile_leader, \ "use_leader": g:qnamefile_leader,
@ -57,11 +65,11 @@ function! QNameFileInit(path, extensions, include_hidden)
endfunction endfunction
function! QNameFileCompletion(index, key) function! QNameFileCompletion(index, key)
if a:key == "s" || a:key == "\<M-s>" if a:key == "s" || a:key == "\<M-s>" || a:key == "\<C-s>"
let cmd = "sp" let cmd = "sp"
elseif a:key == "v" || a:key == "\<M-v>" elseif a:key == "v" || a:key == "\<M-v>" || a:key == "\<C-v>"
let cmd = "vert sp" let cmd = "vert sp"
elseif a:key == "t" || a:key == "\<M-t>" elseif a:key == "t" || a:key == "\<M-t>" || a:key == "\<C-t>"
let cmd = "tabe" let cmd = "tabe"
else else
let cmd = "e" let cmd = "e"