diff options
Diffstat (limited to 'vim')
-rw-r--r-- | vim/after/ftplugin/html.vim | 12 | ||||
-rw-r--r-- | vim/after/ftplugin/html/timestamp.vim | 28 | ||||
-rw-r--r-- | vim/autoload/html.vim | 17 | ||||
-rw-r--r-- | vim/autoload/html/timestamp.vim | 15 |
4 files changed, 29 insertions, 43 deletions
diff --git a/vim/after/ftplugin/html.vim b/vim/after/ftplugin/html.vim index a8e9efcc..a9d3f948 100644 --- a/vim/after/ftplugin/html.vim +++ b/vim/after/ftplugin/html.vim @@ -9,6 +9,18 @@ let b:did_ftplugin_after = 1 let b:undo_ftplugin = b:undo_ftplugin \ . '|unlet b:did_ftplugin_after' +" Set up hooks for timestamp updating +augroup html_timestamp + autocmd! + autocmd BufWritePre *.html + \ if exists('b:html_timestamp_check') + \| call html#TimestampUpdate() + \|endif +augroup END +let b:undo_ftplugin = b:undo_ftplugin + \ . '|augroup html_timestamp|autocmd!|augroup END' + \ . '|augroup! html_timestamp' + " Stop here if the user doesn't want ftplugin mappings if exists('g:no_plugin_maps') || exists('g:no_html_maps') finish diff --git a/vim/after/ftplugin/html/timestamp.vim b/vim/after/ftplugin/html/timestamp.vim deleted file mode 100644 index 29a215cd..00000000 --- a/vim/after/ftplugin/html/timestamp.vim +++ /dev/null @@ -1,28 +0,0 @@ -" html/timestamp.vim: Update timestamps in HTML files on save. - -" Don't load if running compatible or too old -if &compatible || v:version < 700 - finish -endif - -" Don't load if already loaded -if exists('b:did_ftplugin_html_timestamp') - finish -endif - -" Flag as loaded -let b:did_ftplugin_html_timestamp = 1 -let b:undo_ftplugin = b:undo_ftplugin - \ . '|unlet b:did_ftplugin_html_timestamp' - -" Set up appropriate hooks -augroup html_timestamp - autocmd! - autocmd BufWritePre *.html - \ if exists('b:html_timestamp_check') - \| call html#timestamp#Update() - \|endif -augroup END -let b:undo_ftplugin = b:undo_ftplugin - \ . '|augroup html_timestamp|autocmd!|augroup END' - \ . '|augroup! html_timestamp' diff --git a/vim/autoload/html.vim b/vim/autoload/html.vim index f46b323f..c3d99706 100644 --- a/vim/autoload/html.vim +++ b/vim/autoload/html.vim @@ -13,3 +13,20 @@ function! html#UrlLink() abort normal! a</a> endfunction + +" Update a timestamp +function! html#TimestampUpdate() abort + if !&modified + return + endif + let l:cv = winsaveview() + call cursor(1,1) + let l:li = search('\C^\s*<em>Last updated: .\+</em>$', 'n') + if l:li + let l:date = substitute(system('date -u'), '\C\n$', '', '') + let l:line = getline(l:li) + call setline(l:li, substitute(l:line, '\C\S.*', + \ '<em>Last updated: '.l:date.'</em>', '')) + endif + call winrestview(l:cv) +endfunction diff --git a/vim/autoload/html/timestamp.vim b/vim/autoload/html/timestamp.vim deleted file mode 100644 index 1b3ea830..00000000 --- a/vim/autoload/html/timestamp.vim +++ /dev/null @@ -1,15 +0,0 @@ -function! html#timestamp#Update() abort - if !&modified - return - endif - let l:cv = winsaveview() - call cursor(1,1) - let l:li = search('\C^\s*<em>Last updated: .\+</em>$', 'n') - if l:li - let l:date = substitute(system('date -u'), '\C\n$', '', '') - let l:line = getline(l:li) - call setline(l:li, substitute(l:line, '\C\S.*', - \ '<em>Last updated: '.l:date.'</em>', '')) - endif - call winrestview(l:cv) -endfunction |