From 244dbe3a77bf548f73d8781da7327f30e818b08a Mon Sep 17 00:00:00 2001 From: ZyX Date: Sat, 25 Apr 2015 18:47:31 +0300 Subject: viminfo: First version of ShaDa file dumping What works: 1. ShaDa file dumping: header, registers, jump list, history, search patterns, substitute strings, variables. 2. ShaDa file reading: registers, global marks, variables. Most was not tested. TODO: 1. Merging. 2. Reading history, local marks, jump and buffer lists. 3. Documentation update. 4. Converting some data from &encoding. 5. Safer variant of dumping viminfo (dump to temporary file then rename). 6. Removing old viminfo code (currently masked with `#if 0` in a ShaDa file for reference). --- src/nvim/os/time.c | 9 +++++++++ src/nvim/os/time.h | 2 ++ src/nvim/os/unix_defs.h | 4 ++-- src/nvim/os/win_defs.h | 2 +- 4 files changed, 14 insertions(+), 3 deletions(-) (limited to 'src/nvim/os') diff --git a/src/nvim/os/time.c b/src/nvim/os/time.c index ee17938afc..ba1dcf631a 100644 --- a/src/nvim/os/time.c +++ b/src/nvim/os/time.c @@ -103,3 +103,12 @@ struct tm *os_get_localtime(struct tm *result) FUNC_ATTR_NONNULL_ALL time_t rawtime = time(NULL); return os_localtime_r(&rawtime, result); } + +/// Obtains the current UNIX timestamp +/// +/// @return Seconds since epoch. +Timestamp os_time(void) + FUNC_ATTR_WARN_UNUSED_RESULT +{ + return (Timestamp) time(NULL); +} diff --git a/src/nvim/os/time.h b/src/nvim/os/time.h index b21808307f..3a6b665b51 100644 --- a/src/nvim/os/time.h +++ b/src/nvim/os/time.h @@ -5,6 +5,8 @@ #include #include +typedef time_t Timestamp; + #ifdef INCLUDE_GENERATED_DECLARATIONS # include "os/time.h.generated.h" #endif diff --git a/src/nvim/os/unix_defs.h b/src/nvim/os/unix_defs.h index 9ab4ba1c1a..949973bf40 100644 --- a/src/nvim/os/unix_defs.h +++ b/src/nvim/os/unix_defs.h @@ -43,8 +43,8 @@ #ifndef VIMRC_FILE # define VIMRC_FILE ".nvimrc" #endif -#ifndef VIMINFO_FILE -# define VIMINFO_FILE "~/.nviminfo" +#ifndef SHADA_FILE +# define SHADA_FILE "~/.nvim/shada/main.shada" #endif // Default for 'backupdir'. diff --git a/src/nvim/os/win_defs.h b/src/nvim/os/win_defs.h index 9773b73428..b7ec50a109 100644 --- a/src/nvim/os/win_defs.h +++ b/src/nvim/os/win_defs.h @@ -9,7 +9,7 @@ // Defines needed to fix the build on Windows: // - USR_EXRC_FILE // - USR_VIMRC_FILE -// - VIMINFO_FILE +// - SHADA_FILE // - DFLT_DIR // - DFLT_BDIR // - DFLT_VDIR -- cgit