aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorJames McCoy <jamessan@jamessan.com>2016-06-20 20:24:13 -0400
committerJames McCoy <jamessan@jamessan.com>2016-07-08 01:43:37 -0400
commit26f74fdf61827f5afc6fe4e90b9e9497264cb039 (patch)
treefa722246ff2dde5886b6ad6cc40e87b39e3d7b1c /src
parentea18b4a60f3b89d261c46b030d3d026ddad864bb (diff)
downloadrneovim-26f74fdf61827f5afc6fe4e90b9e9497264cb039.tar.gz
rneovim-26f74fdf61827f5afc6fe4e90b9e9497264cb039.tar.bz2
rneovim-26f74fdf61827f5afc6fe4e90b9e9497264cb039.zip
vim-patch:7.4.1550
Problem: Cannot load packages early. Solution: Add the ":packloadall" command. https://github.com/vim/vim/commit/2d8f56acb32428d0f965d42dd13b27100b46fa15
Diffstat (limited to 'src')
-rw-r--r--src/nvim/ex_cmds.lua6
-rw-r--r--src/nvim/ex_cmds2.c12
-rw-r--r--src/nvim/main.c2
-rw-r--r--src/nvim/version.c2
4 files changed, 17 insertions, 5 deletions
diff --git a/src/nvim/ex_cmds.lua b/src/nvim/ex_cmds.lua
index 0e8cf21d69..76191d5a56 100644
--- a/src/nvim/ex_cmds.lua
+++ b/src/nvim/ex_cmds.lua
@@ -1855,6 +1855,12 @@ return {
func='ex_packadd',
},
{
+ command='packloadall',
+ flags=bit.bor(BANG, TRLBAR, SBOXOK, CMDWIN),
+ addr_type=ADDR_LINES,
+ func='ex_packloadall',
+ },
+ {
command='pclose',
flags=bit.bor(BANG, TRLBAR),
addr_type=ADDR_LINES,
diff --git a/src/nvim/ex_cmds2.c b/src/nvim/ex_cmds2.c
index 3f211d7ab8..17125ec798 100644
--- a/src/nvim/ex_cmds2.c
+++ b/src/nvim/ex_cmds2.c
@@ -2496,11 +2496,17 @@ theend:
xfree(ffname);
}
+static bool did_source_packages = false;
+
+// ":packloadall"
// Find plugins in the package directories and source them.
-void source_packages(void)
+void ex_packloadall(exarg_T *eap)
{
- do_in_path(p_pp, (char_u *)"pack/*/start/*", DIP_ALL + DIP_DIR,
- add_pack_plugin, p_pp);
+ if (!did_source_packages || (eap != NULL && eap->forceit)) {
+ did_source_packages = true;
+ do_in_path(p_pp, (char_u *)"pack/*/start/*", DIP_ALL + DIP_DIR,
+ add_pack_plugin, p_pp);
+ }
}
/// ":packadd[!] {name}"
diff --git a/src/nvim/main.c b/src/nvim/main.c
index dcfd9b0fdf..787a99802b 100644
--- a/src/nvim/main.c
+++ b/src/nvim/main.c
@@ -1244,7 +1244,7 @@ static void load_plugins(void)
source_runtime((char_u *)"plugin/**/*.vim", TRUE);
TIME_MSG("loading plugins");
- source_packages();
+ ex_packloadall(NULL);
TIME_MSG("loading packages");
}
}
diff --git a/src/nvim/version.c b/src/nvim/version.c
index 9fcc811f7a..97cd65700f 100644
--- a/src/nvim/version.c
+++ b/src/nvim/version.c
@@ -145,7 +145,7 @@ static int included_patches[] = {
// 1553,
// 1552,
// 1551,
- // 1550,
+ 1550,
// 1549,
// 1548,
// 1547,