Commit Graph

292 Commits

Author SHA1 Message Date
Junegunn Choi
93628b1c3d Forced run of post-update hooks using bang commands
PlugInstall! / PlugUpdate!
2014-08-02 12:13:52 +09:00
Junegunn Choi
01e126469b Remove duplicate expression and escape helptags directory 2014-08-02 02:52:56 +09:00
Junegunn Choi
61b77bc8e8 Fix many subtle issues regarding on-demand loading etc.
- On-demand loading
    - Fix loading of unwanted files (e.g. colors/*.vim, syntax/*.vim, etc.)
- Filetyp-based on-demand loading
    - Load `after/ftdetect` as well
    - Make sure indent files are loaded by invoking
      `doautocmd filetypeindent FileType`
- Ensure plugin loaded when it was added after Vim started
- Do not reload $MYVIMRC after installtion/update
    - Instead simply call plug#end()
2014-07-31 16:34:41 +09:00
Junegunn Choi
fe7c7e7b40 Minor tweaks 2014-07-31 03:04:59 +09:00
Junegunn Choi
25afdf138c Refactoring
- Remove dead code
- Extract method
2014-07-31 01:01:59 +09:00
Junegunn Choi
b36fd34da0 Ensure files under after are loaded when first installed 2014-07-31 00:17:21 +09:00
Junegunn Choi
7e55690f19 Update examples 2014-07-30 20:00:21 +09:00
Junegunn Choi
30ef53d832 Remove support for experiemental dependency resolution (#43)
🎉
2014-07-30 19:52:19 +09:00
Junegunn Choi
f58d090bb2 Add dir option: managed plugins outside g:plug_home 2014-07-30 19:20:51 +09:00
Andrea Cedraro
6af2cd8946 Inline substitute inside s:dirpath() 2014-07-29 14:21:11 +02:00
Junegunn Choi
9bb2da53a0 Replace s:extract_name with a single fnamemodify call 2014-07-29 19:17:12 +09:00
Junegunn Choi
58c06ed77e Use single-quotes whenever possible for consistency 2014-07-29 19:07:09 +09:00
Junegunn Choi
2e691c6feb Define a separate version of s:is_local_plug for Windows 2014-07-29 10:09:05 +09:00
Junegunn Choi
a18087610a Use fnamemodify instead of split hackery
Simpler and faster
2014-07-29 02:42:53 +09:00
Junegunn Choi
276106d987 Performance tuning: reduce the number of s:parse_options calls 2014-07-29 02:11:59 +09:00
Junegunn Choi
d499fc311a Use dot operator instead of get()
The reason I used get() instead of concise dot operator when accessing
`frozen` and `local` properties of plugin spec was to avoid errors when
a user "PlugUpgrade" from an old version of vim-plug whose g:plugs does
not have those properties. Added the code to patch the old version of
g:plugs so that we can safely use dot operators.
2014-07-29 01:51:32 +09:00
Junegunn Choi
c4b4aa8f07 Code cleanup: reuse s:trim() when possible 2014-07-29 00:19:29 +09:00
Junegunn Choi
d690f8d576 Change error reporting method
As suggested by @vheon:
https://github.com/junegunn/vim-plug/pull/40#issuecomment-50278543
2014-07-28 19:56:59 +09:00
Junegunn Choi
8738341ad0 Performance tuning: reduce the number of globpath calls 2014-07-28 19:45:40 +09:00
Junegunn Choi
5ab2024fbb Performace tuning: inlining some function calls 2014-07-28 19:41:05 +09:00
Junegunn Choi
300176ba9f Avoid echoerr inside catch block 2014-07-28 01:27:30 +09:00
Andrea Cedraro
da7d6bd58b Refactor s:add function 2014-07-27 17:38:57 +02:00
Junegunn Choi
e6a594f1ad Change post-hook function to take a dictionary for more control 2014-07-27 11:28:53 +09:00
Junegunn Choi
e741d02ad0 Fix elapsed time to include the time spent in post-update hook 2014-07-27 11:15:13 +09:00
Junegunn Choi
b2208640d4 Update documentation 2014-07-27 11:06:47 +09:00
Junegunn Choi
aa49c38586 Don't need <Plug> map (#38) 2014-07-27 03:16:44 +09:00
Junegunn Choi
b6b10ac17e Print progress of post-update hooks using :! (#38) 2014-07-27 03:07:37 +09:00
Andrea Cedraro
6ff1031339 Replace return value of type() with named values 2014-07-26 19:14:46 +02:00
Junegunn Choi
0936877399 Don't check for the need for post-update hook when interrupted 2014-07-27 00:42:23 +09:00
Junegunn Choi
d956e16f15 Minor refactoring 2014-07-26 22:58:34 +09:00
Junegunn Choi
f98c8456fa Post-update hook (do option) 2014-07-26 22:49:18 +09:00
Junegunn Choi
5b2c03d3a8 R to retry interrupted tasks as well 2014-07-23 11:46:29 +09:00
Junegunn Choi
74fa6ab9df 'R' to retry failed update/installation tasks 2014-07-22 12:46:59 +09:00
Junegunn Choi
0d7e20c984 Merge pull request #37 from junegunn/retries
Retry in case of timeout
2014-07-21 23:13:43 +09:00
Junegunn Choi
e2714fb56e Retry in 3 seconds 2014-07-21 23:09:16 +09:00
Junegunn Choi
3b83a22ea4 Avoid InsertEnter/InsertLeave events in GUI MacVim workaround 2014-07-21 14:27:38 +09:00
Junegunn Choi
cd418369bc Use gui_macvim instead of mac (#36) 2014-07-21 11:42:27 +09:00
Junegunn Choi
279a334c8b Temporarily disable &imd on GUI MacVim (#36) 2014-07-21 11:35:48 +09:00
Junegunn Choi
9132e9d50d Workaround for screen freeze in MacVim GUI (#36) 2014-07-21 02:49:47 +09:00
Junegunn Choi
3323163e04 Retry in case of timeout (#35)
while gradually increasing the time limit
2014-07-20 02:14:15 +09:00
Junegunn Choi
e4671eaf9e Do not assume that frozen key exists
To avoid possible error after PlugUpgrade
2014-07-18 01:27:41 +09:00
Junegunn Choi
9afa356fb3 Exclude unmanaged plugins from PlugDiff output 2014-07-17 10:28:59 +09:00
Junegunn Choi
e04f696682 Ignore errors during :helptags
https://github.com/junegunn/vim-plug/issues/31#issuecomment-49058031
2014-07-17 02:20:00 +09:00
Junegunn Choi
46a6e8441f Pin first and last path in &rtp (#34) 2014-07-16 20:26:42 +09:00
Junegunn Choi
466d1839b3 Add support for local plugins. Add frozen option (#32) 2014-07-16 19:52:58 +09:00
Junegunn Choi
c3cf35abb5 Ignore occasional error from Ruby 1.8.7
Related: https://bugs.ruby-lang.org/issues/1471
2014-07-13 22:02:11 +09:00
Junegunn Choi
344f80aedb Fix Ruby installer for Ruby 1.8.7 (#31) 2014-07-13 20:18:56 +09:00
Junegunn Choi
af89938633 Real-time progress report
This commit is almost identical to the reverted
60b907c87f, but it tries to avoid high CPU load
by not printing every line.
2014-07-13 03:58:16 +09:00
Junegunn Choi
35c5f2830b Revert "Real-time progress report"
This reverts commit 60b907c87f.
2014-07-13 03:22:25 +09:00
Junegunn Choi
60b907c87f Real-time progress report 2014-07-13 03:05:54 +09:00
Junegunn Choi
9ceb9caa09 Minor refactoring 2014-07-10 00:44:09 +09:00
Junegunn Choi
42a42e7e71 Fix after directory and Plugfile on Windows 2014-07-10 00:13:32 +09:00
Junegunn Choi
8885b1086f Minor refactoring in ODL: no need to pass full dict 2014-07-09 01:14:03 +09:00
Junegunn Choi
90c07f269c Fix <Plug>-based ODL on visual range spanning multiple lines 2014-07-07 22:55:44 +09:00
Junegunn Choi
f1c5157e35 Fix <Plug>-based on-demand-loading on visual mode 2014-07-07 19:06:20 +09:00
Junegunn Choi
7f1ec7b12b Load ftplugins while avoiding extraneous FileType events (#24, #25) 2014-07-04 14:20:48 +09:00
Junegunn Choi
cc37ed48be Improve PlugStatus message
Invalid branch/tag: %s (expected: %s). Try PlugUpdate.
2014-06-23 12:22:25 +09:00
Junegunn Choi
afe7dc6f8f Use case-sensitive match 2014-06-23 04:04:03 +09:00
Junegunn Choi
8863a3a53c Fix #28: False alarm from PlugStatus when tag used 2014-06-23 04:02:49 +09:00
Junegunn Choi
ee04a646d3 Fix: dependent plugins not loaded after initial installaion 2014-06-22 21:49:51 +09:00
Junegunn Choi
6ddee62977 Ensure ftplugin files are loaded (#24) 2014-06-22 13:09:18 +09:00
Junegunn Choi
8cf5fca9ca Revert "Ensure ftplugin files are loaded (#24)"
This reverts commit a026eb39c4.

Conflicts:
	plug.vim
2014-06-22 12:49:22 +09:00
Junegunn Choi
347fccb030 Revert "Remove FileType autocmd after loaded"
This reverts commit db3f5ad5c3.

Conflicts:
	plug.vim
2014-06-22 12:45:21 +09:00
Junegunn Choi
a026eb39c4 Ensure ftplugin files are loaded (#24)
If `filetype plugin on` is called before `plug#end()`, filetype
plugin handler is invoked before ODL autocmd from vim-plug which
updates runtimepath and ftplugin files are not loaded.
2014-06-22 10:27:15 +09:00
Junegunn Choi
4d352e1849 Revert "Clear #filetypeplugin for filetype-based ODL (#24)"
This reverts commit 1d477a1a01.
2014-06-22 10:21:58 +09:00
Junegunn Choi
db3f5ad5c3 Remove FileType autocmd after loaded 2014-06-22 09:58:14 +09:00
Junegunn Choi
1d477a1a01 Clear #filetypeplugin for filetype-based ODL (#24) 2014-06-22 04:24:19 +09:00
Junegunn Choi
5168cd50db Allow updating subset of plugins
This commit extends `PlugInstall` and `PlugUpdate` command to allow
updating only a subset of plugins as follows:

    " With tab completion of plugin names
    :PlugInstall vim-easy-align seoul256
    :PlugUpdate vim-easy-align seoul256
2014-06-20 20:53:57 +09:00
Junegunn Choi
4d32762432 Allow -range in on-demand loading commands 2014-06-20 20:35:33 +09:00
Junegunn Choi
8dff1dae37 Allow trailing comment after Plug declaration (#23) 2014-06-20 09:58:50 +09:00
Junegunn Choi
b5b687ad9a On-demand loading on filetypes (#21) 2014-06-17 11:59:42 +09:00
Junegunn Choi
7e69a50890 Fix on-demand loading: load ftdetect and **/*.vim as well 2014-06-17 11:45:42 +09:00
Junegunn Choi
476a613746 Fix #19: install error 2014-06-06 00:16:57 +09:00
Junegunn Choi
12b5dcb903 git submodule update --init --recursive (#18) 2014-06-03 18:51:01 +09:00
Junegunn Choi
de81f95f69 Use black hole register when emptying buffer 2014-04-15 02:01:47 +09:00
Junegunn Choi
b7cf1ca65a Echo "Press 'D'" message only on PlugUpdate 2014-04-15 02:00:39 +09:00
Junegunn Choi
7fa22a6927 PlugDiff: Display commit info in preview window 2014-04-14 21:20:21 +09:00
Junegunn Choi
6f487f1579 Explicitly return 0 2014-04-14 20:27:23 +09:00
Junegunn Choi
f8fcc81783 Use s:esc function 2014-04-09 15:25:21 +09:00
Junegunn Choi
32dc4ca93f Change PlugDiff message (suggested by @beloglazov in #17) 2014-04-09 11:59:46 +09:00
Junegunn Choi
7047eda149 Change PlugDiff message (thanks to @beloglazov) 2014-04-09 11:22:20 +09:00
Junegunn Choi
5679540a2a Less LOC 2014-04-09 01:03:43 +09:00
Junegunn Choi
d2f6c09c7a Fix syntax highlighting (#17) 2014-04-09 00:53:37 +09:00
Junegunn Choi
acbba74fe2 Fix output format (#17) 2014-04-09 00:40:19 +09:00
Junegunn Choi
f00dacd7bd Add PlugDiff command (#17) 2014-04-08 21:43:49 +09:00
Junegunn Choi
8986f87b83 Change PlugStatus output to match those of other commands 2014-04-08 21:33:38 +09:00
Junegunn Choi
ae6f3254d8 Place cursor on the 2nd line during PlugClean 2014-04-08 21:32:29 +09:00
C.D. Clark III
b763cae81a added plug load order (for dependencies)
plugin directories now appear in the runtime path in the same order they
are listed. this allows plugs that depend on other plugins to be loaded
after their dependencies.
2014-03-29 21:29:54 -05:00
Junegunn Choi
358363eefc Support paths with spaces (#15 [, #14]) 2014-03-27 01:07:09 +09:00
Junegunn Choi
2ef9b8a492 Replace shellescape function to avoid error when &shellslash is set 2014-03-19 12:15:26 +09:00
Junegunn Choi
2a3a40dd42 Fix PlugStatus/PlugClean on Windows 2014-03-19 00:43:37 +09:00
Junegunn Choi
ff01c54720 Remove unnecessary code 2014-03-13 01:04:17 +09:00
Junegunn Choi
aca17edd1c On-demand loading for imaps of <Plug> mappings 2014-02-12 03:11:13 +09:00
Junegunn Choi
06ced6b640 Use <silent> map 2014-02-12 02:57:47 +09:00
Junegunn Choi
7ea0b523e5 Avoid remapping of temporary <Plug> map 2014-02-12 02:07:09 +09:00
Junegunn Choi
cbe2e519d0 On-demand loading with <Plug> mappings (experimental)
e.g. Plug 'xxx', { 'on': '<Plug>xxx' }
2014-02-12 01:57:30 +09:00
Junegunn Choi
1c2d394782 Load-on-demand with on option 2014-02-12 00:45:23 +09:00
Junegunn Choi
a3cf17a2b3 Print error message when unable to determine plug home 2014-01-19 00:06:23 +09:00
Junegunn Choi
b9174c366f Display error message if plug#end is called before plug#begin 2014-01-18 19:01:52 +09:00
Junegunn Choi
abfb0e74e4 Update formatting of error messages 2014-01-06 13:04:38 +09:00
Junegunn Choi
e95dd2e468 Ignore git:@ when validating cloned repository 2014-01-06 10:26:41 +09:00
Junegunn Choi
77b1bdfa8a Change list bullet charactor for errors 2014-01-06 10:13:00 +09:00
Junegunn Choi
d37c7a47d7 Improve progress bar format 2013-12-04 23:41:53 +09:00
Junegunn Choi
0df48bbb4d Remove set nocompatible (Fixes #11) 2013-11-11 10:27:26 +09:00
Junegunn Choi
8fd974b091 Fix source code error on vim -u MYVIMRC 2013-11-11 10:26:47 +09:00
Junegunn Choi
23748f115f Strip trailing slash from g:plug_home 2013-10-14 12:51:53 +09:00
Junegunn Choi
4b13f358a0 Revert "Make :Plug command unavailable after end()"
This reverts commit d369322e03.
2013-10-07 02:14:35 +09:00
Junegunn Choi
d369322e03 Make :Plug command unavailable after end()
The other commands is made available after end()
2013-10-07 01:39:20 +09:00
Junegunn Choi
533593e3ef Fix repo name 2013-10-01 01:32:34 +09:00
Junegunn Choi
a8e953b793 PlugUpgrade without curl 2013-09-29 12:31:39 +09:00
Junegunn Choi
8fe08f1944 Remove trailing backslash from rtp on Windows 2013-09-28 23:43:01 +09:00
Junegunn Choi
39d3384bfd while -> until 2013-09-28 20:32:25 +09:00
Junegunn Choi
09b2080ddb Recursively kill dangling child processes using pgrep 2013-09-28 20:29:18 +09:00
Junegunn Choi
3a4ffb49e9 Try to cleanup dangling processes on int or timeout (#5, #6) 2013-09-28 18:53:18 +09:00
Junegunn Choi
fe942d61d2 Implement task timeout with default timeout 60 sec (#5)
Terminating a task during its execution can leave the directory in an invalid
state. PlugClean command was updated as well to handle invalid directories.
2013-09-28 12:43:21 +09:00
Junegunn Choi
8bfcf21f22 Fix #4: parallel installer work on Windows 2013-09-26 19:07:12 +09:00
Junegunn Choi
f36a558a67 Fix PlugClean on Windows 2013-09-26 15:08:52 +09:00
Junegunn Choi
b60ecd2cc1 Make plug#begin() return boolean value
silent! if plug#begin()
  Plug 'user/repo'
  ..
  call plug#end()
endif
2013-09-26 06:37:17 +09:00
Junegunn Choi
a663670c2b Find Plugfile under rtp 2013-09-25 22:35:34 +09:00
Junegunn Choi
87901b671c Add support for dictionary option argument: branch, rtp (#2) 2013-09-25 15:13:45 +09:00
Junegunn Choi
d05f75f782 Proper handling of invalid branch in parallel installer 2013-09-25 12:45:14 +09:00
Junegunn Choi
8ee3a0b36d Fix branch argument 2013-09-25 12:41:49 +09:00
Junegunn Choi
2cf0c4fda5 Spawn multiple threads unless g:plug_threads is set to 1 2013-09-25 12:30:02 +09:00
Junegunn Choi
214b4fb6fa Prevent serialization due to early termination of threads 2013-09-25 12:02:15 +09:00
Junegunn Choi
a9d5912b4d Prototype implementation of dependency resolution (#2) 2013-09-25 02:08:42 +09:00
Junegunn Choi
0c865ba6bf Updating plugins -> Installing plugins 2013-09-24 12:47:47 +09:00
Junegunn Choi
e117c264d2 Add PlugStatus command 2013-09-23 17:33:36 +09:00
Junegunn Choi
99b9f5e9c8 Update syntax highlighting 2013-09-22 23:25:02 +09:00
Junegunn Choi
f033938829 Print log in reverse order 2013-09-22 13:38:09 +09:00
Junegunn Choi
2652383f97 Fix PlugClean user prompt 2013-09-18 12:23:43 +09:00
Junegunn Choi
e024756578 Change PlugClean message 2013-09-18 12:19:19 +09:00
Junegunn Choi
443fbd3699 PlugClean! 2013-09-17 22:57:13 +09:00
Junegunn Choi
ee343ab562 Git remote validation 2013-09-17 12:35:10 +09:00
Junegunn Choi
09df71c3db plug#begin() - plug#end() 2013-09-16 17:37:09 +09:00
Junegunn Choi
9573ec9bd2 Change directory structure: user/repo/branch -> user/repo 2013-09-13 12:13:24 +09:00
Junegunn Choi
754abb36a2 Add after directory to rtp as well 2013-09-12 00:35:24 +09:00
Junegunn Choi
77da66ad63 Old rubby 2013-09-11 14:05:38 +09:00
Junegunn Choi
055c4877d2 Windows support 2013-09-11 12:29:36 +09:00
Junegunn Choi
0c1a96b6b2 Improve parallel update process 2013-09-11 12:06:57 +09:00
Junegunn Choi
bc438626ba Updates
- Sourcing self after upgrage
- Error highlighting
- https://git:@ prefix to avoid username/password prompt
2013-09-11 02:26:40 +09:00
Junegunn Choi
9e9655f947 Fix PlugUpgrade 2013-09-11 00:08:36 +09:00
Junegunn Choi
fe264c97a1 Initial commit 2013-09-10 23:58:41 +09:00