Răsfoiți Sursa

Interpret the second argument to Plug command as tag option

The older documentation of vim-plug suggested that the second string
parameter to Plug command was for both branches and tags. But we've
realized that tags and branches are not interchangeable (#174), and it
is now recommended that the user explicitly specify whether it's a
branch or a tag. The now-undocumented second parameter is currently for
branches, but I'd like to change it for tags, as the use of tags are
much more common.
Junegunn Choi 11 ani în urmă
părinte
comite
95aa96a884
3 a modificat fișierele cu 5 adăugiri și 8 ștergeri
  1. 1 4
      plug.vim
  2. 2 2
      test/regressions.vader
  3. 2 2
      test/workflow.vader

+ 1 - 4
plug.vim

@@ -439,12 +439,9 @@ function! s:parse_options(arg)
   let opts = copy(s:base_spec)
   let opts = copy(s:base_spec)
   let type = type(a:arg)
   let type = type(a:arg)
   if type == s:TYPE.string
   if type == s:TYPE.string
-    let opts.branch = a:arg
+    let opts.tag = a:arg
   elseif type == s:TYPE.dict
   elseif type == s:TYPE.dict
     call extend(opts, a:arg)
     call extend(opts, a:arg)
-    if has_key(opts, 'tag')
-      let opts.tag = remove(opts, 'tag')
-    endif
     if has_key(opts, 'dir')
     if has_key(opts, 'dir')
       let opts.dir = s:dirpath(expand(opts.dir))
       let opts.dir = s:dirpath(expand(opts.dir))
     endif
     endif

+ 2 - 2
test/regressions.vader

@@ -100,7 +100,7 @@ Execute (#139-1 Using new remote branch):
   " We're setting up two plugins so that parallel installer is used
   " We're setting up two plugins so that parallel installer is used
   call plug#begin('$TMPDIR/plugged')
   call plug#begin('$TMPDIR/plugged')
   Plug 'junegunn/seoul256.vim'
   Plug 'junegunn/seoul256.vim'
-  Plug expand('file:///$TMPDIR/new-branch'), 'new'
+  Plug expand('file:///$TMPDIR/new-branch'), { 'branch': 'new' }
   call plug#end()
   call plug#end()
   PlugUpdate
   PlugUpdate
   silent %y
   silent %y
@@ -130,7 +130,7 @@ Execute (#139-2 Using yet another new remote branch):
 
 
   " Test Vim installer here
   " Test Vim installer here
   call plug#begin('$TMPDIR/plugged')
   call plug#begin('$TMPDIR/plugged')
-  Plug expand('file:///$TMPDIR/new-branch'), 'brand-new'
+  Plug expand('file:///$TMPDIR/new-branch'), { 'branch': 'brand-new' }
   call plug#end()
   call plug#end()
   PlugUpdate
   PlugUpdate
   silent %y
   silent %y

+ 2 - 2
test/workflow.vader

@@ -33,7 +33,7 @@ Execute (Subsequent plug#begin() calls will reuse g:plug_home):
 
 
 Execute (Test Plug command):
 Execute (Test Plug command):
 ^ Git repo with branch (DEPRECATED. USE BRANCH OPTION)
 ^ Git repo with branch (DEPRECATED. USE BRANCH OPTION)
-  Plug 'junegunn/seoul256.vim', 'yes-t_co'
+  Plug 'junegunn/seoul256.vim', { 'branch': 'yes-t_co' }
   AssertEqual 'file:///tmp/junegunn/seoul256.vim', g:plugs['seoul256.vim'].uri
   AssertEqual 'file:///tmp/junegunn/seoul256.vim', g:plugs['seoul256.vim'].uri
   AssertEqual join([temp_plugged, 'seoul256.vim/'], '/'), g:plugs['seoul256.vim'].dir
   AssertEqual join([temp_plugged, 'seoul256.vim/'], '/'), g:plugs['seoul256.vim'].dir
   AssertEqual 'yes-t_co', g:plugs['seoul256.vim'].branch
   AssertEqual 'yes-t_co', g:plugs['seoul256.vim'].branch
@@ -45,7 +45,7 @@ Execute (Test Plug command):
   Plug 'junegunn/goyo.vim', '1.5.2'
   Plug 'junegunn/goyo.vim', '1.5.2'
   AssertEqual 'file:///tmp/junegunn/goyo.vim', g:plugs['goyo.vim'].uri
   AssertEqual 'file:///tmp/junegunn/goyo.vim', g:plugs['goyo.vim'].uri
   AssertEqual join([temp_plugged, 'goyo.vim/'], '/'), g:plugs['goyo.vim'].dir
   AssertEqual join([temp_plugged, 'goyo.vim/'], '/'), g:plugs['goyo.vim'].dir
-  AssertEqual '1.5.2', g:plugs['goyo.vim'].branch
+  AssertEqual '1.5.2', g:plugs['goyo.vim'].tag
 
 
   Plug 'junegunn/goyo.vim', { 'tag': '1.5.3' } " Using tag option
   Plug 'junegunn/goyo.vim', { 'tag': '1.5.3' } " Using tag option
   AssertEqual '1.5.3', g:plugs['goyo.vim'].tag
   AssertEqual '1.5.3', g:plugs['goyo.vim'].tag