summaryrefslogtreecommitdiffstats
path: root/runtime/spell
diff options
context:
space:
mode:
authorBram Moolenaar <Bram@vim.org>2010-01-06 20:54:52 +0100
committerBram Moolenaar <Bram@vim.org>2010-01-06 20:54:52 +0100
commit5c73622a9066182ee4479fd7b3aa86e1825808c3 (patch)
treec92ed672cbb989fa3585387ebd4598f5bdfcc637 /runtime/spell
parent8f3f58f2c361f1b7241128d9821f88d8a30aa066 (diff)
Update runtime files.
Diffstat (limited to 'runtime/spell')
-rw-r--r--runtime/spell/README.txt2
-rw-r--r--runtime/spell/fixdup.vim27
2 files changed, 28 insertions, 1 deletions
diff --git a/runtime/spell/README.txt b/runtime/spell/README.txt
index d2a9c17dc3..40837a6005 100644
--- a/runtime/spell/README.txt
+++ b/runtime/spell/README.txt
@@ -72,7 +72,7 @@ This procedure should work well:
change too much, the OpenOffice people are not stupid. However, you may
want to remove obvious mistakes. And remove single-letter words that
aren't really words, they mess up the suggestions (English has this
- problem). You can use the "fixdup" Vim script to find duplicate words.
+ problem). You can use the "fixdup.vim" Vim script to find duplicate words.
3. Make the diff file. "aap diff" will do this for you. If a diff would be
too big you might consider writing a Vim script to do systematic changes.
diff --git a/runtime/spell/fixdup.vim b/runtime/spell/fixdup.vim
new file mode 100644
index 0000000000..0dd532d5e6
--- /dev/null
+++ b/runtime/spell/fixdup.vim
@@ -0,0 +1,27 @@
+" Vim script to fix duplicate words in a .dic file vim: set ft=vim:
+"
+" Usage: Edit the .dic file and source this script.
+
+let deleted = 0
+
+" Start below the word count.
+let lnum = 2
+while lnum <= line('$')
+ let word = getline(lnum)
+ if word !~ '/'
+ if search('^' . word . '/', 'w') != 0
+ let deleted += 1
+ exe lnum . "d"
+ continue " don't increment lnum, it's already at the next word
+ endif
+ endif
+ let lnum += 1
+endwhile
+
+if deleted == 0
+ echomsg "No duplicate words found"
+elseif deleted == 1
+ echomsg "Deleted 1 duplicate word"
+else
+ echomsg printf("Deleted %d duplicate words", deleted)
+endif