blob: b852f39623393a33263daf94bd70f543b3615549 [file] [log] [blame] [edit]
# This was copied from google3/devtools/linter/common_typos/typos.txt on
# 2017-11-03 and modified to be compatible with the python re module.
# NOTE: Typos here will apply to documentation, code, comments, and commit
# messages. Please make sure that you do not add any typos here that exist in
# projects' external dependencies (e.g. as part of a different project's API).
#
# Regular expressions on the left are replaced with those on the right.
#
# If you update this with anything complex, please add a corresponding test or
# two for both positive and negative examples.
#
# Mostly taken and/or adapted from http://sites/lolcodesearch.
#
# Be careful with optional capture groups and references - optional groups
# must be transformed as "(abc)?" -> "(abc|)", otherwise it may throw an
# exception if the optional group isn't matched but is referenced in expansion.
#
# Only RE2 syntax regular expressions are supported. Backreferences and
# negative assertions make the expression non-regular, and take worst-case
# exponential time.
#
# The typo fixer will ignore any suggestsions in which the original and the
# suggested fix are the same, which can be useful since it is sometimes
# to make a simple regex that matches all the misspellings while not matching
# the correct spelling.
# pylint: disable=line-too-long
from __future__ import absolute_import
import collections
Typo = collections.namedtuple('Type', ['typo_pattern', 'replacement_pattern'])
TYPOS = [
Typo(r'(a|)syncho(r|ro|)(r|n)ous(ly|)', r'\1synchronous\4'),
Typo(r'(con|de)(stuct|truct|cruct)', r'\1struct'),
Typo(r'(c|sh|w)oudl', r'\1ould'),
Typo(r'(c|sh|w)oul(e|n|s|t)', r'\1ould'),
Typo(r'(depricate|depreciate|deperecate)(d|)', r'deprecate\2'),
Typo(r'(m|re|)maping', r'\1mapping'),
Typo(r'(not|mod)(if|fi)cation(s|)', r'\1ification\3'),
Typo(r'(not|mod)ifica(iton|toin)(s|)', r'\1ification\3'),
Typo(r'(pre|)sumbit', r'\1submit'),
Typo(r'(proto|)tpye(s|)', r'\1type\2'),
Typo(r'(un|)healhty', r'\1healthy'),
Typo(r'(re|)genrate(ed|)', r'\1generate\2'),
Typo(r'\b(flase|fales|fasle)\b', r'false'),
Typo(r'\b(more|less|greater|lesser|bigger|smaller)(\s+)then\b',
r'\1\2than'),
Typo(r'\b(ture|treu)\b', r'true'),
Typo(r'\b(uknown|unkown|unkwon|unkowon)\b', r'unknown'),
Typo(r'\b(un|)singed\b', r'\1signed'),
Typo(r'\balot\b', r'a\x20lot'),
Typo(r'\bandoid\b', r'android'),
Typo(r'\bbalue\b', r'value'),
Typo(r'\bcorn(\s|)job', r'cron\1job'),
Typo(r'\bfrist\b', r'first'),
Typo(r'\bgrammer\b', r'grammar'),
Typo(r'\bit\sself(\.|)([^-a-zA-Z\.]|$)', r'itself\1\2'),
Typo(r'\bommitted', r'omitted'),
Typo(r'\bsmapl(e[rsd]?|ing)\b', r'sampl\1'),
Typo(r'\btaget\b', r'target'),
Typo(r'\bthier\b', r'their'),
Typo(r'\btread(.|)safe\b', r'thread\1safe'),
Typo(r'acccount', r'account'),
Typo(r'accessibile', r'accessible'),
Typo(r'accomodat(e|ion)', r'accommodat\1'),
Typo(r'accross', r'across'),
Typo(r'acitiv(e|ity)', r'activ\1'),
Typo(r'activites', r'activities'),
Typo(r'acutally', r'actually'),
Typo(r'\badition', r'addition'),
Typo(r'adress', r'address'),
Typo(r'aggragat(e|ed|ing|ion)', r'aggregat\1'),
Typo(r'aggree', r'agree'),
Typo(r'agressive', r'aggressive'),
Typo(r'ajust', r'adjust'),
Typo(r'alredy', r'already'),
Typo(r'andriod', r'android'),
Typo(r'applicaiton(s|)', r'application\1'),
Typo(r'argu(e|)me?nt(s|)', r'argument\2'),
Typo(r'arround', r'around'),
Typo(r'asign', r'assign'),
Typo(r'assosciated', r'associated'),
Typo(r'asume', r'assume'),
Typo(r'atribute', r'attribute'),
Typo(r'authentification', r'authentication'),
Typo(r'availiability', r'availability'),
Typo(r'availiable|avaliable', r'available'),
Typo(r'bandwith', r'bandwidth'),
Typo(r'baord', r'board'),
Typo(r'bec(u|)ase\b', r'because'),
Typo(r'befor\b', r'before'),
Typo(r'begining', r'beginning'),
Typo(r'borgcorn', r'borgcron'),
Typo(r'bormgon', r'borgmon'),
Typo(r'breif', r'brief'),
Typo(r'bulid(er|s|ing|)', r'build\1'),
Typo(r'calender', r'calendar'),
Typo(r'capbilit(y|ies)', r'capabilit\1'),
Typo(r'cannonical', r'canonical'),
Typo(r'celcius', r'Celsius'),
Typo(r'chagne', r'change'),
Typo(r'chanel', r'channel'),
Typo(r'charachter(s|)', r'character\1'),
Typo(r'choosen\b', r'chosen'),
Typo(r'choses\b', r'chooses'),
Typo(r'chrome(cats|csat)', r'chromecast'),
Typo(r'cilent', r'client'),
Typo(r'classif(er|cation)', r'classifi\1'),
Typo(r'columio', r'columnio'),
Typo(r'com+it+(ed|ing)\b', r'committ\1'),
Typo(r'comming\b', r'coming'),
Typo(r'comparision', r'comparison'),
Typo(r'compatability', r'compatibility'),
Typo(r'complier', r'compiler'),
Typo(r'(pre|)comptuation(s|)', r'\1computation\2'),
Typo(r'consistant', r'consistent'),
Typo(r'contaning', r'containing'),
Typo(r'contant(s|)', r'constant\1'),
Typo(r'contians', r'contains'),
Typo(r'continous', r'continuous'),
Typo(r'convertable', r'convertible'),
Typo(r'convertion', r'conversion'),
Typo(r'correspondan(ce|t)', r'corresponden\1'),
Typo(r'cosnt', r'const'),
Typo(r'course(.|)grained', r'coarse\1grained'),
Typo(r'curent\b', r'current'),
Typo(r'currenty', r'currently'),
Typo(r'dashborad', r'dashboard'),
Typo(r'deatil(s|ed|)', r'detail\1'),
Typo(r'deafult(s|)', r'default\1'),
Typo(r'definately', r'definitely'),
Typo(r'defintion(s|)', r'definition\1'),
Typo(r'dep(d|)e(n|)de(n|)c(y|ies)', r'dependenc\4'),
Typo(r'descritp(ions?|ors?)', r'descript\1'),
Typo(r'destript(ions?|ors?)', r'descript\1'),
Typo(r'deterine(s|d|)', r'determine\1'),
Typo(r'diferent', r'different'),
Typo(r'dimention', r'dimension'),
Typo(r'direcory', r'directory'),
Typo(r'dispatcer', r'dispatcher'),
Typo(r'egde(s|)', r'edge\1'),
Typo(r'elasped', r'elapsed'),
Typo(r'embeded', r'embedded'),
Typo(r'emmitt(ed|ing|er)', r'emitt\1'),
Typo(r'encryted', r'encrypted'),
Typo(r'encyrption', r'encryption'),
Typo(r'enity', r'entity'),
Typo(r'entires', r'entries\1'),
Typo(r'enviroment', r'environment'),
Typo(r'errror(s|)', r'error\1'),
Typo(r'estiamt(or|ed|e)', r'estimat\1'),
Typo(r'excecute', r'execute'),
Typo(r'excede', r'exceed'),
Typo(r'excelent', r'excellent'),
Typo(r'excercise', r'exercise'),
Typo(r'exisiting', r'existing'),
Typo(r'existan(t|ce)\b', r'existen\1'),
Typo(r'exmaple', r'example'),
Typo(r'expe(rie|ir|iri)ment(s|)', r'experiment\2'),
Typo(r'explicitely', r'explicitly'),
Typo(r'extenstion', r'extension'),
Typo(r'extention', r'extension'),
Typo(r'f(in|ni)shed', r'finished'),
Typo(r'farenheit', r'Fahrenheit'),
Typo(r'feas(i|a)b(i|)(le|ility)', r'feasib\3'),
Typo(r'fitler', r'filter'),
Typo(r'format(tt|)(ing|ed)', r'formatt\2'),
Typo(r'foward', r'forward'),
Typo(r'frequecy', r'frequency'),
Typo(r'func(iton|toin)(s|al|ed|ing|)', r'function\2'),
Typo(r'funtion', r'function'),
Typo(r'goole|googel|goolge', r'google'),
Typo(r'guaratee(d|)', r'guarantee\1'),
Typo(r'gurantee(d|)', r'guarantee\1'),
Typo(r'hanlder(s|)', r'handler\1'),
Typo(r'heigth', r'height'),
Typo(r'heirarchy', r'hierarchy'),
Typo(r'identifer(s|)', r'identifier\1'),
Typo(r'idenfifier(s|)', r'identifier\1'),
Typo(r'ignroe(d|s|)', r'ignore\1'),
Typo(r'impresssion', r'impression'),
Typo(r'ind(e|i)cies', r'indices'),
Typo(r'indeces', r'indices'),
Typo(r'indentif(ication|ied|ies|ier|iers|y|ying)', r'identif\1'),
Typo(r'independant', r'independent'),
Typo(r'ingored', r'ignored'),
Typo(r'inhert', r'inherit'),
Typo(r'initialzing', r'initializing'),
Typo(r'initialzi(ed|er|ers|es|ation)', r'initializ\1'),
Typo(r'instanciat(ed|ion|ions|e)', r'instantiat\1'),
Typo(r'instantitation', r'instantiation'),
Typo(r'intead', r'instead'),
Typo(r'interable', r'iterable'),
Typo(r'interator', r'iterator'),
Typo(r'interchangabl(e|y)', r'interchangeabl\1'),
Typo(r'interger', r'integer'),
Typo(r'intermittant', r'intermittent'),
Typo(r'intial(ly|)', r'initial\1'),
Typo(r'intializ(e|ed|er|ers|ing|ation|)', r'initializ\1'),
Typo(r'(in|)vlaid(ate|ated|)', r'\1valid\2'),
Typo(r'invokation', r'invocation'),
Typo(r'irregardless', r'regardless'),
Typo(r'javasscript', r'javascript'),
Typo(r'(ack|)knowlege(ment|d|)(s|)', r'\1knowledge\2\3'),
Typo(r'aknowle(d|)ge(ment|d|)(s|)', r'acknowledge\2\3'),
Typo(r'lamda', r'lambda'),
Typo(r'langauge(s|)', r'language\1'),
Typo(r'lastest', r'latest'),
Typo(r'lealaps', r'laelaps'),
Typo(r'lenght(s|)', r'length\1'),
Typo(r'libasis+[tan]+', r'libassistant'),
Typo(r'libary', r'library'),
Typo(r'listner', r'listener'),
Typo(r'locaiton(s|)', r'location\1'),
Typo(r'looup', r'lookup'),
Typo(r'managment', r'management'),
Typo(r'maxumum', r'maximum'),
Typo(r'maintenace', r'maintenance'),
Typo(r'meatadata|meatdata', r'metadata'),
Typo(r'medatata', r'metadata'),
Typo(r'migation', r'migration'),
Typo(r'moniter(s|ed|ing|able|)', r'monitor\1'),
Typo(r'mutiple|mulitple', r'multiple'),
Typo(r'neccessary', r'necessary'),
Typo(r'necesar(y|ily)', r'necessar\1'),
Typo(r'newstand', r'newsstand'),
Typo(r'nulltpr', r'nullptr'),
Typo(r'oc+ur+(a|e)nce', r'occurrence'),
Typo(r'occur(ed|ing)', r'occurr\1'),
Typo(r'offical', r'official'),
Typo(r'or(gi|ig)nal', r'original'),
Typo(r'ove(r|)riden', r'overridden'),
Typo(r'overide', r'override'),
Typo(r'ove(r|)rite', r'overwrite'),
Typo(r'ove(r|)rites', r'overwrites'),
Typo(r'ove(r|)rit(t|)en', r'overwritten'),
Typo(r'pacakge', r'package'),
Typo(r'paramter(s|)', r'parameter\1'),
Typo(r'path[aei]logical', r'pathological'),
Typo(r'permanant', r'permanent'),
Typo(r'platfrom|paltform|platfom|patform|plaftorm', r'platform'),
Typo(r'peroid(ic|ical|ically|)', r'period\1'),
Typo(r'persistant', r'persistent'),
Typo(r'pipeling|pipline', r'pipeline'),
Typo(r'postion', r'position'),
Typo(r'postive', r'positive'),
Typo(r'preceed(ed|ing)', r'preced\1'),
Typo(r'precodition(s|)', r'precondition\1'),
Typo(r'pref+er+ed', r'preferred'),
Typo(r'pref+er+[ae]nce(s|)', r'preference\1'),
Typo(r'presedence', r'precedence'),
Typo(r'(p|)revew|reviw(ed|s|)', r'\1review\2'),
Typo(r'proably', r'probably'),
Typo(r'procede', r'proceed'),
Typo(r'proces(ing|ed|es)', r'process\1'),
Typo(r'produciton', r'production'),
Typo(r'programatic(ally|)', r'programmatic\1'),
Typo(r'prohibitted', r'prohibited'),
Typo(r'propogat(ion|ed|es|e)', r'propagat\1'),
Typo(r'protocal', r'protocol'),
Typo(r'proudction', r'production'),
Typo(r'psuedo', r'pseudo'),
Typo(r'pubicly', r'publicly'),
Typo(r'publically', r'publicly'),
Typo(r'\bputing\b', r'putting'),
Typo(r'qualificaiton(s|)', r'qualification\1'),
Typo(r'realease', r'release'),
Typo(r'recieve', r'receive'),
Typo(r'recomend(ation|ations|s|ing|)', r'recommend\1'),
Typo(r'recrod', r'record'),
Typo(r'relase', r'release'),
Typo(r'relevent', r'relevant'),
Typo(r'(ir|)relvant', r'\1relevant'),
Typo(r'reponse|respone', r'response'),
Typo(r'reponsibilit(y|ies)', r'responsibilit\1'),
Typo(r'reqeust(s|ed|ing|)', r'request\1'),
Typo(r'reserach', r'research'),
Typo(r'(re|)sopurce', r'\1source'),
Typo(r'responsabilit(y|ies)', r'responsibilit\1'),
Typo(r'resopnse', r'response'),
Typo(r'resovl(e[sd]?|ing)', r'resolv\1'),
Typo(r'retre?ive(d|s|)', r'retrieve\1'),
Typo(r'retrival', r'retrieval'),
Typo(r'runnning', r'running'),
Typo(r'saftey', r'safety'),
Typo(r'san[ietz]+r', r'sanitizer'),
Typo(r'seconary', r'secondary'),
Typo(r'seperate(d|s|)', r'separate\1'),
Typo(r'serach', r'search'),
Typo(r'shoppping', r'shopping'),
Typo(r'similiar', r'similar'),
Typo(r'singals', r'signals'),
Typo(r'snasphot', r'snapshot'),
Typo(r'specical', r'special'),
Typo(r'speficying', r'specifying'),
Typo(r'standart', r'standard'),
Typo(r'starteg(ies|y)', r'strateg\1'),
Typo(r'statment', r'statement'),
Typo(r'stich(ed|ing)', r'stitch\1'),
Typo(r'stirng', r'string'),
Typo(r'stroage', r'storage'),
Typo(r'su+c+e+s+(ful|es|)', r'success\1'),
Typo(r'su+p+e+r+o+t+', r'superroot'),
Typo(r'substract', r'subtract'),
Typo(r'successfuly', r'successfully'),
Typo(r'sufix', r'suffix'),
Typo(r'sugest', r'suggest'),
Typo(r'sycn', r'sync'),
Typo(r'syncronize', r'synchronize'),
Typo(r'threre(after|fore|)', r'there\1'),
Typo(r'threshould|thershold', r'threshold'),
Typo(r'throught', r'through'),
Typo(r'thumnail', r'thumbnail'),
Typo(r'transfer(ing|ed)', r'transferr\1'),
Typo(r'transation', r'transaction'),
Typo(r'tricoder', r'tricorder'),
Typo(r'uderlying', r'underlying'),
Typo(r'udpate', r'update'),
Typo(r'undefiend', r'undefined'),
Typo(r'unkown', r'unknown'),
Typo(r'virutal', r'virtual'),
Typo(r'weigth(s|ing|)', r'weight\1'),
Typo(r'wether', r'whether'),
Typo(r'wierd(ness|o|)', r'weird\1'),
Typo(r'worfklow', r'workflow'),
Typo(r'writen', r'written'),
Typo(r'writting', r'writing'),
Typo(r'zweiback', r'zwieback'),
Typo(r'\bGoogle,(\s+)Inc\.?\b', r'Google\1Inc.'),
Typo(r'\band\s+and\b', r'and'),
Typo(r'\bif\s+if\b', r'if'),
Typo(r'\bit\s+it\b', r'it'),
Typo(r'\bof\s+of\b', r'of'),
Typo(r'\bthe\s+its\b', r'its'),
Typo(r'\bthe\s+the\b', r'the'),
Typo(r'\bwith\s+with\b', r'with'),
Typo(r'\bObjective\sC\b', r'Objective-C'),
Typo(r'http(s|):\/\/\/', r'http\1://'),
Typo(r'https:\/\/([[:alnum:]]+)\/', r'http://\1/'),
Typo(r'ouptut|ouput|outout|OUPTUT|OUPUT', r'output'),
Typo(r'A-za-z', r'A-Za-z'),
Typo(r'a-zA-z', r'a-zA-Z'),
Typo(
r'^(|.*[^TtRrSsEe])(TOOO|TOD0|TODI|TODP|TOO|TOSO|TODDO|TOOD|TOCO|TOTO|ODO|TDOO|TODOD|TOFO|TDDO|TODD|TOD|TODOO|TDO|TODL)\W?\(\s*(([a-z]{1,14}@?)|(b.?\d+))\s*\)',
r'\1TODO(\3)'),
]