aboutsummaryrefslogtreecommitdiff
path: root/src/nvim/runtime.h
diff options
context:
space:
mode:
authorBjörn Linse <bjorn.linse@gmail.com>2021-09-19 12:11:41 +0200
committerBjörn Linse <bjorn.linse@gmail.com>2021-09-26 15:44:40 +0200
commitac3288d556965b0aaae03c59244278700eb598e8 (patch)
treef5593187d9173f066ddb65d5110f528fde980531 /src/nvim/runtime.h
parentb3b02eb52943fdc8ba74af3b485e9d11655bc9c9 (diff)
downloadrneovim-ac3288d556965b0aaae03c59244278700eb598e8.tar.gz
rneovim-ac3288d556965b0aaae03c59244278700eb598e8.tar.bz2
rneovim-ac3288d556965b0aaae03c59244278700eb598e8.zip
fix(runtime): ordering of loading packages with user config
site packages must be sourced before user config NOTE: we only consider dirs exactly matching "after" to be an AFTER dir. vim8 considers all dirs like "foo/bar_after", "Xafter" etc, as an "after" dir in SOME codepaths not not in ALL codepaths.
Diffstat (limited to 'src/nvim/runtime.h')
-rw-r--r--src/nvim/runtime.h20
1 files changed, 20 insertions, 0 deletions
diff --git a/src/nvim/runtime.h b/src/nvim/runtime.h
index b40c2b670e..db31ae4e1e 100644
--- a/src/nvim/runtime.h
+++ b/src/nvim/runtime.h
@@ -7,10 +7,30 @@
typedef void (*DoInRuntimepathCB)(char_u *, void *);
+typedef struct {
+ char *path;
+ bool after;
+} SearchPathItem;
+
+typedef kvec_t(SearchPathItem) RuntimeSearchPath;
+typedef kvec_t(char *) CharVec;
+
// last argument for do_source()
#define DOSO_NONE 0
#define DOSO_VIMRC 1 // loading vimrc file
+// Used for flags in do_in_path()
+#define DIP_ALL 0x01 // all matches, not just the first one
+#define DIP_DIR 0x02 // find directories instead of files
+#define DIP_ERR 0x04 // give an error message when none found
+#define DIP_START 0x08 // also use "start" directory in 'packpath'
+#define DIP_OPT 0x10 // also use "opt" directory in 'packpath'
+#define DIP_NORTP 0x20 // do not use 'runtimepath'
+#define DIP_NOAFTER 0x40 // skip "after" directories
+#define DIP_AFTER 0x80 // only use "after" directories
+#define DIP_LUA 0x100 // also use ".lua" files
+#define DIP_DIRFILE 0x200 // find both files and directories
+
#ifdef INCLUDE_GENERATED_DECLARATIONS
# include "runtime.h.generated.h"