Ver Fonte

Fix #114 - &rtp should not contain empty path

Junegunn Choi há 11 anos atrás
pai
commit
425ef39db2
2 ficheiros alterados com 13 adições e 2 exclusões
  1. 3 2
      plug.vim
  2. 10 0
      test/workflow.vader

+ 3 - 2
plug.vim

@@ -289,9 +289,10 @@ function! s:reorg_rtp()
   let s:middle = get(s:, 'middle', &rtp)
   let rtps     = map(s:loaded_names(), 's:rtp(g:plugs[v:val])')
   let afters   = filter(map(copy(rtps), 'globpath(v:val, "after")'), 'isdirectory(v:val)')
-  let &rtp     = join(map(rtps, 's:escrtp(v:val)'), ',')
-                 \ . substitute(','.s:middle.',', '^,,$', ',', '')
+  let rtp      = join(map(rtps, 's:escrtp(v:val)'), ',')
+                 \ . ','.s:middle.','
                  \ . join(map(afters, 's:escrtp(v:val)'), ',')
+  let &rtp     = substitute(substitute(rtp, ',,*', ',', 'g'), '^,\|,$', '', 'g')
   let s:prtp   = &rtp
 
   if !empty(s:first_rtp)

+ 10 - 0
test/workflow.vader

@@ -1089,6 +1089,16 @@ Execute (PlugSnapshot):
   AssertEqual 'snapshot.sh', fnamemodify(expand('%'), ':t')
   q
 
+**********************************************************************
+Execute (#114 Should not contain empty path in &rtp):
+  call plug#begin('$TMPDIR/plugged')
+  call plug#end()
+
+  Log &rtp
+  Assert &rtp !~ ',,', 'Commas'
+  Assert &rtp !~ '^,', 'Comma prefix'
+  Assert &rtp !~ ',$', 'Comma suffix'
+
 Execute (Cleanup):
   silent! call system('rm -rf '.temp_plugged)
   silent! call system('rm -rf '.temp_plugged)