From 28ec37cab4376850df73a4be9afc02b4646f821a Mon Sep 17 00:00:00 2001 From: Alan Hamlett Date: Mon, 19 Jan 2015 20:36:23 -0800 Subject: [PATCH] prompt for api key after first buffer window has opened, because MacVim hangs forever waiting for user input before opening a buffer. --- plugin/wakatime.vim | 28 ++++++++++++++++------------ 1 file changed, 16 insertions(+), 12 deletions(-) diff --git a/plugin/wakatime.vim b/plugin/wakatime.vim index 8594eef..ab1fff2 100644 --- a/plugin/wakatime.vim +++ b/plugin/wakatime.vim @@ -38,15 +38,6 @@ let s:VERSION = '3.0.5' call delete(expand("$HOME/.wakatime.conf")) endif endif - - " Create config file if does not exist - if !filereadable(expand("$HOME/.wakatime.cfg")) - let key = input("[WakaTime] Enter your wakatime.com api key: ") - if key != '' - call writefile(['[settings]', 'debug = false', printf("api_key = %s", key), 'hidefilenames = false', 'ignore =', ' ^COMMIT_EDITMSG$', ' ^TAG_EDITMSG$'], expand("$HOME/.wakatime.cfg")) - echo "[WakaTime] Setup complete! Visit http://wakatime.com to view your logged time." - endif - endif " Set default action frequency in minutes if !exists("g:wakatime_ActionFrequency") @@ -55,14 +46,27 @@ let s:VERSION = '3.0.5' " Globals let s:plugin_directory = expand(":p:h") . '/' - let s:last_action = 0 - let s:fresh = 1 + let s:config_file_exists = 0 " }}} " Function Definitions {{{ + function! s:SetupConfigFile() + if !s:config_file_exists + " Create config file if does not exist + if !filereadable(expand("$HOME/.wakatime.cfg")) + let key = input("[WakaTime] Enter your wakatime.com api key: ") + if key != '' + call writefile(['[settings]', 'debug = false', printf("api_key = %s", key), 'hidefilenames = false', 'ignore =', ' ^COMMIT_EDITMSG$', ' ^TAG_EDITMSG$'], expand("$HOME/.wakatime.cfg")) + echo "[WakaTime] Setup complete! Visit http://wakatime.com to view your logged time." + endif + endif + let s:config_file_exists = 1 + endif + endfunction + function! s:GetCurrentFile() return expand("%:p") endfunction @@ -105,7 +109,6 @@ let s:VERSION = '3.0.5' endfunction function! s:SetLastAction(time, last_update, targetFile) - let s:fresh = 0 call writefile([substitute(printf('%d', a:time), ',', '.', ''), substitute(printf('%d', a:last_update), ',', '.', ''), a:targetFile], expand("$HOME/.wakatime.data")) endfunction @@ -131,6 +134,7 @@ let s:VERSION = '3.0.5' " Event Handlers {{{ function! s:normalAction() + call s:SetupConfigFile() let targetFile = s:GetCurrentFile() let now = localtime() let last = s:GetLastAction()