diff options
author | ZyX <kp-pav@yandex.ru> | 2015-10-17 15:41:05 +0300 |
---|---|---|
committer | ZyX <kp-pav@yandex.ru> | 2015-10-23 14:54:10 +0300 |
commit | 2e750973e936a04d9effea88f78f03a5a07ab282 (patch) | |
tree | 302e14ec5e20e2a9187357b0371cdf3663a2bc35 | |
parent | 502a20a8feb80e7e12eb34231975257b915e3115 (diff) | |
download | rneovim-2e750973e936a04d9effea88f78f03a5a07ab282.tar.gz rneovim-2e750973e936a04d9effea88f78f03a5a07ab282.tar.bz2 rneovim-2e750973e936a04d9effea88f78f03a5a07ab282.zip |
shada: Move shada file to a new location
-rw-r--r-- | src/nvim/main.c | 2 | ||||
-rw-r--r-- | src/nvim/os/unix_defs.h | 3 | ||||
-rw-r--r-- | src/nvim/os/win_defs.h | 1 | ||||
-rw-r--r-- | src/nvim/shada.c | 18 |
4 files changed, 17 insertions, 7 deletions
diff --git a/src/nvim/main.c b/src/nvim/main.c index 6186d2e7e7..90d469b203 100644 --- a/src/nvim/main.c +++ b/src/nvim/main.c @@ -2028,7 +2028,7 @@ static void usage(void) mch_msg(_(" -r, -L List swap files and exit\n")); mch_msg(_(" -r <file> Recover crashed session\n")); mch_msg(_(" -u <nvimrc> Use <nvimrc> instead of the default\n")); - mch_msg(_(" -i <shada> Use <shada> instead of the default " SHADA_FILE "\n")); // NOLINT(whitespace/line_length) + mch_msg(_(" -i <shada> Use <shada> instead of the default\n")); mch_msg(_(" --noplugin Don't load plugin scripts\n")); mch_msg(_(" -o[N] Open N windows (default: one for each file)\n")); mch_msg(_(" -O[N] Like -o but split vertically\n")); diff --git a/src/nvim/os/unix_defs.h b/src/nvim/os/unix_defs.h index 83c6752ff7..82a434cdf1 100644 --- a/src/nvim/os/unix_defs.h +++ b/src/nvim/os/unix_defs.h @@ -37,8 +37,5 @@ #ifndef VIMRC_FILE # define VIMRC_FILE ".nvimrc" #endif -#ifndef SHADA_FILE -# define SHADA_FILE "~/.nvim/shada/main.shada" -#endif #endif // NVIM_OS_UNIX_DEFS_H diff --git a/src/nvim/os/win_defs.h b/src/nvim/os/win_defs.h index 427e6a8481..585def7dd0 100644 --- a/src/nvim/os/win_defs.h +++ b/src/nvim/os/win_defs.h @@ -8,7 +8,6 @@ // Defines needed to fix the build on Windows: // - USR_EXRC_FILE -// - SHADA_FILE // - DFLT_DIR // - DFLT_BDIR // - DFLT_VDIR diff --git a/src/nvim/shada.c b/src/nvim/shada.c index 523f8db6f0..6fd13a88b7 100644 --- a/src/nvim/shada.c +++ b/src/nvim/shada.c @@ -1583,6 +1583,20 @@ shada_read_main_cycle_end: kh_dealloc(strset, &oldfiles_set); } +/// Default shada file location: cached path +static char *default_shada_file = NULL; + +/// Get the default ShaDa file +static const char *shada_get_default_file(void) + FUNC_ATTR_WARN_UNUSED_RESULT +{ + if (default_shada_file == NULL) { + char *shada_dir = stdpaths_user_data_subpath("shada"); + default_shada_file = concat_fnames_realloc(shada_dir, "main.shada", true); + } + return default_shada_file; +} + /// Get the ShaDa file name to use /// /// If "file" is given and not empty, use it (has already been expanded by @@ -1608,11 +1622,11 @@ static char *shada_filename(const char *file) if (STRCMP("$VIM", NameBuff) != 0) { // $VIM was expanded file = SHADA_FILE2; } else { - file = SHADA_FILE; + file = shada_get_default_file(); } } else { #endif - file = SHADA_FILE; + file = shada_get_default_file(); #ifdef SHADA_FILE2 } #endif |