From 429559b2cfaa7a3e41316fe3f57e268ef3bdb482 Mon Sep 17 00:00:00 2001 From: Gaoyang Zhang Date: Thu, 21 Apr 2022 14:38:45 +0800 Subject: [PATCH] Create parent directory for shared state file if missing (fixes #137) Signed-off-by: Gaoyang Zhang --- plugin/wakatime.vim | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/plugin/wakatime.vim b/plugin/wakatime.vim index 437a0ad..c1e2c73 100644 --- a/plugin/wakatime.vim +++ b/plugin/wakatime.vim @@ -50,7 +50,8 @@ let s:VERSION = '9.0.1' let s:plugin_root_folder = substitute(expand(":p:h:h"), '\', '/', 'g') let s:config_file = s:home . '/.wakatime.cfg' let s:default_configs = ['[settings]', 'debug = false', 'hidefilenames = false', 'ignore =', ' COMMIT_EDITMSG$', ' PULLREQ_EDITMSG$', ' MERGE_MSG$', ' TAG_EDITMSG$'] - let s:shared_state_file = s:home . '/.wakatime/vim_shared_state' + let s:shared_state_parent_dir = s:home . '/.wakatime' + let s:shared_state_file = s:shared_state_parent_dir . '/vim_shared_state' let s:has_reltime = has('reltime') && localtime() - 1 < split(split(reltimestr(reltime()))[0], '\.')[0] let s:config_file_already_setup = s:false let s:debug_mode_already_setup = s:false @@ -658,6 +659,7 @@ EOF function! s:SetLastHeartbeat(last_activity_at, last_heartbeat_at, file) call s:SetLastHeartbeatInMemory(a:last_activity_at, a:last_heartbeat_at, a:file) + call mkdir(s:shared_state_parent_dir, "p", "0o700") call writefile([s:n2s(a:last_activity_at), s:n2s(a:last_heartbeat_at), a:file], s:shared_state_file) endfunction