Skip to content

Instantly share code, notes, and snippets.

@mobilemind
Last active December 9, 2025 15:36
Show Gist options
  • Select an option

  • Save mobilemind/e3f8cfb528d021efd13d5a82c616b911 to your computer and use it in GitHub Desktop.

Select an option

Save mobilemind/e3f8cfb528d021efd13d5a82c616b911 to your computer and use it in GitHub Desktop.
vale AppleCustom rules
Additional rules will follow
extends: existence
message: "Avoid language (such as '%s') that defines people by their disability."
link: https://docs.microsoft.com/en-us/style-guide/a-z-word-list-term-collections/term-collections/accessibility-terms
level: suggestion
ignorecase: true
tokens:
- a victim of
- able-bodied
- an epileptic
- birth defect
- crippled
- differently abled
- disabled
- dumb
- handicapped
- handicaps
- healthy person
- hearing-impaired
- lame
- maimed
- mentally handicapped
- missing a limb
- mute
- non-verbal
- normal person
- sight-impaired
- slow learner
- stricken with
- suffers from
- vision-impaired
extends: conditional
message: "'%s' has no definition."
link: https://docs.microsoft.com/en-us/style-guide/acronyms
level: suggestion
ignorecase: false
# Ensures that the existence of 'first' implies the existence of 'second'.
first: '\b([A-Z]{3,5})\b'
second: '(?:\b[A-Z][a-z]+ )+\(([A-Z]{3,5})\)'
# ... with the exception of these:
exceptions:
- APFS
- API
- APN
- ASP
- CDMA
- CLI
- CPU
- CSS
- CSV
- DEBUG
- DFU
- DHCP
- DNS
- DOM
- DPI
- FAQ
- GCC
- GDB
- GET
- GIF
- GPS
- GPU
- GTK
- GUI
- HDMI
- HTML
- HTTP
- HTTPS
- IDE
- IMAP
- IT
- "ITEMS?"
- JAR
- JPEG
- JSON
- JSX
- LAN
- LESS
- LLDB
- LTE
- MAC
- MDM
- MIME
- MMS
- MPEG
- NAS
- NET
- NFC
- NOTE
- OCSP
- OSS
- PASV
- PATH
- PDF
- PEAP
- PHP
- PIN
- PKCS
- PNG
- POST
- RAM
- REPL
- RSA
- RSS
- RSR
- RTSP
- SAML
- SCEP
- SCIM
- SCM
- SCSS
- SDK
- SIM
- SMS
- SOS
- SQL
- SSD
- SSH
- SSL
- SSID
- SSO
- "STEMS?"
- SVG
- TBD
- TCP
- TIFF
- TTLS
- UDP
- UNIX
- URI
- URL
- USB
- UTF
- UUID
- VPN
- WAN
- WEP
- WPA
- WPAD
- WWDC
- XML
- XSS
- YAML
- ZIP
extends: existence
message: "Remove '%s' if it's not important to the meaning of the statement."
link: https://docs.microsoft.com/en-us/style-guide/word-choice/use-simple-words-concise-sentences
ignorecase: true
level: warning
action:
name: remove
tokens:
- abnormally
- absentmindedly
- accidentally
- adventurously
- anxiously
- arrogantly
- awkwardly
- bashfully
- beautifully
- bitterly
- bleakly
- blindly
- blissfully
- boastfully
- boldly
- bravely
- briefly
- brightly
- briskly
- broadly
- busily
- calmly
- carefully
- carelessly
- cautiously
- cheerfully
- cleverly
- closely
- coaxingly
- colorfully
- continually
- coolly
- courageously
- crossly
- cruelly
- curiously
- daintily
- dearly
- deceivingly
- deeply
- defiantly
- deliberately
- delightfully
- diligently
- dimly
- doubtfully
- dreamily
- easily
- effectively
- elegantly
- energetically
- enormously
- enthusiastically
- excitedly
- extremely
- fairly
- faithfully
- famously
- ferociously
- fervently
- fiercely
- fondly
- foolishly
- fortunately
- frankly
- frantically
- freely
- frenetically
- frightfully
- furiously
- generally
- generously
- gently
- gladly
- gleefully
- gracefully
- gratefully
- greatly
- greedily
- happily
- hastily
- healthily
- heavily
- helplessly
- honestly
- hopelessly
- hungrily
- innocently
- inquisitively
- intensely
- intently
- interestingly
- inwardly
- irritably
- jaggedly
- jealously
- jovially
- joyfully
- joyously
- jubilantly
- judgmentally
- justly
- keenly
- kiddingly
- kindheartedly
- knavishly
- knowingly
- knowledgeably
- lazily
- lightly
- limply
- lively
- loftily
- longingly
- loosely
- loudly
- lovingly
- loyally
- madly
- majestically
- meaningfully
- mechanically
- merrily
- miserably
- mockingly
- mortally
- mysteriously
- naturally
- nearly
- neatly
- nervously
- nicely
- noisily
- obediently
- obnoxiously
- oddly
- offensively
- optimistically
- overconfidently
- painfully
- partially
- patiently
- perfectly
- playfully
- politely
- poorly
- positively
- potentially
- powerfully
- promptly
- properly
- punctually
- quaintly
- queasily
- queerly
- questionably
- quickly
- quietly
- quirkily
- quite
- quizzically
- randomly
- rapidly
- rarely
- readily
- really
- reassuringly
- recklessly
- regularly
- reluctantly
- repeatedly
- reproachfully
- restfully
- righteously
- rightfully
- rigidly
- roughly
- rudely
- safely
- scarcely
- scarily
- searchingly
- sedately
- seemingly
- selfishly
- separately
- seriously
- shakily
- sharply
- sheepishly
- shrilly
- shyly
- silently
- sleepily
- slowly
- smoothly
- softly
- solemnly
- solidly
- speedily
- stealthily
- sternly
- strictly
- suddenly
- supposedly
- surprisingly
- suspiciously
- sweetly
- swiftly
- sympathetically
- tenderly
- tensely
- terribly
- thankfully
- thoroughly
- thoughtfully
- tightly
- tremendously
- triumphantly
- truthfully
- ultimately
- unabashedly
- unaccountably
- unbearably
- unethically
- unexpectedly
- unfortunately
- unimpressively
- unnaturally
- unnecessarily
- urgently
- usefully
- uselessly
- utterly
- vacantly
- vaguely
- vainly
- valiantly
- vastly
- verbally
- very
- viciously
- victoriously
- violently
- vivaciously
- voluntarily
- warmly
- weakly
- wearily
- wetly
- wholly
- wildly
- willfully
- wisely
- woefully
- wonderfully
- worriedly
- yawningly
- yearningly
- yieldingly
- youthfully
- zealously
- zestfully
- zestily
extends: existence
message: Use 'AM' or 'PM' (preceded by a space).
link: https://docs.microsoft.com/en-us/style-guide/a-z-word-list-term-collections/term-collections/date-time-terms
level: error
nonword: true
tokens:
- '\d{1,2}[AP]M'
- '\d{1,2} ?[ap]m'
- '\d{1,2} ?[aApP]\.[mM]\.'
# Enforce non-breaking spaces in "Apple Account(s)" and
# "Managed Apple Account(s)". Flags only plain-space versions.
# Suggests Apple Account(s) and Managed Apple Account(s).
# Uses raw scope so ' ' remains literal and isn't flagged.
extends: substitution
message: "Use non-breaking space entity, unless in a title: use '%s' instead of '%s'."
link: https://developer.mozilla.org/en-US/docs/Glossary/Entity
level: suggestion
ignorecase: false
nonword: true
scope: raw
swap:
# Match anywhere (no line anchor) so multiple occurrences per line are caught.
# Managed Apple Account / Managed Apple Accounts
'\bManaged Apple Account(s)?\b': 'Managed Apple Account$1'
# Apple Account / Apple Accounts
'\bApple Account(s)?\b': 'Apple Account$1'
# Mask regions we don't want to scan at the vale.ini level
# Those patterns are masked before matching rules.
action:
name: replace
extends: existence
message: "In general, don't hyphenate '%s'."
link: https://docs.microsoft.com/en-us/style-guide/a-z-word-list-term-collections/a/auto
ignorecase: true
level: error
action:
name: convert
params:
- simple
tokens:
- 'auto-\w+'
extends: existence
message: "Don't use '%s'. See the A-Z word list for details."
# See the A-Z word list
link: https://docs.microsoft.com/en-us/style-guide
ignorecase: true
level: error
tokens:
- abortion
- and so on
- app(?:lication)? file
- backbone
- backend
- contiguous selection
extends: substitution
message: "Use '%s' instead of '%s'."
link: https://docs.microsoft.com/en-us/style-guide/word-choice/use-contractions
level: error
ignorecase: true
action:
name: replace
swap:
are not: aren't
cannot: can't
could not: couldn't
did not: didn't
do not: don't
does not: doesn't
has not: hasn't
have not: haven't
how is: how's
is not: isn't
'it is(?!\.)': it's
'it''s(?=\.)': it is
should not: shouldn't
"that is(?![.,])": that's
'that''s(?=\.)': that is
'they are(?!\.)': they're
'they''re(?=\.)': they are
was not: wasn't
'we are(?!\.)': we're
'we''re(?=\.)': we are
'we have(?!\.)': we've
'we''ve(?=\.)': we have
were not: weren't
'what is(?!\.)': what's
'what''s(?=\.)': what is
'when is(?!\.)': when's
'when''s(?=\.)': when is
'where is(?!\.)': where's
'where''s(?=\.)': where is
will not: won't
extends: existence
message: "Remove the spaces around '%s'."
link: https://docs.microsoft.com/en-us/style-guide/punctuation/dashes-hyphens/emes
ignorecase: true
nonword: true
level: error
action:
name: edit
params:
- trim
- " "
tokens:
- '\s[—–]\s|\s[—–]|[—–]\s'
extends: existence
message: Use 'July 31, 2016' format, not '%s'.
link: https://docs.microsoft.com/en-us/style-guide/a-z-word-list-term-collections/term-collections/date-time-terms
ignorecase: true
level: error
nonword: true
tokens:
- '\d{1,2} (?:Jan(?:uary)?|Feb(?:ruary)?|Mar(?:ch)?|Apr(?:il)|May|Jun(?:e)|Jul(?:y)|Aug(?:ust)|Sep(?:tember)?|Oct(?:ober)|Nov(?:ember)?|Dec(?:ember)?) \d{4}'
extends: existence
message: "Don't use ordinal numbers for dates."
link: https://docs.microsoft.com/en-us/style-guide/numbers#numbers-in-dates
level: error
nonword: true
ignorecase: true
raw:
- \b(?:Jan(?:uary)?|Feb(?:ruary)?|Mar(?:ch)?|Apr(?:il)|May|Jun(?:e)|Jul(?:y)|Aug(?:ust)|Sep(?:tember)?|Oct(?:ober)|Nov(?:ember)?|Dec(?:ember)?)\b\s*
tokens:
- first
- second
- third
- fourth
- fifth
- sixth
- seventh
- eighth
- ninth
- tenth
- eleventh
- twelfth
- thirteenth
- fourteenth
- fifteenth
- sixteenth
- seventeenth
- eighteenth
- nineteenth
- twentieth
- twenty-first
- twenty-second
- twenty-third
- twenty-fourth
- twenty-fifth
- twenty-sixth
- twenty-seventh
- twenty-eighth
- twenty-ninth
- thirtieth
- thirty-first
extends: existence
message: "Always spell out the name of the month."
link: https://docs.microsoft.com/en-us/style-guide/numbers#numbers-in-dates
ignorecase: true
level: error
nonword: true
tokens:
- '\b\d{1,2}/\d{1,2}/(?:\d{4}|\d{2})\b'
extends: existence
message: "In general, don't use an ellipsis."
link: https://docs.microsoft.com/en-us/style-guide/punctuation/ellipses
nonword: true
level: warning
ignorecase: false
nonword: true
scope: raw
action:
name: remove
tokens:
- '\.\.\.'
- ''
- '…'
# Flags typed NBSP (U+00A0) or (option-space), en dash (–), and em dash (—) and suggests
# the corresponding HTML entity. Skips already-entity-coded forms and code.
# Complements (doesn't replace) Microsoft.Dashes.
extends: substitution
message: "Unclear use of special character, unless in a title, use '%s' instead of '%s'."
link: https://developer.mozilla.org/en-US/docs/Glossary/Entity
level: suggestion
ignorecase: false
nonword: true
# Use the raw source so ' ' remains literal text (is not decoded),
# which prevents false positives on properly entity-coded content.
scope: raw
# Map literal characters to their HTML entities.
swap:
'\u00A0': ' ' # non-breaking space
'': '–' # en dash
'': '—' # em dash
# Mask regions we don't want to scan at the vale.ini level
# Those patterns are masked before matching rules.
action:
name: replace
extends: existence
message: "Use first person (such as '%s') sparingly."
link: https://docs.microsoft.com/en-us/style-guide/grammar/person
ignorecase: true
level: warning
nonword: true
tokens:
- (?:^|\s)I(?=\s)
- (?:^|\s)I(?=,\s)
- \bI'd\b
- \bI'll\b
- \bI'm\b
- \bI've\b
- \bme\b
- \bmy\b
- \bmine\b
extends: substitution
message: "Use '%s' instead of '%s'."
link: https://docs.microsoft.com/en-us/style-guide/word-choice/use-us-spelling-avoid-non-english-words
ignorecase: true
level: error
nonword: true
action:
name: replace
swap:
'\b(?:eg|e\.g\.)[\s,]': for example
'\b(?:ie|i\.e\.)[\s,]': that is
'\b(?:viz\.)[\s,]': namely
'\b(?:ergo)[\s,]': therefore
extends: existence
message: "Don't use '%s'."
link: https://github.com/MicrosoftDocs/microsoft-style-guide/blob/master/styleguide/grammar/nouns-pronouns.md#pronouns-and-gender
level: error
ignorecase: true
tokens:
- he/she
- s/he
extends: substitution
message: "Consider using '%s' instead of '%s'."
ignorecase: true
level: error
action:
name: replace
swap:
(?:alumna|alumnus): graduate
(?:alumnae|alumni): graduates
air(?:m[ae]n|wom[ae]n): pilot(s)
anchor(?:m[ae]n|wom[ae]n): anchor(s)
authoress: author
camera(?:m[ae]n|wom[ae]n): camera operator(s)
door(?:m[ae]|wom[ae]n): concierge(s)
draft(?:m[ae]n|wom[ae]n): drafter(s)
fire(?:m[ae]n|wom[ae]n): firefighter(s)
fisher(?:m[ae]n|wom[ae]n): fisher(s)
fresh(?:m[ae]n|wom[ae]n): first-year student(s)
garbage(?:m[ae]n|wom[ae]n): waste collector(s)
lady lawyer: lawyer
ladylike: courteous
mail(?:m[ae]n|wom[ae]n): mail carriers
man and wife: husband and wife
man enough: strong enough
mankind: human kind
manmade: manufactured
manpower: personnel
middle(?:m[ae]n|wom[ae]n): intermediary
news(?:m[ae]n|wom[ae]n): journalist(s)
ombuds(?:man|woman): ombuds
oneupmanship: upstaging
poetess: poet
police(?:m[ae]n|wom[ae]n): police officer(s)
repair(?:m[ae]n|wom[ae]n): technician(s)
sales(?:m[ae]n|wom[ae]n): salesperson or sales people
service(?:m[ae]n|wom[ae]n): soldier(s)
steward(?:ess)?: flight attendant
tribes(?:m[ae]n|wom[ae]n): tribe member(s)
waitress: waiter
woman doctor: doctor
woman scientist[s]?: scientist(s)
work(?:m[ae]n|wom[ae]n): worker(s)
extends: existence
message: "Avoid using acronyms in a title or heading."
link: https://docs.microsoft.com/en-us/style-guide/acronyms#be-careful-with-acronyms-in-titles-and-headings
level: warning
scope: heading
tokens:
- '[A-Z]{2,4}'
exceptions:
- IT
- MDM
- TV
extends: existence
message: "Capitalize '%s'."
link: https://docs.microsoft.com/en-us/style-guide/punctuation/colons
nonword: true
level: error
scope: heading
tokens:
- ':\s[a-z]'
extends: existence
message: "Don't use end punctuation in headings."
link: https://docs.microsoft.com/en-us/style-guide/punctuation/periods
nonword: true
level: warning
scope: heading
action:
name: edit
params:
- trim_right
- ".?!"
tokens:
- "[a-z][.?!]$"
extends: capitalization
message: "'%s' should use title-style capitalization."
link: https://support.apple.com/guide/applestyleguide/capitalization-apsgf9981f6b/web
level: suggestion
scope: heading
match: $title
indicators:
- ':'
exceptions:
- AirPod
- Azure
- CLI
- Code
- Continuity
- Cosmos
- Docker
- Emmet
- I
- IT
- iCloud
- iMac
- iOS
- iPad
- iPadOS
- iPhone
- Kubernetes
- Linux
- Mac
- MacBook
- macOS
- Marketplace
- MongoDB
- REPL
- Studio
- this
- TV
- tvOS
- TypeScript
- URLs
- Vision Pro
- visionOS
- Visual
- watchOS
- Windows
extends: existence
message: "'%s' doesn't need a hyphen."
link: https://docs.microsoft.com/en-us/style-guide/punctuation/dashes-hyphens/hyphens
level: warning
ignorecase: false
nonword: true
action:
name: edit
params:
- regex
- "-"
- " "
tokens:
- '\b[^\s-]+ly-\w+\b'
{
"feed": "https://github.com/errata-ai/Microsoft/releases.atom",
"vale_version": ">=1.0.0"
}
extends: existence
message: "Form a negative number with an en dash (–), not a hyphen."
link: https://docs.microsoft.com/en-us/style-guide/numbers
nonword: true
level: error
action:
name: edit
params:
- regex
- "-"
- ""
tokens:
- '(?<=\s)-\d+(?:\.\d+)?\b'
extends: existence
message: "Don't add -ly to an ordinal number."
link: https://docs.microsoft.com/en-us/style-guide/numbers
level: error
action:
name: edit
params:
- trim
- ly
tokens:
- firstly
- secondly
- thirdly
extends: existence
message: "Use the Oxford comma in '%s'."
link: https://docs.microsoft.com/en-us/style-guide/punctuation/commas
scope: sentence
level: suggestion
nonword: true
tokens:
- '(?:[^\s,]+,){1,} \w+ (?:and|or) \w+[.?!]'
extends: existence
message: "'%s' looks like passive voice."
ignorecase: true
level: suggestion
raw:
- \b(am|are|were|being|is|been|was|be)\b\s*
tokens:
- '[\w]+ed'
- awoken
- beat
- become
- been
- begun
- bent
- beset
- bet
- bid
- bidden
- bitten
- bled
- blown
- born
- bought
- bound
- bred
- broadcast
- broken
- brought
- built
- burnt
- burst
- cast
- caught
- chosen
- clung
- come
- cost
- crept
- cut
- dealt
- dived
- done
- drawn
- dreamt
- driven
- drunk
- dug
- eaten
- fallen
- fed
- felt
- fit
- fled
- flown
- flung
- forbidden
- foregone
- forgiven
- forgotten
- forsaken
- fought
- found
- frozen
- given
- gone
- gotten
- ground
- grown
- heard
- held
- hidden
- hit
- hung
- hurt
- kept
- knelt
- knit
- known
- laid
- lain
- leapt
- learnt
- led
- left
- lent
- let
- lighted
- lost
- made
- meant
- met
- misspelt
- mistaken
- mown
- overcome
- overdone
- overtaken
- overthrown
- paid
- pled
- proven
- put
- quit
- read
- rid
- ridden
- risen
- run
- rung
- said
- sat
- sawn
- seen
- sent
- set
- sewn
- shaken
- shaven
- shed
- shod
- shone
- shorn
- shot
- shown
- shrunk
- shut
- slain
- slept
- slid
- slit
- slung
- smitten
- sold
- sought
- sown
- sped
- spent
- spilt
- spit
- split
- spoken
- spread
- sprung
- spun
- stolen
- stood
- stridden
- striven
- struck
- strung
- stuck
- stung
- stunk
- sung
- sunk
- swept
- swollen
- sworn
- swum
- swung
- taken
- taught
- thought
- thrived
- thrown
- thrust
- told
- torn
- trodden
- understood
- upheld
- upset
- wed
- wept
- withheld
- withstood
- woken
- won
- worn
- wound
- woven
- written
- wrung
extends: existence
message: "Use a numeral plus the units."
link: https://docs.microsoft.com/en-us/style-guide/numbers
nonword: true
level: error
tokens:
- '\b[a-zA-z]+\spercent\b'
extends: existence
message: "Don't add '%s' to a singular noun. Use plural instead."
ignorecase: true
level: error
link: https://learn.microsoft.com/en-us/style-guide/a-z-word-list-term-collections/s/s-es
raw:
- '\(s\)|\(es\)'
extends: existence
message: 'Punctuation should be inside the quotes.'
link: https://docs.microsoft.com/en-us/style-guide/punctuation/quotation-marks
level: error
nonword: true
tokens:
- '["“][^"”“]+["”][.,]'
extends: existence
message: "Use 'to' instead of a dash in '%s'."
link: https://docs.microsoft.com/en-us/style-guide/numbers
nonword: true
level: error
action:
name: edit
params:
- regex
- "[-–]"
- "to"
tokens:
- '\b(?:AM|PM)\s?[-–]\s?.+(?:AM|PM)\b'
# SentenceLength.yml
extends: occurrence
message: "Try to keep sentences short (< 30 words)."
scope: sentence
level: suggestion
max: 30
# Count words including optional straight/curly apostrophes.
token: '[\p{L}\p{N}]+(?:[’''][\p{L}\p{N}]+)*'
extends: existence
message: "'%s' should have one space."
link: https://docs.microsoft.com/en-us/style-guide/punctuation/periods
level: error
nonword: true
tokens:
- '[a-z][.?!] {2,}[A-Z]'
- '[a-z][.?!][A-Z]'
extends: substitution
message: "Prefer '%s' over '%s'."
# term preference should be based on microsoft style guide, such as
link: https://learn.microsoft.com/en-us/style-guide/a-z-word-list-term-collections/a/adapter
level: warning
ignorecase: true
action:
name: replace
swap:
"(?:agent|virtual assistant|intelligent personal assistant)": personal digital assistant
"(?:internet bot|web robot)s?": bot(s)
"(?:mobile|smart) ?phone": phone
"24/7": every day
"audio(?:-| )book": audiobook
"back(?:-| )light": backlight
"chat ?bots?": chatbot(s)
adaptor: adapter
administrate: administer
afterwards: afterward
alphabetic: alphabetical
alphanumerical: alphanumeric
an URL: a URL
anti-aliasing: antialiasing
anti-malware: antimalware
anti-spyware: antispyware
anti-virus: antivirus
appendixes: appendices
artificial intelligence: AI
caap: CaaP
conversation-as-a-platform: conversation as a platform
eb: EB
gb: GB
gbps: Gbps
kb: KB
keypress: keystroke
mb: MB
pb: PB
site: website
tb: TB
zb: ZB
extends: existence
message: "Don't spell out the number in '%s'."
link: https://docs.microsoft.com/en-us/style-guide/a-z-word-list-term-collections/term-collections/units-of-measure-terms
level: error
raw:
- '[a-zA-Z]+\s'
tokens:
- '(?:centi|milli)?meters'
- '(?:kilo)?grams'
- '(?:kilo)?meters'
- '(?:mega)?pixels'
- cm
- inches
- lb
- miles
- pounds
extends: substitution
message: Use 'of' (not 'for') to describe the relationship of the word URL to a resource.
ignorecase: true
link: https://learn.microsoft.com/en-us/style-guide/a-z-word-list-term-collections/u/url
level: suggestion
action:
name: replace
swap:
URL for: URL of
extends: existence
message: "Verify your use of '%s' with the A-Z word list."
link: 'https://docs.microsoft.com/en-us/style-guide'
level: suggestion
ignorecase: true
tokens:
- above
- accessible
- actionable
- against
- alarm
- alert
- alias
- allows?
- and/or
- as well as
- assure
- author
- avg
- ensure
- he
- insure
- sample
- she
extends: existence
message: "Try to avoid using first-person plural like '%s'."
link: https://docs.microsoft.com/en-us/style-guide/grammar/person#avoid-first-person-plural
level: warning
ignorecase: true
tokens:
- we
- we'(?:ve|re)
- ours?
- us
- let's
extends: substitution
message: "Consider using '%s' instead of '%s'."
link: https://docs.microsoft.com/en-us/style-guide/word-choice/use-simple-words-concise-sentences
ignorecase: true
level: suggestion
action:
name: replace
swap:
"sufficient number(?: of)?": enough
(?:extract|take away|eliminate): remove
(?:in order to|as a means to): to
(?:inform|let me know): tell
(?:previous|prior) to: before
(?:utilize|make use of): use
a (?:large)? majority of: most
a (?:large)? number of: many
a myriad of: myriad
adversely impact: hurt
all across: across
all of a sudden: suddenly
all of these: these
all of(?! a sudden| these): all
all-time record: record
almost all: most
almost never: seldom
along the lines of: similar to
an adequate number of: enough
an appreciable number of: many
an estimated: about
any and all: all
are in agreement: agree
as a matter of fact: in fact
as a means of: to
as a result of: because of
as of yet: yet
as per: per
at a later date: later
at all times: always
at the present time: now
at this point in time: at this point
based in large part on: based on
based on the fact that: because
basic necessity: necessity
because of the fact that: because
came to a realization: realized
came to an abrupt end: ended abruptly
carry out an evaluation of: evaluate
close down: close
closed down: closed
complete stranger: stranger
completely separate: separate
concerning the matter of: regarding
conduct a review of: review
conduct an investigation: investigate
conduct experiments: experiment
continue on: continue
despite the fact that: although
disappear from sight: disappear
doomed to fail: doomed
drag and drop: drag
drag-and-drop: drag
due to the fact that: because
during the period of: during
during the time that: while
emergency situation: emergency
establish connectivity: connect
except when: unless
excessive number: too many
extend an invitation: invite
fall down: fall
fell down: fell
for the duration of: during
gather together: gather
has the ability to: can
has the capacity to: can
has the opportunity to: could
hold a meeting: meet
if this is not the case: if not
in a careful manner: carefully
in a thoughtful manner: thoughtfully
in a timely manner: timely
in addition: also
in an effort to: to
in between: between
in lieu of: instead of
in many cases: often
in most cases: usually
in order to: to
in some cases: sometimes
in spite of the fact that: although
in spite of: despite
in the (?:very)? near future: soon
in the event that: if
in the neighborhood of: roughly
in the vicinity of: close to
it would appear that: apparently
lift up: lift
made reference to: referred to
make reference to: refer to
mix together: mix
none at all: none
not in a position to: unable
not possible: impossible
of major importance: important
perform an assessment of: assess
pertaining to: about
place an order: order
plays a key role in: is essential to
present time: now
readily apparent: apparent
some of the: some
span across: span
subsequent to: after
successfully complete: complete
take action: act
take into account: consider
the question as to whether: whether
there is no doubt but that: doubtless
this day and age: this age
this is a subject that: this subject
time (?:frame|period): time
under the provisions of: under
until such time as: until
used for fuel purposes: used for fuel
whether or not: whether
with regard to: regarding
with the exception of: except for
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment