Commit Graph

118 Commits

Author SHA1 Message Date
Junegunn Choi
d977fa3786
Do not remove 'frozen' plugins on PlugClean
Close #1152
2024-03-31 00:53:55 +09:00
Junegunn Choi
854b081934
Open vim-plug window in a new tab (#1274)
* Open vim-plug window in a new tab not to disrupt the current window layout
* Open preview window on the right to better show the diff

If you prefer the old layout, use the following configuration:

    let g:plug_window = 'vertical topleft new'
    let g:plug_pwindow = 'above 12new'
2024-03-07 01:16:12 +09:00
Junegunn Choi
ed19478ce2
Keep track of the default branch of the origin (#1272)
Fix #1005

vim-plug will now run `git remote set-head origin -a` on PlugUpdate to
keep track of the default branch of the origin, so that it can still
update a plugin even if its default branch has changed.

This additional command will slow down the update process, but this is
an unavoidable price to pay for the correctness of the task. However,
vim-plug will run checkout and merge commands in parallel, so this
improvement will slightly offset the slowdown.
2024-03-07 00:18:49 +09:00
Junegunn Choi
8fdabfba0b
PlugDiff: Press enter on the name of a plugin to see the full diff
Close #1174
2022-05-03 23:10:00 +09:00
Junegunn Choi
93ab590978
Include plugins with 'commit' values in PlugSnapshot output
Fix #1167
2022-04-04 11:52:45 +09:00
Rosen Stoyanov
cffcfe150b
Add GV.vim-style q mapping (#827)
* Add GV.vim-style q mapping

* Fix test cases

Co-authored-by: Junegunn Choi <junegunn.c@gmail.com>
2021-02-08 16:23:21 +09:00
Junegunn Choi
e8892a9bef Update test cases 2020-08-30 02:05:50 +09:00
Jan Edmund Lazo
c319036396
Fix #961 tests for Vim 7.4 (#990)
Use build stages to group related jobs (Vim, Neovim, Vim 7.4).
Use "silent" to avoid hit-enter prompt when redirecting output.
Always run async and sync tests to debug runtime errors. 
Vim 7.4.0052 (Ubuntu Trusty) does not allow dynamic keys in inline dictionary.

https://docs.travis-ci.com/user/build-stages/
2020-07-06 01:07:42 -04:00
Wolf Honore
3aa3b5a4e8
Report when PlugClean fails to remove a directory (#985) 2020-06-25 20:56:47 +09:00
Jan Edmund Lazo
6583b99032
:Plug throws error for invalid option (#961)
":Plug" performs a quick type check for most options so that the user can check which plugin has invalid configuration on startup. This does not prevent errors, resulting from modiying "g:plugs" after running "plug#end()". Plugin repo is added to the error message for convenience. Most users should expect no noticeable difference in startup time.

Close: #930
Related: #936
2020-06-03 07:34:44 -04:00
Henré Botha
c3b6b7c297 Clarify error message (#931)
The existing error message printed when plug#end() is called without
calling plug#begin() doesn't make the dependence on plug#begin()
obvious; I had to go digging in the vim-plug code to discover what I'd
done wrong. This attempts to clarify the error a bit, to make it more
obvious to a user.
2020-01-27 22:48:16 +09:00
Jan Edmund Lazo
e6ed2e5658
Do not show git signatures in diff window (#918)
git v2.10.0 adds "log.showSignature" config
so that "git log --show-signature" runs by default.
Changing the commit format via "--pretty" does not prevent the signature
from appearing.
Only "--no-show-signature" prevents this.

Close #728
2019-12-09 23:26:56 -05:00
Nate Fischer
734d9a11b5 Use 'rtp' option to filter diff (#798)
Previously, `:PlugDiff` would show every new commit to a plugin's git
repo. This makes sense for the general case, but makes less sense when a
plugin lives in a subdirectory of the repo (and is configured with the
'rtp' option). This makes it difficult to determine which commits relate
to the plugin and which are unrelated.

This changes `:PlugDiff` to filter out any commits outside of the 'rtp'
folder.

Some consequences:

 * This does not change the `:PlugUpdate` UI. This means `:PlugUpdate`
   may pull down non-plugin commits, display that it has updated the
   plugin, and then `:PlugDiff` will show no updates (since such commits
   fall out of the 'rtp' path).
 * It also means there's no UI to revert non-plugin updates, as they
   don't show up in `:PlugDiff`.
2018-11-04 03:00:00 +09:00
Junegunn Choi
b6050d6f03
Allow cloning into an empty directory (#782)
Close #766

We can rely on git to check if the destination directory is empty.
2018-09-12 13:45:38 +09:00
Junegunn Choi
f80eed7379
Add <plug>(plug-preview) map (#769)
This allows you to override the default behavior of `o' or `<cr>'
binding in PlugDiff window.

e.g.
    " Move to preview window
    autocmd! FileType vim-plug nmap <buffer> o <plug>(plug-preview)<c-w>P

Close #749
Close #768
2018-06-20 18:09:06 +09:00
Daniel Hahler
e6a775e0df Fix handling of changed up-to-date msg from Git (#724)
The msg was changed from 'Already up-to-date' to 'Already up to date'.
2018-03-04 13:43:13 +09:00
Junegunn Choi
ddc67fc136
Fix helptags generation for plugins with custom rtp
Close #684
2017-09-25 00:00:03 +09:00
Junegunn Choi
449b4f1ed6
Disallow using standard Vim plugin directory as plug home
Close #646
2017-06-27 17:44:12 +09:00
Junegunn Choi
802b100415
Extend plug#load to process a list of names instead of varargs
Allows `call plug#load(keys(g:plugs))` for manually loading all plugins
at once. Close #638.
2017-06-06 16:17:31 +09:00
Junegunn Choi
f7e6a86807
Deprecate implicit vim-scripts expansion
vim-scripts.org is no longer maintained.

Close #625
2017-05-01 21:31:57 +09:00
Daniel Hahler
9dcab48628 Load plugins only once in plug#load (#616)
When loading 'deoplete.nvim' for the 2nd time during InsertEnter
manually, the `s:dobufread` (or `s:lod` itself) prevents it to work
properly - likely because the plugin gets resourced.

Maybe there could be a way to force this (and reload plugins always),
but by default it seems to make sense to skip already loaded plugins.
2017-04-17 02:46:02 +09:00
Junegunn Choi
769192d3d0
Append -- to git checkout commands
Checking out a branch or tag may not succeed if there is a path entry
with the same name. This commit appends -- to git checkout commands to
clarify that we're not referring to a file or a directory.

Close #602
2017-02-26 03:35:45 +09:00
Junegunn Choi
93ffcb36de
Commit preview should work with non-POSIX-compliant &shell
Close #572
2017-01-02 13:06:51 +09:00
Daniel Hahler
1540764563 git_validate: better error with checkout being ahead/diverged (#546) 2016-12-11 21:43:44 +09:00
Daniel Hahler
b9022d9046 test/workflow.vader: minor Assert improvement (#563) 2016-12-11 21:25:33 +09:00
Junegunn Choi
6ad18f5fb8
Ignore trailing ! in proxy command name
Close #557
2016-11-26 12:22:55 +09:00
Junegunn Choi
0662b5f4cc Fix Travis CI failure 2016-10-09 05:17:34 +09:00
Junegunn Choi
a2f1ea481d
Reuse existing plug window
Close #532
2016-10-09 04:48:53 +09:00
Junegunn Choi
6575bd65b1
Improve git URI validation
Close #530
2016-10-08 23:32:48 +09:00
Junegunn Choi
5d8c4bfc1f
Print exception from post-update hook with : prefix 2016-10-08 23:22:06 +09:00
Junegunn Choi
c0a83826f9
Print warning message when plug window is closed 2016-10-08 23:06:24 +09:00
Junegunn Choi
561518fd8c
Print post-processing error in multi-line paragraph
Related #510
2016-08-15 00:46:10 +09:00
Junegunn Choi
e15598fe45 Add g:plug_pwindow for customizing preview window layout
Close #504
2016-07-23 18:36:30 +09:00
Junegunn Choi
c9a7ca1e9e
Define d operator for selectively removing invalid directories
Fix #503
2016-07-23 18:02:00 +09:00
Junegunn Choi
17996cedce
Support { 'do': ':VimCommand' } notation
Close #450
2016-07-13 23:01:41 +09:00
Junegunn Choi
05a1620bb1
Put cursor inside the installer window after post-update hook
https://github.com/chrisbra/unicode.vim/issues/16
2016-06-16 22:17:21 +09:00
Junegunn Choi
656ccef8dc Switch &shell during submodule update
Fix #481
2016-04-29 13:39:17 +09:00
Junegunn Choi
e6ea538558 Support wildcards in tag option
Close #427
2016-04-17 15:32:34 +09:00
Junegunn Choi
c6ed41f47e Detect plugins that are diverged their origins
Close #462
2016-04-10 20:33:37 +09:00
Junegunn Choi
3595d5b52a Add comments to test file 2016-04-10 20:21:41 +09:00
Chayoung You
a61d097037 Make Plug{Install,Update}! trigger post-fetch checkout, submodule update
Now `:PlugInstall!` and `:PlugUpdate!` forces to update submodules.
`:PlugInstall!` now also checks out to new specified branch, tag, or
commit.

Also added tests for changing branch, tag, or commit.
2016-04-04 14:05:35 +09:00
Junegunn Choi
eb47183af2 Refactor duplicate logic in installers
This commit extracts duplicate logic out of three installers.

Pros.
- Better maintainability
- Easier to add/extend the features
- Fixes a bug when 'commit' option is used, submodules are updated
  before the designated commit is checked out

Cons.
- The whole process takes slightly longer due to lost parallelism after pull
- Especially, submodule updates are not parallelized
    - However, this shouldn't matter much in practice as there are few
      plugins that heavily rely on submodules
2016-03-24 01:06:46 +09:00
Joshua Priddle
396c60f24c Avoid multiple syntax enable during Vim startup 2016-02-20 21:00:06 -05:00
Junegunn Choi
ffd54224a0 Fix #410 - Do not load irrelevant syntax files 2016-02-18 01:34:04 +09:00
Junegunn Choi
7d494b4a7b Add 'as' option (#371) 2016-01-26 03:01:20 +09:00
Junegunn Choi
e6f40479ee PlugDiff to show pending updates as well
Related: #348
2015-12-23 13:12:06 +09:00
Junegunn Choi
6843e5aeec Merge pull request #361 from junegunn/snapshot-in-vimscript
PlugSnapshot output in Vim script format (#360)
2015-12-17 23:34:37 +09:00
Junegunn Choi
0cfa683cd0 PlugSnapshot output in Vim script format (#360)
- The output file is no longer executable but a source-able vim script
- PlugSnapshot FILENAME to prompt the user if the file already exists
- Add PlugSnapshot! FILENAME variant to force overwrite existing file
- Apply -complete=file option to PlugSnapshot command
2015-12-17 16:06:19 +09:00
Junegunn Choi
e929534199 Fix #362 - Do not show future changes in PlugDiff 2015-12-16 22:56:57 +09:00
Junegunn Choi
52d7da3925 Fix #355 - PlugSnapshot to create scripts that disable shallow-clone 2015-12-14 23:16:50 +09:00