| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182 |
- " Plugin: https://github.com/mhinz/vim-startify
- " Description: Start screen displaying recently used stuff.
- " Maintainer: Marco Hinz <http://github.com/mhinz>
- " Version: 1.4
- if exists('g:autoloaded_startify') || &cp
- finish
- endif
- let g:autoloaded_startify = 1
- function! startify#get_session_names(lead, ...) abort
- return map(split(globpath(g:startify_session_dir, '*'.a:lead.'*', '\n')), 'fnamemodify(v:val, ":t")')
- endfunction
- function! startify#get_session_names_as_string(lead, ...) abort
- return join(map(split(globpath(g:startify_session_dir, '*'.a:lead.'*', '\n')), 'fnamemodify(v:val, ":t")'), "\n")
- endfunction
- function! startify#escape(path) abort
- return !exists('+shellslash') || &shellslash ? fnameescape(a:path) : escape(a:path, '\')
- endfunction
- function! startify#get_sep() abort
- return !exists('+shellslash') || &shellslash ? '/' : '\'
- endfunction
- function! startify#is_in_skiplist(arg) abort
- for regexp in g:startify_skiplist
- if (a:arg =~# regexp)
- return 1
- endif
- endfor
- endfunction
- function! startify#save_session(...) abort
- if !isdirectory(g:startify_session_dir)
- if exists('*mkdir')
- echo 'The session directory does not exist: '. g:startify_session_dir .'. Create it? [y/n]' | redraw
- if (nr2char(getchar()) == 'y')
- call mkdir(g:startify_session_dir, 'p')
- else
- echo
- return
- endif
- else
- echo 'The session directory does not exist: '. g:startify_session_dir
- return
- endif
- endif
- let spath = g:startify_session_dir . startify#get_sep() . (exists('a:1')
- \ ? a:1
- \ : input('Save under this session name: ', '', 'custom,startify#get_session_names_as_string'))
- \ | redraw
- if !filereadable(spath)
- execute 'mksession '. spath | echo 'Session saved under: '. spath
- return
- endif
- echo 'Session already exists. Overwrite? [y/n]' | redraw
- if nr2char(getchar()) == 'y'
- execute 'mksession! '. spath | echo 'Session saved under: '. spath
- else
- echo 'Did NOT save the session!'
- endif
- endfunction
- function! startify#load_session(...) abort
- if !isdirectory(g:startify_session_dir)
- echo 'The session directory does not exist: '. g:startify_session_dir
- return
- endif
- let spath = g:startify_session_dir . startify#get_sep() . (exists('a:1')
- \ ? a:1
- \ : input('Load this session: ', '', 'custom,startify#get_session_names_as_string'))
- \ | redraw
- if filereadable(spath)
- execute 'source '. spath
- else
- echo 'No such file: '. spath
- endif
- endfunction
- " vim: et sw=2 sts=2
|