Fix excessive regeneration of spelling dictionaries

This commit is contained in:
rndnoise
2018-03-08 13:32:05 -06:00
parent bd37684a04
commit aa66dfff91

View File

@@ -34,12 +34,17 @@ function! wordy#init(...) abort
let l:src_path = l:data_dir . '/' . l:lang . '/' . l:dict . '.dic'
if filereadable(l:src_path)
if has('nvim')
let l:rare_path = l:src_path . '.rare'
if !filereadable(l:rare_path) ||
\ getftime(l:rare_path) < getftime(l:src_path)
" Dynamically convert SpellBad words into SpellRare words under NeoVim.
" See issue 15 for details: https://github.com/reedes/vim-wordy/pull/15
let l:rare_dic = map(readfile(l:src_path), "substitute(v:val, '!$', '?', '')")
let l:src_path = tempname()
call writefile(l:rare_dic, l:src_path)
call writefile(l:rare_dic, l:rare_path)
endif
let l:src_path = l:rare_path
endif
let l:spell_dir = g:wordy_dir . '/spell'
if !isdirectory(l:spell_dir)
call mkdir(expand(l:spell_dir), "p")