|
7 | 7 | "os" |
8 | 8 | "sort" |
9 | 9 | "strings" |
10 | | - |
11 | | -"github.com/client9/misspell" |
12 | 10 | ) |
13 | 11 |
|
14 | 12 | funcaddOrPanic(dictmap[string]string,key,valuestring) { |
@@ -40,31 +38,11 @@ func mergeDict(a, b map[string]string) { |
40 | 38 | } |
41 | 39 | } |
42 | 40 |
|
43 | | -funcremoveCase(inmapmap[string]string,wordstring) { |
44 | | -style:=misspell.CaseStyle(word) |
45 | | -kcase:=misspell.CaseVariations(word,style) |
46 | | -fori:=0;i<len(kcase);i++ { |
47 | | -delete(inmap,kcase[i]) |
48 | | -} |
49 | | -} |
50 | | -funcexpandCase(inmapmap[string]string)map[string]string { |
51 | | -out:=make(map[string]string,len(inmap)*3) |
52 | | -fork,v:=rangeinmap { |
53 | | -style:=misspell.CaseStyle(k) |
54 | | -kcase:=misspell.CaseVariations(k,style) |
55 | | -vcase:=misspell.CaseVariations(v,style) |
56 | | -fori:=0;i<len(kcase);i++ { |
57 | | -addOrPanic(out,kcase[i],vcase[i]) |
58 | | -} |
59 | | -} |
60 | | -returnout |
61 | | -} |
62 | | - |
63 | 41 | funcparseWikipediaFormat(textstring)map[string]string { |
64 | 42 | lines:=strings.Split(strings.TrimSpace(text),"\n") |
65 | 43 | dict:=make(map[string]string,len(lines)) |
66 | 44 | for_,line:=rangelines { |
67 | | -line=strings.TrimSpace(line) |
| 45 | +line=strings.ToLower(strings.TrimSpace(line)) |
68 | 46 | parts:=strings.Split(line,"->") |
69 | 47 | iflen(parts)!=2 { |
70 | 48 | log.Fatalf(fmt.Sprintf("failed parsing %q",line)) |
@@ -97,6 +75,12 @@ func main() { |
97 | 75 | deferfo.Close() |
98 | 76 | fo.WriteString("package misspell\n\n") |
99 | 77 |
|
| 78 | +// standard for machine generated files |
| 79 | +// https://github.com/golang/go/issues/13560 |
| 80 | +// https://godoc.org/github.com/shurcooL/go/generated |
| 81 | +// `^// Code generated .* DO NOT EDIT\.$` |
| 82 | +fo.WriteString("// Code generated automatically. DO NOT EDIT.\n\n") |
| 83 | + |
100 | 84 | // create main word list |
101 | 85 | dict:=make(map[string]string) |
102 | 86 | mergeDict(dict,dictWikipedia()) |
|