"====================================================================== " " snipmate.vim - " " Created by skywind on 2022/08/30 " Last Modified: 2022/08/30 16:51:03 " "====================================================================== "---------------------------------------------------------------------- " initialize "---------------------------------------------------------------------- let g:snipMate = { 'snippet_version' : 1 } let g:snipMate.dirs = [asclib#path#runtime('site')] let g:snipMate.description_in_completion = 1 let g:snips_author = 'skywind' "---------------------------------------------------------------------- " snipmate enhancement: allow extra paths in g:snipMate.dirs "---------------------------------------------------------------------- call module#snipmate#active() "---------------------------------------------------------------------- " edit snip "---------------------------------------------------------------------- function! s:SnipMateEdit(args) let ft = (a:args == '')? &ft : (a:args) let test = asclib#path#runtime('site/snippets') let test = asclib#path#normalize(test) if isdirectory(test) let fn = printf('%s/%s.snippets', test, ft) let cmd = 'FileSwitch -switch=useopen,usetab,auto ' . fnameescape(fn) exec cmd else call asclib#core#errmsg('invalid path: ' . test) endif endfunc command! -nargs=? SnipMateEdit call s:SnipMateEdit() if 0 imap pumvisible() ? 'usnipMateTrigger' : 'snipMateTrigger' imap pumvisible() ? 'usnipMateNextOrTrigger' : 'snipMateNextOrTrigger' smap snipMateNextOrTrigger imap pumvisible() ? 'usnipMateBack' : 'snipMateBack' smap snipMateBack imap pumvisible() ? 'usnipMateShow' : 'snipMateShow' elseif 0 imap pumvisible() ? 'usnipMateNextOrTrigger' : 'snipMateNextOrTrigger' smap snipMateNextOrTrigger imap pumvisible() ? 'usnipMateBack' : 'snipMateBack' smap snipMateBack imap pumvisible() ? 'usnipMateShow' : 'snipMateShow' else imap snipMateNextOrTrigger smap snipMateNextOrTrigger imap snipMateBack smap snipMateBack endif