Pārlūkot izejas kodu

[vale] Add some vale styles and an ini file

Colin Powell 4 gadi atpakaļ
vecāks
revīzija
3a78790348
100 mainītis faili ar 3257 papildinājumiem un 0 dzēšanām
  1. 9 0
      vale/.vale-styles/Google/AMPM.yml
  2. 64 0
      vale/.vale-styles/Google/Acronyms.yml
  3. 7 0
      vale/.vale-styles/Google/Colons.yml
  4. 30 0
      vale/.vale-styles/Google/Contractions.yml
  5. 9 0
      vale/.vale-styles/Google/DateFormat.yml
  6. 9 0
      vale/.vale-styles/Google/Ellipses.yml
  7. 12 0
      vale/.vale-styles/Google/EmDash.yml
  8. 13 0
      vale/.vale-styles/Google/EnDash.yml
  9. 7 0
      vale/.vale-styles/Google/Exclamation.yml
  10. 13 0
      vale/.vale-styles/Google/FirstPerson.yml
  11. 9 0
      vale/.vale-styles/Google/Gender.yml
  12. 45 0
      vale/.vale-styles/Google/GenderBias.yml
  13. 13 0
      vale/.vale-styles/Google/HeadingPunctuation.yml
  14. 26 0
      vale/.vale-styles/Google/Headings.yml
  15. 11 0
      vale/.vale-styles/Google/Latin.yml
  16. 14 0
      vale/.vale-styles/Google/LyHyphens.yml
  17. 12 0
      vale/.vale-styles/Google/OptionalPlurals.yml
  18. 7 0
      vale/.vale-styles/Google/Ordinal.yml
  19. 7 0
      vale/.vale-styles/Google/OxfordComma.yml
  20. 7 0
      vale/.vale-styles/Google/Parens.yml
  21. 184 0
      vale/.vale-styles/Google/Passive.yml
  22. 7 0
      vale/.vale-styles/Google/Periods.yml
  23. 7 0
      vale/.vale-styles/Google/Quotes.yml
  24. 7 0
      vale/.vale-styles/Google/Ranges.yml
  25. 8 0
      vale/.vale-styles/Google/Semicolons.yml
  26. 11 0
      vale/.vale-styles/Google/Slang.yml
  27. 8 0
      vale/.vale-styles/Google/Spacing.yml
  28. 8 0
      vale/.vale-styles/Google/Spelling.yml
  29. 8 0
      vale/.vale-styles/Google/Units.yml
  30. 11 0
      vale/.vale-styles/Google/We.yml
  31. 7 0
      vale/.vale-styles/Google/Will.yml
  32. 80 0
      vale/.vale-styles/Google/WordList.yml
  33. 4 0
      vale/.vale-styles/Google/meta.json
  34. 0 0
      vale/.vale-styles/Google/vocab.txt
  35. 9 0
      vale/.vale-styles/Microsoft/AMPM.yml
  36. 25 0
      vale/.vale-styles/Microsoft/Accessibility.yml
  37. 64 0
      vale/.vale-styles/Microsoft/Acronyms.yml
  38. 270 0
      vale/.vale-styles/Microsoft/Adverbs.yml
  39. 11 0
      vale/.vale-styles/Microsoft/Auto.yml
  40. 18 0
      vale/.vale-styles/Microsoft/Avoid.yml
  41. 12 0
      vale/.vale-styles/Microsoft/Backend.yml
  42. 120 0
      vale/.vale-styles/Microsoft/ComplexWords.yml
  43. 30 0
      vale/.vale-styles/Microsoft/Contractions.yml
  44. 13 0
      vale/.vale-styles/Microsoft/Dashes.yml
  45. 8 0
      vale/.vale-styles/Microsoft/DateFormat.yml
  46. 40 0
      vale/.vale-styles/Microsoft/DateNumbers.yml
  47. 8 0
      vale/.vale-styles/Microsoft/DateOrder.yml
  48. 9 0
      vale/.vale-styles/Microsoft/Ellipses.yml
  49. 13 0
      vale/.vale-styles/Microsoft/FirstPerson.yml
  50. 12 0
      vale/.vale-styles/Microsoft/Foreign.yml
  51. 8 0
      vale/.vale-styles/Microsoft/Gender.yml
  52. 44 0
      vale/.vale-styles/Microsoft/GenderBias.yml
  53. 11 0
      vale/.vale-styles/Microsoft/GeneralURL.yml
  54. 7 0
      vale/.vale-styles/Microsoft/HeadingAcronyms.yml
  55. 8 0
      vale/.vale-styles/Microsoft/HeadingColons.yml
  56. 13 0
      vale/.vale-styles/Microsoft/HeadingPunctuation.yml
  57. 28 0
      vale/.vale-styles/Microsoft/Headings.yml
  58. 14 0
      vale/.vale-styles/Microsoft/Hyphens.yml
  59. 13 0
      vale/.vale-styles/Microsoft/Negative.yml
  60. 13 0
      vale/.vale-styles/Microsoft/Ordinal.yml
  61. 7 0
      vale/.vale-styles/Microsoft/OxfordComma.yml
  62. 183 0
      vale/.vale-styles/Microsoft/Passive.yml
  63. 7 0
      vale/.vale-styles/Microsoft/Percentages.yml
  64. 7 0
      vale/.vale-styles/Microsoft/Quotes.yml
  65. 13 0
      vale/.vale-styles/Microsoft/RangeTime.yml
  66. 7 0
      vale/.vale-styles/Microsoft/Ranges.yml
  67. 8 0
      vale/.vale-styles/Microsoft/Semicolon.yml
  68. 7 0
      vale/.vale-styles/Microsoft/SentenceLength.yml
  69. 8 0
      vale/.vale-styles/Microsoft/Spacing.yml
  70. 7 0
      vale/.vale-styles/Microsoft/Suspended.yml
  71. 43 0
      vale/.vale-styles/Microsoft/Terms.yml
  72. 10 0
      vale/.vale-styles/Microsoft/URLFormat.yml
  73. 16 0
      vale/.vale-styles/Microsoft/Units.yml
  74. 23 0
      vale/.vale-styles/Microsoft/Vocab.yml
  75. 11 0
      vale/.vale-styles/Microsoft/We.yml
  76. 122 0
      vale/.vale-styles/Microsoft/Wordiness.yml
  77. 4 0
      vale/.vale-styles/Microsoft/meta.json
  78. 8 0
      vale/.vale-styles/proselint/Airlinese.yml
  79. 48 0
      vale/.vale-styles/proselint/AnimalLabels.yml
  80. 8 0
      vale/.vale-styles/proselint/Apologizing.yml
  81. 52 0
      vale/.vale-styles/proselint/Archaisms.yml
  82. 8 0
      vale/.vale-styles/proselint/But.yml
  83. 782 0
      vale/.vale-styles/proselint/Cliches.yml
  84. 30 0
      vale/.vale-styles/proselint/CorporateSpeak.yml
  85. 5 0
      vale/.vale-styles/proselint/Currency.yml
  86. 15 0
      vale/.vale-styles/proselint/Cursing.yml
  87. 7 0
      vale/.vale-styles/proselint/DateCase.yml
  88. 7 0
      vale/.vale-styles/proselint/DateMidnight.yml
  89. 10 0
      vale/.vale-styles/proselint/DateRedundancy.yml
  90. 7 0
      vale/.vale-styles/proselint/DateSpacing.yml
  91. 52 0
      vale/.vale-styles/proselint/DenizenLabels.yml
  92. 95 0
      vale/.vale-styles/proselint/Diacritical.yml
  93. 45 0
      vale/.vale-styles/proselint/GenderBias.yml
  94. 39 0
      vale/.vale-styles/proselint/GroupTerms.yml
  95. 8 0
      vale/.vale-styles/proselint/Hedging.yml
  96. 6 0
      vale/.vale-styles/proselint/Hyperbole.yml
  97. 11 0
      vale/.vale-styles/proselint/Jargon.yml
  98. 13 0
      vale/.vale-styles/proselint/LGBTOffensive.yml
  99. 15 0
      vale/.vale-styles/proselint/LGBTTerms.yml
  100. 8 0
      vale/.vale-styles/proselint/Malapropisms.yml

+ 9 - 0
vale/.vale-styles/Google/AMPM.yml

@@ -0,0 +1,9 @@
+extends: existence
+message: "Use 'AM' or 'PM' (preceded by a space)."
+link: 'https://developers.google.com/style/word-list'
+level: error
+nonword: true
+tokens:
+  - '\d{1,2}[AP]M'
+  - '\d{1,2} ?[ap]m'
+  - '\d{1,2} ?[aApP]\.[mM]\.'

+ 64 - 0
vale/.vale-styles/Google/Acronyms.yml

@@ -0,0 +1,64 @@
+extends: conditional
+message: "Spell out '%s', if it's unfamiliar to the audience."
+link: 'https://developers.google.com/style/abbreviations'
+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:
+  - API
+  - ASP
+  - CLI
+  - CPU
+  - CSS
+  - CSV
+  - DEBUG
+  - DOM
+  - DPI
+  - FAQ
+  - GCC
+  - GDB
+  - GET
+  - GPU
+  - GTK
+  - GUI
+  - HTML
+  - HTTP
+  - HTTPS
+  - IDE
+  - JAR
+  - JSON
+  - JSX
+  - LESS
+  - LLDB
+  - NET
+  - NOTE
+  - NVDA
+  - OSS
+  - PATH
+  - PDF
+  - PHP
+  - POST
+  - RAM
+  - REPL
+  - RSA
+  - SCM
+  - SCSS
+  - SDK
+  - SQL
+  - SSH
+  - SSL
+  - SVG
+  - TBD
+  - TCP
+  - TODO
+  - URI
+  - URL
+  - USB
+  - UTF
+  - XML
+  - XSS
+  - YAML
+  - ZIP

+ 7 - 0
vale/.vale-styles/Google/Colons.yml

@@ -0,0 +1,7 @@
+extends: existence
+message: "'%s' should be in lowercase."
+link: 'https://developers.google.com/style/colons'
+nonword: true
+level: warning
+tokens:
+  - ':\s[A-Z]'

+ 30 - 0
vale/.vale-styles/Google/Contractions.yml

@@ -0,0 +1,30 @@
+extends: substitution
+message: "Feel free to use '%s' instead of '%s'."
+link: 'https://developers.google.com/style/contractions'
+level: suggestion
+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
+  should not: shouldn't
+  that is: that's
+  they are: they're
+  was not: wasn't
+  we are: we're
+  we have: we've
+  were not: weren't
+  what is: what's
+  when is: when's
+  where is: where's
+  will not: won't

+ 9 - 0
vale/.vale-styles/Google/DateFormat.yml

@@ -0,0 +1,9 @@
+extends: existence
+message: "Use 'July 31, 2016' format, not '%s'."
+link: 'https://developers.google.com/style/dates-times'
+ignorecase: true
+level: error
+nonword: true
+tokens:
+  - '\d{1,2}(?:\.|/)\d{1,2}(?:\.|/)\d{4}'
+  - '\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}'

+ 9 - 0
vale/.vale-styles/Google/Ellipses.yml

@@ -0,0 +1,9 @@
+extends: existence
+message: "In general, don't use an ellipsis."
+link: 'https://developers.google.com/style/ellipses'
+nonword: true
+level: warning
+action:
+  name: remove
+tokens:
+  - '\.\.\.'

+ 12 - 0
vale/.vale-styles/Google/EmDash.yml

@@ -0,0 +1,12 @@
+extends: existence
+message: "Don't put a space before or after a dash."
+link: 'https://developers.google.com/style/dashes'
+nonword: true
+level: error
+action:
+  name: edit
+  params:
+    - remove
+    - ' '
+tokens:
+  - '\s[—–]\s'

+ 13 - 0
vale/.vale-styles/Google/EnDash.yml

@@ -0,0 +1,13 @@
+extends: existence
+message: "Use an em dash ('—') instead of '–'."
+link: 'https://developers.google.com/style/dashes'
+nonword: true
+level: error
+action:
+  name: edit
+  params:
+    - replace
+    - '-'
+    - '—'
+tokens:
+  - '–'

+ 7 - 0
vale/.vale-styles/Google/Exclamation.yml

@@ -0,0 +1,7 @@
+extends: existence
+message: "Don't use exclamation points in text."
+link: 'https://developers.google.com/style/exclamation-points'
+nonword: true
+level: error
+tokens:
+  - '\w!(?:\s|$)'

+ 13 - 0
vale/.vale-styles/Google/FirstPerson.yml

@@ -0,0 +1,13 @@
+extends: existence
+message: "Avoid first-person pronouns such as '%s'."
+link: 'https://developers.google.com/style/pronouns#personal-pronouns'
+ignorecase: true
+level: warning
+nonword: true
+tokens:
+  - (?:^|\s)I\s
+  - (?:^|\s)I,\s
+  - \bI'm\b
+  - \bme\b
+  - \bmy\b
+  - \bmine\b

+ 9 - 0
vale/.vale-styles/Google/Gender.yml

@@ -0,0 +1,9 @@
+extends: existence
+message: "Don't use '%s' as a gender-neutral pronoun."
+link: 'https://developers.google.com/style/pronouns#gender-neutral-pronouns'
+level: error
+ignorecase: true
+tokens:
+  - he/she
+  - s/he
+  - \(s\)he

+ 45 - 0
vale/.vale-styles/Google/GenderBias.yml

@@ -0,0 +1,45 @@
+extends: substitution
+message: "Consider using '%s' instead of '%s'."
+link: 'https://developers.google.com/style/inclusive-documentation'
+ignorecase: true
+level: error
+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)
+  chair(?:m[ae]n|wom[ae]n):    chair(s)
+  congress(?:m[ae]n|wom[ae]n): member(s) of congress
+  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
+  landlord:                    building manager
+  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
+  men and girls:               men and women
+  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)

+ 13 - 0
vale/.vale-styles/Google/HeadingPunctuation.yml

@@ -0,0 +1,13 @@
+extends: existence
+message: "Don't put a period at the end of a heading."
+link: 'https://developers.google.com/style/capitalization#capitalization-in-titles-and-headings'
+nonword: true
+level: warning
+scope: heading
+action:
+  name: edit
+  params:
+    - remove
+    - '.'
+tokens:
+  - '[a-z0-9][.](?:\s|$)'

+ 26 - 0
vale/.vale-styles/Google/Headings.yml

@@ -0,0 +1,26 @@
+extends: capitalization
+message: "'%s' should use sentence-style capitalization."
+link: 'https://developers.google.com/style/capitalization#capitalization-in-titles-and-headings'
+level: warning
+scope: heading
+match: $sentence
+exceptions:
+  - Azure
+  - CLI
+  - Code
+  - Cosmos
+  - Docker
+  - Emmet
+  - I
+  - Kubernetes
+  - Linux
+  - macOS
+  - Marketplace
+  - MongoDB
+  - REPL
+  - Studio
+  - TypeScript
+  - URLs
+  - Visual
+  - VS
+  - Windows

+ 11 - 0
vale/.vale-styles/Google/Latin.yml

@@ -0,0 +1,11 @@
+extends: substitution
+message: "Use '%s' instead of '%s'."
+link: 'https://developers.google.com/style/abbreviations'
+ignorecase: true
+level: error
+nonword: true
+action:
+  name: replace
+swap:
+  '\b(?:eg|e\.g\.)[\s,]': for example
+  '\b(?:ie|i\.e\.)[\s,]': that is

+ 14 - 0
vale/.vale-styles/Google/LyHyphens.yml

@@ -0,0 +1,14 @@
+extends: existence
+message: "'%s' doesn't need a hyphen."
+link: 'https://developers.google.com/style/hyphens'
+level: error
+ignorecase: false
+nonword: true
+action:
+  name: edit
+  params:
+    - replace
+    - '-'
+    - ' '
+tokens:
+  - '\s[^\s-]+ly-'

+ 12 - 0
vale/.vale-styles/Google/OptionalPlurals.yml

@@ -0,0 +1,12 @@
+extends: existence
+message: "Don't use plurals in parentheses such as in '%s'."
+link: 'https://developers.google.com/style/plurals-parentheses'
+level: error
+nonword: true
+action:
+  name: edit
+  params:
+    - remove
+    - '(s)'
+tokens:
+  - '\b\w+\(s\)'

+ 7 - 0
vale/.vale-styles/Google/Ordinal.yml

@@ -0,0 +1,7 @@
+extends: existence
+message: "Spell out all ordinal numbers ('%s') in text."
+link: 'https://developers.google.com/style/numbers'
+level: error
+nonword: true
+tokens:
+  - \d+(?:st|nd|rd|th)

+ 7 - 0
vale/.vale-styles/Google/OxfordComma.yml

@@ -0,0 +1,7 @@
+extends: existence
+message: "Use the Oxford comma in '%s'."
+link: 'https://developers.google.com/style/commas'
+scope: sentence
+level: warning
+tokens:
+  - '(?:[^,]+,){1,}\s\w+\s(?:and|or)'

+ 7 - 0
vale/.vale-styles/Google/Parens.yml

@@ -0,0 +1,7 @@
+extends: existence
+message: "Use parentheses judiciously."
+link: 'https://developers.google.com/style/parentheses'
+nonword: true
+level: suggestion
+tokens:
+  - '\(.+\)'

+ 184 - 0
vale/.vale-styles/Google/Passive.yml

@@ -0,0 +1,184 @@
+extends: existence
+link: 'https://developers.google.com/style/voice'
+message: "In general, use active voice instead of passive voice ('%s')."
+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

+ 7 - 0
vale/.vale-styles/Google/Periods.yml

@@ -0,0 +1,7 @@
+extends: existence
+message: "Don't use periods with acronyms or initialisms such as '%s'."
+link: 'https://developers.google.com/style/abbreviations'
+level: error
+nonword: true
+tokens:
+  - '\b(?:[A-Z]\.){3,}'

+ 7 - 0
vale/.vale-styles/Google/Quotes.yml

@@ -0,0 +1,7 @@
+extends: existence
+message: "Commas and periods go inside quotation marks."
+link: 'https://developers.google.com/style/quotation-marks'
+level: error
+nonword: true
+tokens:
+  - '"[^"]+"[.,?]'

+ 7 - 0
vale/.vale-styles/Google/Ranges.yml

@@ -0,0 +1,7 @@
+extends: existence
+message: "Don't add words such as 'from' or 'between' to describe a range of numbers."
+link: 'https://developers.google.com/style/hyphens'
+nonword: true
+level: warning
+tokens:
+  - '(?:from|between)\s\d+\s?-\s?\d+'

+ 8 - 0
vale/.vale-styles/Google/Semicolons.yml

@@ -0,0 +1,8 @@
+extends: existence
+message: "Use semicolons judiciously."
+link: 'https://developers.google.com/style/semicolons'
+nonword: true
+scope: sentence
+level: suggestion
+tokens:
+  - ';'

+ 11 - 0
vale/.vale-styles/Google/Slang.yml

@@ -0,0 +1,11 @@
+extends: existence
+message: "Don't use internet slang abbreviations such as '%s'."
+link: 'https://developers.google.com/style/abbreviations'
+ignorecase: true
+level: error
+tokens:
+  - 'tl;dr'
+  - ymmv
+  - rtfm
+  - imo
+  - fwiw

+ 8 - 0
vale/.vale-styles/Google/Spacing.yml

@@ -0,0 +1,8 @@
+extends: existence
+message: "'%s' should have one space."
+link: 'https://developers.google.com/style/sentence-spacing'
+level: error
+nonword: true
+tokens:
+  - '[.?!] {2,}[A-Z]'
+  - '[.?!][A-Z]'

+ 8 - 0
vale/.vale-styles/Google/Spelling.yml

@@ -0,0 +1,8 @@
+extends: existence
+message: "In general, use American spelling instead of '%s'."
+link: 'https://developers.google.com/style/spelling'
+ignorecase: true
+level: warning
+tokens:
+  - '(?:\w+)nised?'
+  - '(?:\w+)logue'

+ 8 - 0
vale/.vale-styles/Google/Units.yml

@@ -0,0 +1,8 @@
+extends: existence
+message: "Put a nonbreaking space between the number and the unit in '%s'."
+link: 'https://developers.google.com/style/units-of-measure'
+nonword: true
+level: error
+tokens:
+  - \d+(?:B|kB|MB|GB|TB)
+  - \d+(?:ns|ms|s|min|h|d)

+ 11 - 0
vale/.vale-styles/Google/We.yml

@@ -0,0 +1,11 @@
+extends: existence
+message: "Try to avoid using first-person plural like '%s'."
+link: 'https://developers.google.com/style/pronouns#personal-pronouns'
+level: warning
+ignorecase: true
+tokens:
+  - we
+  - we'(?:ve|re)
+  - ours?
+  - us
+  - let's

+ 7 - 0
vale/.vale-styles/Google/Will.yml

@@ -0,0 +1,7 @@
+extends: existence
+message: "Avoid using '%s'."
+link: 'https://developers.google.com/style/tense'
+ignorecase: true
+level: warning
+tokens:
+  - will

+ 80 - 0
vale/.vale-styles/Google/WordList.yml

@@ -0,0 +1,80 @@
+extends: substitution
+message: "Use '%s' instead of '%s'."
+link: 'https://developers.google.com/style/word-list'
+level: warning
+ignorecase: false
+action:
+  name: replace
+swap:
+  '(?:API Console|dev|developer) key': API key
+  '(?:cell ?phone|smart ?phone)': phone|mobile phone
+  '(?:dev|developer|APIs) console': API console
+  '(?:e-mail|Email|E-mail)': email
+  '(?:file ?path|path ?name)': path
+  '(?:kill|terminate|abort)': stop|exit|cancel|end
+  '(?:OAuth ?2|Oauth)': OAuth 2.0
+  '(?:ok|Okay)': OK|okay
+  '(?:WiFi|wifi)': Wi-Fi
+  '[\.]+apk': APK
+  '3\-D': 3D
+  'Google (?:I\-O|IO)': Google I/O
+  'tap (?:&|and) hold': touch & hold
+  'un(?:check|select)': clear
+  above: preceding
+  account name: username
+  action bar: app bar
+  admin: administrator
+  Ajax: AJAX
+  Android device: Android-powered device
+  android: Android
+  API explorer: APIs Explorer
+  application: app
+  approx\.: approximately
+  authN: authentication
+  authZ: authorization
+  autoupdate: automatically update
+  cellular data: mobile data
+  cellular network: mobile network
+  chapter: documents|pages|sections
+  check box: checkbox
+  check: select
+  CLI: command-line tool
+  click on: click|click in
+  Cloud: Google Cloud Platform|GCP
+  Container Engine: Kubernetes Engine
+  content type: media type
+  curated roles: predefined roles
+  data are: data is
+  Developers Console: Google API Console|API Console
+  disabled?: turn off|off
+  ephemeral IP address: ephemeral external IP address
+  fewer data: less data
+  file name: filename
+  firewalls: firewall rules
+  functionality: capability|feature
+  Google account: Google Account
+  Google accounts: Google Accounts
+  Googling: search with Google
+  grayed-out: unavailable
+  HTTPs: HTTPS
+  in order to: to
+  ingest: import|load
+  k8s: Kubernetes
+  long press: touch & hold
+  network IP address: internal IP address
+  omnibox: address bar
+  open-source: open source
+  overview screen: recents screen
+  regex: regular expression
+  SHA1: SHA-1|HAS-SHA1
+  sign into: sign in to
+  sign-?on: single sign-on
+  static IP address: static external IP address
+  stylesheet: style sheet
+  synch: sync
+  tablename: table name
+  tablet: device
+  touch: tap
+  url:  URL
+  vs\.: versus
+  World Wide Web: web

+ 4 - 0
vale/.vale-styles/Google/meta.json

@@ -0,0 +1,4 @@
+{
+  "feed": "https://github.com/errata-ai/Google/releases.atom",
+  "vale_version": ">=1.0.0"
+}

+ 0 - 0
vale/.vale-styles/Google/vocab.txt


+ 9 - 0
vale/.vale-styles/Microsoft/AMPM.yml

@@ -0,0 +1,9 @@
+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]\.'

+ 25 - 0
vale/.vale-styles/Microsoft/Accessibility.yml

@@ -0,0 +1,25 @@
+extends: existence
+message: "Don't use 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
+  - affected by
+  - an epileptic
+  - crippled
+  - disabled
+  - dumb
+  - handicapped
+  - handicaps
+  - healthy
+  - lame
+  - maimed
+  - missing a limb
+  - mute
+  - normal
+  - sight-impaired
+  - stricken with
+  - suffers from
+  - vision-impaired

+ 64 - 0
vale/.vale-styles/Microsoft/Acronyms.yml

@@ -0,0 +1,64 @@
+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:
+  - API
+  - ASP
+  - CLI
+  - CPU
+  - CSS
+  - CSV
+  - DEBUG
+  - DOM
+  - DPI
+  - FAQ
+  - GCC
+  - GDB
+  - GET
+  - GPU
+  - GTK
+  - GUI
+  - HTML
+  - HTTP
+  - HTTPS
+  - IDE
+  - JAR
+  - JSON
+  - JSX
+  - LESS
+  - LLDB
+  - NET
+  - NOTE
+  - NVDA
+  - OSS
+  - PATH
+  - PDF
+  - PHP
+  - POST
+  - RAM
+  - REPL
+  - RSA
+  - SCM
+  - SCSS
+  - SDK
+  - SQL
+  - SSH
+  - SSL
+  - SVG
+  - TBD
+  - TCP
+  - TODO
+  - URI
+  - URL
+  - USB
+  - UTF
+  - XML
+  - XSS
+  - YAML
+  - ZIP

+ 270 - 0
vale/.vale-styles/Microsoft/Adverbs.yml

@@ -0,0 +1,270 @@
+extends: existence
+message: "Consider removing '%s'."
+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
+  - 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
+  - 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

+ 11 - 0
vale/.vale-styles/Microsoft/Auto.yml

@@ -0,0 +1,11 @@
+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+'

+ 18 - 0
vale/.vale-styles/Microsoft/Avoid.yml

@@ -0,0 +1,18 @@
+extends: existence
+message: "Don't use '%s'."
+link: https://docs.microsoft.com/en-us/style-guide
+ignorecase: true
+level: error
+tokens:
+  - abortion
+  - and so on
+  - and/or
+  - app developer
+  - app(?:lication)? file
+  - application developer
+  - application program
+  - applications developer
+  - as well as
+  - ask
+  - backbone
+  - backend

+ 12 - 0
vale/.vale-styles/Microsoft/Backend.yml

@@ -0,0 +1,12 @@
+extends: substitution
+message: "Use '%s' instead of '%s'."
+level: warning
+link: https://docs.microsoft.com/en-us/style-guide/a-z-word-list-term-collections/b/back-end
+# Use 'back end' (noun) or 'back-end' (adj).
+pos: 'back-end/NN|backend/(?:JJ|NN)|back/\w+ end/JJ|back/(?:JJ|RB) end/\w+'
+ignorecase: true
+action:
+  name: replace
+swap:
+  back-end: back end
+  back end: back-end

+ 120 - 0
vale/.vale-styles/Microsoft/ComplexWords.yml

@@ -0,0 +1,120 @@
+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:
+  "approximate(?:ly)?": about
+  abundance: plenty
+  accelerate: speed up
+  accentuate: stress
+  accompany: go with
+  accomplish: carry out|do
+  accorded: given
+  accordingly: so
+  accrue: add
+  accurate: right|exact
+  acquiesce: agree
+  acquire: get|buy
+  additional: more|extra
+  address: discuss
+  addressees: you
+  adjacent to: next to
+  adjustment: change
+  admissible: allowed
+  advantageous: helpful
+  advise: tell
+  aggregate: total
+  aircraft: plane
+  alleviate: ease
+  allocate: assign|divide
+  alternatively: or
+  alternatives: choices|options
+  ameliorate: improve
+  amend: change
+  anticipate: expect
+  apparent: clear|plain
+  ascertain: discover|find out
+  assistance: help
+  attain: meet
+  attempt: try
+  authorize: allow
+  belated: late
+  bestow: give
+  cease: stop|end
+  collaborate: work together
+  commence: begin
+  compensate: pay
+  component: part
+  comprise: form|include
+  concept: idea
+  concerning: about
+  confer: give|award
+  consequently: so
+  consolidate: merge
+  constitutes: forms
+  contains: has
+  convene: meet
+  demonstrate: show|prove
+  depart: leave
+  designate: choose
+  desire: want|wish
+  determine: decide|find
+  detrimental: bad|harmful
+  disclose: share|tell
+  discontinue: stop
+  disseminate: send|give
+  eliminate: end
+  elucidate: explain
+  employ: use
+  enclosed: inside|included
+  encounter: meet
+  endeavor: try
+  enumerate: count
+  equitable: fair
+  equivalent: equal
+  exclusively: only
+  expedite: hurry
+  facilitate: ease
+  females: women
+  finalize: complete|finish
+  frequently: often
+  identical: same
+  incorrect: wrong
+  indication: sign
+  initiate: start|begin
+  itemized: listed
+  jeopardize: risk
+  liaise: work with|partner with
+  maintain: keep|support
+  methodology: method
+  modify: change
+  monitor: check|watch
+  multiple: many
+  necessitate: cause
+  notify: tell
+  numerous: many
+  objective: aim|goal
+  obligate: bind|compel
+  optimum: best|most
+  permit: let
+  portion: part
+  possess: own
+  previous: earlier
+  previously: before
+  prioritize: rank
+  procure: buy
+  provide: give|offer
+  purchase: buy
+  relocate: move
+  solicit: request
+  state-of-the-art: latest
+  subsequent: later|next
+  substantial: large
+  sufficient: enough
+  terminate: end
+  transmit: send
+  utilization: use
+  utilize: use

+ 30 - 0
vale/.vale-styles/Microsoft/Contractions.yml

@@ -0,0 +1,30 @@
+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
+  should not: shouldn't
+  that is: that's
+  they are: they're
+  was not: wasn't
+  we are: we're
+  we have: we've
+  were not: weren't
+  what is: what's
+  when is: when's
+  where is: where's
+  will not: won't

+ 13 - 0
vale/.vale-styles/Microsoft/Dashes.yml

@@ -0,0 +1,13 @@
+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:
+    - remove
+    - ' '
+tokens:
+  - '\s[—–]\s'

+ 8 - 0
vale/.vale-styles/Microsoft/DateFormat.yml

@@ -0,0 +1,8 @@
+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}'

+ 40 - 0
vale/.vale-styles/Microsoft/DateNumbers.yml

@@ -0,0 +1,40 @@
+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

+ 8 - 0
vale/.vale-styles/Microsoft/DateOrder.yml

@@ -0,0 +1,8 @@
+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'

+ 9 - 0
vale/.vale-styles/Microsoft/Ellipses.yml

@@ -0,0 +1,9 @@
+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
+action:
+  name: remove
+tokens:
+  - '\.\.\.'

+ 13 - 0
vale/.vale-styles/Microsoft/FirstPerson.yml

@@ -0,0 +1,13 @@
+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'm\b
+  - \bme\b
+  - \bmy\b
+  - \bmine\b

+ 12 - 0
vale/.vale-styles/Microsoft/Foreign.yml

@@ -0,0 +1,12 @@
+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
+

+ 8 - 0
vale/.vale-styles/Microsoft/Gender.yml

@@ -0,0 +1,8 @@
+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

+ 44 - 0
vale/.vale-styles/Microsoft/GenderBias.yml

@@ -0,0 +1,44 @@
+extends: substitution
+message: "Consider using '%s' instead of '%s'."
+ignorecase: true
+level: error
+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)
+  chair(?:m[ae]n|wom[ae]n):    chair(s)
+  congress(?:m[ae]n|wom[ae]n): member(s) of congress
+  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
+  landlord:                    building manager
+  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
+  men and girls:               men and women
+  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)

+ 11 - 0
vale/.vale-styles/Microsoft/GeneralURL.yml

@@ -0,0 +1,11 @@
+extends: existence
+message: "For a general audience, use 'address' rather than 'URL'."
+link: https://docs.microsoft.com/en-us/style-guide/urls-web-addresses
+level: warning
+action:
+  name: replace
+  params:
+    - URL
+    - address
+tokens:
+  - URL

+ 7 - 0
vale/.vale-styles/Microsoft/HeadingAcronyms.yml

@@ -0,0 +1,7 @@
+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}'

+ 8 - 0
vale/.vale-styles/Microsoft/HeadingColons.yml

@@ -0,0 +1,8 @@
+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]'

+ 13 - 0
vale/.vale-styles/Microsoft/HeadingPunctuation.yml

@@ -0,0 +1,13 @@
+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:
+    - remove
+    - '.?!'
+tokens:
+  - '[a-z0-9][.?!](?:\s|$)'

+ 28 - 0
vale/.vale-styles/Microsoft/Headings.yml

@@ -0,0 +1,28 @@
+extends: capitalization
+message: "'%s' should use sentence-style capitalization."
+link: https://docs.microsoft.com/en-us/style-guide/capitalization
+level: suggestion
+scope: heading
+match: $sentence
+indicators:
+  - ':'
+exceptions:
+  - Azure
+  - CLI
+  - Code
+  - Cosmos
+  - Docker
+  - Emmet
+  - I
+  - Kubernetes
+  - Linux
+  - macOS
+  - Marketplace
+  - MongoDB
+  - REPL
+  - Studio
+  - TypeScript
+  - URLs
+  - Visual
+  - VS
+  - Windows

+ 14 - 0
vale/.vale-styles/Microsoft/Hyphens.yml

@@ -0,0 +1,14 @@
+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:
+    - replace
+    - '-'
+    - ' '
+tokens:
+  - '\s[^\s-]+ly-'

+ 13 - 0
vale/.vale-styles/Microsoft/Negative.yml

@@ -0,0 +1,13 @@
+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:
+    - replace
+    - '-'
+    - '–'
+tokens:
+  - '\s-\d+\s'

+ 13 - 0
vale/.vale-styles/Microsoft/Ordinal.yml

@@ -0,0 +1,13 @@
+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

+ 7 - 0
vale/.vale-styles/Microsoft/OxfordComma.yml

@@ -0,0 +1,7 @@
+extends: existence
+message: "Use the Oxford comma in '%s'."
+link: https://docs.microsoft.com/en-us/style-guide/punctuation/commas
+scope: sentence
+level: warning
+tokens:
+  - '(?:[^,]+,){1,}\s\w+\s(?:and|or)'

+ 183 - 0
vale/.vale-styles/Microsoft/Passive.yml

@@ -0,0 +1,183 @@
+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

+ 7 - 0
vale/.vale-styles/Microsoft/Percentages.yml

@@ -0,0 +1,7 @@
+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'

+ 7 - 0
vale/.vale-styles/Microsoft/Quotes.yml

@@ -0,0 +1,7 @@
+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:
+  - '["“][^"”“]+["”][.,]'

+ 13 - 0
vale/.vale-styles/Microsoft/RangeTime.yml

@@ -0,0 +1,13 @@
+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:
+    - replace
+    - '[-–]'
+    - 'to'
+tokens:
+  - '\b(?:AM|PM)\s?[-–]\s?.+(?:AM|PM)\b'

+ 7 - 0
vale/.vale-styles/Microsoft/Ranges.yml

@@ -0,0 +1,7 @@
+extends: existence
+message: "In most cases, use 'from' or 'through' to describe a range of numbers."
+link: 'https://docs.microsoft.com/en-us/style-guide/numbers'
+nonword: true
+level: warning
+tokens:
+  - '\b\d+\s?[-–]\s?\d+\b'

+ 8 - 0
vale/.vale-styles/Microsoft/Semicolon.yml

@@ -0,0 +1,8 @@
+extends: existence
+message: "Try to simplify this sentence."
+link: https://docs.microsoft.com/en-us/style-guide/punctuation/semicolons
+nonword: true
+scope: sentence
+level: suggestion
+tokens:
+  - ';'

+ 7 - 0
vale/.vale-styles/Microsoft/SentenceLength.yml

@@ -0,0 +1,7 @@
+extends: occurrence
+message: "Try to keep sentences short (< 30 words)."
+scope: sentence
+level: suggestion
+max: 30
+token: \b(\w+)\b
+

+ 8 - 0
vale/.vale-styles/Microsoft/Spacing.yml

@@ -0,0 +1,8 @@
+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]'

+ 7 - 0
vale/.vale-styles/Microsoft/Suspended.yml

@@ -0,0 +1,7 @@
+extends: existence
+message: "Don't use '%s' unless space is limited."
+link: https://docs.microsoft.com/en-us/style-guide/punctuation/dashes-hyphens/hyphens
+ignorecase: true
+level: warning
+tokens:
+  - '\w+- and \w+-'

+ 43 - 0
vale/.vale-styles/Microsoft/Terms.yml

@@ -0,0 +1,43 @@
+extends: substitution
+message: "Prefer '%s' over '%s'."
+level: warning
+ignorecase: true
+action:
+  name: replace
+swap:
+  '(?:agent|virtual assistant|intelligent personal assistant)': personal digital assistant
+  '(?:drive C:|drive C>|C: drive)': drive C
+  '(?:internet bot|web robot)s?': bot(s)
+  '(?:microsoft cloud|the cloud)': cloud
+  '(?: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
+  anti-aliasing: antialiasing
+  anti-malware: antimalware
+  anti-spyware: antispyware
+  anti-virus: antivirus
+  appendixes: appendices
+  artificial intelligence: artificial intelligence
+  assembler: assembly language
+  bpp: bpp
+  bps: bps
+  caap: CaaP
+  conversation-as-a-platform: conversation as a platform
+  eb: EB
+  gb: GB
+  gbps: Gbps
+  kb: KB
+  keypress: keystroke
+  mb: MB
+  pb: PB
+  tb: TB
+  zb: ZB
+  viz: namely
+  ergo: therefore

+ 10 - 0
vale/.vale-styles/Microsoft/URLFormat.yml

@@ -0,0 +1,10 @@
+extends: substitution
+message: "Use '%s' instead of '%s'."
+ignorecase: true
+level: error
+action:
+  name: replace
+swap:
+  URL for: URL of
+  an URL: a URL
+

+ 16 - 0
vale/.vale-styles/Microsoft/Units.yml

@@ -0,0 +1,16 @@
+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

+ 23 - 0
vale/.vale-styles/Microsoft/Vocab.yml

@@ -0,0 +1,23 @@
+extends: existence
+message: "Verify your use of '%s' with the A-Z word list."
+link: 'https://docs.microsoft.com/en-us/style-guide/a-z-word-list-term-collections/a/abort-abortion'
+level: suggestion
+ignorecase: true
+tokens:
+  - above
+  - accessible
+  - actionable
+  - against
+  - alarm
+  - alert
+  - alias
+  - allows?
+  - assure
+  - author
+  - avg
+  - ensure
+  - he
+  - insure
+  - she
+  - sample
+  - beta

+ 11 - 0
vale/.vale-styles/Microsoft/We.yml

@@ -0,0 +1,11 @@
+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

+ 122 - 0
vale/.vale-styles/Microsoft/Wordiness.yml

@@ -0,0 +1,122 @@
+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: warning
+action:
+  name: replace
+swap:
+  (?:give|gave) rise to: lead to
+  (?:previous|prior) to: before
+  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: 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
+  drag and drop: drag
+  drag-and-drop: drag
+  doomed to fail: doomed
+  due to the fact that: because
+  during the period of: during
+  during the time that: while
+  emergency situation: emergency
+  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 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
+  sufficient number (?:of)?: enough
+  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

+ 4 - 0
vale/.vale-styles/Microsoft/meta.json

@@ -0,0 +1,4 @@
+{
+  "feed": "https://github.com/errata-ai/Microsoft/releases.atom",
+  "vale_version": ">=1.0.0"
+}

+ 8 - 0
vale/.vale-styles/proselint/Airlinese.yml

@@ -0,0 +1,8 @@
+extends: existence
+message: "'%s' is airlinese."
+ignorecase: true
+level: error
+tokens:
+  - enplan(?:e|ed|ing|ement)
+  - deplan(?:e|ed|ing|ement)
+  - taking off momentarily

+ 48 - 0
vale/.vale-styles/proselint/AnimalLabels.yml

@@ -0,0 +1,48 @@
+extends: substitution
+message: "Consider using '%s' instead of '%s'."
+level: error
+action:
+  name: replace
+swap:
+  (?:bull|ox)-like:  taurine
+  (?:calf|veal)-like: vituline
+  (?:crow|raven)-like: corvine
+  (?:leopard|panther)-like: pardine
+  bird-like:  avine
+  centipede-like:  scolopendrine
+  crab-like:  cancrine
+  crocodile-like:  crocodiline
+  deer-like:  damine
+  eagle-like:  aquiline
+  earthworm-like:  lumbricine
+  falcon-like:  falconine
+  ferine:  wild animal-like
+  fish-like:  piscine
+  fox-like:  vulpine
+  frog-like:  ranine
+  goat-like:  hircine
+  goose-like:  anserine
+  gull-like:  laridine
+  hare-like:  leporine
+  hawk-like:  accipitrine
+  hippopotamus-like:  hippopotamine
+  lizard-like:  lacertine
+  mongoose-like:  viverrine
+  mouse-like:  murine
+  ostrich-like:  struthionine
+  peacock-like:  pavonine
+  porcupine-like:  hystricine
+  rattlesnake-like:  crotaline
+  sable-like:  zibeline
+  sheep-like:  ovine
+  shrew-like:  soricine
+  sparrow-like:  passerine
+  swallow-like:  hirundine
+  swine-like:  suilline
+  tiger-like:  tigrine
+  viper-like:  viperine
+  vulture-like:  vulturine
+  wasp-like:  vespine
+  wolf-like:  lupine
+  woodpecker-like:  picine
+  zebra-like:  zebrine

+ 8 - 0
vale/.vale-styles/proselint/Apologizing.yml

@@ -0,0 +1,8 @@
+extends: existence
+message: "Excessive apologizing: '%s'"
+ignorecase: true
+level: error
+action:
+  name: remove
+tokens:
+  - More research is needed

+ 52 - 0
vale/.vale-styles/proselint/Archaisms.yml

@@ -0,0 +1,52 @@
+extends: existence
+message: "'%s' is archaic."
+ignorecase: true
+level: error
+tokens:
+  - alack
+  - anent
+  - begat
+  - belike
+  - betimes
+  - boughten
+  - brocage
+  - brokage
+  - camarade
+  - chiefer
+  - chiefest
+  - Christiana
+  - completely obsolescent
+  - cozen
+  - divers
+  - deflexion
+  - fain
+  - forsooth
+  - foreclose from
+  - haply
+  - howbeit
+  - illumine
+  - in sooth
+  - maugre
+  - meseems
+  - methinks
+  - nigh
+  - peradventure
+  - perchance
+  - saith
+  - shew
+  - sistren
+  - spake
+  - to wit
+  - verily
+  - whilom
+  - withal
+  - wot
+  - enclosed please find
+  - please find enclosed
+  - enclosed herewith
+  - enclosed herein
+  - inforce
+  - ex postfacto
+  - foreclose from
+  - forewent
+  - for ever

+ 8 - 0
vale/.vale-styles/proselint/But.yml

@@ -0,0 +1,8 @@
+extends: existence
+message: "Do not start a paragraph with a 'but'."
+level: error
+scope: paragraph
+action:
+  name: remove
+tokens:
+  - ^But

+ 782 - 0
vale/.vale-styles/proselint/Cliches.yml

@@ -0,0 +1,782 @@
+extends: existence
+message: "'%s' is a cliche."
+level: error
+ignorecase: true
+tokens:
+  - a chip off the old block
+  - a clean slate
+  - a dark and stormy night
+  - a far cry
+  - a fate worse than death
+  - a fine kettle of fish
+  - a loose cannon
+  - a penny saved is a penny earned
+  - a tough row to hoe
+  - a word to the wise
+  - ace in the hole
+  - acid test
+  - add insult to injury
+  - against all odds
+  - air your dirty laundry
+  - alas and alack
+  - all fun and games
+  - all hell broke loose
+  - all in a day's work
+  - all talk, no action
+  - all thumbs
+  - all your eggs in one basket
+  - all's fair in love and war
+  - all's well that ends well
+  - almighty dollar
+  - American as apple pie
+  - an axe to grind
+  - another day, another dollar
+  - armed to the teeth
+  - as luck would have it
+  - as old as time
+  - as the crow flies
+  - at loose ends
+  - at my wits end
+  - at the end of the day
+  - avoid like the plague
+  - babe in the woods
+  - back against the wall
+  - back in the saddle
+  - back to square one
+  - back to the drawing board
+  - bad to the bone
+  - badge of honor
+  - bald faced liar
+  - bald-faced lie
+  - ballpark figure
+  - banging your head against a brick wall
+  - baptism by fire
+  - barking up the wrong tree
+  - bat out of hell
+  - be all and end all
+  - beat a dead horse
+  - beat around the bush
+  - been there, done that
+  - beggars can't be choosers
+  - behind the eight ball
+  - bend over backwards
+  - benefit of the doubt
+  - bent out of shape
+  - best thing since sliced bread
+  - bet your bottom dollar
+  - better half
+  - better late than never
+  - better mousetrap
+  - better safe than sorry
+  - between a rock and a hard place
+  - between a rock and a hard place
+  - between Scylla and Charybdis
+  - between the devil and the deep blue see
+  - betwixt and between
+  - beyond the pale
+  - bide your time
+  - big as life
+  - big cheese
+  - big fish in a small pond
+  - big man on campus
+  - bigger they are the harder they fall
+  - bird in the hand
+  - bird's eye view
+  - birds and the bees
+  - birds of a feather flock together
+  - bit the hand that feeds you
+  - bite the bullet
+  - bite the dust
+  - bitten off more than he can chew
+  - black as coal
+  - black as pitch
+  - black as the ace of spades
+  - blast from the past
+  - bleeding heart
+  - blessing in disguise
+  - blind ambition
+  - blind as a bat
+  - blind leading the blind
+  - blissful ignorance
+  - blood is thicker than water
+  - blood sweat and tears
+  - blow a fuse
+  - blow off steam
+  - blow your own horn
+  - blushing bride
+  - boils down to
+  - bolt from the blue
+  - bone to pick
+  - bored stiff
+  - bored to tears
+  - bottomless pit
+  - boys will be boys
+  - bright and early
+  - brings home the bacon
+  - broad across the beam
+  - broken record
+  - brought back to reality
+  - bulk large
+  - bull by the horns
+  - bull in a china shop
+  - burn the midnight oil
+  - burning question
+  - burning the candle at both ends
+  - burst your bubble
+  - bury the hatchet
+  - busy as a bee
+  - but that's another story
+  - by hook or by crook
+  - call a spade a spade
+  - called onto the carpet
+  - calm before the storm
+  - can of worms
+  - can't cut the mustard
+  - can't hold a candle to
+  - case of mistaken identity
+  - cast aspersions
+  - cat got your tongue
+  - cat's meow
+  - caught in the crossfire
+  - caught red-handed
+  - chase a red herring
+  - checkered past
+  - chomping at the bit
+  - cleanliness is next to godliness
+  - clear as a bell
+  - clear as mud
+  - close to the vest
+  - cock and bull story
+  - cold shoulder
+  - come hell or high water
+  - comparing apples and oranges
+  - compleat
+  - conspicuous by its absence
+  - cool as a cucumber
+  - cool, calm, and collected
+  - cost a king's ransom
+  - count your blessings
+  - crack of dawn
+  - crash course
+  - creature comforts
+  - cross that bridge when you come to it
+  - crushing blow
+  - cry like a baby
+  - cry me a river
+  - cry over spilt milk
+  - crystal clear
+  - crystal clear
+  - curiosity killed the cat
+  - cut and dried
+  - cut through the red tape
+  - cut to the chase
+  - cute as a bugs ear
+  - cute as a button
+  - cute as a puppy
+  - cuts to the quick
+  - cutting edge
+  - dark before the dawn
+  - day in, day out
+  - dead as a doornail
+  - decision-making process
+  - devil is in the details
+  - dime a dozen
+  - divide and conquer
+  - dog and pony show
+  - dog days
+  - dog eat dog
+  - dog tired
+  - don't burn your bridges
+  - don't count your chickens
+  - don't look a gift horse in the mouth
+  - don't rock the boat
+  - don't step on anyone's toes
+  - don't take any wooden nickels
+  - down and out
+  - down at the heels
+  - down in the dumps
+  - down the hatch
+  - down to earth
+  - draw the line
+  - dressed to kill
+  - dressed to the nines
+  - drives me up the wall
+  - dubious distinction
+  - dull as dishwater
+  - duly authorized
+  - dyed in the wool
+  - eagle eye
+  - ear to the ground
+  - early bird catches the worm
+  - easier said than done
+  - easy as pie
+  - eat your heart out
+  - eat your words
+  - eleventh hour
+  - even the playing field
+  - every dog has its day
+  - every fiber of my being
+  - everything but the kitchen sink
+  - eye for an eye
+  - eyes peeled
+  - face the music
+  - facts of life
+  - fair weather friend
+  - fall by the wayside
+  - fan the flames
+  - far be it from me
+  - fast and loose
+  - feast or famine
+  - feather your nest
+  - feathered friends
+  - few and far between
+  - fifteen minutes of fame
+  - fills the bill
+  - filthy vermin
+  - fine kettle of fish
+  - first and foremost
+  - fish out of water
+  - fishing for a compliment
+  - fit as a fiddle
+  - fit the bill
+  - fit to be tied
+  - flash in the pan
+  - flat as a pancake
+  - flip your lid
+  - flog a dead horse
+  - fly by night
+  - fly the coop
+  - follow your heart
+  - for all intents and purposes
+  - for free
+  - for the birds
+  - for what it's worth
+  - force of nature
+  - force to be reckoned with
+  - forgive and forget
+  - fox in the henhouse
+  - free and easy
+  - free as a bird
+  - fresh as a daisy
+  - full steam ahead
+  - fun in the sun
+  - garbage in, garbage out
+  - gentle as a lamb
+  - get a kick out of
+  - get a leg up
+  - get down and dirty
+  - get the lead out
+  - get to the bottom of
+  - get with the program
+  - get your feet wet
+  - gets my goat
+  - gilding the lily
+  - gilding the lily
+  - give and take
+  - go against the grain
+  - go at it tooth and nail
+  - go for broke
+  - go him one better
+  - go the extra mile
+  - go with the flow
+  - goes without saying
+  - good as gold
+  - good deed for the day
+  - good things come to those who wait
+  - good time was had by all
+  - good times were had by all
+  - greased lightning
+  - greek to me
+  - green thumb
+  - green-eyed monster
+  - grist for the mill
+  - growing like a weed
+  - hair of the dog
+  - hand to mouth
+  - happy as a clam
+  - happy as a lark
+  - hasn't a clue
+  - have a nice day
+  - have a short fuse
+  - have high hopes
+  - have the last laugh
+  - haven't got a row to hoe
+  - he's got his hands full
+  - head honcho
+  - head over heels
+  - hear a pin drop
+  - heard it through the grapevine
+  - heart's content
+  - heavy as lead
+  - hem and haw
+  - high and dry
+  - high and mighty
+  - high as a kite
+  - his own worst enemy
+  - his work cut out for him
+  - hit paydirt
+  - hither and yon
+  - Hobson's choice
+  - hold your head up high
+  - hold your horses
+  - hold your own
+  - hold your tongue
+  - honest as the day is long
+  - horns of a dilemma
+  - horns of a dilemma
+  - horse of a different color
+  - hot under the collar
+  - hour of need
+  - I beg to differ
+  - icing on the cake
+  - if the shoe fits
+  - if the shoe were on the other foot
+  - if you catch my drift
+  - in a jam
+  - in a jiffy
+  - in a nutshell
+  - in a pig's eye
+  - in a pinch
+  - in a word
+  - in hot water
+  - in light of
+  - in the final analysis
+  - in the gutter
+  - in the last analysis
+  - in the nick of time
+  - in the thick of it
+  - in your dreams
+  - innocent bystander
+  - it ain't over till the fat lady sings
+  - it goes without saying
+  - it takes all kinds
+  - it takes one to know one
+  - it's a small world
+  - it's not what you know, it's who you know
+  - it's only a matter of time
+  - ivory tower
+  - Jack of all trades
+  - jockey for position
+  - jog your memory
+  - joined at the hip
+  - judge a book by its cover
+  - jump down your throat
+  - jump in with both feet
+  - jump on the bandwagon
+  - jump the gun
+  - jump to conclusions
+  - just a hop, skip, and a jump
+  - just the ticket
+  - justice is blind
+  - keep a stiff upper lip
+  - keep an eye on
+  - keep it simple, stupid
+  - keep the home fires burning
+  - keep up with the Joneses
+  - keep your chin up
+  - keep your fingers crossed
+  - kick the bucket
+  - kick up your heels
+  - kick your feet up
+  - kid in a candy store
+  - kill two birds with one stone
+  - kiss of death
+  - knock it out of the park
+  - knock on wood
+  - knock your socks off
+  - know him from Adam
+  - know the ropes
+  - know the score
+  - knuckle down
+  - knuckle sandwich
+  - knuckle under
+  - labor of love
+  - ladder of success
+  - land on your feet
+  - lap of luxury
+  - last but not least
+  - last but not least
+  - last hurrah
+  - last-ditch effort
+  - law of the jungle
+  - law of the land
+  - lay down the law
+  - leaps and bounds
+  - let sleeping dogs lie
+  - let the cat out of the bag
+  - let the good times roll
+  - let your hair down
+  - let's talk turkey
+  - letter perfect
+  - lick your wounds
+  - lies like a rug
+  - life's a bitch
+  - life's a grind
+  - light at the end of the tunnel
+  - lighter than a feather
+  - lighter than air
+  - like clockwork
+  - like father like son
+  - like taking candy from a baby
+  - like there's no tomorrow
+  - lion's share
+  - live and learn
+  - live and let live
+  - long and short of it
+  - long lost love
+  - look before you leap
+  - look down your nose
+  - look what the cat dragged in
+  - looking a gift horse in the mouth
+  - looks like death warmed over
+  - loose cannon
+  - lose your head
+  - lose your temper
+  - loud as a horn
+  - lounge lizard
+  - loved and lost
+  - low man on the totem pole
+  - luck of the draw
+  - luck of the Irish
+  - make a mockery of
+  - make hay while the sun shines
+  - make money hand over fist
+  - make my day
+  - make the best of a bad situation
+  - make the best of it
+  - make your blood boil
+  - male chauvinism
+  - man of few words
+  - man's best friend
+  - mark my words
+  - meaningful dialogue
+  - missed the boat on that one
+  - moment in the sun
+  - moment of glory
+  - moment of truth
+  - moment of truth
+  - money to burn
+  - more in sorrow than in anger
+  - more power to you
+  - more sinned against than sinning
+  - more than one way to skin a cat
+  - movers and shakers
+  - moving experience
+  - my better half
+  - naked as a jaybird
+  - naked truth
+  - neat as a pin
+  - needle in a haystack
+  - needless to say
+  - neither here nor there
+  - never look back
+  - never say never
+  - nip and tuck
+  - nip in the bud
+  - nip it in the bud
+  - no guts, no glory
+  - no love lost
+  - no pain, no gain
+  - no skin off my back
+  - no stone unturned
+  - no time like the present
+  - no use crying over spilled milk
+  - nose to the grindstone
+  - not a hope in hell
+  - not a minute's peace
+  - not in my backyard
+  - not playing with a full deck
+  - not the end of the world
+  - not written in stone
+  - nothing to sneeze at
+  - nothing ventured nothing gained
+  - now we're cooking
+  - off the top of my head
+  - off the wagon
+  - off the wall
+  - old hat
+  - olden days
+  - older and wiser
+  - older than dirt
+  - older than Methuselah
+  - on a roll
+  - on cloud nine
+  - on pins and needles
+  - on the bandwagon
+  - on the money
+  - on the nose
+  - on the rocks
+  - on the same page
+  - on the spot
+  - on the tip of my tongue
+  - on the wagon
+  - on thin ice
+  - once bitten, twice shy
+  - one bad apple doesn't spoil the bushel
+  - one born every minute
+  - one brick short
+  - one foot in the grave
+  - one in a million
+  - one red cent
+  - only game in town
+  - open a can of worms
+  - open and shut case
+  - open the flood gates
+  - opportunity doesn't knock twice
+  - out of pocket
+  - out of sight, out of mind
+  - out of the frying pan into the fire
+  - out of the woods
+  - out on a limb
+  - over a barrel
+  - over the hump
+  - pain and suffering
+  - pain in the
+  - panic button
+  - par for the course
+  - part and parcel
+  - party pooper
+  - pass the buck
+  - patience is a virtue
+  - pay through the nose
+  - penny pincher
+  - perfect storm
+  - pig in a poke
+  - pile it on
+  - pillar of the community
+  - pin your hopes on
+  - pitter patter of little feet
+  - plain as day
+  - plain as the nose on your face
+  - play by the rules
+  - play your cards right
+  - playing the field
+  - playing with fire
+  - pleased as punch
+  - plenty of fish in the sea
+  - point with pride
+  - poor as a church mouse
+  - pot calling the kettle black
+  - presidential timber
+  - pretty as a picture
+  - pull a fast one
+  - pull your punches
+  - pulled no punches
+  - pulling your leg
+  - pure as the driven snow
+  - put it in a nutshell
+  - put one over on you
+  - put the cart before the horse
+  - put the pedal to the metal
+  - put your best foot forward
+  - put your foot down
+  - quantum jump
+  - quantum leap
+  - quick as a bunny
+  - quick as a lick
+  - quick as a wink
+  - quick as lightning
+  - quiet as a dormouse
+  - rags to riches
+  - raining buckets
+  - raining cats and dogs
+  - rank and file
+  - rat race
+  - reap what you sow
+  - red as a beet
+  - red herring
+  - redound to one's credit
+  - redound to the benefit of
+  - reinvent the wheel
+  - rich and famous
+  - rings a bell
+  - ripe old age
+  - ripped me off
+  - rise and shine
+  - road to hell is paved with good intentions
+  - rob Peter to pay Paul
+  - roll over in the grave
+  - rub the wrong way
+  - ruled the roost
+  - running in circles
+  - sad but true
+  - sadder but wiser
+  - salt of the earth
+  - scared stiff
+  - scared to death
+  - sea change
+  - sealed with a kiss
+  - second to none
+  - see eye to eye
+  - seen the light
+  - seize the day
+  - set the record straight
+  - set the world on fire
+  - set your teeth on edge
+  - sharp as a tack
+  - shirked his duties
+  - shoot for the moon
+  - shoot the breeze
+  - shot in the dark
+  - shoulder to the wheel
+  - sick as a dog
+  - sigh of relief
+  - signed, sealed, and delivered
+  - sink or swim
+  - six of one, half a dozen of another
+  - six of one, half a dozen of the other
+  - skating on thin ice
+  - slept like a log
+  - slinging mud
+  - slippery as an eel
+  - slow as molasses
+  - smart as a whip
+  - smooth as a baby's bottom
+  - sneaking suspicion
+  - snug as a bug in a rug
+  - sow wild oats
+  - spare the rod, spoil the child
+  - speak of the devil
+  - spilled the beans
+  - spinning your wheels
+  - spitting image of
+  - spoke with relish
+  - spread like wildfire
+  - spring to life
+  - squeaky wheel gets the grease
+  - stands out like a sore thumb
+  - start from scratch
+  - stick in the mud
+  - still waters run deep
+  - stitch in time
+  - stop and smell the roses
+  - straight as an arrow
+  - straw that broke the camel's back
+  - stretched to the breaking point
+  - strong as an ox
+  - stubborn as a mule
+  - stuff that dreams are made of
+  - stuffed shirt
+  - sweating blood
+  - sweating bullets
+  - take a load off
+  - take one for the team
+  - take the bait
+  - take the bull by the horns
+  - take the plunge
+  - takes one to know one
+  - takes two to tango
+  - than you can shake a stick at
+  - the cream of the crop
+  - the cream rises to the top
+  - the more the merrier
+  - the real deal
+  - the real McCoy
+  - the red carpet treatment
+  - the same old story
+  - the straw that broke the camel's back
+  - there is no accounting for taste
+  - thick as a brick
+  - thick as thieves
+  - thick as thieves
+  - thin as a rail
+  - think outside of the box
+  - thinking outside the box
+  - third time's the charm
+  - this day and age
+  - this hurts me worse than it hurts you
+  - this point in time
+  - thought leaders?
+  - three sheets to the wind
+  - through thick and thin
+  - throw in the towel
+  - throw the baby out with the bathwater
+  - tie one on
+  - tighter than a drum
+  - time and time again
+  - time is of the essence
+  - tip of the iceberg
+  - tired but happy
+  - to coin a phrase
+  - to each his own
+  - to make a long story short
+  - to the best of my knowledge
+  - toe the line
+  - tongue in cheek
+  - too good to be true
+  - too hot to handle
+  - too numerous to mention
+  - touch with a ten foot pole
+  - tough as nails
+  - trial and error
+  - trials and tribulations
+  - tried and true
+  - trip down memory lane
+  - twist of fate
+  - two cents worth
+  - two peas in a pod
+  - ugly as sin
+  - under the counter
+  - under the gun
+  - under the same roof
+  - under the weather
+  - until the cows come home
+  - unvarnished truth
+  - up the creek
+  - uphill battle
+  - upper crust
+  - upset the applecart
+  - vain attempt
+  - vain effort
+  - vanquish the enemy
+  - various and sundry
+  - vested interest
+  - viable alternative
+  - waiting for the other shoe to drop
+  - wakeup call
+  - warm welcome
+  - watch your p's and q's
+  - watch your tongue
+  - watching the clock
+  - water under the bridge
+  - wax eloquent
+  - wax poetic
+  - we've got a situation here
+  - weather the storm
+  - weed them out
+  - week of Sundays
+  - went belly up
+  - wet behind the ears
+  - what goes around comes around
+  - what you see is what you get
+  - when it rains, it pours
+  - when push comes to shove
+  - when the cat's away
+  - when the going gets tough, the tough get going
+  - whet (?:the|your) appetite
+  - white as a sheet
+  - whole ball of wax
+  - whole hog
+  - whole nine yards
+  - wild goose chase
+  - will wonders never cease?
+  - wisdom of the ages
+  - wise as an owl
+  - wolf at the door
+  - wool pulled over our eyes
+  - words fail me
+  - work like a dog
+  - world weary
+  - worst nightmare
+  - worth its weight in gold
+  - writ large
+  - wrong side of the bed
+  - yanking your chain
+  - yappy as a dog
+  - years young
+  - you are what you eat
+  - you can run but you can't hide
+  - you only live once
+  - you're the boss
+  - young and foolish
+  - young and vibrant

+ 30 - 0
vale/.vale-styles/proselint/CorporateSpeak.yml

@@ -0,0 +1,30 @@
+extends: existence
+message: "'%s' is corporate speak."
+ignorecase: true
+level: error
+tokens:
+  - at the end of the day
+  - back to the drawing board
+  - hit the ground running
+  - get the ball rolling
+  - low-hanging fruit
+  - thrown under the bus
+  - think outside the box
+  - let's touch base
+  - get my manager's blessing
+  - it's on my radar
+  - ping me
+  - i don't have the bandwidth
+  - no brainer
+  - par for the course
+  - bang for your buck
+  - synergy
+  - move the goal post
+  - apples to apples
+  - win-win
+  - circle back around
+  - all hands on deck
+  - take this offline
+  - drill-down
+  - elephant in the room
+  - on my plate

+ 5 - 0
vale/.vale-styles/proselint/Currency.yml

@@ -0,0 +1,5 @@
+extends: existence
+message: "Incorrect use of symbols in '%s'."
+ignorecase: true
+raw:
+  - \$[\d]* ?(?:dollars|usd|us dollars)

+ 15 - 0
vale/.vale-styles/proselint/Cursing.yml

@@ -0,0 +1,15 @@
+extends: existence
+message: "Consider replacing '%s'."
+level: error
+ignorecase: true
+tokens:
+  - shit
+  - piss
+  - fuck
+  - cunt
+  - cocksucker
+  - motherfucker
+  - tits
+  - fart
+  - turd
+  - twat

+ 7 - 0
vale/.vale-styles/proselint/DateCase.yml

@@ -0,0 +1,7 @@
+extends: existence
+message: With lowercase letters, the periods are standard.
+ignorecase: true
+level: error
+nonword: true
+tokens:
+  - '\d{1,2} ?[ap]m'

+ 7 - 0
vale/.vale-styles/proselint/DateMidnight.yml

@@ -0,0 +1,7 @@
+extends: existence
+message: "Use 'midnight' or 'noon'."
+ignorecase: true
+level: error
+nonword: true
+tokens:
+  - '12 ?[ap]\.?m\.?'

+ 10 - 0
vale/.vale-styles/proselint/DateRedundancy.yml

@@ -0,0 +1,10 @@
+extends: existence
+message: "'a.m.' is always morning; 'p.m.' is always night."
+ignorecase: true
+level: error
+nonword: true
+tokens:
+  - '\d{1,2} ?a\.?m\.? in the morning'
+  - '\d{1,2} ?p\.?m\.? in the evening'
+  - '\d{1,2} ?p\.?m\.? at night'
+  - '\d{1,2} ?p\.?m\.? in the afternoon'

+ 7 - 0
vale/.vale-styles/proselint/DateSpacing.yml

@@ -0,0 +1,7 @@
+extends: existence
+message: "It's standard to put a space before '%s'"
+ignorecase: true
+level: error
+nonword: true
+tokens:
+  - '\d{1,2}[ap]\.?m\.?'

+ 52 - 0
vale/.vale-styles/proselint/DenizenLabels.yml

@@ -0,0 +1,52 @@
+extends: substitution
+message: Did you mean '%s'?
+ignorecase: false
+action:
+  name: replace
+swap:
+  (?:Afrikaaner|Afrikander):             Afrikaner
+  (?:Hong Kongite|Hong Kongian):         Hong Konger
+  (?:Indianan|Indianian):                Hoosier
+  (?:Michiganite|Michiganian):           Michigander
+  (?:New Hampshireite|New Hampshireman): New Hampshirite
+  (?:Newcastlite|Newcastleite):          Novocastrian
+  (?:Providencian|Providencer):          Providentian
+  (?:Trentian|Trentonian):               Tridentine
+  (?:Warsawer|Warsawian):                Varsovian
+  (?:Wolverhamptonite|Wolverhamptonian): Wulfrunian
+  Alabaman:                              Alabamian
+  Albuquerquian:                         Albuquerquean
+  Anchoragite:                           Anchorageite
+  Arizonian:                             Arizonan
+  Arkansawyer:                           Arkansan
+  Belarusan:                             Belarusian
+  Cayman Islander:                       Caymanian
+  Coloradoan:                            Coloradan
+  Connecticuter:                         Nutmegger
+  Fairbanksian:                          Fairbanksan
+  Fort Worther:                          Fort Worthian
+  Grenadian:                             Grenadan
+  Halifaxer:                             Haligonian
+  Hartlepoolian:                         Hartlepudlian
+  Illinoisian:                           Illinoisan
+  Iowegian:                              Iowan
+  Leedsian:                              Leodenisian
+  Liverpoolian:                          Liverpudlian
+  Los Angelean:                          Angeleno
+  Manchesterian:                         Mancunian
+  Minneapolisian:                        Minneapolitan
+  Missouran:                             Missourian
+  Monacan:                               Monegasque
+  Neopolitan:                            Neapolitan
+  New Jerseyite:                         New Jerseyan
+  New Orleansian:                        New Orleanian
+  Oklahoma Citian:                       Oklahoma Cityan
+  Oklahomian:                            Oklahoman
+  Saudi Arabian:                         Saudi
+  Seattlite:                             Seattleite
+  Surinamer:                             Surinamese
+  Tallahassean:                          Tallahasseean
+  Tennesseean:                           Tennessean
+  Trois-Rivièrester:                     Trifluvian
+  Utahan:                                Utahn
+  Valladolidian:                         Vallisoletano

+ 95 - 0
vale/.vale-styles/proselint/Diacritical.yml

@@ -0,0 +1,95 @@
+extends: substitution
+message: Consider using '%s' instead of '%s'.
+ignorecase: true
+level: error
+action:
+  name: replace
+swap:
+  beau ideal: beau idéal
+  boutonniere: boutonnière
+  bric-a-brac: bric-à-brac
+  cafe: café
+  cause celebre: cause célèbre
+  chevre: chèvre
+  cliche: cliché
+  consomme: consommé
+  coup de grace: coup de grâce
+  crudites: crudités
+  creme brulee: crème brûlée
+  creme de menthe: crème de menthe
+  creme fraice: crème fraîche
+  creme fresh: crème fraîche
+  crepe: crêpe
+  debutante: débutante
+  decor: décor
+  deja vu: déjà vu
+  denouement: dénouement
+  facade: façade
+  fiance: fiancé
+  fiancee: fiancée
+  flambe: flambé
+  garcon: garçon
+  lycee: lycée
+  maitre d: maître d
+  menage a trois: ménage à trois
+  negligee: négligée
+  protege: protégé
+  protegee: protégée
+  puree: purée
+  my resume: my résumé
+  your resume: your résumé
+  his resume: his résumé
+  her resume: her résumé
+  a resume: a résumé
+  the resume: the résumé
+  risque: risqué
+  roue: roué
+  soiree: soirée
+  souffle: soufflé
+  soupcon: soupçon
+  touche: touché
+  tete-a-tete: tête-à-tête
+  voila: voilà
+  a la carte: à la carte
+  a la mode: à la mode
+  emigre: émigré
+
+  # Spanish loanwords
+  El Nino: El Niño
+  jalapeno: jalapeño
+  La Nina: La Niña
+  pina colada: piña colada
+  senor: señor
+  senora: señora
+  senorita: señorita
+
+  # Portuguese loanwords
+  acai: açaí
+
+  # German loanwords
+  doppelganger: doppelgänger
+  Fuhrer: Führer
+  Gewurztraminer: Gewürztraminer
+  vis-a-vis: vis-à-vis
+  Ubermensch: Übermensch
+
+  # Swedish loanwords
+  filmjolk: filmjölk
+  smorgasbord: smörgåsbord
+
+  # Names, places, and companies
+  Beyonce: Beyoncé
+  Bronte: Brontë
+  Champs-Elysees: Champs-Élysées
+  Citroen: Citroën
+  Curacao: Curaçao
+  Lowenbrau: Löwenbräu
+  Monegasque: Monégasque
+  Motley Crue: Mötley Crüe
+  Nescafe: Nescafé
+  Queensryche: Queensrÿche
+  Quebec: Québec
+  Quebecois: Québécois
+  Angstrom: Ångström
+  angstrom: ångström
+  Skoda: Škoda

+ 45 - 0
vale/.vale-styles/proselint/GenderBias.yml

@@ -0,0 +1,45 @@
+extends: substitution
+message: Consider using '%s' instead of '%s'.
+ignorecase: true
+level: error
+action:
+  name: replace
+swap:
+  (?:alumnae|alumni):          graduates
+  (?:alumna|alumnus):          graduate
+  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)
+  chair(?:m[ae]n|wom[ae]n):    chair(s)
+  congress(?:m[ae]n|wom[ae]n): member(s) of congress
+  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
+  landlord:                    building manager
+  mail(?:m[ae]n|wom[ae]n):     mail carriers
+  man and wife:                husband and wife
+  man enough:                  strong enough
+  mankind:                     human kind
+  manmade:                     manufactured
+  men and girls:               men and women
+  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)

+ 39 - 0
vale/.vale-styles/proselint/GroupTerms.yml

@@ -0,0 +1,39 @@
+extends: substitution
+message: Consider using '%s' instead of '%s'.
+ignorecase: true
+action:
+  name: replace
+swap:
+  (?:bunch|group|pack|flock) of chickens:    brood of chickens
+  (?:bunch|group|pack|flock) of crows:       murder of crows
+  (?:bunch|group|pack|flock) of hawks:       cast of hawks
+  (?:bunch|group|pack|flock) of parrots:     pandemonium of parrots
+  (?:bunch|group|pack|flock) of peacocks:    muster of peacocks
+  (?:bunch|group|pack|flock) of penguins:    muster of penguins
+  (?:bunch|group|pack|flock) of sparrows:    host of sparrows
+  (?:bunch|group|pack|flock) of turkeys:     rafter of turkeys
+  (?:bunch|group|pack|flock) of woodpeckers: descent of woodpeckers
+  (?:bunch|group|pack|herd) of apes:         shrewdness of apes
+  (?:bunch|group|pack|herd) of baboons:      troop of baboons
+  (?:bunch|group|pack|herd) of badgers:      cete of badgers
+  (?:bunch|group|pack|herd) of bears:        sloth of bears
+  (?:bunch|group|pack|herd) of bullfinches:  bellowing of bullfinches
+  (?:bunch|group|pack|herd) of bullocks:     drove of bullocks
+  (?:bunch|group|pack|herd) of caterpillars: army of caterpillars
+  (?:bunch|group|pack|herd) of cats:         clowder of cats
+  (?:bunch|group|pack|herd) of colts:        rag of colts
+  (?:bunch|group|pack|herd) of crocodiles:   bask of crocodiles
+  (?:bunch|group|pack|herd) of dolphins:     school of dolphins
+  (?:bunch|group|pack|herd) of foxes:        skulk of foxes
+  (?:bunch|group|pack|herd) of gorillas:     band of gorillas
+  (?:bunch|group|pack|herd) of hippopotami:  bloat of hippopotami
+  (?:bunch|group|pack|herd) of horses:       drove of horses
+  (?:bunch|group|pack|herd) of jellyfish:    fluther of jellyfish
+  (?:bunch|group|pack|herd) of kangeroos:    mob of kangeroos
+  (?:bunch|group|pack|herd) of monkeys:      troop of monkeys
+  (?:bunch|group|pack|herd) of oxen:         yoke of oxen
+  (?:bunch|group|pack|herd) of rhinoceros:   crash of rhinoceros
+  (?:bunch|group|pack|herd) of wild boar:    sounder of wild boar
+  (?:bunch|group|pack|herd) of wild pigs:    drift of wild pigs
+  (?:bunch|group|pack|herd) of zebras:       zeal of wild pigs
+  (?:bunch|group|pack|school) of trout:      hover of trout

+ 8 - 0
vale/.vale-styles/proselint/Hedging.yml

@@ -0,0 +1,8 @@
+extends: existence
+message: "'%s' is hedging."
+ignorecase: true
+level: error
+tokens:
+  - I would argue that
+  - ', so to speak'
+  - to a certain degree

+ 6 - 0
vale/.vale-styles/proselint/Hyperbole.yml

@@ -0,0 +1,6 @@
+extends: existence
+message: "'%s' is hyperbolic."
+level: error
+nonword: true
+tokens:
+  - '[a-z]+[!?]{2,}'

+ 11 - 0
vale/.vale-styles/proselint/Jargon.yml

@@ -0,0 +1,11 @@
+extends: existence
+message: "'%s' is jargon."
+ignorecase: true
+level: error
+tokens:
+  - in the affirmative
+  - in the negative
+  - agendize
+  - per your order
+  - per your request
+  - disincentivize

+ 13 - 0
vale/.vale-styles/proselint/LGBTOffensive.yml

@@ -0,0 +1,13 @@
+extends: existence
+message: "'%s' is offensive. Remove it or consider the context."
+ignorecase: true
+tokens:
+  - fag
+  - faggot
+  - dyke
+  - sodomite
+  - homosexual agenda
+  - gay agenda
+  - transvestite
+  - homosexual lifestyle
+  - gay lifestyle

+ 15 - 0
vale/.vale-styles/proselint/LGBTTerms.yml

@@ -0,0 +1,15 @@
+extends: substitution
+message: "Consider using '%s' instead of '%s'."
+ignorecase: true
+action:
+  name: replace
+swap:
+  homosexual man:                            gay man
+  homosexual men:                            gay men
+  homosexual woman:                          lesbian
+  homosexual women:                          lesbians
+  homosexual people:                         gay people
+  homosexual couple:                         gay couple
+  sexual preference:                         sexual orientation
+  (?:admitted homosexual|avowed homosexual): openly gay
+  special rights:                            equal rights

+ 8 - 0
vale/.vale-styles/proselint/Malapropisms.yml

@@ -0,0 +1,8 @@
+extends: existence
+message: "'%s' is a malapropism."
+ignorecase: true
+level: error
+tokens:
+  - the infinitesimal universe
+  - a serial experience
+  - attack my voracity

Daži faili netika attēloti, jo izmaiņu fails ir pārāk liels