diff options
| author | ZyX <kp-pav@yandex.ru> | 2015-04-25 18:47:31 +0300 |
|---|---|---|
| committer | ZyX <kp-pav@yandex.ru> | 2015-10-08 21:59:51 +0300 |
| commit | 244dbe3a77bf548f73d8781da7327f30e818b08a (patch) | |
| tree | 8777a25447be219fe351106cfef37670e0278ddd /src/nvim/os | |
| parent | 0fdaab995ed95250b13058a717d5bc562e1834c8 (diff) | |
| download | rneovim-244dbe3a77bf548f73d8781da7327f30e818b08a.tar.gz rneovim-244dbe3a77bf548f73d8781da7327f30e818b08a.tar.bz2 rneovim-244dbe3a77bf548f73d8781da7327f30e818b08a.zip | |
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).
Diffstat (limited to 'src/nvim/os')
| -rw-r--r-- | src/nvim/os/time.c | 9 | ||||
| -rw-r--r-- | src/nvim/os/time.h | 2 | ||||
| -rw-r--r-- | src/nvim/os/unix_defs.h | 4 | ||||
| -rw-r--r-- | src/nvim/os/win_defs.h | 2 |
4 files changed, 14 insertions, 3 deletions
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 <stdbool.h> #include <time.h> +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 |