| @ -0,0 +1,39 @@ | |||||
| func! vundle#scripts#search(...) | |||||
| let matches = map(vundle#scripts#lookup(a:1), ' printf("Bundle \"%-5s\"", v:val[1]) ') | let temp = tempname() | |||||
| call writefile(matches, temp) | |||||
| exec 'sp '.temp | |||||
| let @/=a:1 | |||||
| endf | |||||
| func! vundle#scripts#lookup(term) | |||||
| return filter(items(vundle#scripts#load()), 'v:val[1] =~ "'.escape(a:term,'"').'"') | |||||
| endf | |||||
| func! vundle#scripts#fetch() | |||||
| let to = g:vundle_scripts_file | |||||
| let temp = tempname() | |||||
| silent exec '!curl http://vim-scripts.org/scripts.json > '.temp | |||||
| silent exec '!mkdir -p $(dirname '.to.') && mv -f '.temp.' '.to | |||||
| return to | |||||
| endf | |||||
| func! vundle#scripts#read() | |||||
| if !filereadable(g:vundle_scripts_file) | |||||
| call vundle#scripts#fetch() | |||||
| endif | |||||
| return readfile(g:vundle_scripts_file, 'b')[0] | |||||
| endf | |||||
| func! vundle#scripts#load() | |||||
| if !exists('g:vundle_scripts') || empty(g:vundle_scripts) | |||||
| let g:vundle_scripts_file = expand('$HOME/.vim-vundle/vim-scripts.org.json') | |||||
| let g:vundle_scripts = eval(vundle#scripts#read()) | |||||
| endif | |||||
| return g:vundle_scripts | |||||
| endf | |||||
| func! vundle#scripts#find(id) | |||||
| let scripts = vundle#scripts#load() | |||||
| return scripts[a:id] | |||||
| endf | |||||