xref: /vim-8.2.3635/runtime/spell/cleanadd.vim (revision a7241f5f)
128c258fdSBram Moolenaar" Vim script to clean the ll.xxxxx.add files of commented out entries
228c258fdSBram Moolenaar" Author:	Antonio Colombo, Bram Moolenaar
3*a7241f5fSBram Moolenaar" Last Update:	2008 Jun 3
428c258fdSBram Moolenaar
528c258fdSBram Moolenaar" Time in seconds after last time an ll.xxxxx.add file was updated
636fc535cSBram Moolenaar" Default is one second.
736fc535cSBram Moolenaar" If you invoke this script often set it to something bigger, e.g. 60 * 60
836fc535cSBram Moolenaar" (one hour)
928c258fdSBram Moolenaarif !exists("g:spell_clean_limit")
1036fc535cSBram Moolenaar  let g:spell_clean_limit = 1
1128c258fdSBram Moolenaarendif
1228c258fdSBram Moolenaar
1328c258fdSBram Moolenaar" Loop over all the runtime/spell/*.add files.
1436fc535cSBram Moolenaar" Delete all comment lines, except the ones starting with ##.
1528c258fdSBram Moolenaarfor s:fname in split(globpath(&rtp, "spell/*.add"), "\n")
1628c258fdSBram Moolenaar  if filewritable(s:fname) && localtime() - getftime(s:fname) > g:spell_clean_limit
17*a7241f5fSBram Moolenaar    if exists('*fnameescape')
18*a7241f5fSBram Moolenaar      let s:f = fnameescape(s:fname)
19*a7241f5fSBram Moolenaar    else
20*a7241f5fSBram Moolenaar      let s:f = escape(s:fname, ' \|<')
21*a7241f5fSBram Moolenaar    endif
22*a7241f5fSBram Moolenaar    silent exe "tab split " . s:f
23*a7241f5fSBram Moolenaar    echo "Processing" s:f
2436fc535cSBram Moolenaar    silent! g/^#[^#]/d
2528c258fdSBram Moolenaar    silent update
2628c258fdSBram Moolenaar    close
27*a7241f5fSBram Moolenaar    unlet s:f
2828c258fdSBram Moolenaar  endif
2928c258fdSBram Moolenaarendfor
30*a7241f5fSBram Moolenaarunlet s:fname
3128c258fdSBram Moolenaar
3228c258fdSBram Moolenaarecho "Done"
33