From 62e0e0349c00c2c1fa1e5ec09aa7028f12ed329b Mon Sep 17 00:00:00 2001 From: zeertzjq Date: Tue, 23 May 2023 16:12:16 +0800 Subject: fix(colorscheme): try .lua files in 'rtp' before .vim files in 'pp' (#23727) This ensures that colorschemes in 'rtp' are tried before ones in 'pp', because some colorschemes in 'pp' may not work if not added to 'rtp'. This also match the current documentation better. --- src/nvim/highlight_group.c | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) (limited to 'src') diff --git a/src/nvim/highlight_group.c b/src/nvim/highlight_group.c index 6965c53f59..a17fe2fc8c 100644 --- a/src/nvim/highlight_group.c +++ b/src/nvim/highlight_group.c @@ -697,10 +697,18 @@ int load_colors(char *name) char *buf = xmalloc(buflen); apply_autocmds(EVENT_COLORSCHEMEPRE, name, curbuf->b_fname, false, curbuf); snprintf(buf, buflen, "colors/%s.vim", name); - int retval = source_runtime(buf, DIP_START + DIP_OPT); + int retval = source_runtime(buf, 0); if (retval == FAIL) { snprintf(buf, buflen, "colors/%s.lua", name); - retval = source_runtime(buf, DIP_START + DIP_OPT); + retval = source_runtime(buf, 0); + } + if (retval == FAIL) { + snprintf(buf, buflen, "colors/%s.vim", name); + retval = source_runtime(buf, DIP_NORTP + DIP_START + DIP_OPT); + } + if (retval == FAIL) { + snprintf(buf, buflen, "colors/%s.lua", name); + retval = source_runtime(buf, DIP_NORTP + DIP_START + DIP_OPT); } xfree(buf); if (retval == OK) { -- cgit