From a7ed49ed589cfe5f84bfeda317d03a874002e1a9 Mon Sep 17 00:00:00 2001 From: Peter Odding Date: Sun, 28 Apr 2013 15:08:19 +0200 Subject: Change the repository layout to that of a proper Vim plug-in --- timer.vim | 85 --------------------------------------------------------------- 1 file changed, 85 deletions(-) delete mode 100644 timer.vim (limited to 'timer.vim') diff --git a/timer.vim b/timer.vim deleted file mode 100644 index 151972d..0000000 --- a/timer.vim +++ /dev/null @@ -1,85 +0,0 @@ -" Vim auto-load script -" Author: Peter Odding -" Last Change: March 15, 2011 -" URL: http://peterodding.com/code/vim/misc/ - -if !exists('g:timer_enabled') - let g:timer_enabled = 0 -endif - -if !exists('g:timer_verbosity') - let g:timer_verbosity = 1 -endif - -let s:has_reltime = has('reltime') - -" Start a timer. - -function! xolox#misc#timer#start() - if g:timer_enabled || &verbose >= g:timer_verbosity - return s:has_reltime ? reltime() : [localtime()] - endif - return [] -endfunction - -" Stop a timer and print the elapsed time (only if the user is interested). - -function! xolox#misc#timer#stop(...) - if (g:timer_enabled || &verbose >= g:timer_verbosity) - call call('xolox#misc#msg#info', map(copy(a:000), 's:convert_value(v:val)')) - endif -endfunction - -function! s:convert_value(value) - if type(a:value) != type([]) - return a:value - elseif !empty(a:value) - if s:has_reltime - let ts = xolox#misc#str#trim(reltimestr(reltime(a:value))) - else - let ts = localtime() - a:value[0] - endif - return xolox#misc#timer#format_timespan(ts) - else - return '?' - endif -endfunction - -" Format number of seconds as human friendly description. - -let s:units = [['day', 60 * 60 * 24], ['hour', 60 * 60], ['minute', 60], ['second', 1]] - -function! xolox#misc#timer#format_timespan(ts) - - " Convert timespan to integer. - let seconds = a:ts + 0 - - " Fast common case with extra precision from reltime(). - if seconds < 5 - let extract = matchstr(a:ts, '^\d\+\(\.0*[1-9][1-9]\?\)\?') - if extract =~ '[123456789]' - return extract . ' second' . (extract != '1' ? 's' : '') - endif - endif - - " Generic but slow code. - let result = [] - for [name, size] in s:units - if seconds >= size - let counter = seconds / size - let seconds = seconds % size - let suffix = counter != 1 ? 's' : '' - call add(result, printf('%i %s%s', counter, name, suffix)) - endif - endfor - - " Format the resulting text? - if len(result) == 1 - return result[0] - else - return join(result[0:-2], ', ') . ' and ' . result[-1] - endif - -endfunction - -" vim: ts=2 sw=2 et -- cgit v1.2.3