blob: 6dc06921863bf8e3b3ea2301f790ea0ae7f29be5 [file] [log] [blame]
Bram Moolenaar28c258f2006-01-25 22:02:51 +00001" Vim script to clean the ll.xxxxx.add files of commented out entries
2" Author: Antonio Colombo, Bram Moolenaar
Bram Moolenaara7241f52008-06-24 20:39:31 +00003" Last Update: 2008 Jun 3
Bram Moolenaar28c258f2006-01-25 22:02:51 +00004
5" Time in seconds after last time an ll.xxxxx.add file was updated
Bram Moolenaar36fc5352006-03-04 21:49:37 +00006" Default is one second.
7" If you invoke this script often set it to something bigger, e.g. 60 * 60
8" (one hour)
Bram Moolenaar28c258f2006-01-25 22:02:51 +00009if !exists("g:spell_clean_limit")
Bram Moolenaar36fc5352006-03-04 21:49:37 +000010 let g:spell_clean_limit = 1
Bram Moolenaar28c258f2006-01-25 22:02:51 +000011endif
12
13" Loop over all the runtime/spell/*.add files.
Bram Moolenaar36fc5352006-03-04 21:49:37 +000014" Delete all comment lines, except the ones starting with ##.
Bram Moolenaar28c258f2006-01-25 22:02:51 +000015for s:fname in split(globpath(&rtp, "spell/*.add"), "\n")
16 if filewritable(s:fname) && localtime() - getftime(s:fname) > g:spell_clean_limit
Bram Moolenaara7241f52008-06-24 20:39:31 +000017 if exists('*fnameescape')
18 let s:f = fnameescape(s:fname)
19 else
20 let s:f = escape(s:fname, ' \|<')
21 endif
22 silent exe "tab split " . s:f
23 echo "Processing" s:f
Bram Moolenaar36fc5352006-03-04 21:49:37 +000024 silent! g/^#[^#]/d
Bram Moolenaar28c258f2006-01-25 22:02:51 +000025 silent update
26 close
Bram Moolenaara7241f52008-06-24 20:39:31 +000027 unlet s:f
Bram Moolenaar28c258f2006-01-25 22:02:51 +000028 endif
29endfor
Bram Moolenaara7241f52008-06-24 20:39:31 +000030unlet s:fname
Bram Moolenaar28c258f2006-01-25 22:02:51 +000031
32echo "Done"