did_you_mean 1.2.0 → 1.2.1

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
- SHA1:
3
- metadata.gz: 79a0131dfb1348a1f49293ca29cbfa12eab5f896
4
- data.tar.gz: 274dd39aacc7583c0877cb3313cd938390d11003
2
+ SHA256:
3
+ metadata.gz: 3f4be5515dd4b97b67817085bc1d133942f9a9ee869663992959a5b5311aaf44
4
+ data.tar.gz: 180d2c3163cea5be2980f0ff703b850b716a17fee9673d63222b14a7ea31354c
5
5
  SHA512:
6
- metadata.gz: 31fc5df24553e10482afff9bd425c055f4b0ffbf4d4267927979b3c314a589ff40e13b6597a1e22f5415a221a6e6e0853e0a608d6aab7dafd2b6f71551d23490
7
- data.tar.gz: 5739306a3ddbed14ffe321a114ce5eda17513303d3e6d887da1978c781e694994addb383faf5c178bf46405fa49cc7e5630ad281b33caccdc66ba455eae297ff
6
+ metadata.gz: '028b440678251cd301b0d0b3aed95296d4d00da6e7ccc328aa87e407415fc8e7f73864cb7daa4ab8139f3e908e6102084ebcaf8ea85ff3e1ec0e4447561dc722'
7
+ data.tar.gz: 79c98fd00c0b334818f4b4a2d769405a0536524ce7369139e9b096291251ea4a91b396c262e54ce77294bc38b75689c58a294956cd8f12c27a276d72ef746a36
@@ -1 +1 @@
1
- 2.5.0-dev
1
+ 2.5.1
@@ -11,4 +11,4 @@ after_success:
11
11
  - bundle exec rake benchmark:memory
12
12
 
13
13
  rvm:
14
- - ruby-head
14
+ - 2.5.1
@@ -13,11 +13,11 @@ Gem::Specification.new do |spec|
13
13
  spec.homepage = "https://github.com/yuki24/did_you_mean"
14
14
  spec.license = "MIT"
15
15
 
16
- spec.files = `git ls-files`.split($/)
16
+ spec.files = `git ls-files`.split($/).reject{|path| path.start_with?('evaluation/') }
17
17
  spec.test_files = spec.files.grep(%r{^(test)/})
18
18
  spec.require_paths = ["lib"]
19
19
 
20
- spec.required_ruby_version = '>= 2.5.0dev'
20
+ spec.required_ruby_version = '>= 2.5.0'
21
21
 
22
22
  spec.add_development_dependency "bundler"
23
23
  spec.add_development_dependency "rake"
@@ -50,4 +50,20 @@ module DidYouMean
50
50
  end
51
51
 
52
52
  self.formatter = PlainFormatter.new
53
+
54
+ # Deprecated formatter
55
+ class Formatter #:nodoc:
56
+ def initialize(corrections = [])
57
+ @corrections = corrections
58
+ end
59
+
60
+ def to_s
61
+ return "" if @corrections.empty?
62
+
63
+ output = "\nDid you mean? ".dup
64
+ output << @corrections.join("\n ")
65
+ end
66
+ end
67
+
68
+ deprecate_constant :Formatter
53
69
  end
@@ -7,11 +7,14 @@ module DidYouMean
7
7
  attr_reader :class_name
8
8
 
9
9
  def initialize(exception)
10
- @class_name, @receiver = exception.name, exception.receiver
10
+ @class_name, @receiver, @original_message = exception.name, exception.receiver, exception.original_message
11
11
  end
12
12
 
13
13
  def corrections
14
- @corrections ||= SpellChecker.new(dictionary: class_names).correct(class_name).map(&:full_name)
14
+ @corrections ||= SpellChecker.new(dictionary: class_names)
15
+ .correct(class_name)
16
+ .map(&:full_name)
17
+ .reject {|qualified_name| @original_message.include?(qualified_name) }
15
18
  end
16
19
 
17
20
  def class_names
@@ -1,3 +1,3 @@
1
1
  module DidYouMean
2
- VERSION = "1.2.0"
2
+ VERSION = "1.2.1"
3
3
  end
@@ -20,7 +20,7 @@ class NameErrorExtensionTest < Minitest::Test
20
20
 
21
21
  def test_message
22
22
  message = <<~MESSAGE.chomp
23
- undefined local variable or method `doesnt_exist' for #{method(:to_s).super_method.call}
23
+ undefined local variable or method `doesnt_exist' for #{to_s}
24
24
  Did you mean? does_exist
25
25
  MESSAGE
26
26
 
@@ -0,0 +1,9 @@
1
+ require 'test_helper'
2
+
3
+ class DeprecatedFormatterTest < Minitest::Test
4
+ def test_deprecated_formatter
5
+ assert_output nil, /test\/deprecated_formatter_test.rb:6: warning: constant DidYouMean::Formatter is deprecated/ do
6
+ assert_equal "\nDid you mean? does_exist", ::DidYouMean::Formatter.new(['does_exist']).to_s
7
+ end
8
+ end
9
+ end
@@ -1,4 +1,3 @@
1
- # -*- coding: utf-8 -*-
2
1
  require 'test_helper'
3
2
 
4
3
  # These tests were originally written by Jian Weihang (簡煒航) as part of his work
@@ -0,0 +1,4 @@
1
+ class Book
2
+ class Cover
3
+ end
4
+ end
@@ -62,4 +62,16 @@ class ClassNameCheckTest < Minitest::Test
62
62
  error = assert_raises(NameError) { ::Book::Page.new.tableof_contents }
63
63
  assert_correction "Book::TableOfContents", error.corrections
64
64
  end
65
+
66
+ def test_does_not_suggest_user_input
67
+ error = assert_raises(NameError) { ::Book::Cover }
68
+
69
+ # This is a weird require, but in a multi-threaded condition, a constant may
70
+ # be loaded between when a NameError occurred and when the spell checker
71
+ # attemps to find a possible suggestion. The manual require here simulates
72
+ # a race condition a single test.
73
+ require_relative '../fixtures/book'
74
+
75
+ assert_empty error.corrections
76
+ end
65
77
  end
@@ -14,7 +14,7 @@ class VerboseFormatterTest < Minitest::Test
14
14
 
15
15
  def test_message
16
16
  assert_equal <<~MESSAGE.chomp, @error.message
17
- undefined local variable or method `doesnt_exist' for #{method(:to_s).super_method.call}
17
+ undefined local variable or method `doesnt_exist' for #{to_s}
18
18
 
19
19
  Did you mean? does_exist
20
20
 
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: did_you_mean
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.2.0
4
+ version: 1.2.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Yuki Nishijima
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2017-12-13 00:00:00.000000000 Z
11
+ date: 2018-04-03 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -75,9 +75,6 @@ files:
75
75
  - did_you_mean.gemspec
76
76
  - doc/CHANGELOG.md.erb
77
77
  - doc/changelog_generator.rb
78
- - evaluation/calculator.rb
79
- - evaluation/dictionary_generator.rb
80
- - evaluation/incorrect_words.yaml
81
78
  - lib/did_you_mean.rb
82
79
  - lib/did_you_mean/core_ext/name_error.rb
83
80
  - lib/did_you_mean/experimental.rb
@@ -98,9 +95,11 @@ files:
98
95
  - lib/did_you_mean/verbose_formatter.rb
99
96
  - lib/did_you_mean/version.rb
100
97
  - test/core_ext/name_error_extension_test.rb
98
+ - test/deprecated_formatter_test.rb
101
99
  - test/edit_distance/jaro_winkler_test.rb
102
100
  - test/experimental/initializer_name_correction_test.rb
103
101
  - test/experimental/method_name_checker_test.rb
102
+ - test/fixtures/book.rb
104
103
  - test/spell_checker_test.rb
105
104
  - test/spell_checking/class_name_check_test.rb
106
105
  - test/spell_checking/key_name_check_test.rb
@@ -121,7 +120,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
121
120
  requirements:
122
121
  - - ">="
123
122
  - !ruby/object:Gem::Version
124
- version: 2.5.0dev
123
+ version: 2.5.0
125
124
  required_rubygems_version: !ruby/object:Gem::Requirement
126
125
  requirements:
127
126
  - - ">="
@@ -129,15 +128,17 @@ required_rubygems_version: !ruby/object:Gem::Requirement
129
128
  version: '0'
130
129
  requirements: []
131
130
  rubyforge_project:
132
- rubygems_version: 2.6.13
131
+ rubygems_version: 2.7.6
133
132
  signing_key:
134
133
  specification_version: 4
135
134
  summary: '"Did you mean?" experience in Ruby'
136
135
  test_files:
137
136
  - test/core_ext/name_error_extension_test.rb
137
+ - test/deprecated_formatter_test.rb
138
138
  - test/edit_distance/jaro_winkler_test.rb
139
139
  - test/experimental/initializer_name_correction_test.rb
140
140
  - test/experimental/method_name_checker_test.rb
141
+ - test/fixtures/book.rb
141
142
  - test/spell_checker_test.rb
142
143
  - test/spell_checking/class_name_check_test.rb
143
144
  - test/spell_checking/key_name_check_test.rb
@@ -1,105 +0,0 @@
1
- # frozen-string-literal: true
2
-
3
- require 'benchmark'
4
- require 'did_you_mean'
5
-
6
- def report(message, &block)
7
- time = 1000 * Benchmark.realtime(&block)
8
-
9
- if (time / 1000 / 60) >= 1
10
- minutes = (time / 1000 / 60).floor
11
- seconds = (time % (60 * 1000)) / 1000
12
-
13
- puts " \e[36m%2dm%.3fs:\e[0m %s" % [minutes, seconds, message]
14
- elsif (time / 1000) >= 1
15
- seconds = (time % (60 * 1000)) / 1000
16
-
17
- puts " \e[36m%9.3fs:\e[0m %s" % [seconds, message]
18
- else
19
- puts " \e[36m%8.1fms:\e[0m %s" % [time, message]
20
- end
21
-
22
- time
23
- end
24
-
25
- puts "did_you_mean version: #{DidYouMean::VERSION}\n\n"
26
-
27
- report "loading program" do
28
- require 'yaml'
29
- require 'set'
30
-
31
- begin
32
- require 'jaro_winkler'
33
- DidYouMean::JaroWinkler.module_eval do
34
- module_function
35
- def distance(str1, str2)
36
- ::JaroWinkler.distance(str1, str2)
37
- end if RUBY_ENGINE != 'jruby'
38
- end
39
- rescue LoadError, NameError => e
40
- puts "couldn't load the jaro_winkler gem: #{e.message}\n\n"
41
- end
42
- end
43
-
44
- report "loading dictionary" do
45
- yaml = open("evaluation/dictionary.yml").read
46
- yaml = YAML.load(yaml).map{|word| word.downcase.tr(" ", "_") }
47
-
48
- DICTIONARY = Set.new(yaml)
49
- end
50
-
51
- report "loading correct/incorrect words" do
52
- SPELL_CHECKER = DidYouMean::SpellChecker.new(dictionary: DICTIONARY)
53
- INCORRECT_WORDS = YAML.load(open("evaluation/incorrect_words.yaml").read)
54
- end
55
-
56
- total_count = 0
57
- correct_count = 0
58
- words_not_corrected = []
59
- filename = "log/words_not_corrected_#{Time.now.to_i}.yml"
60
-
61
- puts <<-MSG
62
-
63
- Total number of test data: #{INCORRECT_WORDS.size}
64
-
65
- MSG
66
-
67
- report "calculating accuracy" do
68
- INCORRECT_WORDS.each_with_index do |(expected, user_input), index|
69
- if DICTIONARY.include?(expected)
70
- total_count += 1
71
-
72
- corrections = SPELL_CHECKER.correct(user_input)
73
- if corrections.first == expected
74
- correct_count += 1
75
- else
76
- words_not_corrected << {
77
- 'input' => user_input,
78
- 'expected' => expected,
79
- 'actual' => corrections
80
- }
81
- end
82
- end
83
-
84
- puts "processed #{index} items" if index % 100 == 0
85
- end
86
-
87
- puts "\n"
88
- end
89
-
90
- puts <<-MSG
91
-
92
- Evaulation result
93
-
94
- Total count : #{total_count}
95
- Correct count: #{correct_count}
96
- Accuracy : #{correct_count.to_f / total_count}
97
-
98
- MSG
99
-
100
- Dir.mkdir('log') unless File.exist?('log')
101
- File.open(filename, 'w') do |file|
102
- file.write(words_not_corrected.to_yaml)
103
- end
104
-
105
- puts "Incorrect corrections were logged to #{filename}."
@@ -1,37 +0,0 @@
1
- require 'open-uri'
2
- require 'cgi'
3
- require 'json'
4
-
5
- per_page = 500
6
- base_url = "https://simple.wiktionary.org/w/api.php?action=query&aplimit=#{per_page}&list=allpages&format=json"
7
- filename = "evaluation/dictionary.yml"
8
- apfrom = ""
9
- num = 0
10
- titles = []
11
-
12
- loop do
13
- url = base_url + "&apfrom=#{apfrom}"
14
-
15
- puts "downloading page %2d: #{url}" % num
16
-
17
- body = open(url).read
18
- json = JSON.load(body)
19
- count = json["query"]["allpages"].size
20
- apfrom = CGI.escape(json["query"]["allpages"].last['title']) if count > 0
21
-
22
- titles += json["query"]["allpages"].map {|hash| hash["title"] }
23
- num += 1
24
-
25
- break if count != per_page
26
- end
27
-
28
- require 'yaml'
29
-
30
- File.open(filename, 'w') do |file|
31
- file.write(titles.uniq.to_yaml)
32
- end
33
-
34
- puts "
35
- Number of titles: #{titles.uniq.size}
36
- Dictionary saved: #{filename}
37
- "
@@ -1,1161 +0,0 @@
1
- # This data is based on Birkbeck Spelling Error Corpus: http://ota.ox.ac.uk/headers/0643.xml
2
- # More specifically, this is a yaml version of the data in FAWTHROP1DAT.643 and FAWTHROP2DAT.643.
3
- # released under the Creative Commons Attribution-NonCommercial-ShareAlike 3.0 Unported License.
4
- # https://creativecommons.org/licenses/by-nc-sa/3.0/
5
- ---
6
- abattoir: abbatoir
7
- abhorrence: abhorence
8
- absence: absense
9
- absorbent: absorbant
10
- absorption: absorbtion
11
- accede: acceed
12
- accelerate: acellerate
13
- accessible: accesible
14
- accidentally: accidently
15
- accommodate: accomodate
16
- accommodation: accomodation
17
- accommodations: accomodations
18
- accompaniment: accompanimen
19
- accompanying: acompaning
20
- accomplice: acomplice
21
- accrued: acrued
22
- accumulated: acumulated
23
- accustom: acustom
24
- achievement: acheivement
25
- acknowledgment: acknowledgement
26
- acquaintance: acquantance
27
- acquiesce: aquiese
28
- acquiescence: acquiesence
29
- acquire: aquire
30
- actually: actualy
31
- adaptability: adaptibility
32
- addition: additon
33
- address: adress
34
- adequately: adequattly
35
- adjacent: ajacent
36
- adjourned: adjorned
37
- administration: adminstration
38
- admissible: admissable
39
- admitting: admiting
40
- advantageous: advantageos
41
- advice: advise
42
- affidavit: afidavit
43
- aggravated: agravated
44
- aghast: agast
45
- agreeable: agreable
46
- allotted: alloted
47
- also: allso
48
- alumnae: alumni
49
- alumni: alumnae
50
- amateur: amatuer
51
- amiable: aimiable
52
- ammonia: amonia
53
- analogous: analagous
54
- analysis: analsis
55
- analyze: analize
56
- angel: angell
57
- anniversary: anniversery
58
- announcement: anouncement
59
- annoyance: anoyance
60
- answer: anwser
61
- antarctic: antartic
62
- any: anye
63
- anything: anythin
64
- apollo: appolo
65
- apology: appology
66
- apparent: apparant
67
- appearance: appearence
68
- appearing: appearin
69
- appetite: appitite
70
- appetites: appatites
71
- appropriate: apropriate
72
- appropriation: apropriation
73
- approximate: aproximate
74
- approximately: aproximatly
75
- archaeological: archeological
76
- ascertain: assertain
77
- asinine: assinine
78
- asking: askin
79
- asleep: asleeep
80
- assassinate: assasinate
81
- assessment: assesment
82
- assiduous: assidious
83
- assistance: assistence
84
- attorneys: attornies
85
- authoritative: authorative
86
- auxiliary: auxillary
87
- available: availble
88
- awkward: aukward
89
- bachelor: batchelor
90
- balloon: baloon
91
- banana: bananna
92
- bankruptcy: bankrupcy
93
- bargaining: baragining
94
- battalion: batallion
95
- beam: beame
96
- before: befor
97
- beginning: begining
98
- believe: belive
99
- belligerent: beligerant
100
- beneficent: beneficient
101
- beneficial: benificial
102
- bitch: bich
103
- brake: brakke
104
- brethren: bretheren
105
- brief: brif
106
- britain: britian
107
- britannia: britania
108
- brown: broun
109
- bungalow: bungalo
110
- buoyancy: bouyancy
111
- buoyant: bouyant
112
- buried: burried
113
- bushel: bushell
114
- business: busness
115
- buying: buyin
116
- cancellation: cancelation
117
- calling: callin
118
- cantaloupe: cantaloube
119
- caribbean: carribean
120
- catalogues: catologues
121
- category: catagorey
122
- cemetery: cemetary
123
- chauffeur: chauffuer
124
- chemistry: chemestry
125
- chimneys: chimnies
126
- cincinnati: cincinatti
127
- clever: cleva
128
- coalesced: coalesed
129
- coherent: coherant
130
- coliseum: colosium
131
- collateral: calateral
132
- colossal: collosal
133
- colossus: collosus
134
- commanded: commaunded
135
- commission: commision
136
- commitment: committment
137
- committee: committe
138
- communicate: comunicate
139
- comparative: comparitive
140
- comparatively: comparitively
141
- compendium: conpendium
142
- competent: compitent
143
- concede: consede
144
- conceive: concieve
145
- conceived: concieved
146
- conditions: condicions
147
- confectionery: confectionary
148
- confirmation: confermation
149
- confusing: confusin
150
- connoisseurs: connoiseurs
151
- conscience: concience
152
- conscientious: conscientous
153
- consensus: concensus
154
- considering: consderin
155
- consistent: consistant
156
- conspired: conpired
157
- consumer: comsumer
158
- contemptible: contempible
159
- continuous: continous
160
- controllable: controlable
161
- controversy: controversey
162
- conveniently: conviently
163
- coolly: cooly
164
- corduroy: corderoy
165
- correspondence: correspondanc
166
- corrugated: corrigated
167
- could: coud
168
- counting: countin
169
- countryman: countriman
170
- craftsman: craftman
171
- curiosity: curiousity
172
- curriculum: curicculum
173
- customary: customery
174
- cynical: synical
175
- darling: darlin
176
- decidedly: dicidely
177
- deem: deam
178
- definitely: definatly
179
- delinquent: delinquint
180
- delirious: dilirious
181
- delving: delvin
182
- denying: denyin
183
- dependant: dependent
184
- depreciation: depeciation
185
- descendant: descendent
186
- description: desacription
187
- despair: dispair
188
- deuce: duece
189
- develop: develope
190
- development: developement
191
- dictionary: dictionery
192
- dignitary: dignatary
193
- dilapidated: dilapadated
194
- diminish: diminsh
195
- dining: dinning
196
- diphtheria: diptheria
197
- disappoint: dissappoint
198
- disappointment: dissappointment
199
- disastrous: disasterous
200
- discipline: disiplin
201
- discrete: discite
202
- dispel: dispell
203
- dissipate: disippate
204
- divine: devine
205
- doctor: docter
206
- doctors: docters
207
- dormitory: dormatory
208
- doubt: doupt
209
- drastically: drasticly
210
- drawing: drawin
211
- dreaming: dreamin
212
- drew: drewe
213
- dropped: droped
214
- drunkenness: drunkeness
215
- duchess: dutchess
216
- duly: duely
217
- during: durin
218
- earnest: ernest
219
- ecstasy: ecstacy
220
- effecting: effectinge
221
- effeminate: affeminate
222
- effervescent: effervesent
223
- efficiency: effeciency
224
- eisenhower: eisenhhower
225
- eligible: elegable
226
- eliminate: illiminate
227
- embarrass: embarass
228
- embarrassment: embarrasment
229
- encyclopedia: encylopedia
230
- endorsement: endorsment
231
- enemy: emeny
232
- engineers: egnineers
233
- enlarged: enlargd
234
- entertained: enterteyned
235
- equipped: equipt
236
- equivalent: equivelant
237
- esteemed: estimed
238
- every: evrey
239
- exaggerate: exagerate
240
- exaggeration: exageration
241
- examination: eximination
242
- examining: examinin
243
- excellence: excelence
244
- exercises: excercises
245
- exhilarating: exhilirating
246
- exhorted: exorted
247
- existence: existance
248
- exorbitant: exhorbitant
249
- experience: experiance
250
- explicitly: explisitly
251
- exquisite: exqusite
252
- eyeing: eying
253
- facilitate: facilatate
254
- fascinating: facinating
255
- fatiguing: fatiging
256
- fear: feare
257
- february: febuary
258
- fictitious: fictitous
259
- fielder: fiedler
260
- fiery: firey
261
- fighting: fieghting
262
- filipinos: philipinoes
263
- filthiness: filthness
264
- finally: finaly
265
- flammable: flamable
266
- flourished: florished
267
- foreign: forien
268
- forthright: fortright
269
- forty: fourty
270
- fox: foxx
271
- frescos: frescoes
272
- friend: freind
273
- fulfill: fullfil
274
- fundamental: fundemental
275
- fundamentally: fundementally
276
- gardener: gardner
277
- gauge: guage
278
- generosity: generousity
279
- genius: genious
280
- ghastly: gastly
281
- gnawing: knawing
282
- gone: gonne
283
- government: goverment
284
- grabbing: grabbin
285
- grammar: grammer
286
- gramophone: grammophon
287
- grandeur: granduer
288
- grateful: greatful
289
- grievous: grievious
290
- grill: grille
291
- guarantee: gaurantee
292
- guaranteed: guarenteed
293
- guardian: guardien
294
- guttural: gutteral
295
- hammarskjold: hammerskjold
296
- hand: hande
297
- handkerchief: hankerchief
298
- handsome: hansome
299
- harass: harrass
300
- having: haveing
301
- heartrending: heartrendering
302
- height: heighth
303
- heinous: hienous
304
- hemorrhage: hemorrage
305
- heyday: heydey
306
- himself: himselfe
307
- hindrance: hinderence
308
- humbly: humly
309
- hurricane: huricane
310
- hygiene: hygeine
311
- identified: indentified
312
- idiosyncrasy: idiocyncracy
313
- imagination: imagnation
314
- imitation: immitation
315
- immediately: imidatly
316
- immensely: immensly
317
- impedance: impedence
318
- impresario: impressario
319
- incense: insense
320
- incessant: incesant
321
- incidentally: incidently
322
- incompatibility: incompatability
323
- inconvenience: inconvience
324
- incorrigible: incorigible
325
- incredible: incredable
326
- indefinite: indefinate
327
- independence: independance
328
- indictment: inditement
329
- indispensable: indispensible
330
- inevitable: inevitible
331
- infallible: infalable
332
- infinite: infinate
333
- ingratitude: ingratitoode
334
- innocuous: inocuous
335
- inoculate: innoculate
336
- insistence: insistance
337
- instantaneous: instantanous
338
- instead: insted
339
- intercede: intersede
340
- interfered: interferred
341
- interference: intereference
342
- interrupted: interupted
343
- invariably: invarably
344
- irrelevant: irrelavent
345
- irreparable: irrepairable
346
- irresistible: irristible
347
- itemized: itimized
348
- jackknife: jacknife
349
- jaguar: jagaur
350
- japanese: japaneze
351
- jaundice: jaundise
352
- jealousy: jelousy
353
- jeopardize: jeprodise
354
- judgment: judgement
355
- kaleidoscope: kaliedoscope
356
- kapok: kapock
357
- khaki: kahki
358
- kimono: kimona
359
- kindergarten: kindergarden
360
- kitchen: kitchin
361
- knickknacks: knicknacks
362
- labeled: labelled
363
- laboratory: labratory
364
- language: langauge
365
- leeway: leaway
366
- leisure: liesure
367
- leveled: levelled
368
- library: libray
369
- license: lisence
370
- lieutenant: leutenant
371
- linoleum: linolium
372
- liquefied: liquified
373
- liquefy: liquify
374
- livelihood: livelyhood
375
- lodestone: loadstone
376
- lodgment: lodgement
377
- lonely: lonley
378
- magnificent: magnigicient
379
- maintenance: maintainance
380
- mammoth: mamoth
381
- management: managment
382
- maneuver: manuveur
383
- manufactories: manufacturies
384
- masterpiece: masterpice
385
- material: materiel
386
- mathematics: mathmatics
387
- mattress: mattres
388
- maudlin: mauldin
389
- meant: ment
390
- medicine: medecine
391
- meeting: meetin
392
- mercenary: mercanery
393
- merchandise: merchandize
394
- merchantmen: merchantment
395
- meteorological: meterological
396
- metropolitan: metropolitian
397
- millionaire: millionnaire
398
- miniature: minature
399
- miscellaneous: miscelaneous
400
- mischievous: mischievious
401
- moccasins: mocassins
402
- momentous: momentus
403
- mortgage: morgage
404
- mortgaged: mortgauged
405
- murmurs: murmers
406
- mustnt: musnt
407
- mutilate: mutalate
408
- mythical: mithical
409
- nadir: nadar
410
- naphtha: naptha
411
- narrative: narative
412
- naturally: naturaly
413
- navigating: navagating
414
- necessarily: necessarilly
415
- necessary: nessisary
416
- niagara: niagra
417
- nickel: nickle
418
- niggardly: nigardly
419
- ninetieth: nintieth
420
- ninetyninth: nintynineth
421
- nocturnal: nocternal
422
- nonsense: nonsence
423
- notwithstanding: nothwithstanding
424
- nowadays: nowdays
425
- obbligato: obliggato
426
- obdurate: obdirate
427
- occasion: ocassion
428
- occasionally: occasionaly
429
- occurred: occureed
430
- occurrence: occurence
431
- octopus: octapus
432
- odyssey: oddysey
433
- ominous: omenous
434
- omission: ommision
435
- onerous: onirous
436
- opportunities: oppotunities
437
- opposition: oposition
438
- oppressor: oppresser
439
- optician: optitian
440
- oratorio: orotario
441
- orchestra: ochestra
442
- ordinarily: ordinarilly
443
- origin: origen
444
- originally: origionally
445
- own: owne
446
- pain: paine
447
- pamphlet: phamplet
448
- pamphlets: phamplets
449
- parallel: parellel
450
- paralysis: parallysis
451
- paraphernalia: parephernalia
452
- parenthesis: parenthasis
453
- participle: participal
454
- pastime: pasttime
455
- pastor: paster
456
- paternity: paternaty
457
- pavilion: pavillion
458
- peasant: peasent
459
- peculiar: pecular
460
- penance: pennance
461
- pendulum: pendelum
462
- penguins: pengiuns
463
- peninsula: peninsular
464
- penitentiary: penitentary
465
- perceive: percieve
466
- perforation: preforation
467
- permissible: permissable
468
- perseverance: perseverence
469
- personalty: personality
470
- perspiration: persperation
471
- persuade: pursuade
472
- persuaded: pursuaded
473
- persuasion: persausion
474
- pertaining: pertaning
475
- pervaded: prevaded
476
- pharaohs: pharoahs
477
- phase: faze
478
- phenomenal: phenominal
479
- phenomenon: phenonenon
480
- philippines: phillipines
481
- physician: physican
482
- pickerel: pickeral
483
- picnicking: picnicing
484
- pittsburgh: pittsburg
485
- plagiarism: plaigarism
486
- plaque: placque
487
- playwright: playwrite
488
- pleasant: plesent
489
- poetry: poetrie
490
- poisonous: poisenous
491
- ponderous: pondorous
492
- possess: posess
493
- possession: possesion
494
- possibilities: possablities
495
- prairie: prarie
496
- preceding: preceeding
497
- precipice: presipice
498
- preferable: preferrable
499
- preference: preferance
500
- preferred: prefered
501
- prejudice: prejedice
502
- preparation: preperation
503
- preserved: perserved
504
- presumptuous: presumptous
505
- prevalent: prevelant
506
- preventive: preventative
507
- prisoner: prisner
508
- privilege: priviledge
509
- probably: probabley
510
- procedure: proceduer
511
- professor: proffesor
512
- proffer: profer
513
- prominent: prominant
514
- promontory: promonotory
515
- pronunciation: pronounciation
516
- propeller: propellor
517
- prophecy: prophesy
518
- provisions: provisons
519
- pseudonym: pseudynom
520
- psychological: psycological
521
- public: publick
522
- publicly: publically
523
- pumpkin: pumkin
524
- pursue: persue
525
- pursuer: persuer
526
- pursuit: persuit
527
- qualified: qualafied
528
- quandary: quandry
529
- quantities: quanties
530
- quarantine: quarrantine
531
- quarreled: quarelled
532
- quarter: quater
533
- questionnaire: questionare
534
- quiescent: quiscent
535
- quorum: quorem
536
- radiant: radient
537
- radiator: radiater
538
- raise: raize
539
- rating: rateing
540
- really: realy
541
- rebuttal: rebutal
542
- receded: receeded
543
- receipt: reciept
544
- receipts: reciepts
545
- receive: recieve
546
- receiver: reciever
547
- receptacle: receptacel
548
- recipient: resipient
549
- reciprocal: reciprocel
550
- reckon: recon
551
- reclamation: reclaimation
552
- recommend: recomend
553
- recommendation: recomendation
554
- recommendations: reccomendations
555
- recommended: recommend
556
- recommending: recomending
557
- recompense: recompence
558
- redundant: redundent
559
- reference: refference
560
- referred: refered
561
- referring: refering
562
- refrigerator: refrigerater
563
- regretted: regreted
564
- rehabilitate: rehabilatate
565
- relevant: relevaant
566
- religious: religous
567
- remembrance: rememberance
568
- rendezvous: rendevous
569
- renegade: renagade
570
- renown: renoun
571
- reparation: repairation
572
- repel: repell
573
- repetition: repitition
574
- representatives: representitives
575
- rescinded: resinded
576
- reservoir: resevoir
577
- responsibility: responsiblity
578
- restaurant: restuarant
579
- restaurateur: restauranteur
580
- rhapsody: raphsody
581
- rheumatism: rhuematism
582
- rhododendron: rhododrendon
583
- rhubarb: ruhbarb
584
- rhythm: rythm
585
- ridiculous: rediculous
586
- romantic: romantick
587
- rummage: rumage
588
- running: runing
589
- sabbath: sabath
590
- sacrament: sacrement
591
- sacrilegious: sacreligious
592
- safety: safty
593
- sagacious: sagatious
594
- sailor: sailer
595
- sandwich: sanwich
596
- sanitary: sanatary
597
- satisfactory: satisfactary
598
- scarcity: scarsity
599
- scissors: sissers
600
- seize: sieze
601
- seized: siezed
602
- self: selfe
603
- sell: selle
604
- semesters: semisters
605
- seminary: seminery
606
- separate: seporate
607
- sergeant: sergant
608
- sheep: sheepe
609
- shepherd: sheperd
610
- silhouette: silhuette
611
- shipping: shippin
612
- shoulder: shouldda
613
- shoulders: sholders
614
- showing: showin
615
- shrubbery: shrubery
616
- siege: seige
617
- significant: significent
618
- silk: silke
619
- similar: similiar
620
- simultaneous: similtanous
621
- sincerity: sincerety
622
- slimmest: slimest
623
- smiling: smilin
624
- sociable: socable
625
- social: socal
626
- solemn: solomn
627
- sophomore: sophmore
628
- sorority: sororiety
629
- sought: saught
630
- source: sorce
631
- souvenir: souviner
632
- sovereignty: sovreignty
633
- sparsely: sparcely
634
- spear: speer
635
- specifically: specificly
636
- specimen: speciment
637
- specimens: specimans
638
- spirituous: spiritous
639
- sprinkle: sprinkel
640
- starting: startin
641
- stationary: stationery
642
- statue: statu
643
- stirring: stirrin
644
- stirrups: stirups
645
- stomach: stomack
646
- straining: strainin
647
- straitjacket: straightjacket
648
- stratagem: strategem
649
- strategy: stratagy
650
- strenuous: strenous
651
- stretched: streched
652
- stubbornness: stubborness
653
- suburban: sububan
654
- success: sucess
655
- sufficient: suficient
656
- suffrage: sufferage
657
- sugar: suger
658
- suing: sueing
659
- superficial: superfical
660
- superintendent: supertendent
661
- supersede: supercede
662
- supplement: suplement
663
- suppress: supress
664
- surprise: suprise
665
- surreptitious: sureptitous
666
- surrounded: surounded
667
- swearing: swearinge
668
- syllables: sylables
669
- symmetry: symetry
670
- synonymous: synonomous
671
- systematically: systemetically
672
- tacit: tasit
673
- taking: takin
674
- technically: technecally
675
- television: televison
676
- temperament: temperment
677
- temporarily: temporarly
678
- temporary: tempory
679
- tendency: tendancy
680
- terrestrial: terestial
681
- terrors: terrours
682
- that: thatt
683
- therefore: therefor
684
- thief: theaf
685
- think: thinke
686
- thinking: thinkin
687
- thorough: thourough
688
- thoroughly: throughly
689
- tobacco: tobbaco
690
- tobogganing: tobboganing
691
- tonnage: tonage
692
- tragedy: tradgedy
693
- tranquility: tranquillity
694
- tranquillity: tranquility
695
- transferable: transferrable
696
- transferred: transfred
697
- truculent: trucculent
698
- truly: truley
699
- tying: tieing
700
- tyrannical: tyranical
701
- undoubtedly: undoubtly
702
- unequaled: unequalled
703
- unfortunately: unfortunatly
704
- university: unversity
705
- unmistakable: unmistakeable
706
- unparalleled: unparalelled
707
- until: untill
708
- usage: useage
709
- usually: usualy
710
- usurious: usurous
711
- utterance: utterence
712
- vacancy: vancancy
713
- vaccination: vacinnation
714
- vacillate: vaccilate
715
- various: vairious
716
- vegetable: vegatable
717
- vengeance: vengance
718
- vertical: verticle
719
- vice: vise
720
- victuals: vituals
721
- vilify: villify
722
- villain: villian
723
- violence: violance
724
- violin: vioiln
725
- visible: visable
726
- vitamins: vitamines
727
- voucher: vouture
728
- wagging: waggin
729
- waggish: wagish
730
- wednesday: wensday
731
- weed: weede
732
- weight: weigth
733
- weird: wierd
734
- whether: wether
735
- which: whitch
736
- who: whoe
737
- withhold: withold
738
- worshiping: worshipping
739
- yacht: yaht
740
- yearned: yerned
741
- yeoman: yoman
742
- yield: yeild
743
- zealous: zelous
744
- zenith: zeenith
745
- ability: ablity
746
- academically: academicly
747
- accept: acept
748
- accepted: acepted
749
- access: acess
750
- accessibility: accessability
751
- accessing: accesing
752
- according: acording
753
- account: acount
754
- accounts: acounts
755
- acquaintances: aquantences
756
- adaptable: adabtable
757
- addressable: addresable
758
- adequate: adiquate
759
- adjournment: adjurnment
760
- advise: advice
761
- again: agiin
762
- agencies: agences
763
- aggravating: agravating
764
- allow: alow
765
- although: athough
766
- analyse: analiss
767
- analysed: analised
768
- analysing: aalysing
769
- and: anf
770
- announcing: anouncing
771
- annoying: anoying
772
- annual: anual
773
- anomalies: anomolies
774
- apologies: appologies
775
- apologised: appologised
776
- appeal: apeal
777
- appendix: apendix
778
- applicable: aplicable
779
- applied: upplied
780
- applying: applieing
781
- appointment: appoitment
782
- appointments: apointments
783
- appreciated: apreciated
784
- appreciation: apreciation
785
- approach: aproach
786
- approached: aproached
787
- are: arte
788
- arguing: aurguing
789
- arranged: arrainged
790
- arrangeing: aranging
791
- arrangement: arrangment
792
- arrangements: araingements
793
- articles: articals
794
- assessing: accesing
795
- associated: assosiated
796
- atmosphere: atmospher
797
- auguments: aurgument
798
- availability: avaiblity
799
- base: basse
800
- benefit: benifit
801
- benefits: benifits
802
- between: beetween
803
- bicycle: bicycal
804
- bingley: bingly
805
- bonus: bonas
806
- build: biuld
807
- building: biulding
808
- busy: buisy
809
- career: carrer
810
- careers: currers
811
- categories: catagoris
812
- centrally: centraly
813
- certain: cirtain
814
- challenges: chalenges
815
- challenge: chalange
816
- choice: choise
817
- choices: choises
818
- choose: chose
819
- choosing: chosing
820
- clerical: clearical
821
- clerk: clerck
822
- collate: colate
823
- combine: comibine
824
- commercial: comersial
825
- comments: coments
826
- commit: comit
827
- committees: commitees
828
- compare: compair
829
- compared: comppared
830
- comparison: comparrison
831
- completely: completly
832
- component: componant
833
- composed: compossed
834
- conditioning: conditining
835
- conference: conferance
836
- consider: concider
837
- considerable: conciderable
838
- consist: consisit
839
- consisting: consisiting
840
- consists: consisits
841
- contained: contasined
842
- containing: contasining
843
- continually: contually
844
- continued: contuned
845
- controlled: controled
846
- conversely: conversly
847
- corporate: corparate
848
- credit: creadit
849
- criticism: citisum
850
- currently: curruntly
851
- data: dsata
852
- dealt: delt
853
- decide: descide
854
- decided: descided
855
- decides: descides
856
- decision: descisions
857
- decisions: descisions
858
- declarations: declaratrions
859
- definition: defenition
860
- definitions: defenitions
861
- demands: diemands
862
- dependence: dependance
863
- described: discribed
864
- desirable: disiable
865
- desperately: despratly
866
- diagrammatically: diagrammatica
867
- different: diffrent
868
- difficult: dificult
869
- difficulty: dificulty
870
- disaggregate: disaggreagte
871
- disappointing: dissapoiting
872
- discretion: discresion
873
- dissension: desention
874
- dragged: draged
875
- earlier: earlyer
876
- earliest: earlyest
877
- easier: easer
878
- easily: easyly
879
- econometric: economtric
880
- edition: ediition
881
- eliminated: elimiated
882
- embellishing: embelishing
883
- employed: emploied
884
- employees: emploies
885
- employment: empolyment
886
- encompassing: encompasing
887
- encourage: encorage
888
- enormously: enomosly
889
- entirely: entierly
890
- equalled: equaled
891
- erroneous: errounous
892
- especially: especaily
893
- essential: esential
894
- eventually: eventully
895
- evident: evedent
896
- exact: exsact
897
- exactly: exsactly
898
- examine: examin
899
- excellent: exerlant
900
- except: excxept
901
- excessively: exessively
902
- executed: executted
903
- expansion: expanion
904
- expense: expence
905
- expensive: expencive
906
- experiences: experances
907
- explaining: explaning
908
- exponentially: exponentualy
909
- extremely: extreemly
910
- facilities: facilitys
911
- fails: failes
912
- 'false': faulse
913
- familiar: familer
914
- families: familys
915
- favourable: faverable
916
- favourably: favorably
917
- feeling: fealing
918
- female: femail
919
- figure: figuar
920
- figures: figuars
921
- financial: finatical
922
- financially: financialy
923
- flexible: flexable
924
- forbidden: forbiden
925
- forecast: forcast
926
- fourth: forth
927
- functionally: functionaly
928
- functions: functuions
929
- further: futher
930
- gaining: ganing
931
- generated: generataed
932
- geneva: geniva
933
- geographically: goegraphicaly
934
- graphically: graphicaly
935
- guidelines: guidlines
936
- handle: handel
937
- hierarchal: hierachial
938
- hierarchy: hierchy
939
- however: howeverr
940
- humour: humor
941
- ideally: idealy
942
- immediate: imediate
943
- inconceivable: inconcievable
944
- indeed: indead
945
- independent: independant
946
- inefficient: ineffiect
947
- initial: intital
948
- input: inut
949
- inquiries: equiries
950
- insight: insite
951
- intelligence: inteligence
952
- interest: intrest
953
- interesting: intresting
954
- interpretation: interpritatio
955
- interrogating: interogationg
956
- investigated: investegated
957
- journalism: journaism
958
- knowledge: knowlege
959
- largely: largly
960
- later: latter
961
- length: lengh
962
- level: leval
963
- levels: levals
964
- lieu: liew
965
- literature: litriture
966
- loans: lones
967
- locally: localy
968
- luckily: luckeley
969
- majority: majorty
970
- manually: manualy
971
- many: mony
972
- mathematically: mathematicaly
973
- matrix: matriiix
974
- mean: meen
975
- means: meens
976
- minutes: muiuets
977
- misleading: missleading
978
- monitoring: monitering
979
- months: monthes
980
- moving: moveing
981
- nationally: nationaly
982
- nature: natior
983
- necessitates: nessisitates
984
- necessity: nessesity
985
- negligible: negligable
986
- neither: niether
987
- night: nite
988
- normally: normaly
989
- now: noe
990
- numbers: numbuers
991
- obtaining: optaning
992
- occur: occure
993
- operations: operatins
994
- operator: opertor
995
- operators: oprators
996
- opinion: oppinion
997
- opportunity: oppotunity
998
- ordinary: ordenary
999
- organization: oranisation
1000
- organized: oranised
1001
- orientated: orentated
1002
- output: oputput
1003
- overall: overal
1004
- paid: payed
1005
- parameters: perametres
1006
- partially: partialy
1007
- particular: particulaur
1008
- particularly: particulary
1009
- patterns: pattarns
1010
- per: pere
1011
- perhaps: perhapse
1012
- permanent: perminant
1013
- permanently: perminantly
1014
- personnel: personel
1015
- pivoting: pivting
1016
- politics: polatics
1017
- position: possition
1018
- possible: possable
1019
- prepared: prepaired
1020
- primarily: pimarily
1021
- prior: piror
1022
- proceeding: proceding
1023
- profession: preffeson
1024
- profit: proffit
1025
- profits: proffits
1026
- progresses: progressess
1027
- progression: progresion
1028
- projects: projeccts
1029
- proportions: proprtions
1030
- provide: provid
1031
- provisionally: provisionaly
1032
- proviso: provisoe
1033
- qualities: quaties
1034
- queries: quies
1035
- reaching: reching
1036
- readjusted: reajusted
1037
- received: recived
1038
- receives: recives
1039
- receiving: reciving
1040
- recently: reciently
1041
- refered: reffered
1042
- regained: regined
1043
- register: rgister
1044
- relatively: relitivly
1045
- repetitive: repetative
1046
- representative: representitiv
1047
- requested: rquested
1048
- required: reequired
1049
- research: reserch
1050
- resolved: resoved
1051
- responsibilities: responsibliti
1052
- responsible: responcible
1053
- resulting: reulting
1054
- retirement: retirment
1055
- routine: rouint
1056
- safeguard: safegaurd
1057
- salaries: salarys
1058
- scheme: scheem
1059
- scrutinized: scrutiniesed
1060
- search: serch
1061
- searching: serching
1062
- secretaries: secutaries
1063
- security: seurity
1064
- seen: seeen
1065
- segment: segemnt
1066
- senior: sienior
1067
- sense: sence
1068
- sensible: sensable
1069
- separated: seperated
1070
- separation: seperation
1071
- session: sesion
1072
- set: et
1073
- sheets: sheertes
1074
- shortened: shortend
1075
- shown: hown
1076
- sign: eign
1077
- simular: similar
1078
- singular: singulaur
1079
- someone: somone
1080
- sources: sorces
1081
- speaking: speeking
1082
- standardizing: stanerdizing
1083
- stopped: stoped
1084
- students: studens
1085
- studying: studing
1086
- subsequent: subsiquent
1087
- subtract: subtrcat
1088
- successful: sucssuful
1089
- successive: sucsesive
1090
- such: shuch
1091
- suffering: suufering
1092
- suggested: sugested
1093
- suggestion: sugestion
1094
- suggests: sugests
1095
- suited: suted
1096
- summarys: sumarys
1097
- supervision: supervison
1098
- supplementary: suplementary
1099
- supplements: suplements
1100
- supposedly: supposidly
1101
- surrounding: serounding
1102
- surroundings: suroundings
1103
- surveys: servays
1104
- surveying: servaying
1105
- system: sysem
1106
- table: tasble
1107
- technique: tecnique
1108
- techniques: tecniques
1109
- the: thw
1110
- their: thier
1111
- there: thear
1112
- thermawear: thermawhere
1113
- these: thess
1114
- they: thay
1115
- thoughts: thorts
1116
- through: throut
1117
- throughout: throuout
1118
- timing: timeing
1119
- titles: tittles
1120
- to: ro
1121
- together: togehter
1122
- totally: totaly
1123
- traditionally: traditionaly
1124
- transactions: trasactions
1125
- transportability: transportibil
1126
- triangular: triangulaur
1127
- umbrella: umberalla
1128
- unavailable: unavailble
1129
- understandable: understadable
1130
- unequalled: unequaled
1131
- unequivocally: unequivocaly
1132
- union: unioun
1133
- unique: uneque
1134
- universally: universaly
1135
- unnecessarily: unessasarily
1136
- unnecessary: unessessay
1137
- unresolved: unresloved
1138
- used: usedf
1139
- useful: usful
1140
- user: uers
1141
- utilized: utalised
1142
- valuable: valuble
1143
- variable: varible
1144
- variant: vairiant
1145
- variety: variatry
1146
- virtually: vertually
1147
- visitor: vistor
1148
- visitors: vistors
1149
- voluntary: volantry
1150
- voting: voteing
1151
- weapons: wepons
1152
- weighted: wagted
1153
- were: where
1154
- when: whn
1155
- whereas: wheras
1156
- widely: widly
1157
- will: wil
1158
- within: withing
1159
- would: whould
1160
- written: writen
1161
- years: yesars