From 623037eb118a24335513cd7c4b2d4adabf292a8d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Linus=20F=C3=A4rnstrand?= Date: Fri, 22 Mar 2024 09:18:19 +0100 Subject: [PATCH] Add more verbs scraped from another repository (#131) We ran into more missing verbs. So I figured instead of adding them a few at a time when we run into issues, let's investigate what we actually have used historically and batch add them. I did the following for our largest repository, this is the only place where we currently enforce git commit message style with this action: https://github.com/mullvad/mullvadvpn-app/. I grabbed all the first words from the subject line of our commits: ```bash git log --format=%s | \ awk '{print tolower($1)}' | \ tr -cd '\n[:alnum:]._-' | \ sort -u > first-words ``` I then filtered out the ones not already in `mostFrequentEnglishVerbs.ts`: ```bash for word in $(cat first-words); do if ! grep -x " '$word'," mostFrequentEnglishVerbs.ts > /dev/null; then echo "$word"; fi; done ``` I then manually went through the list of words. Many of them were not even verbs, or verbs not in imperative form, since we have not enforced this style before. But many of them are perfectly fine imperative form verbs, so we add them to the list. --- src/mostFrequentEnglishVerbs.ts | 428 ++++++++++++++++++++++---------- 1 file changed, 303 insertions(+), 125 deletions(-) diff --git a/src/mostFrequentEnglishVerbs.ts b/src/mostFrequentEnglishVerbs.ts index dbb796c..fc7cf7c 100644 --- a/src/mostFrequentEnglishVerbs.ts +++ b/src/mostFrequentEnglishVerbs.ts @@ -1,21 +1,28 @@ export const SET = new Set([ 'abandon', + 'abort', + 'abstract', 'accept', + 'accomodate', 'accompany', 'account', + 'accumulate', 'accuse', 'ache', 'achieve', 'acknowledge', 'acquire', 'act', + 'activate', 'active', + 'adapt', 'add', 'address', 'adhere', 'adjust', 'admit', 'adopt', + 'advance', 'advise', 'advocate', 'affect', @@ -23,16 +30,20 @@ export const SET = new Set([ 'afford', 'agree', 'aim', + 'align', 'allow', 'alter', 'analyse', 'analyze', + 'anchor', + 'annotate', 'announce', 'annoy', 'annul', 'answer', 'appeal', 'appear', + 'append', 'applicate', 'apply', 'appoint', @@ -47,6 +58,7 @@ export const SET = new Set([ 'ask', 'assert', 'assess', + 'assign', 'assist', 'associate', 'assume', @@ -56,9 +68,11 @@ export const SET = new Set([ 'attempt', 'attend', 'attract', + 'augment', 'avoid', 'awake', 'back', + 'backport', 'backup', 'bake', 'base', @@ -76,27 +90,43 @@ export const SET = new Set([ 'better', 'beware', 'bind', + 'blacklist', 'blame', 'blend', + 'block', 'blow', + 'blur', + 'bootstrap', 'born', + 'borrow', 'bother', 'break', + 'bridge', 'bring', + 'broadcast', + 'buffer', 'build', 'bump', + 'bundle', 'burn', 'busy', 'buy', + 'bypass', + 'cache', 'calculate', 'call', + 'cancel', + 'capitalize', 'capture', 'care', 'carry', 'carryout', 'cast', 'catch', + 'categorize', 'cause', + 'center', + 'centralize', 'challenge', 'change', 'chant', @@ -107,12 +137,15 @@ export const SET = new Set([ 'choose', 'circle', 'claim', + 'clarify', 'clean', 'cleanse', 'clear', 'climb', + 'clip', 'close', 'clothe', + 'coalesce', 'collapse', 'collect', 'combine', @@ -124,20 +157,24 @@ export const SET = new Set([ 'compensate', 'compile', 'complain', + 'complement', 'complete', 'compose', 'compress', + 'compute', 'conceal', 'concentrate', 'conclude', 'concur', 'conduct', + 'configure', 'confirm', 'confront', 'connect', 'connote', 'consider', 'consist', + 'consolidate', 'constitute', 'construct', 'consume', @@ -150,7 +187,10 @@ export const SET = new Set([ 'convert', 'convey', 'cook', + 'coordinate', 'cope', + 'copy', + 'correct', 'cost', 'counsel', 'count', @@ -159,16 +199,28 @@ export const SET = new Set([ 'cross', 'cry', 'cut', + 'cycle', 'damage', 'dance', 'deal', 'debate', 'decide', 'declare', + 'decode', + 'deconstruct', + 'decouple', + 'decrease', + 'dedup', + 'de-duplicate', + 'deduplicate', + 'default', 'defeat', 'defend', + 'defer', 'define', 'delay', + 'delegate', + 'delete', 'deliver', 'demand', 'demolish', @@ -177,8 +229,10 @@ export const SET = new Set([ 'depart', 'depend', 'depict', + 'deprecate', 'derive', 'describe', + 'deserialize', 'design', 'desire', 'destroy', @@ -188,47 +242,69 @@ export const SET = new Set([ 'develop', 'devote', 'die', + 'dim', 'direct', + 'disable', + 'disallow', 'disappear', + 'disconnect', 'discontinue', 'discourage', 'discover', 'discuss', 'dislike', 'dismiss', + 'dispatch', 'displace', 'display', 'distinguish', 'divide', 'do', + 'document', 'dominate', + 'downgrade', + 'download', 'draw', 'dread', 'dress', 'drink', 'drive', 'drop', + 'dry', + 'dump', + 'duplicate', 'earn', 'eat', + 'echo', + 'edit', 'educate', + 'elaborate', 'elect', 'elevate', + 'eliminate', + 'embed', 'emerge', + 'emit', 'employ', + 'empty', 'enable', + 'encapsulate', 'encourage', 'end', 'endorse', 'endure', 'enforce', 'engage', + 'enhance', 'enjoy', 'enquire', 'enroll', 'ensure', 'enter', + 'enumerate', 'equal', 'equate', + 'erase', 'escape', 'establish', 'estimate', @@ -238,48 +314,67 @@ export const SET = new Set([ 'exclude', 'excuse', 'execute', + 'exempt', 'exercise', 'exert', 'exist', + 'exit', 'expand', 'expect', 'experience', 'explain', 'explore', + 'export', 'expose', 'express', 'extend', + 'extract', 'face', + 'factor', 'fail', 'fall', 'fault', + 'favor', 'fear', 'feature', 'feed', 'feel', + 'fetch', 'fight', 'fill', + 'filter', 'find', 'finish', 'fit', 'fix', + 'flatten', 'flee', + 'flip', 'float', + 'flow', 'flunk', + 'flush', 'fly', 'focus', + 'fold', 'follow', 'force', 'foresee', 'forget', + 'fork', 'form', + 'formalize', + 'format', 'forward', 'found', 'free', + 'freeze', 'gain', 'gather', + 'generalize', 'generate', 'get', + 'gitignore', 'give', 'giveup', 'glance', @@ -288,13 +383,18 @@ export const SET = new Set([ 'govern', 'grant', 'grin', + 'group', 'grow', + 'guard', 'guess', 'guide', + 'hack', + 'halt', 'hand', 'handle', 'hang', 'happen', + 'hardcode', 'harm', 'hate', 'have', @@ -302,9 +402,12 @@ export const SET = new Set([ 'hear', 'help', 'hide', + 'highlight', + 'hint', 'hire', 'hit', 'hold', + 'hook', 'hope', 'house', 'hurt', @@ -313,8 +416,10 @@ export const SET = new Set([ 'illuminate', 'illustrate', 'imagine', + 'impersonate', 'implement', 'imply', + 'import', 'importune', 'impose', 'improve', @@ -322,19 +427,36 @@ export const SET = new Set([ 'incorporate', 'increase', 'incur', + 'indent', 'indicate', + 'infer', 'influence', 'inform', + 'inherit', + 'init', + 'initialize', 'initiate', 'injure', + 'in-line', + 'inline', 'insist', + 'install', + 'instantiate', + 'instruct', + 'integrate', 'intend', + 'intercept', + 'internalize', 'interpret', 'introduce', + 'invalidate', + 'invert', 'invest', 'investigate', 'invite', + 'invoke', 'involve', + 'isolate', 'issue', 'join', 'journey', @@ -371,34 +493,56 @@ export const SET = new Set([ 'list', 'listen', 'live', + 'load', + 'localize', 'locate', 'lock', + 'log', + 'login', 'look', + 'loop', 'lose', 'love', + 'lower', 'maintain', 'make', 'manage', + 'map', 'mark', 'marry', 'match', + 'materialize', 'matter', 'mean', 'measure', 'meet', + 'memoize', 'menace', 'mention', + 'merge', + 'migrate', 'mind', + 'mirror', 'misinform', 'miss', 'mix', + 'mock', + 'modernize', + 'modify', + 'monitor', + 'monomorphize', 'move', + 'mutate', 'name', + 'navigate', 'near', 'need', 'nod', + 'normalize', + 'notarize', 'note', 'notice', + 'notify', 'observe', 'obtain', 'occupy', @@ -408,29 +552,50 @@ export const SET = new Set([ 'omit', 'open', 'operate', + 'optimise', + 'optimize', 'order', 'organise', 'organize', + 'output', + 'overhaul', + 'override', + 'overwrite', 'owe', 'own', + 'pack', + 'package', 'paint', + 'panic', + 'parameterize', + 'parse', 'partake', 'pass', + 'patch', + 'pause', 'pay', 'perform', 'permit', + 'persist', 'persuade', 'pick', + 'pin', + 'ping', + 'pipe', 'place', 'plan', 'play', 'plow', 'point', 'ponder', + 'populate', + 'port', + 'position', 'possess', 'pour', 'predict', 'prefer', + 'prefix', 'prepare', 'present', 'preserve', @@ -438,101 +603,180 @@ export const SET = new Set([ 'presume', 'prevent', 'print', + 'prioritize', + 'privatize', 'proceed', 'process', 'procure', 'produce', + 'prolong', 'promise', 'promote', + 'propagate', 'propose', 'prosecute', 'protect', 'protest', 'prove', 'provide', + 'prune', 'publish', 'pull', 'purchase', + 'purge', 'pursue', 'push', 'put', 'puton', + 'qualify', + 'query', 'question', + 'queue', + 'quit', 'quote', 'race', 'raise', + 'randomize', 'reach', + 'react', 'read', 'realise', 'realize', + 'reapply', + 'rearrange', 'reason', + 'rebuild', 'recall', 'receive', 'reckon', 'recognise', 'recognize', 'recommend', + 'reconnect', 'record', 'recover', 'recur', + 'redact', + 're-define', + 'redefine', + 're-design', + 'redesign', + 'redirect', + 're-do', + 'redo', 'reduce', + 're-enable', + 'refactor', 'refer', 'reference', + 'refine', 'reflect', + 'reformat', + 'refresh', 'refuse', 'regard', + 'regenerate', 'register', + 'reimplement', + 're-instate', + 'reinstate', 'reject', 'relate', + 'relax', 'release', + 'reload', 'rely', 'remain', 'remember', 'remind', 'remove', + 'rename', + 'render', + 're-order', + 'reorder', + 'reorganise', + 'reorganize', 'repair', + 'reparent', 'repeat', 'repel', + 'rephrase', 'replace', 'reply', 'report', + 'reposition', 'represent', 'request', 'require', + 'rerender', + 'rerun', + 're-scale', + 'rescale', 'research', + 're-set', + 'reset', 'reside', + 'resize', 'resolve', + 'respect', 'respond', 'rest', + 'restart', 'restore', 'restrict', + 'restructure', 'result', + 'resume', + 'resurface', 'retain', 'retire', 'retreat', + 'retrieve', + 'retry', 'return', + 'reuse', + 'revamp', 'reveal', + 'reverse', + 'revert', 'review', + 'revise', + 'revisit', + 'revoke', + 'reword', + 're-wrap', + 'rewrap', + 'rewrite', 'ride', 'ring', 'rise', 'roll', + 'rotate', + 'round', + 'route', 'rule', 'run', 'sale', 'salute', + 'sample', + 'sanitize', 'save', 'say', + 'scale', + 'scope', 'score', + 'scroll', 'search', 'secure', 'see', 'seek', 'seem', 'select', + 'self-initialize', 'sell', 'send', 'separate', + 'serialize', 'serve', 'set', 'settle', @@ -541,13 +785,21 @@ export const SET = new Set([ 'share', 'shift', 'shoot', + 'shorten', 'shout', 'show', + 'shrink', + 'shuffle', 'shut', 'sign', 'signify', + 'silence', + 'simplify', + 'simulate', 'sing', 'sit', + 'size', + 'skip', 'sleep', 'slide', 'slip', @@ -555,12 +807,15 @@ export const SET = new Set([ 'solve', 'sort', 'sound', + 'source', + 'spawn', 'speak', 'specify', 'spend', 'split', 'spread', 'stand', + 'standardize', 'stare', 'start', 'state', @@ -570,12 +825,20 @@ export const SET = new Set([ 'step', 'stick', 'stop', + 'store', 'stress', 'stretch', 'strike', + 'stringify', + 'strip', 'struggle', + 'stub', 'study', + 'style', + 'subclass', 'submit', + 'substitute', + 'subtract', 'succeed', 'suffer', 'suggest', @@ -583,11 +846,18 @@ export const SET = new Set([ 'supply', 'support', 'suppose', + 'suppress', 'surround', 'survive', 'suspect', + 'swallow', + 'swap', 'sway', 'switch', + 'sync', + 'synchronise', + 'synchronize', + 'synthesize', 'take', 'talk', 'talkover', @@ -604,32 +874,61 @@ export const SET = new Set([ 'threaten', 'throw', 'tie', + 'time', + 'toggle', 'touch', 'track', 'trade', 'train', 'transfer', 'transform', + 'translate', + 'transpile', + 'trash', 'travel', 'tread', 'treat', + 'trigger', 'trim', + 'truncate', 'trust', 'try', + 'tune', 'turn', + 'tweak', 'twist', + 'unblock', + 'uncomment', 'uncover', 'understand', 'undertake', + 'undo', + 'undry', + 'unescape', 'unfold', + 'unify', + 'unignore', 'unite', 'unload', + 'unlock', + 'unpack', + 'unregister', + 'unskip', + 'unsubscribe', + 'untrack', + 'unwrap', + 'update', + 'upgrade', + 'upload', 'urge', 'use', 'utter', + 'validate', 'value', 'vanish', 'vary', + 'verbosify', + 'verify', 'view', 'visit', 'vocalize', @@ -647,137 +946,16 @@ export const SET = new Set([ 'weep', 'weigh', 'welcome', + 'whitelist', 'win', + 'wipe', + 'wire', 'wish', 'withdraw', 'wonder', 'work', 'workout', 'worry', - 'write', - - // Verbs specific to programming - 'align', - 'assign', - 'augment', - 'blacklist', - 'cache', - 'categorize', - 'clarify', - 'coalesce', - 'configure', - 'consolidate', - 'correct', - 'de-duplicate', - 'deconstruct', - 'deduplicate', - 'default', - 'delete', - 'disable', - 'dispatch', - 'document', - 'downgrade', - 'dry', - 'duplicate', - 'echo', - 'edit', - 'enhance', - 'enumerate', - 'erase', - 'export', - 'extract', - 'favor', - 'flatten', - 'fork', - 'format', - 'gitignore', - 'group', - 'guard', - 'hint', - 'import', - 'in-line', - 'initialize', - 'inline', - 'install', - 'instruct', - 'integrate', - 'intercept', - 'internalize', - 'invalidate', - 'isolate', - 'log', - 'map', - 'materialize', - 'merge', - 'mutate', - 'optimise', - 'optimize', - 'override', - 'pack', - 'package', - 'parse', - 'patch', - 'pin', - 'privatize', - 'qualify', - 'randomize', - 're-define', - 're-design', - 're-do', - 're-enable', - 're-instate', - 're-order', - 're-scale', - 're-set', - 're-wrap', - 'redefine', - 'redesign', - 'redirect', - 'redo', - 'refactor', - 'refine', - 'reformat', - 'refresh', - 'reinstate', - 'relax', - 'rename', - 'reorder', - 'reorganise', - 'reorganize', - 'rephrase', - 'rescale', - 'reset', - 'restart', - 'restructure', - 'revert', - 'revise', - 'revisit', - 'reword', - 'rewrap', - 'rewrite', - 'sample', - 'scale', - 'self-initialize', - 'simplify', - 'skip', - 'standardize', - 'suppress', - 'sync', - 'synchronise', - 'synchronize', - 'translate', - 'tune', - 'tweak', - 'undo', - 'undry', - 'unify', - 'unpack', - 'unskip', - 'untrack', - 'unwrap', - 'update', - 'upgrade', - 'verbosify', - 'whitelist', 'wrap', + 'write', ]);