view runtime/spell/cleanadd.vim @ 24669:d7644bffe128 v8.2.2873

patch 8.2.2873: not enough tests for writing buffers Commit: https://github.com/vim/vim/commit/46aa6f93acb5d932d2893606d980a6b4b8a9594c Author: Yegappan Lakshmanan <yegappan@yahoo.com> Date: Wed May 19 17:15:04 2021 +0200 patch 8.2.2873: not enough tests for writing buffers Problem: Not enough tests for writing buffers. Solution: Add a few more tests. (Yegappan Lakshmanan, closes https://github.com/vim/vim/issues/8229)
author Bram Moolenaar <Bram@vim.org>
date Wed, 19 May 2021 17:30:03 +0200
parents b9740fb41986
children
line wrap: on
line source

" Vim script to clean the ll.xxxxx.add files of commented out entries
" Author:	Antonio Colombo, Bram Moolenaar
" Last Update:	2008 Jun 3

" Time in seconds after last time an ll.xxxxx.add file was updated
" Default is one second.
" If you invoke this script often set it to something bigger, e.g. 60 * 60
" (one hour)
if !exists("g:spell_clean_limit")
  let g:spell_clean_limit = 1
endif

" Loop over all the runtime/spell/*.add files.
" Delete all comment lines, except the ones starting with ##.
for s:fname in split(globpath(&rtp, "spell/*.add"), "\n")
  if filewritable(s:fname) && localtime() - getftime(s:fname) > g:spell_clean_limit
    if exists('*fnameescape')
      let s:f = fnameescape(s:fname)
    else
      let s:f = escape(s:fname, ' \|<')
    endif
    silent exe "tab split " . s:f
    echo "Processing" s:f
    silent! g/^#[^#]/d
    silent update
    close
    unlet s:f
  endif
endfor
unlet s:fname

echo "Done"