Ver código fonte

Update sanity's misspelling checker

Added getopts support for arguments '-h', '-u' and 'n'.

 * -h will show a help message.
 * -u will try to update the database containing the misspelled words.
 * -n will disable git's pager.

The database update requires the xmllint and recode softwares, commonly
available in any distro repository. The script will download a html page
from wikipedia, strip all irrelevant content then compare the result to
the existing file. If common_typos.txt doesn't exists, it'll be created.

The misspelling regex ignores lines containing a QSP's array ($variable[),
lines containing the word 'teh', and lines starting with !, if or elseif.
It was made so to avoid false positives.
bicobus 6 anos atrás
pai
commit
287bff9155
3 arquivos alterados com 4364 adições e 9 exclusões
  1. 5 0
      common_typos.license.md
  2. 4278 0
      common_typos.txt
  3. 81 9
      insanity.sh

+ 5 - 0
common_typos.license.md

@@ -0,0 +1,5 @@
+List of words uses material from the wikipedia article [List of common misspellings][1], which is released under [Creative Commons Attribution-Share-Alike License 3.0][2].
+
+
+[1]: https://en.wikipedia.org/wiki/Wikipedia:Lists_of_common_misspellings/For_machines
+[2]: https://creativecommons.org/licenses/by-sa/3.0/

+ 4278 - 0
common_typos.txt

@@ -0,0 +1,4278 @@
+abandonned
+aberation
+abilityes
+abilties
+abilty
+abondon
+abbout
+abotu
+abouta
+aboutit
+aboutthe
+abscence
+abondoned
+abondoning
+abondons
+aborigene
+accesories
+accidant
+abortificant
+abreviate
+abreviated
+abreviation
+abritrary
+absail
+absailing
+absense
+absolutly
+absorbsion
+absorbtion
+abudance
+abundacies
+abundancies
+abundunt
+abutts
+acadamy
+acadmic
+accademic
+accademy
+acccused
+accelleration
+accension
+acceptence
+acceptible
+accessable
+acident
+accidentaly
+accidently
+acclimitization
+accomadate
+accomadated
+accomadates
+accomadating
+accomadation
+accomadations
+accomdate
+accomodate
+accomodated
+accomodates
+accomodating
+accomodation
+accomodations
+accompanyed
+accordeon
+accordian
+accoring
+accoustic
+accquainted
+accrediation
+accredidation
+accross
+accussed
+acedemic
+acheive
+acheived
+acheivement
+acheivements
+acheives
+acheiving
+acheivment
+acheivments
+achievment
+achievments
+achive
+achived
+achivement
+achivements
+acknowldeged
+acknowledgeing
+ackward
+acommodate
+acomplish
+acomplished
+acomplishment
+acomplishments
+acording
+acordingly
+acquaintence
+acquaintences
+acquiantence
+acquiantences
+acquited
+activites
+activly
+actualy
+acuracy
+acused
+acustom
+acustommed
+adavanced
+adbandon
+addional
+addionally
+additinally
+additionaly
+additonal
+additonally
+addmission
+addopt
+addopted
+addoptive
+addres
+addresable
+addresed
+addresing
+addressess
+addtion
+addtional
+adecuate
+adequit
+adhearing
+adherance
+admendment
+admininistrative
+adminstered
+adminstrate
+adminstration
+adminstrative
+adminstrator
+admissability
+admissable
+admited
+admitedly
+adn
+adolecent
+adquire
+adquired
+adquires
+adquiring
+adres
+adresable
+adresing
+adress
+adressable
+adressed
+adressing
+adventrous
+advertisment
+advertisments
+advesary
+adviced
+aeriel
+aeriels
+afair
+afficianados
+afficionado
+afficionados
+affilate
+affilliate
+affort
+aforememtioned
+againnst
+agains
+agaisnt
+aganist
+aggaravates
+aggreed
+aggreement
+aggregious
+aggresive
+agian
+agianst
+agin
+agina
+aginst
+agravate
+agre
+agred
+agreeement
+agreemnt
+agregate
+agregates
+agreing
+agression
+agressive
+agressively
+agressor
+agricultue
+agriculure
+agricuture
+agrieved
+ahev
+ahppen
+ahve
+aicraft
+aiport
+airbourne
+aircaft
+aircrafts
+aircrafts'
+airporta
+airrcraft
+aisian
+aka
+albiet
+alchohol
+alchoholic
+alchol
+alcholic
+alcohal
+alcoholical
+aledge
+aledged
+aledges
+alege
+aleged
+alegience
+algebraical
+algorhitms
+algoritm
+algoritms
+alientating
+alledge
+alledged
+alledgedly
+alledges
+allegedely
+allegedy
+allegely
+allegence
+allegience
+allign
+alligned
+alliviate
+allopone
+allopones
+allready
+allthough
+alltime
+alltogether
+almsot
+alochol
+alomst
+alot
+alotted
+alowed
+alowing
+alreayd
+alse
+alsot
+alternitives
+altho
+althought
+altough
+alusion
+alwasy
+alwyas
+amalgomated
+amatuer
+amature
+amendmant
+Amercia
+amerliorate
+amke
+amking
+ammend
+ammended
+ammendment
+ammendments
+ammount
+ammused
+amoung
+amoungst
+amung
+amunition
+analagous
+analitic
+analogeous
+anarchim
+anarchistm
+anbd
+ancestory
+ancilliary
+andd
+androgenous
+androgeny
+anihilation
+aniversary
+annoint
+annointed
+annointing
+annoints
+annouced
+annualy
+annuled
+anohter
+anomolies
+anomolous
+anomoly
+anonimity
+anounced
+anouncement
+ansalisation
+ansalization
+ansestors
+antartic
+anthromorphization
+anthropolgist
+anthropolgy
+antiapartheid
+anual
+anulled
+anwsered
+anyhwere
+anyother
+anytying
+aparent
+aparment
+apenines
+aplication
+aplied
+apolegetics
+apon
+apparant
+apparantly
+appart
+appartment
+appartments
+appealling
+appeareance
+appearence
+appearences
+appenines
+apperance
+apperances
+appereance
+appereances
+applicaiton
+applicaitons
+appologies
+appology
+apprearance
+apprieciate
+approachs
+appropiate
+appropraite
+appropropiate
+approproximate
+approxamately
+approxiately
+approximitely
+aprehensive
+apropriate
+aproval
+aproximate
+aproximately
+aquaduct
+aquaintance
+aquainted
+aquiantance
+aquire
+aquired
+aquiring
+aquisition
+aquitted
+aranged
+arangement
+arbitarily
+arbitary
+archaelogical
+archaelogists
+archaelogy
+archaoelogy
+archaology
+archeaologist
+archeaologists
+archetect
+archetects
+archetectural
+archetecturally
+archetecture
+archiac
+archictect
+archimedian
+architecht
+architechturally
+architechture
+architechtures
+architectual
+archtype
+archtypes
+aready
+areodynamics
+argubly
+arguement
+arguements
+arised
+arival
+armamant
+armistace
+arogant
+arogent
+aroud
+arrangment
+arrangments
+arrengement
+arrengements
+arround
+artcile
+artical
+artice
+articel
+artifical
+artifically
+artillary
+arund
+asetic
+asfar
+asign
+aslo
+asociated
+asorbed
+asphyxation
+assasin
+assasinate
+assasinated
+assasinates
+assasination
+assasinations
+assasined
+assasins
+assassintation
+assemple
+assertation
+asside
+assisnate
+assit
+assitant
+assocation
+assoicate
+assoicated
+assoicates
+assosication
+asssassans
+assualt
+assualted
+assymetric
+assymetrical
+asteriod
+asthetic
+asthetical
+asthetically
+asume
+aswell
+atain
+atempting
+atheistical
+athenean
+atheneans
+athiesm
+athiest
+atorney
+atribute
+atributed
+atributes
+attaindre
+attemp
+attemped
+attemt
+attemted
+attemting
+attemts
+attendence
+attendent
+attendents
+attened
+attension
+attitide
+attributred
+attrocities
+audeince
+auromated
+austrailia
+austrailian
+auther
+authobiographic
+authobiography
+authorative
+authorites
+authorithy
+authoritiers
+authoritive
+authrorities
+autochtonous
+autoctonous
+automaticly
+automibile
+automonomous
+autor
+autority
+auxilary
+auxillaries
+auxillary
+auxilliaries
+auxilliary
+availabe
+availablity
+availaible
+availble
+availiable
+availible
+avalable
+avalance
+avaliable
+avation
+avengence
+averageed
+avilable
+awared
+awya
+baceause
+backgorund
+backrounds
+bakc
+banannas
+bandwith
+bankrupcy
+banruptcy
+baout
+basicaly
+basicly
+bcak
+beachead
+beacuse
+beastiality
+beatiful
+beaurocracy
+beaurocratic
+beautyfull
+becamae
+becames
+becasue
+beccause
+becomeing
+becomming
+becouse
+becuase
+bedore
+beeing
+befoer
+beggin
+begginer
+begginers
+beggining
+begginings
+beggins
+begining
+beginnig
+behavour
+beleagured
+beleif
+beleive
+beleived
+beleives
+beleiving
+beligum
+belive
+belived
+belives
+belligerant
+bellweather
+bemusemnt
+beneficary
+beng
+benificial
+benifit
+benifits
+bergamont
+Bernouilli
+beseige
+beseiged
+beseiging
+beteen
+betwen
+beween
+bewteen
+bigining
+biginning
+bilateraly
+billingualism
+binominal
+bizzare
+blaim
+blaimed
+blessure
+Blitzkreig
+boaut
+bodydbuilder
+bombardement
+bombarment
+bondary
+Bonnano
+boook
+borke
+boundry
+bouyancy
+bouyant
+boyant
+bradcast
+Brasillian
+breakthough
+breakthroughts
+breif
+breifly
+brethen
+bretheren
+briliant
+brillant
+brimestone
+Britian
+Brittish
+broacasted
+broadacasting
+broady
+Buddah
+Buddist
+buisness
+buisnessman
+buoancy
+buring
+burried
+busines
+busineses
+busness
+bussiness
+caculater
+cacuses
+cahracters
+calaber
+calander
+calculater
+calculs
+calenders
+caligraphy
+caluclate
+caluclated
+caluculate
+caluculated
+calulate
+calulated
+calulater
+Cambrige
+camoflage
+campagin
+campain
+campains
+candadate
+candiate
+candidiate
+cannister
+cannisters
+cannnot
+cannonical
+cannotation
+cannotations
+caost
+caperbility
+Capetown
+capible
+captial
+captued
+capturd
+carachter
+caracterized
+carcas
+carefull
+careing
+carismatic
+Carmalite
+Carnagie
+Carnagie-Mellon
+carnege
+carnige
+Carnigie
+Carnigie-Mellon
+carreer
+carrers
+Carribbean
+Carribean
+carryng
+cartdridge
+Carthagian
+carthographer
+cartilege
+cartilidge
+cartrige
+casette
+casion
+cassawory
+cassowarry
+casue
+casued
+casues
+casuing
+casulaties
+casulaty
+catagories
+catagorized
+catagory
+Cataline
+catapillar
+catapillars
+catapiller
+catapillers
+catepillar
+catepillars
+catergorize
+catergorized
+caterpilar
+caterpilars
+caterpiller
+caterpillers
+cathlic
+catholocism
+catterpilar
+catterpilars
+catterpillar
+catterpillars
+cattleship
+causalities
+Ceasar
+Celcius
+cellpading
+cementary
+cemetarey
+cemetaries
+cemetary
+cencus
+censur
+cententenial
+centruies
+centruy
+centuties
+centuty
+ceratin
+cerimonial
+cerimonies
+cerimonious
+cerimony
+ceromony
+certainity
+certian
+cervial
+chalenging
+challange
+challanged
+challege
+Champange
+changable
+charachter
+charachters
+charactersistic
+charactor
+charactors
+charasmatic
+charaterized
+chariman
+charistics
+chasr
+cheif
+cheifs
+chemcial
+chemcially
+chemestry
+chemicaly
+childbird
+childen
+choclate
+choosen
+chracter
+chuch
+churchs
+Cincinatti
+Cincinnatti
+circulaton
+circumsicion
+circut
+ciricuit
+ciriculum
+civillian
+claer
+claerer
+claerly
+claimes
+clas
+clasic
+clasical
+clasically
+cleareance
+clera
+clincial
+clinicaly
+cmo
+cmoputer
+co-incided
+Coca Cola
+coctail
+coform
+cognizent
+coincedentally
+colaborations
+colateral
+colelctive
+collaberative
+collecton
+collegue
+collegues
+collonade
+collonies
+collony
+collosal
+colonizators
+comander
+comando
+comandos
+comany
+comapany
+comback
+combanations
+combinatins
+combusion
+comdemnation
+comemmorates
+comemoretion
+comision
+comisioned
+comisioner
+comisioning
+comisions
+comission
+comissioned
+comissioner
+comissioning
+comissions
+comited
+comiting
+comitted
+comittee
+comitting
+commandoes
+commedic
+commemerative
+commemmorate
+commemmorating
+commerical
+commerically
+commericial
+commericially
+commerorative
+comming
+comminication
+commision
+commisioned
+commisioner
+commisioning
+commisions
+commited
+commitee
+commiting
+committe
+committment
+committments
+commmemorated
+commongly
+commonweath
+commuications
+commuinications
+communciation
+communiation
+communites
+compability
+comparision
+comparisions
+comparitive
+comparitively
+compatabilities
+compatability
+compatable
+compatablities
+compatablity
+compatiable
+compatiblities
+compatiblity
+compeitions
+compensantion
+competance
+competant
+competative
+competion
+competitiion
+competive
+competiveness
+comphrehensive
+compitent
+completedthe
+completelyl
+completetion
+complier
+componant
+comprable
+comprimise
+compulsary
+compulsery
+computarized
+concensus
+concider
+concidered
+concidering
+conciders
+concieted
+concieved
+concious
+conciously
+conciousness
+condamned
+condemmed
+condidtion
+condidtions
+conditionsof
+conected
+conection
+conesencus
+confidental
+confidentally
+confids
+configureable
+confortable
+congradulations
+congresional
+conived
+conjecutre
+conjuction
+Conneticut
+conotations
+conquerd
+conquerer
+conquerers
+conqured
+conscent
+consciouness
+consdider
+consdidered
+consdiered
+consectutive
+consenquently
+consentrate
+consentrated
+consentrates
+consept
+consequentually
+consequeseces
+consern
+conserned
+conserning
+conservitive
+consiciousness
+consicousness
+considerd
+consideres
+consious
+consistant
+consistantly
+consituencies
+consituency
+consituted
+consitution
+consitutional
+consolodate
+consolodated
+consonent
+consonents
+consorcium
+conspiracys
+conspiriator
+constaints
+constanly
+constarnation
+constatn
+constinually
+constituant
+constituants
+constituion
+constituional
+consttruction
+constuction
+contstruction
+consulant
+consumate
+consumated
+contaiminate
+containes
+contamporaries
+contamporary
+contempoary
+contemporaneus
+contempory
+contendor
+contian
+contians
+contibute
+contibuted
+contibutes
+contigent
+contined
+continential
+continous
+continously
+continueing
+contravercial
+contraversy
+contributer
+contributers
+contritutions
+controled
+controling
+controll
+controlls
+controvercial
+controvercy
+controveries
+controversal
+controversey
+controvertial
+controvery
+contruction
+conveinent
+convenant
+convential
+convertables
+convertion
+conviced
+convienient
+coordiantion
+coorperation
+coorperations
+copmetitors
+coputer
+copywrite
+coridal
+cornmitted
+corosion
+corparate
+corperations
+correcters
+correponding
+correposding
+correspondant
+correspondants
+corridoors
+corrispond
+corrispondant
+corrispondants
+corrisponded
+corrisponding
+corrisponds
+costitution
+coucil
+coudl
+councellor
+councellors
+counries
+countains
+countires
+countrie's
+coururier
+coverted
+cpoy
+creaeted
+creche
+creedence
+critereon
+criterias
+criticists
+critising
+critisising
+critisism
+critisisms
+critisize
+critisized
+critisizes
+critisizing
+critized
+critizing
+crockodiles
+crowm
+crtical
+crticised
+crucifiction
+crusies
+crutial
+crystalisation
+culiminating
+cumulatative
+curch
+curcuit
+currenly
+curriculem
+cxan
+cyclinder
+dacquiri
+daed
+dael
+dalmation
+damenor
+dammage
+Dardenelles
+daugher
+debateable
+decendant
+decendants
+decendent
+decendents
+decideable
+decidely
+decieved
+decison
+decomissioned
+decomposit
+decomposited
+decompositing
+decomposits
+decress
+decribe
+decribed
+decribes
+decribing
+dectect
+defendent
+defendents
+deffensively
+deffine
+deffined
+definance
+definate
+definately
+definatly
+definetly
+definining
+definit
+definitly
+definiton
+defintion
+degrate
+delagates
+delapidated
+delerious
+delevopment
+deliberatly
+delusionally
+demenor
+demographical
+demolision
+demorcracy
+demostration
+denegrating
+densly
+deparment
+deparmental
+deparments
+dependance
+dependancy
+deram
+deriviated
+derivitive
+derogitory
+descendands
+descibed
+descision
+descisions
+descriibes
+descripters
+descripton
+desctruction
+descuss
+desgined
+deside
+desigining
+desinations
+desintegrated
+desintegration
+desireable
+desitned
+desktiop
+desorder
+desoriented
+desparate
+despict
+despiration
+dessicated
+dessigned
+destablized
+destory
+detailled
+detatched
+deteoriated
+deteriate
+deterioriating
+determinining
+detremental
+devasted
+develope
+developement
+developped
+develpment
+devels
+devestated
+devestating
+devide
+devided
+devistating
+devolopement
+diablical
+diamons
+diaster
+dichtomy
+diconnects
+dicover
+dicovered
+dicovering
+dicovers
+dicovery
+dictionarys
+dicussed
+didnt
+diea
+dieing
+dieties
+diety
+diferent
+diferrent
+differentiatiations
+differnt
+difficulity
+diffrent
+dificulties
+dificulty
+dimenions
+dimention
+dimentional
+dimentions
+dimesnional
+diminuitive
+dimunitive
+diosese
+diphtong
+diphtongs
+diplomancy
+dipthong
+dipthongs
+directoty
+dirived
+disagreeed
+disapeared
+disapointing
+disappearred
+disaproval
+disasterous
+disatisfaction
+disatisfied
+disatrous
+discontentment
+discribe
+discribed
+discribes
+discribing
+disctinction
+disctinctive
+disemination
+disenchanged
+disiplined
+disobediance
+disobediant
+disolved
+disover
+dispair
+disparingly
+dispence
+dispenced
+dispencing
+dispicable
+dispite
+dispostion
+disproportiate
+disputandem
+disricts
+dissagreement
+dissapear
+dissapearance
+dissapeared
+dissapearing
+dissapears
+dissappear
+dissappears
+dissappointed
+dissarray
+dissobediance
+dissobediant
+dissobedience
+dissobedient
+distiction
+distingish
+distingished
+distingishes
+distingishing
+distingquished
+distrubution
+distruction
+distructive
+ditributed
+diversed
+divice
+divinition
+divison
+divisons
+dum
+doccument
+doccumented
+doccuments
+docrines
+doctines
+documenatry
+doens
+doesnt
+doign
+dominaton
+dominent
+dominiant
+donig
+dosen't
+doub
+doulbe
+dowloads
+dramtic
+draughtman
+Dravadian
+dreasm
+driectly
+drnik
+druming
+drummless
+dupicate
+durig
+durring
+duting
+dyas
+eahc
+ealier
+earlies
+earnt
+ecclectic
+eceonomy
+ecidious
+eclispe
+ecomonic
+ect
+eearly
+efel
+effeciency
+effecient
+effeciently
+efficency
+efficent
+efficently
+efford
+effords
+effulence
+eigth
+eiter
+elction
+electic
+electon
+electrial
+electricly
+electricty
+elementay
+eleminated
+eleminating
+eles
+eletricity
+elicided
+eligable
+elimentary
+ellected
+elphant
+embarass
+embarassed
+embarassing
+embarassment
+embargos
+embarras
+embarrased
+embarrasing
+embarrasment
+embezelled
+emblamatic
+eminate
+eminated
+emision
+emited
+emiting
+emition
+emmediately
+emmigrated
+emminent
+emminently
+emmisaries
+emmisarries
+emmisarry
+emmisary
+emmision
+emmisions
+emmited
+emmiting
+emmitted
+emmitting
+emnity
+emperical
+emphaised
+emphsis
+emphysyma
+empirial
+emporer
+emprisoned
+enameld
+enchancement
+encouraing
+encryptiion
+encylopedia
+endevors
+endevour
+endig
+endolithes
+enduce
+ened
+enforceing
+engagment
+engeneer
+engeneering
+engieneer
+engieneers
+enlargment
+enlargments
+Enlish
+enourmous
+enourmously
+ensconsed
+entaglements
+enteratinment
+enthusiatic
+entitity
+entitlied
+entrepeneur
+entrepeneurs
+enviorment
+enviormental
+enviormentally
+enviorments
+enviornment
+enviornmental
+enviornmentalist
+enviornmentally
+enviornments
+enviroment
+enviromental
+enviromentalist
+enviromentally
+enviroments
+envolutionary
+envrionments
+enxt
+epidsodes
+epsiode
+equialent
+equalibrium
+equelibrium
+equilibium
+equilibrum
+equiped
+equippment
+equitorial
+equivelant
+equivelent
+equivilant
+equivilent
+equivlalent
+erally
+eratic
+eratically
+eraticly
+erested
+errupted
+esential
+esitmated
+esle
+especialy
+essencial
+essense
+essentail
+essentialy
+essentual
+essesital
+estabishes
+establising
+ethnocentricm
+ethose
+Europian
+Europians
+Eurpean
+Eurpoean
+evenhtually
+eventally
+eventhough
+eventially
+eventualy
+everthing
+everytime
+everyting
+eveyr
+evidentally
+exagerate
+exagerated
+exagerates
+exagerating
+exagerrate
+exagerrated
+exagerrates
+exagerrating
+examinated
+exampt
+exapansion
+excact
+excange
+excecute
+excecuted
+excecutes
+excecuting
+excecution
+excedded
+excelent
+excell
+excellance
+excellant
+excells
+excercise
+exchanching
+excisted
+exculsivly
+execising
+exection
+exectued
+exeedingly
+exelent
+exellent
+exemple
+exept
+exeptional
+exerbate
+exerbated
+exerciese
+exerpt
+exerpts
+exersize
+exerternal
+exhalted
+exhibtion
+exibition
+exibitions
+exicting
+exinct
+existance
+existant
+existince
+exliled
+exludes
+exmaple
+exonorate
+exoskelaton
+expalin
+expatriot
+expeced
+expecially
+expeditonary
+expeiments
+expell
+expells
+experiance
+experianced
+expiditions
+expierence
+explaination
+explaning
+explictly
+exploititive
+explotation
+expropiated
+expropiation
+exressed
+extemely
+extention
+extentions
+extered
+extermist
+extint
+extradiction
+extraterrestial
+extraterrestials
+extravagent
+extrememly
+extremeophile
+extremly
+extrordinarily
+extrordinary
+eyar
+eyars
+eyasr
+faciliate
+faciliated
+faciliates
+facilites
+facillitate
+facinated
+facist
+familes
+familliar
+famoust
+fanatism
+Farenheit
+fatc
+faught
+favoutrable
+feasable
+Febuary
+Feburary
+fedreally
+femminist
+feromone
+fertily
+fianite
+fianlly
+ficticious
+fictious
+fidn
+fiel
+fiels
+fiercly
+fightings
+filiament
+fimilies
+finacial
+finaly
+financialy
+firends
+firts
+fisionable
+flamable
+flawess
+fleed
+Flemmish
+florescent
+flourescent
+flourine
+fluorish
+flourishment
+follwoing
+folowing
+fomed
+fomr
+fonetic
+fontrier
+foootball
+forbad
+forbiden
+foreward
+forfiet
+forhead
+foriegn
+Formalhaut
+formallize
+formallized
+formaly
+formelly
+formidible
+formost
+forsaw
+forseeable
+fortelling
+forunner
+foucs
+foudn
+fougth
+foundaries
+foundary
+Foundland
+fourties
+fourty
+fouth
+foward
+Fransiscan
+Fransiscans
+freind
+freindly
+frequentily
+frome
+fromed
+froniter
+fucntion
+fucntioning
+fufill
+fufilled
+fulfiled
+fullfill
+fullfilled
+fundametal
+fundametals
+funguses
+funtion
+furuther
+futher
+futhermore
+futhroc
+gae
+galatic
+Galations
+gallaxies
+galvinized
+Gameboy
+ganerate
+ganes
+ganster
+garantee
+garanteed
+garantees
+gardai
+garnison
+gauarana
+gaurantee
+gauranteed
+gaurantees
+gaurd
+gaurentee
+gaurenteed
+gaurentees
+geneological
+geneologies
+geneology
+generaly
+generatting
+genialia
+geographicial
+geometrician
+geometricians
+gerat
+Ghandi
+glamourous
+glight
+gnawwed
+godess
+godesses
+Godounov
+gogin
+goign
+gonig
+Gothenberg
+Gottleib
+gouvener
+govement
+govenment
+govenrment
+goverance
+goverment
+govermental
+governer
+governmnet
+govorment
+govormental
+govornment
+gracefull
+graet
+grafitti
+gramatically
+grammaticaly
+grammer
+grat
+gratuitious
+greatful
+greatfully
+greif
+gridles
+gropu
+grwo
+Guaduloupe
+Guadulupe
+guage
+guarentee
+guarenteed
+guarentees
+Guatamala
+Guatamalan
+guerrila
+guerrilas
+guidence
+Guilia
+Guilio
+Guiness
+Guiseppe
+gunanine
+gurantee
+guranteed
+gurantees
+guttaral
+gutteral
+habaeus
+habeus
+Habsbourg
+haemorrage
+haev
+halarious
+Hallowean
+halp
+hapen
+hapened
+hapening
+happend
+happended
+happenned
+harased
+harases
+harasment
+harasments
+harassement
+harras
+harrased
+harrases
+harrasing
+harrasment
+harrasments
+harrassed
+harrasses
+harrassing
+harrassment
+harrassments
+hasnt
+Hatian
+haviest
+headquarer
+headquater
+headquatered
+headquaters
+healthercare
+heared
+heathy
+Heidelburg
+heigher
+heirarchy
+heiroglyphics
+helment
+helpfull
+helpped
+hemmorhage
+herad
+heridity
+heroe
+heros
+hertiage
+hertzs
+hesistant
+heterogenous
+hieght
+hierachical
+hierachies
+hierachy
+hierarcical
+hierarcy
+hieroglph
+hieroglphs
+higer
+higest
+higway
+hillarious
+himselv
+hinderance
+hinderence
+hindrence
+hipopotamus
+hismelf
+histocompatability
+historicians
+hitsingles
+holf
+holliday
+homestate
+homogeneize
+homogeneized
+honory
+horrifing
+hosited
+hospitible
+hounour
+housr
+howver
+hsitorians
+hstory
+hten
+htere
+htey
+htikn
+hting
+htink
+htis
+humer
+humerous
+huminoid
+humoural
+humurous
+husban
+hvae
+hvaing
+hvea
+hwihc
+hwile
+hwole
+hydogen
+hydropile
+hydropilic
+hydropobe
+hydropobic
+hygeine
+hyjack
+hyjacking
+hypocracy
+hypocrasy
+hypocricy
+hypocrit
+hypocrits
+iconclastic
+idaeidae
+idaes
+idealogies
+idealogy
+identicial
+identifers
+ideosyncratic
+idesa
+idiosyncracy
+Ihaca
+illegimacy
+illegitmate
+illess
+illiegal
+illution
+ilness
+ilogical
+imagenary
+imagin
+imaginery
+imanent
+imcomplete
+imediately
+imense
+imigrant
+imigrated
+imigration
+iminent
+immediatley
+immediatly
+immidately
+immidiately
+immitate
+immitated
+immitating
+immitator
+immunosupressant
+impecabbly
+impedence
+implamenting
+impliment
+implimented
+imploys
+importamt
+impressario
+imprioned
+imprisonned
+improvision
+improvments
+inablility
+inaccessable
+inadiquate
+inadquate
+inadvertant
+inadvertantly
+inagurated
+inaguration
+inappropiate
+inaugures
+inbalance
+inbalanced
+inbetween
+incarcirated
+incidentially
+incidently
+inclreased
+includ
+includng
+incompatabilities
+incompatability
+incompatable
+incompatablities
+incompatablity
+incompatiblities
+incompatiblity
+incompetance
+incompetant
+incomptable
+incomptetent
+inconsistant
+incoroporated
+incorperation
+incorportaed
+incorprates
+incorruptable
+incramentally
+increadible
+incredable
+inctroduce
+inctroduced
+incuding
+incunabla
+indefinately
+indefineable
+indefinitly
+indentical
+indepedantly
+indepedence
+independance
+independant
+independantly
+independece
+independendet
+indespensable
+indespensible
+indictement
+indigineous
+indipendence
+indipendent
+indipendently
+indispensible
+indisputible
+indisputibly
+indite
+individualy
+indpendent
+indpendently
+indulgue
+indutrial
+indviduals
+inefficienty
+inevatible
+inevitible
+inevititably
+infalability
+infallable
+infectuous
+infered
+infilitrate
+infilitrated
+infilitration
+infinit
+inflamation
+influencial
+influented
+infomation
+informtion
+infrantryman
+infrigement
+ingenius
+ingreediants
+inhabitans
+inherantly
+inheritage
+inheritence
+inital
+initally
+initation
+initiaitive
+inlcuding
+inmigrant
+inmigrants
+innoculated
+inocence
+inofficial
+inot
+inpeach
+inpending
+inpenetrable
+inpolite
+inprisonment
+inproving
+insectiverous
+insensative
+inseperable
+insistance
+insitution
+insitutions
+inspite
+instade
+instatance
+institue
+instuction
+instuments
+instutionalized
+instutions
+insurence
+intelectual
+inteligence
+inteligent
+intenational
+intented
+intepretation
+intepretator
+interational
+interbread
+interchangable
+interchangably
+intercontinential
+intercontinetal
+intered
+interelated
+interferance
+interfereing
+intergrated
+intergration
+interm
+internation
+interpet
+interrim
+interrugum
+intertaining
+interupt
+intervines
+intevene
+intial
+intially
+intrduced
+intrest
+introdued
+intruduced
+intrument
+intrumental
+intruments
+intrusted
+intutive
+intutively
+inudstry
+inumerable
+inventer
+invertibrates
+investingate
+involvment
+irelevent
+iresistable
+iresistably
+iresistible
+iresistibly
+iritable
+iritated
+ironicly
+irregardless
+irrelevent
+irreplacable
+irresistable
+irresistably
+isnt
+Israelies
+issueing
+itnroduced
+iunior
+iwll
+iwth
+Janurary
+Januray
+Japanes
+jaques
+jeapardy
+jewllery
+Johanine
+jorunal
+Jospeh
+jouney
+journied
+journies
+jstu
+jsut
+Juadaism
+Juadism
+judical
+judisuary
+juducial
+juristiction
+juristictions
+kindergarden
+klenex
+knifes
+knive
+knowlege
+knowlegeable
+knwo
+knwos
+konw
+konws
+kwno
+labatory
+labled
+labratory
+laguage
+laguages
+larg
+largst
+larrry
+lastr
+lattitude
+launchs
+launhed
+lavae
+layed
+lazyness
+leage
+leanr
+leathal
+lefted
+legitamate
+legitmate
+leibnitz
+lenght
+leran
+lerans
+leutenant
+levetate
+levetated
+levetates
+levetating
+levle
+liasion
+liason
+liasons
+libary
+libell
+libguistic
+libguistics
+libitarianisn
+lible
+lieing
+liek
+liekd
+liesure
+lieuenant
+lieved
+liftime
+lightyear
+lightyears
+likelyhood
+linnaena
+lippizaner
+liquify
+liscense
+lisence
+lisense
+listners
+litature
+literaly
+literture
+littel
+litterally
+liuke
+livley
+lmits
+loev
+lonelyness
+longitudonal
+lonley
+lonly
+loosing
+lotharingen
+lsat
+lukid
+lveo
+lvoe
+Lybia
+maching
+mackeral
+magasine
+magizine
+magisine
+magincian
+magnificient
+magolia
+mailny
+maintainance
+maintainence
+maintance
+maintenence
+maintinaing
+maintioned
+majoroty
+maked
+makse
+Malcom
+maltesian
+mamal
+mamalian
+managable
+managment
+maneouvre
+maneouvred
+maneouvres
+maneouvring
+manisfestations
+manoeuverability
+manouver
+manouverability
+manouverable
+manouvers
+mantained
+manuever
+manuevers
+manufacturedd
+manufature
+manufatured
+manufaturing
+manuver
+mariage
+marjority
+markes
+marketting
+marmelade
+marrage
+marraige
+marrtyred
+marryied
+Massachussets
+Massachussetts
+massmedia
+masterbation
+mataphysical
+materalists
+mathamatics
+mathematican
+mathematicas
+matheticians
+mathmatically
+mathmatician
+mathmaticians
+mccarthyst
+mchanics
+meaninng
+mear
+mechandise
+medacine
+medeival
+medevial
+mediciney
+medievel
+mediterainnean
+Mediteranean
+meerkrat
+melieux
+membranaphone
+memeber
+menally
+meranda
+mercentile
+messanger
+messenging
+metalic
+metalurgic
+metalurgical
+metalurgy
+metamorphysis
+metaphoricial
+meterologist
+meterology
+methaphor
+methaphors
+Michagan
+micoscopy
+midwifes
+mileau
+milennia
+milennium
+mileu
+miliary
+miligram
+milion
+miliraty
+millenia
+millenial
+millenialism
+millenium
+millepede
+millioniare
+millitant
+millitary
+millon
+miltary
+minature
+minerial
+ministery
+minsitry
+minstries
+minstry
+minumum
+mirrorred
+miscelaneous
+miscellanious
+miscellanous
+mischeivous
+mischevious
+mischievious
+misdameanor
+misdameanors
+misdemenor
+misdemenors
+misfourtunes
+misile
+Misouri
+mispell
+mispelled
+mispelling
+missen
+Missisipi
+Missisippi
+missle
+missonary
+misterious
+mistery
+misteryous
+mkae
+mkaes
+mkaing
+mkea
+moderm
+modle
+moent
+moeny
+mohammedans
+moleclues
+momento
+monestaries
+monestary
+monickers
+monolite
+Monserrat
+montains
+montanous
+Montnana
+monts
+montypic
+moreso
+morgage
+Morisette
+Morrisette
+morroccan
+morrocco
+morroco
+mortage
+mosture
+motiviated
+mounth
+movei
+movment
+mroe
+mucuous
+muder
+mudering
+muhammadan
+multicultralism
+multipled
+multiplers
+munbers
+muncipalities
+muncipality
+munnicipality
+muscels
+muscial
+muscician
+muscicians
+mutiliated
+myraid
+mysef
+mysogynist
+mysogyny
+mysterous
+Mythraic
+naieve
+Naploeon
+Napolean
+Napoleonian
+naturaly
+naturely
+naturual
+naturually
+Nazereth
+neccesarily
+neccesary
+neccessarily
+neccessary
+neccessities
+necesarily
+necesary
+necessiate
+neglible
+negligable
+negociate
+negociation
+negociations
+negotation
+neice
+neigborhood
+neigbour
+neigbourhood
+neigbouring
+neigbours
+neolitic
+nessasarily
+nessecary
+nestin
+neverthless
+newletters
+nickle
+nightime
+nineth
+ninteenth
+ninties
+ninty
+nkow
+nkwo
+nmae
+noncombatents
+nonsence
+nontheless
+noone
+norhern
+northen
+northereastern
+notabley
+noteable
+noteably
+noteriety
+noth
+nothern
+noticable
+noticably
+noticeing
+noticible
+notwhithstanding
+noveau
+Novermber
+nowdays
+nowe
+nto
+nucular
+nuculear
+nuisanse
+Nullabour
+numberous
+Nuremburg
+nusance
+nutritent
+nutritents
+nuturing
+obediance
+obediant
+obession
+obssessed
+obstacal
+obstancles
+obstruced
+ocasion
+ocasional
+ocasionally
+ocasionaly
+ocasioned
+ocasions
+ocassion
+ocassional
+ocassionally
+ocassionaly
+ocassioned
+ocassions
+occaison
+occassion
+occassional
+occassionally
+occassionaly
+occassioned
+occassions
+occationally
+occour
+occurance
+occurances
+occured
+occurence
+occurences
+occuring
+occurr
+occurrance
+occurrances
+octohedra
+octohedral
+octohedron
+ocuntries
+ocuntry
+ocurr
+ocurrance
+ocurred
+ocurrence
+offcers
+offcially
+offereings
+offical
+offically
+officals
+officaly
+officialy
+offred
+oftenly
+oging
+olther
+omision
+omited
+omiting
+omlette
+ommision
+ommited
+ommiting
+ommitted
+ommitting
+omniverous
+omniverously
+omre
+onot
+onyl
+openess
+oponent
+oportunity
+opose
+oposite
+oposition
+oppenly
+oppinion
+opponant
+oppononent
+oppositition
+oppossed
+opprotunity
+opression
+opressive
+opthalmic
+opthalmologist
+opthalmology
+opthamologist
+optmizations
+optomism
+orded
+organim
+organistion
+organiztion
+orgin
+orginal
+orginally
+orginize
+oridinarily
+origanaly
+originall
+originaly
+originially
+originnally
+origional
+orignally
+orignially
+otehr
+oublisher
+ouevre
+oustanding
+overshaddowed
+overthere
+overwelming
+overwheliming
+owrk
+owudl
+oxigen
+oximoron
+paide
+paitience
+palce
+paleolitic
+paliamentarian
+Palistian
+Palistinian
+Palistinians
+pallete
+pamflet
+pamplet
+pantomine
+Papanicalou
+paralel
+paralell
+paralelly
+paralely
+parallely
+paranthesis
+paraphenalia
+parellels
+parisitic
+parituclar
+parliment
+parrakeets
+parralel
+parrallel
+parrallell
+parrallelly
+parrallely
+partialy
+particually
+particualr
+particuarly
+particularily
+particulary
+pary
+pased
+pasengers
+passerbys
+pasttime
+pastural
+paticular
+pattented
+pavillion
+payed
+pblisher
+pbulisher
+peacefuland
+peageant
+peaple
+peaples
+peculure
+pedestrain
+peformed
+peice
+Peloponnes
+penatly
+penerator
+penisula
+penisular
+penninsula
+penninsular
+pennisula
+Pennyslvania
+pensle
+pensinula
+peom
+peoms
+peopel
+peopels
+peotry
+perade
+percepted
+percieve
+percieved
+perenially
+peretrator
+perfomance
+perfomers
+performence
+performes
+perhasp
+perheaps
+perhpas
+peripathetic
+peristent
+perjery
+perjorative
+permanant
+permenant
+permenantly
+permissable
+perogative
+peronal
+perpertrated
+perosnality
+perphas
+perpindicular
+persan
+perseverence
+persistance
+persistant
+personel
+personell
+personnell
+persuded
+persue
+persued
+persuing
+persuit
+persuits
+pertubation
+pertubations
+pessiary
+petetion
+Pharoah
+phenomenom
+phenomenonal
+phenomenonly
+phenomonenon
+phenomonon
+phenonmena
+Philipines
+philisopher
+philisophical
+philisophy
+Phillipine
+Phillipines
+Phillippines
+phillosophically
+philospher
+philosphies
+philosphy
+Phonecian
+phongraph
+phylosophical
+physicaly
+piblisher
+pich
+pilgrimmage
+pilgrimmages
+pinapple
+pinnaple
+pinoneered
+plagarism
+planation
+planed
+plantiff
+plateu
+plausable
+playright
+playwrite
+playwrites
+pleasent
+plebicite
+plesant
+poenis
+poeoples
+poety
+poisin
+polical
+polinator
+polinators
+politican
+politicans
+poltical
+polute
+poluted
+polutes
+poluting
+polution
+polyphonyic
+polysaccaride
+polysaccharid
+pomegranite
+pomotion
+poportional
+popoulation
+popularaty
+populare
+populer
+porshan
+porshon
+portait
+portayed
+portraing
+Portugese
+portuguease
+portugues
+posess
+posessed
+posesses
+posessing
+posession
+posessions
+posion
+positon
+possable
+possably
+posseses
+possesing
+possesion
+possessess
+possibile
+possibilty
+possiblility
+possiblilty
+possiblities
+possiblity
+possition
+Postdam
+posthomous
+postion
+postive
+potatos
+potrait
+potrayed
+poulations
+poverful
+poweful
+powerfull
+ppublisher
+practial
+practially
+practicaly
+practicioner
+practicioners
+practicly
+practioner
+practioners
+prairy
+prarie
+praries
+pratice
+preample
+precedessor
+preceed
+preceeded
+preceeding
+preceeds
+precentage
+precice
+precisly
+precurser
+predecesors
+predicatble
+predicitons
+predomiantly
+prefered
+prefering
+preferrably
+pregancies
+preiod
+preliferation
+premeire
+premeired
+premillenial
+preminence
+premission
+Premonasterians
+preocupation
+prepair
+prepartion
+prepatory
+preperation
+preperations
+preriod
+presedential
+presense
+presidenital
+presidental
+presitgious
+prespective
+prestigeous
+prestigous
+presumabely
+presumibly
+pretection
+prevelant
+preverse
+previvous
+pricipal
+priciple
+priestood
+primarly
+primative
+primatively
+primatives
+primordal
+principlaity
+principaly
+principial
+principly
+prinicipal
+privalege
+privaleges
+priveledges
+privelege
+priveleged
+priveleges
+privelige
+priveliged
+priveliges
+privelleges
+privilage
+priviledge
+priviledges
+privledge
+privte
+probabilaty
+probablistic
+probablly
+probalibity
+probaly
+probelm
+proccess
+proccessing
+procede
+proceded
+procedes
+procedger
+proceding
+procedings
+proceedure
+proces
+processer
+proclaimation
+proclamed
+proclaming
+proclomation
+profesion
+profesor
+professer
+proffesed
+proffesion
+proffesional
+proffesor
+profilic
+progessed
+progidy
+programable
+progrom
+progroms
+prohabition
+prologomena
+prominance
+prominant
+prominantly
+prominately
+promiscous
+promotted
+pronomial
+pronouced
+pronounched
+pronounciation
+proove
+prooved
+prophacy
+propietary
+propmted
+propoganda
+propogate
+propogates
+propogation
+propostion
+propotions
+propper
+propperly
+proprietory
+proseletyzing
+protaganist
+protaganists
+protocal
+protoganist
+protrayed
+protruberance
+protruberances
+prouncements
+provacative
+provded
+provicial
+provinicial
+provisiosn
+provisonal
+proximty
+pseudononymous
+pseudonyn
+psuedo
+psycology
+psyhic
+pubilsher
+pubisher
+publiaher
+publically
+publicaly
+publicher
+publihser
+publisehr
+publiser
+publisger
+publisheed
+publisherr
+publishher
+publishor
+publishre
+publissher
+publlisher
+publsiher
+publusher
+puchasing
+Pucini
+Puertorrican
+Puertorricans
+pulisher
+pumkin
+puplisher
+puritannical
+purposedly
+purpotedly
+pursuade
+pursuaded
+pursuades
+pususading
+puting
+pwoer
+pyscic
+qtuie
+quantaty
+quantitiy
+quarantaine
+Queenland
+questonable
+quicklyu
+quinessential
+quitted
+quizes
+qutie
+rabinnical
+racaus
+radiactive
+radify
+raelly
+rarified
+reaccurring
+reacing
+reacll
+readmition
+realitvely
+realsitic
+realtions
+realy
+realyl
+reasearch
+rebiulding
+rebllions
+rebounce
+reccomend
+reccomendations
+reccomended
+reccomending
+reccommend
+reccommended
+reccommending
+reccuring
+receeded
+receeding
+receivedfrom
+recepient
+recepients
+receving
+rechargable
+reched
+recide
+recided
+recident
+recidents
+reciding
+reciepents
+reciept
+recieve
+recieved
+reciever
+recievers
+recieves
+recieving
+recipiant
+recipiants
+recived
+recivership
+recogise
+recogize
+recomend
+recomended
+recomending
+recomends
+recommedations
+recompence
+reconaissance
+reconcilation
+reconized
+reconnaisance
+reconnaissence
+recontructed
+recordproducer
+recquired
+recrational
+recrod
+recuiting
+recuring
+recurrance
+rediculous
+reedeming
+reenforced
+refect
+refedendum
+referal
+referece
+refereces
+refered
+referemce
+referemces
+referencs
+referenece
+refereneced
+refereneces
+referiang
+refering
+refernce
+refernces
+referrence
+referrences
+referrs
+reffered
+refference
+reffering
+refrence
+refrences
+refrers
+refridgeration
+refridgerator
+refromist
+refusla
+regardes
+regluar
+reguarly
+regulaion
+regulaotrs
+regularily
+rehersal
+reicarnation
+reigining
+reknown
+reknowned
+rela
+relaly
+relatiopnship
+relativly
+relected
+releive
+releived
+releiver
+releses
+relevence
+relevent
+reliablity
+relient
+religeous
+religous
+religously
+relinqushment
+relitavely
+relized
+relpacement
+remaing
+remeber
+rememberable
+rememberance
+remembrence
+remenant
+remenicent
+reminent
+reminescent
+reminscent
+reminsicent
+rendevous
+rendezous
+renedered
+renewl
+rennovate
+rennovated
+rennovating
+rennovation
+rentors
+reoccurrence
+reorganision
+repatition
+repblic
+repblican
+repblicans
+repblics
+repectively
+repeition
+repentence
+repentent
+repeteadly
+repetion
+repid
+reponse
+reponsible
+reportadly
+represantative
+representive
+representives
+reproducable
+reprtoire
+repsectively
+reptition
+repubic
+repubican
+repubicans
+repubics
+republi
+republian
+republians
+republis
+repulic
+repulican
+repulicans
+repulics
+requirment
+requred
+resaurant
+resembelance
+resembes
+resemblence
+resevoir
+residental
+resignement
+resistable
+resistence
+resistent
+respectivly
+responce
+responibilities
+responisble
+responnsibilty
+responsability
+responsibile
+responsibilites
+responsiblities
+responsiblity
+ressemblance
+ressemble
+ressembled
+ressemblence
+ressembling
+resssurecting
+ressurect
+ressurected
+ressurection
+ressurrection
+restarant
+restarants
+restaraunt
+restaraunteur
+restaraunteurs
+restaraunts
+restauranteurs
+restauration
+restauraunt
+resteraunt
+resteraunts
+resticted
+restraunt
+resturant
+resturants
+resturaunt
+resturaunts
+resurecting
+retalitated
+retalitation
+retreive
+returnd
+revaluated
+reveiw
+reveral
+reversable
+revolutionar
+rewitten
+rewriet
+rference
+rferences
+rhymme
+rhythem
+rhythim
+rhytmic
+rigeur
+rigourous
+rininging
+rised
+Rockerfeller
+rococco
+rocord
+roomate
+rougly
+rucuperate
+rudimentatry
+rulle
+runing
+runnung
+russina
+Russion
+rwite
+rythem
+rythim
+rythm
+rythmic
+rythyms
+sacrafice
+sacreligious
+Sacremento
+sacrifical
+saftey
+safty
+salery
+sanctionning
+sandwhich
+Sanhedrim
+santioned
+sargant
+sargeant
+sasy
+satelite
+satelites
+Saterday
+Saterdays
+satisfactority
+satric
+satrical
+satrically
+sattelite
+sattelites
+saught
+saveing
+saxaphone
+scaleable
+scandanavia
+scaricity
+scavanged
+schedual
+scholarhip
+scholarstic
+scientfic
+scientifc
+scientis
+scince
+scinece
+scirpt
+scoll
+screenwrighter
+scrutinity
+scuptures
+seach
+seached
+seaches
+secceeded
+seceed
+seceeded
+secratary
+secretery
+sedereal
+seeked
+segementation
+seguoys
+seige
+seing
+seinor
+seldomly
+senarios
+sence
+senstive
+sensure
+seperate
+seperated
+seperately
+seperates
+seperating
+seperation
+seperatism
+seperatist
+sepina
+sepulchure
+sepulcre
+sergent
+settelement
+settlment
+severeal
+severley
+severly
+sevice
+shadasloo
+shaddow
+shadoloo
+shamen
+sheat
+sheild
+sherif
+shineing
+shiped
+shiping
+shopkeeepers
+shorly
+shortwhile
+shoudl
+shoudln
+shouldnt
+shreak
+shrinked
+sicne
+sideral
+sieze
+siezed
+siezing
+siezure
+siezures
+siginificant
+signficant
+signficiant
+signfies
+signifantly
+significently
+signifigant
+signifigantly
+signitories
+signitory
+similarily
+similiar
+similiarity
+similiarly
+simmilar
+simpley
+simplier
+simultanous
+simultanously
+sincerley
+singsog
+sinse
+Sionist
+Sionists
+Sixtin
+Skagerak
+skateing
+slaugterhouses
+slighly
+slippy
+slowy
+smae
+smealting
+smoe
+sneeks
+snese
+socalism
+socities
+soem
+sofware
+sohw
+soilders
+solatary
+soley
+soliders
+soliliquy
+soluable
+somene
+somtimes
+somwhere
+sophicated
+sophmore
+sorceror
+sorrounding
+sotry
+sotyr
+soudn
+soudns
+sould
+sountrack
+sourth
+sourthern
+souvenier
+souveniers
+soveits
+sovereignity
+soverign
+soverignity
+soverignty
+spainish
+speach
+specfic
+speciallized
+specif
+specifiying
+speciman
+spectauclar
+spectaulars
+spects
+spectum
+speices
+spendour
+spermatozoan
+spoace
+sponser
+sponsered
+spontanous
+sponzored
+spoonfulls
+sppeches
+spreaded
+sprech
+spred
+spriritual
+spritual
+sqaure
+stablility
+stainlees
+staion
+standars
+stange
+startegic
+startegies
+startegy
+stateman
+statememts
+statment
+steriods
+sterotypes
+stilus
+stingent
+stiring
+stirrs
+stlye
+stomache
+stong
+stopry
+storeis
+storise
+stornegst
+stoyr
+stpo
+stradegies
+stradegy
+strat
+stratagically
+streemlining
+stregth
+strenghen
+strenghened
+strenghening
+strenght
+strenghten
+strenghtened
+strenghtening
+strengtened
+strenous
+strictist
+strikely
+strnad
+stroy
+structual
+stubborness
+stucture
+stuctured
+studdy
+studing
+stuggling
+sturcture
+subcatagories
+subcatagory
+subconsiously
+subjudgation
+submachne
+subpecies
+subsidary
+subsiduary
+subsquent
+subsquently
+substace
+substancial
+substatial
+substituded
+substract
+substracted
+substracting
+substraction
+substracts
+subtances
+subterranian
+suburburban
+succceeded
+succcesses
+succedded
+succeded
+succeds
+succesful
+succesfully
+succesfuly
+succesion
+succesive
+successfull
+successully
+succsess
+succsessfull
+suceed
+suceeded
+suceeding
+suceeds
+sucesful
+sucesfully
+sucesfuly
+sucesion
+sucess
+sucesses
+sucessful
+sucessfull
+sucessfully
+sucessfuly
+sucession
+sucessive
+sucessor
+sucessot
+sucide
+sucidial
+sudent
+sudents
+sufferage
+sufferred
+sufferring
+sufficent
+sufficently
+sumary
+sunglases
+suop
+superceeded
+superintendant
+suphisticated
+suplimented
+supose
+suposed
+suposedly
+suposes
+suposing
+supplamented
+suppliementing
+suppoed
+supposingly
+suppy
+suprassing
+supress
+supressed
+supresses
+supressing
+suprise
+suprised
+suprising
+suprisingly
+suprize
+suprized
+suprizing
+suprizingly
+surfce
+surley
+suround
+surounded
+surounding
+suroundings
+surounds
+surplanted
+surpress
+surpressed
+surprize
+surprized
+surprizing
+surprizingly
+surrended
+surrepetitious
+surrepetitiously
+surreptious
+surreptiously
+surronded
+surrouded
+surrouding
+surrundering
+surveilence
+surveill
+surveyer
+surviver
+survivers
+survivied
+suseptable
+suseptible
+suspention
+swaer
+swaers
+swepth
+swiming
+syas
+symetrical
+symetrically
+symetry
+symettric
+symmetral
+symmetricaly
+synagouge
+syncronization
+synonomous
+synonymns
+synphony
+syphyllis
+sypmtoms
+syrap
+sysmatically
+sytem
+sytle
+tabacco
+tahn
+taht
+talekd
+targetted
+targetting
+tast
+tath
+tatoo
+tattooes
+taxanomic
+taxanomy
+teached
+techician
+techicians
+techiniques
+technitian
+technnology
+technolgy
+teh
+tehy
+telelevision
+televsion
+telphony
+temerature
+tempalte
+tempaltes
+temparate
+temperarily
+temperment
+tempertaure
+temperture
+temprary
+tenacle
+tenacles
+tendacy
+tendancies
+tendancy
+tennisplayer
+tepmorarily
+terrestial
+terriories
+terriory
+territorist
+territoy
+terroist
+testiclular
+testomony
+tghe
+thast
+theather
+theese
+theif
+theives
+themselfs
+themslves
+ther
+therafter
+therby
+theri
+theyre
+thgat
+thge
+thier
+thign
+thigns
+thigsn
+thikn
+thikning
+thikns
+thiunk
+thn
+thna
+thne
+thnig
+thnigs
+thoughout
+threatend
+threatning
+threee
+threshhold
+thrid
+throrough
+throughly
+throught
+througout
+thru
+thsi
+thsoe
+thta
+thyat
+tiem
+tihkn
+tihs
+timne
+tiome
+tje
+tjhe
+tjpanishad
+tkae
+tkaes
+tkaing
+tlaking
+tobbaco
+todays
+todya
+toghether
+toke
+tolerence
+Tolkein
+tomatos
+tommorow
+tommorrow
+tongiht
+toriodal
+tormenters
+tornadoe
+torpeados
+torpedos
+tortise
+tothe
+toubles
+tounge
+tourch
+towords
+towrad
+tradionally
+traditionaly
+traditionnal
+traditition
+tradtionally
+trafficed
+trafficing
+trafic
+trancendent
+trancending
+tranform
+tranformed
+transcendance
+transcendant
+transcendentational
+transcripting
+transending
+transesxuals
+transfered
+transfering
+transformaton
+transistion
+translater
+translaters
+transmissable
+transporation
+tremelo
+tremelos
+trigered
+triguered
+triology
+troling
+troup
+troups
+truely
+trustworthyness
+turnk
+Tuscon
+tust
+twelth
+twon
+twpo
+tyhat
+tyhe
+typcial
+typicaly
+tyranies
+tyrany
+tyrranies
+tyrrany
+ubiquitious
+ublisher
+uise
+Ukranian
+ultimely
+unacompanied
+unahppy
+unanymous
+unathorised
+unavailible
+unballance
+unbeknowst
+unbeleivable
+uncertainity
+unchallengable
+unchangable
+uncompetive
+unconcious
+unconciousness
+unconfortability
+uncontitutional
+unconvential
+undecideable
+understoon
+undesireable
+undetecable
+undoubtely
+undreground
+uneccesary
+unecessary
+unequalities
+unforseen
+unforetunately
+unforgetable
+unforgiveable
+unfortunatley
+unfortunatly
+unfourtunately
+unihabited
+unilateraly
+unilatreal
+unilatreally
+uninterruped
+uninterupted
+UnitesStates
+univeral
+univeristies
+univeristy
+univerity
+universtiy
+univesities
+univesity
+unkown
+unlikey
+unmanouverable
+unmistakeably
+unneccesarily
+unneccesary
+unneccessarily
+unneccessary
+unnecesarily
+unnecesary
+unoffical
+unoperational
+unoticeable
+unplease
+unplesant
+unprecendented
+unprecidented
+unrepentent
+unrepetant
+unrepetent
+unsed
+unsubstanciated
+unsuccesful
+unsuccesfully
+unsuccessfull
+unsucesful
+unsucesfuly
+unsucessful
+unsucessfull
+unsucessfully
+unsuprised
+unsuprising
+unsuprisingly
+unsuprized
+unsuprizing
+unsuprizingly
+unsurprized
+unsurprizing
+unsurprizingly
+untill
+untranslateable
+unuseable
+unusuable
+unviersity
+unwarrented
+unweildly
+unwieldly
+upcomming
+upgradded
+upto
+usally
+useage
+usefull
+usefuly
+useing
+usualy
+ususally
+vaccum
+vaccume
+vacinity
+vaguaries
+vaieties
+vailidty
+valetta
+valuble
+valueable
+varations
+varient
+variey
+varing
+varities
+varity
+vasall
+vasalls
+vegatarian
+vegitable
+vegitables
+vegtable
+vehicule
+vell
+venemous
+vengance
+vengence
+verfication
+verison
+verisons
+vermillion
+versitilaty
+versitlity
+vetween
+veyr
+vigeur
+vigilence
+vigourous
+villian
+villification
+villify
+villin
+vincinity
+violentce
+virtualy
+virutal
+virutally
+visable
+visably
+visting
+vistors
+vitories
+volcanoe
+voleyball
+volontary
+volonteer
+volonteered
+volonteering
+volonteers
+volounteer
+volounteered
+volounteering
+volounteers
+volumne
+vreity
+vrey
+vriety
+vulnerablility
+vyer
+vyre
+waht
+warantee
+wardobe
+warrent
+warrriors
+wasnt
+wass
+watn
+wayword
+weaponary
+weas
+wehn
+weild
+weilded
+wendsay
+wensday
+wereabouts
+whant
+whants
+whcih
+wheras
+wherease
+whereever
+whic
+whihc
+whith
+whlch
+whn
+wholey
+wholy
+whta
+whther
+wich
+widesread
+wief
+wierd
+wiew
+wih
+wiht
+wille
+willk
+willingless
+wirting
+withdrawl
+witheld
+withh
+withing
+withold
+witht
+witn
+wiull
+wnat
+wnated
+wnats
+wohle
+wokr
+wokring
+wonderfull
+wordlwide
+workststion
+worls
+worstened
+woudl
+wresters
+wriet
+writen
+wroet
+wrok
+wroking
+wtih
+wupport
+xenophoby
+yaching
+yaer
+yaerly
+yaers
+yatch
+yearm
+yeasr
+yeild
+yeilding
+Yementite
+yera
+yrea
+yeras
+yersa
+yotube
+youseff
+youself
+ytou
+yuo
+zeebra

+ 81 - 9
insanity.sh

@@ -1,10 +1,79 @@
 #!/usr/bin/env bash
 
-GREP="git --no-pager grep -n --color"
-
-WARNING="\e[1;34m" # bold light blue
+NOTICE="\e[1;34m" # bold light blue
+WARNING="\e[1;31m" # bold red
 RESET="\e[0m"
 
+notice() {
+    echo -e "${NOTICE}$1${RESET}"
+}
+
+warning() {
+    echo -e "${WARNING}$1${RESET}"
+}
+
+show_help() {
+    echo -e "-h, -?\t\tShow this message."
+    echo -e "-u\t\tTry to update the typo database."
+    echo -e "-n\t\tDisable git grep's pager."
+}
+
+_software_notfound() {
+       echo -e "${WARNING}ERROR:\t$1 must be installed in order to update the database${RESET}"
+       echo -e "\tOn a debian based distro, run \e[38;5;244m\`sudo apt-get install $1'${RESET}"
+}
+
+update_typo() {
+    if ! command -v xmllint>/dev/null; then
+        _software_notfound "libxml2-utils"
+       exit 1
+    fi
+    if ! command -v recode>/dev/null; then
+       _software_notfound "recode"
+       exit 1
+    fi
+
+    curl -s  https://en.wikipedia.org/wiki/Wikipedia:Lists_of_common_misspellings/For_machines | xmllint --html --xpath '//pre/text()' - | recode html | awk -F"->" '{ print $1 }' | sed 's/\s$//' > ct.txt
+    
+    if cmp --silent common_typos.txt ct.txt; then
+        rm ct.txt
+        echo -e "No update necessary."
+    else
+        echo -e "The typo database has been updated. Differences:"
+        diff -u common_typos.txt ct.txt
+        mv ct.txt common_typos.txt
+    fi
+    
+    exit 0
+}
+
+OPTIND=1
+
+no_pager=0
+while getopts "h?un" opt; do
+    case "$opt" in
+    h|\?)
+        show_help
+        exit 0
+        ;;
+    u)
+        update_typo
+        exit 0
+        ;;
+    n)
+        no_pager=1
+        ;;
+    esac
+done
+
+#shift $((OPTIND-1))
+
+if [ "$no_pager" -gt 0 ]; then
+    GREP="git --no-pager grep -n --color"
+else
+    GREP="git grep -n --color"
+fi
+
 _build_negative_match() {
     _output=""
     for arg in "$@"
@@ -13,9 +82,6 @@ _build_negative_match() {
     done
 }
 
-notice() {
-    echo -e "${WARNING}$1${RESET}"
-}
 
 notice 'Checking repeating words... (e.g. "voice voice")'
 _build_negative_match " ha ha " " no no " " sweet sweet " " low low "\
@@ -25,11 +91,17 @@ $GREP -e " \(\b[a-zA-Z][a-zA-Z]\+\) \1\b ""$output" -- locations/
 
 notice 'Checking bad articles... (e.g. "a automatic" or "an color")'
 $GREP -i -E "\Wa (a|e|i|o|u)." -- locations/ | grep -a -i -vE "\Wa (un|eu|us|ut|on|ur|in)."
-notice "-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-"
+echo -en "\e[38;5;34m-";for i in {35..39} {39..34}; do echo -en "\e[38;5;${i}m*-*-"; done; echo -e "\e[0m"
 $GREP -i -E "\Wan (b|c|d|f|g|j|k|l|m|n|p|q|r|s|t|v|w|x|y|z)\w+" -- locations/
 
-notice 'Checking bad tags... (e.g. "<<\$var><")'
+notice 'Checking syntax mistakes... (e.g. "<<\$var><")'
 $GREP -a -E '<<\$[^>]+><' -- locations/
+$GREP -a -E "^\W+\wact\W+'" -- locations/
 
 notice 'Checking common typos... (e.g. "recieve")'
-$GREP -i -a -E "\W(recieve|carress)" -- locations/
+$GREP -i -a -E "\W(carress)" -- locations/
+
+echo -en "\n\e[0;31m";for i in {0..80}; do echo -en "#"; done; echo -e "${RESET}"
+warning 'The following will not be matching lines with variables ($variable['"''index''"']).'
+echo -en "\e[0;31m";for i in {0..80}; do echo -en "#"; done; echo -e "${RESET}\n"
+$GREP -i -a -E --not -e '^\W+(!|if|elseif)' --and --not -e '\$[a-zA-Z]+(\[|>)' --and --not -e 'teh' --and -e "\W($(cat common_typos.txt| tr '\n' '|'|sed 's/|$//'))\W" -- locations