Add GitHub workflows (#1147)
* remove CI scripts * add linkcheck workflow * linter * update config * fix md * fix lint issues * nightly/weekly workflows * remove DCO check as we already have the Github integrated one * build job * vale and updated styles * move images and assets to assets/ to exclude easily * fix vale errors * add case check * fix filename case Signed-off-by: Alexandra Tran <alexandra.tran@consensys.net> Signed-off-by: Nicolas MASSART <nicolas.massart@consensys.net> Co-authored-by: Nicolas MASSART <nicolas.massart@consensys.net>pull/1168/head
parent
b9d08d2c34
commit
b9e467f7cc
@ -1,178 +1,17 @@ |
||||
--- |
||||
version: 2.1 |
||||
executors: |
||||
python_executor: |
||||
docker: |
||||
- image: cimg/python:3.9 |
||||
node_executor: |
||||
docker: |
||||
- image: cimg/node:lts |
||||
shell_executor: |
||||
docker: |
||||
- image: cimg/base:2022.06 |
||||
|
||||
commands: |
||||
install_node_dependencies: |
||||
description: "Install Node dependencies" |
||||
steps: |
||||
- restore_cache: |
||||
keys: |
||||
- deps-{{ checksum ".circleci/config.yml" }}-{{ checksum "package-lock.json" }} |
||||
- run: |
||||
name: Install Node dependencies |
||||
command: | |
||||
npm ci |
||||
|
||||
save_node_cache: |
||||
description: "Save Node dependencies" |
||||
steps: |
||||
- save_cache: |
||||
paths: |
||||
- ./node_modules |
||||
key: deps-{{ checksum ".circleci/config.yml" }}-{{ checksum "package-lock.json" }} |
||||
|
||||
jobs: |
||||
dco: |
||||
executor: shell_executor |
||||
steps: |
||||
- checkout |
||||
- run: |
||||
name: check |
||||
command: | |
||||
status=0 |
||||
while IFS= read -r -a line; do |
||||
my_array+=( "$line" ) |
||||
done < <( git branch -r | grep -v origin/HEAD ) |
||||
for branch in "${my_array[@]}" |
||||
do |
||||
branch=$(echo "$branch" | xargs) |
||||
echo "Checking commits in branch $branch for commits missing DCO..." |
||||
while read -r results; do |
||||
status=1 |
||||
commit_hash="$(echo "$results" | cut -d' ' -f1)" |
||||
>&2 echo "$commit_hash is missing Signed-off-by line." |
||||
done < <(git log "$branch" --no-merges --pretty="%H %ae" --grep 'Signed-off-by' --invert-grep -- ) |
||||
done |
||||
exit $status |
||||
|
||||
# test the build with regular non-insider MkDocs Material theme for compatibility |
||||
build: |
||||
executor: python_executor |
||||
steps: |
||||
- checkout |
||||
- restore_cache: |
||||
keys: |
||||
- deps-{{ checksum ".circleci/config.yml" }}-{{ checksum "CI/requirements.txt" }} |
||||
- run: |
||||
name: install dependencies |
||||
command: | |
||||
python3 -m venv venv |
||||
. venv/bin/activate |
||||
pip install -q -r CI/requirements-mkdocs-material.txt -r CI/requirements.txt |
||||
- save_cache: |
||||
paths: |
||||
- ./venv |
||||
key: deps-{{ checksum ".circleci/config.yml" }}-{{ checksum "CI/requirements.txt" }} |
||||
- run: |
||||
name: Run MkDocs |
||||
command: | |
||||
. venv/bin/activate |
||||
mkdocs build -s |
||||
|
||||
vale: |
||||
executor: python_executor |
||||
steps: |
||||
- checkout |
||||
- run: |
||||
name: Install Vale |
||||
command: | |
||||
wget https://github.com/errata-ai/vale/releases/download/v2.6.0/vale_2.6.0_Linux_64-bit.tar.gz |
||||
mkdir bin && tar -xvzf vale_2.6.0_Linux_64-bit.tar.gz -C bin vale |
||||
- run: |
||||
name: Run Vale |
||||
command: | |
||||
./bin/vale --config ./CI/vale/.vale.ini --glob='*.{md}' . | tee ./vale.out |
||||
- store_artifacts: |
||||
path: ./vale.out |
||||
destination: ./vale.out |
||||
|
||||
linkchecker: |
||||
executor: node_executor |
||||
steps: |
||||
- checkout |
||||
- install_node_dependencies |
||||
- run: |
||||
name: Run markdown link checker |
||||
command: | |
||||
npm run test:links |
||||
- save_node_cache |
||||
- store_artifacts: |
||||
path: ./linkchecker.out |
||||
destination: linkchecker.out |
||||
|
||||
markdownlint: |
||||
executor: node_executor |
||||
steps: |
||||
- checkout |
||||
- install_node_dependencies |
||||
- run: |
||||
shell: /bin/bash #this is a non breaking command so it will always return success |
||||
name: Run Markdownlint info checks |
||||
command: | |
||||
npm run test:markdown:info |
||||
- run: |
||||
name: Run Markdownlint |
||||
command: | |
||||
npm run test:markdown |
||||
- save_node_cache |
||||
- store_artifacts: |
||||
path: ./markdownlint.out |
||||
destination: ./markdownlint.out |
||||
- store_artifacts: |
||||
path: ./markdownlint_info.out |
||||
destination: ./markdownlint_info.out |
||||
|
||||
repolint: |
||||
executor: node_executor |
||||
dummy: |
||||
docker: |
||||
- image: cimg/base:2022.06 |
||||
steps: |
||||
- checkout |
||||
- install_node_dependencies |
||||
- run: |
||||
shell: /bin/bash #this is a non breaking command so it will always return success |
||||
name: Run repolinter |
||||
command: | |
||||
npm run lint:repo |
||||
- save_node_cache |
||||
name: dummy |
||||
command: echo "dummy step to prevent Circle from failing" |
||||
|
||||
workflows: |
||||
version: 2 |
||||
default: |
||||
jobs: |
||||
- dco |
||||
- build |
||||
- vale |
||||
- markdownlint |
||||
- linkchecker |
||||
- repolint |
||||
|
||||
nightly: |
||||
triggers: |
||||
- schedule: # GMT |
||||
cron: "0 0 * * *" |
||||
filters: |
||||
branches: |
||||
only: |
||||
- main |
||||
jobs: |
||||
- linkchecker |
||||
|
||||
weekly: |
||||
triggers: |
||||
- schedule: |
||||
cron: "0 0 * * 0" |
||||
filters: |
||||
branches: |
||||
only: |
||||
- main |
||||
jobs: |
||||
- repolint |
||||
- dummy |
||||
|
@ -0,0 +1,41 @@ |
||||
# SPDX-License-Identifier: Apache-2.0 |
||||
--- |
||||
name: Build without insider |
||||
|
||||
on: [pull_request] |
||||
|
||||
concurrency: |
||||
group: build-${{ github.ref }} |
||||
cancel-in-progress: true |
||||
|
||||
jobs: |
||||
check: |
||||
name: Run build |
||||
runs-on: ubuntu-latest |
||||
permissions: |
||||
contents: read |
||||
steps: |
||||
- uses: actions/checkout@v3 |
||||
with: |
||||
# Full git history is needed to get a proper list of changed files within `super-linter` |
||||
fetch-depth: 0 |
||||
|
||||
- name: Install Python |
||||
uses: actions/setup-python@v4 |
||||
with: |
||||
python-version: '3.9' |
||||
cache: 'pip' # caching pip dependencies |
||||
|
||||
- name: Install dependencies |
||||
shell: sh |
||||
run: pip install -q -r CI/requirements-mkdocs-material.txt -r CI/requirements.txt |
||||
|
||||
- name: MkDocs Material non insider build |
||||
shell: sh |
||||
run: mkdocs build -s |
||||
|
||||
- name: Site artifacts |
||||
uses: actions/upload-artifact@v3 |
||||
with: |
||||
name: site-no-insider |
||||
path: site |
@ -0,0 +1,34 @@ |
||||
--- |
||||
name: Check file name case |
||||
|
||||
on: [pull_request] |
||||
|
||||
concurrency: |
||||
group: case-${{ github.ref }} |
||||
cancel-in-progress: true |
||||
|
||||
jobs: |
||||
lint: |
||||
name: Check file name case |
||||
runs-on: ubuntu-latest |
||||
permissions: |
||||
contents: read |
||||
steps: |
||||
- uses: actions/checkout@v3 |
||||
- name: Check pages file name case |
||||
shell: sh |
||||
run: | |
||||
echo "Testing file case in docs." |
||||
passed=true |
||||
for filename in $(find docs -name "*.md" | ( ! grep -P -v "^[[:lower:][:digit:]\/\-_]+\.md$" )) |
||||
do |
||||
echo "$filename" |
||||
echo "::error file=$filename ::File path must be only lowercase letters, digits, - (dash) and _ (underscore)" |
||||
passed=false |
||||
done; |
||||
if [ "$passed" = false ] ; then |
||||
echo "::error ::Some files path are incorrect. Check error annotations in the pull request." |
||||
echo "Correct example: my-folder/my-file-name_new2.md" |
||||
echo "Wrong example: My-Folder/MyFile-NAME.old.md" |
||||
exit 1 |
||||
fi |
@ -0,0 +1,28 @@ |
||||
# SPDX-License-Identifier: Apache-2.0 |
||||
--- |
||||
name: Verify links |
||||
|
||||
on: [pull_request] |
||||
|
||||
concurrency: |
||||
group: links-${{ github.ref }} |
||||
cancel-in-progress: true |
||||
|
||||
jobs: |
||||
check: |
||||
name: Run check |
||||
runs-on: ubuntu-latest |
||||
permissions: |
||||
contents: read |
||||
steps: |
||||
- name: Checkout tools repo |
||||
uses: actions/checkout@v3 |
||||
|
||||
- name: Test changed files links |
||||
uses: gaurav-nelson/github-action-markdown-link-check@v1 |
||||
with: |
||||
use-quiet-mode: yes |
||||
use-verbose-mode: yes |
||||
check-modified-files-only: yes |
||||
base-branch: main |
||||
config-file: ./CI/linkchecker/link_check_conf.json |
@ -0,0 +1,36 @@ |
||||
# SPDX-License-Identifier: Apache-2.0 |
||||
--- |
||||
name: Lint Code Base |
||||
|
||||
on: [pull_request] |
||||
|
||||
concurrency: |
||||
group: lint-${{ github.ref }} |
||||
cancel-in-progress: true |
||||
|
||||
jobs: |
||||
check: |
||||
name: Run check |
||||
runs-on: ubuntu-latest |
||||
permissions: |
||||
contents: read |
||||
steps: |
||||
- uses: actions/checkout@v3 |
||||
with: |
||||
# Full git history is needed to get a proper list of changed files within `super-linter` |
||||
fetch-depth: 0 |
||||
|
||||
- name: Lint Code Base |
||||
uses: github/super-linter/slim@v4 |
||||
env: |
||||
# VALIDATE_ALL_CODEBASE: "false" |
||||
DEFAULT_BRANCH: main |
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} |
||||
LINTER_RULES_PATH: ./CI/lint |
||||
MARKDOWN_CONFIG_FILE: .markdown.yml |
||||
LOG_LEVEL: ERROR |
||||
CSS_FILE_NAME: .stylelintrc.yaml |
||||
FILTER_REGEX_EXCLUDE: (/CI/vale/vale_styles/*|LICENSE) |
||||
VALIDATE_JAVASCRIPT_STANDARD: false |
||||
VALIDATE_PYTHON: 'false' |
||||
IGNORE_GITIGNORED_FILES: 'true' |
@ -0,0 +1,32 @@ |
||||
# SPDX-License-Identifier: Apache-2.0 |
||||
--- |
||||
name: Nightly check |
||||
|
||||
on: |
||||
schedule: |
||||
# * is a special character in YAML so you have to quote this string |
||||
- cron: "0 0 * * *" |
||||
workflow_dispatch: {} |
||||
|
||||
concurrency: |
||||
group: nightly-${{ github.ref }} |
||||
cancel-in-progress: true |
||||
|
||||
jobs: |
||||
check: |
||||
name: Run check |
||||
runs-on: ubuntu-latest |
||||
permissions: |
||||
contents: read |
||||
steps: |
||||
- name: Checkout tools repo |
||||
uses: actions/checkout@v3 |
||||
|
||||
- name: Test all the links |
||||
uses: gaurav-nelson/github-action-markdown-link-check@v1 |
||||
with: |
||||
use-quiet-mode: yes |
||||
use-verbose-mode: yes |
||||
check-modified-files-only: no |
||||
base-branch: main |
||||
config-file: ./CI/linkchecker/link_check_conf.json |
@ -0,0 +1,34 @@ |
||||
--- |
||||
name: Verify spelling and guidelines |
||||
|
||||
on: [pull_request] |
||||
|
||||
concurrency: |
||||
group: spelling-${{ github.ref }} |
||||
cancel-in-progress: true |
||||
|
||||
env: |
||||
CONFIG: ./CI/vale/.vale.ini |
||||
|
||||
jobs: |
||||
check: |
||||
name: Run check |
||||
runs-on: ubuntu-latest |
||||
permissions: |
||||
contents: read |
||||
steps: |
||||
- uses: actions/checkout@v3 |
||||
|
||||
- name: Sync Vale styles |
||||
run: | |
||||
docker run --rm \ |
||||
-v "$(pwd)":"/docs" \ |
||||
-w "/docs" \ |
||||
jdkato/vale --config "$CONFIG" sync |
||||
|
||||
- name: Run Vale check |
||||
run: | |
||||
docker run --rm \ |
||||
-v "$(pwd)":"/docs" \ |
||||
-w "/docs" \ |
||||
jdkato/vale --config "$CONFIG" --glob='!docs/assets/*' ./docs/ |
@ -0,0 +1,29 @@ |
||||
# SPDX-License-Identifier: Apache-2.0 |
||||
--- |
||||
name: Weekly check |
||||
|
||||
on: |
||||
schedule: |
||||
# * is a special character in YAML so you have to quote this string |
||||
- cron: "0 0 * * 0" |
||||
workflow_dispatch: {} |
||||
|
||||
concurrency: |
||||
group: weekly-${{ github.ref }} |
||||
cancel-in-progress: true |
||||
|
||||
jobs: |
||||
check: |
||||
name: Run check |
||||
runs-on: ubuntu-latest |
||||
permissions: |
||||
contents: read |
||||
steps: |
||||
- name: Checkout tools repo |
||||
uses: actions/checkout@v3 |
||||
with: |
||||
fetch-depth: 0 |
||||
- name: Lint repository |
||||
uses: philips-labs/github-action-repolinter@v1 |
||||
env: |
||||
CUSTOM_REPOLINT_FILE: https://github.com/hyperledger-labs/hyperledger-community-management-tools/raw/main/repo_structure/repolint.json |
@ -0,0 +1,25 @@ |
||||
{ |
||||
"tagname-lowercase": true, |
||||
"attr-lowercase": true, |
||||
"attr-value-double-quotes": true, |
||||
"attr-value-not-empty": false, |
||||
"attr-no-duplication": false, |
||||
"doctype-first": false, |
||||
"tag-pair": true, |
||||
"tag-self-close": false, |
||||
"spec-char-escape": true, |
||||
"id-unique": true, |
||||
"src-not-empty": true, |
||||
"title-require": true, |
||||
"alt-require": true, |
||||
"doctype-html5": true, |
||||
"id-class-value": "false", |
||||
"style-disabled": false, |
||||
"inline-style-disabled": false, |
||||
"inline-script-disabled": false, |
||||
"space-tab-mixed-disabled": "space", |
||||
"id-class-ad-disabled": false, |
||||
"href-abs-or-rel": false, |
||||
"attr-unsafe-chars": true, |
||||
"head-script-disabled": true |
||||
} |
@ -0,0 +1,3 @@ |
||||
{ |
||||
"threshold": 20 |
||||
} |
@ -0,0 +1,41 @@ |
||||
--- |
||||
########################### |
||||
########################### |
||||
## Markdown Linter rules ## |
||||
########################### |
||||
########################### |
||||
|
||||
# Linter rules doc: |
||||
# - https://github.com/DavidAnson/markdownlint |
||||
# |
||||
# Note: |
||||
# To comment out a single error: |
||||
# <!-- markdownlint-disable --> |
||||
# any violations you want |
||||
# <!-- markdownlint-restore --> |
||||
# |
||||
default: true |
||||
no-trailing-punctuation: |
||||
punctuation: '.,;:!' |
||||
ul-indent: |
||||
indent: 4 |
||||
|
||||
no-bare-urls: false |
||||
code-block-style: false |
||||
line-length: false |
||||
|
||||
# excluded rule for as kramdown has a bug. |
||||
# see https://github.com/markdownlint/markdownlint/issues/294#issuecomment-600600407 |
||||
# these are now in info style. |
||||
# to be put back in error style once bug fixed. |
||||
single-h1: false |
||||
no-space-in-code: false |
||||
no-duplicate-header: false |
||||
first-line-h1: false |
||||
|
||||
# Because I hate HTML but sometimes a table is hard to format in MD |
||||
# now in info style. |
||||
no-inline-html: false |
||||
|
||||
# MD053 code bloc are wrongly recognised as indented making links ignored in admonitions |
||||
link-image-reference-definitions: false |
@ -0,0 +1,20 @@ |
||||
--- |
||||
########################## |
||||
## OpenAPI Linter rules ## |
||||
########################## |
||||
|
||||
extends: |
||||
- spectral:oas |
||||
|
||||
#rules: |
||||
# operation-tag-defined: off |
||||
# operation-operationId: off |
||||
# operation-description: off |
||||
# operation-tags: off |
||||
# oas2-valid-schema-example: off |
||||
# oas2-api-host: off |
||||
# oas2-operation-security-defined: off |
||||
# oas2-api-schemes: off |
||||
# info-contact : off |
||||
|
||||
|
@ -0,0 +1,5 @@ |
||||
--- |
||||
rules: |
||||
# disable selector-class-pattern as we mostly use class names from MkDOcs Material and they don't |
||||
# match the default linter pattern (kebab case) and can be overrides of generated selectors. |
||||
selector-class-pattern: null |
@ -0,0 +1,7 @@ |
||||
{ |
||||
"rules": { |
||||
"terminology": { |
||||
"severity" : "warning" |
||||
} |
||||
} |
||||
} |
@ -1,23 +0,0 @@ |
||||
default: true |
||||
no-trailing-punctuation: |
||||
punctuation: '.,;:!' |
||||
ul-indent: |
||||
indent: 4 |
||||
|
||||
no-bare-urls: false |
||||
code-block-style: false |
||||
line-length: false |
||||
|
||||
# excluded rule for as kramdown has a bug. |
||||
# see https://github.com/markdownlint/markdownlint/issues/294#issuecomment-600600407 |
||||
# these are now in info style. |
||||
# to be put back in error style once bug fixed. |
||||
single-h1: false |
||||
no-space-in-code: false |
||||
no-duplicate-header: false |
||||
first-line-h1: false |
||||
|
||||
# Because I hate HTML but sometimes a table is hard to format in MD |
||||
# now in info style. |
||||
no-inline-html: false |
||||
|
@ -1,20 +0,0 @@ |
||||
line-length: |
||||
line_length: 100 |
||||
code_blocks: false |
||||
tables: false |
||||
|
||||
no-bare-urls: false |
||||
|
||||
# excluded rule for error as kramdown has a bug. |
||||
# see https://github.com/markdownlint/markdownlint/issues/294#issuecomment-600600407 |
||||
# these are now in this info style. |
||||
# to be put back in error style once bug fixed. |
||||
single-h1: true |
||||
no-space-in-code: true |
||||
no-duplicate-header: |
||||
allow_different_nesting: true |
||||
first-line-h1: true |
||||
|
||||
# Because I hate HTML but sometimes a table is hard to format in MD |
||||
no-inline-html: true |
||||
|
@ -1,36 +0,0 @@ |
||||
# Doc quality testing scripts |
||||
|
||||
Use the scripts in this directory to run CircleCI jobs on your local machine before pushing your |
||||
work to the GitHub repositories. |
||||
|
||||
## Requirements |
||||
|
||||
* Install the [Circle CI local CLI](https://circleci.com/docs/2.0/local-cli/) |
||||
* Install [Docker](https://docs.docker.com/install/). |
||||
|
||||
## Running the scripts |
||||
|
||||
Go to the `besu-doc` project root directory and run one of the following scripts: |
||||
|
||||
* `CI/scripts/test_build.sh` runs the doc build with MkDocs. |
||||
* `CI/scripts/test_guidelines.sh` tests the doc with Vale and our custom rules. |
||||
* `CI/scripts/test_links.sh` tests the internal and external links in the doc. If a link is |
||||
incorrect or the targeted Web page is unavailable (for external sites), the test will fail and |
||||
display the faulty link. |
||||
* `CI/scripts/test_markdown_syntax.sh` tests the Markdown syntax for issues. Sometimes they are not visible |
||||
but making sure the markdown is correct helps to make it readable and bug free. |
||||
* `CI/scripts/test_all.sh` runs all the tests in one pass. |
||||
|
||||
## Known issues |
||||
|
||||
You will notice messages like: |
||||
|
||||
```bash |
||||
====>> Saving Cache |
||||
Error: |
||||
Skipping cache - error checking storage: not supported |
||||
|
||||
Step failed |
||||
``` |
||||
|
||||
This is normal. Circle CI doesn't support some of the features the server version does. Ignore them. |
@ -1,29 +0,0 @@ |
||||
#!/usr/bin/env bash |
||||
|
||||
set -o pipefail |
||||
|
||||
if [ -z "$1" ] |
||||
then |
||||
echo "No job mame supplied. See .circleci/config.yml for job names." |
||||
exit 1 |
||||
else |
||||
JOB=$1 |
||||
fi |
||||
|
||||
exec < /dev/tty |
||||
|
||||
DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null 2>&1 && pwd )" |
||||
LOGFILE=${DIR}/${JOB}.log |
||||
|
||||
echo -e "\rRunning ${JOB} test job, please wait.\r" |
||||
|
||||
circleci config process .circleci/config.yml > .circleci/process.yml && circleci local execute -c .circleci/process.yml --job $JOB > ${LOGFILE} 2>&1 |
||||
|
||||
if [ "$?" -eq "0" ] |
||||
then |
||||
echo -e "\r✓ ${JOB} test job succeeded\r" |
||||
exit 0 |
||||
else |
||||
echo -e "\r✖ ${JOB} test job failed. See ${LOGFILE}" |
||||
exit 1 |
||||
fi |
@ -1,16 +0,0 @@ |
||||
#!/usr/bin/env bash |
||||
|
||||
echo -e "\r=================================" |
||||
echo -e "\rRunning all tests jobs, please wait." |
||||
echo -e "\r=================================" |
||||
|
||||
CI/scripts/run_job.sh build & buildPID=$! |
||||
CI/scripts/run_job.sh vale & guidelinesPID=$! |
||||
CI/scripts/run_job.sh linkchecker & linksPID=$! |
||||
CI/scripts/run_job.sh markdownlint & syntaxPID=$! |
||||
|
||||
wait $buildPID $linksPID $syntaxPID $guidelinesPID |
||||
|
||||
echo -e "\r=================================" |
||||
echo -e "\rAll tests jobs completed." |
||||
echo -e "\r=================================" |
@ -1,3 +0,0 @@ |
||||
#!/usr/bin/env bash |
||||
|
||||
CI/scripts/run_job.sh build |
@ -1,3 +0,0 @@ |
||||
#!/usr/bin/env bash |
||||
|
||||
CI/scripts/run_job.sh vale |
@ -1,3 +0,0 @@ |
||||
#!/usr/bin/env bash |
||||
|
||||
CI/scripts/run_job.sh linkchecker |
@ -1,3 +0,0 @@ |
||||
#!/usr/bin/env bash |
||||
|
||||
CI/scripts/run_job.sh markdownlint |
@ -1,9 +0,0 @@ |
||||
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]\.' |
@ -1,25 +0,0 @@ |
||||
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 |
@ -1,64 +0,0 @@ |
||||
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 |
@ -1,270 +0,0 @@ |
||||
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 |
@ -1,11 +0,0 @@ |
||||
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+' |
@ -1,18 +0,0 @@ |
||||
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 |
@ -1,12 +0,0 @@ |
||||
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 |
@ -1,120 +0,0 @@ |
||||
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 |
@ -1,30 +0,0 @@ |
||||
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 |
@ -1,13 +0,0 @@ |
||||
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' |
@ -1,8 +0,0 @@ |
||||
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}' |
@ -1,40 +0,0 @@ |
||||
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 |
@ -1,8 +0,0 @@ |
||||
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' |
@ -1,9 +0,0 @@ |
||||
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: |
||||
- '\.\.\.' |
@ -1,13 +0,0 @@ |
||||
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 |
@ -1,12 +0,0 @@ |
||||
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 |
||||
|
@ -1,8 +0,0 @@ |
||||
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 |
@ -1,44 +0,0 @@ |
||||
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) |
@ -1,11 +0,0 @@ |
||||
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 |
@ -1,7 +0,0 @@ |
||||
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}' |
@ -1,8 +0,0 @@ |
||||
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]' |
@ -1,13 +0,0 @@ |
||||
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|$)' |
@ -1,28 +0,0 @@ |
||||
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 |
@ -1,14 +0,0 @@ |
||||
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-' |
@ -1,21 +0,0 @@ |
||||
MIT License |
||||
|
||||
Copyright (c) 2018 - 2019 Joseph Kato |
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy |
||||
of this software and associated documentation files (the "Software"), to deal |
||||
in the Software without restriction, including without limitation the rights |
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell |
||||
copies of the Software, and to permit persons to whom the Software is |
||||
furnished to do so, subject to the following conditions: |
||||
|
||||
The above copyright notice and this permission notice shall be included in all |
||||
copies or substantial portions of the Software. |
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR |
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, |
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE |
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER |
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, |
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE |
||||
SOFTWARE. |
@ -1,13 +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: |
||||
- replace |
||||
- '-' |
||||
- '–' |
||||
tokens: |
||||
- '\s-\d+\s' |
@ -1,13 +0,0 @@ |
||||
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 |
@ -1,7 +0,0 @@ |
||||
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)' |
@ -1,183 +0,0 @@ |
||||
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 |
@ -1,7 +0,0 @@ |
||||
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' |
@ -1,7 +0,0 @@ |
||||
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: |
||||
- '["“][^"”“]+["”][.,]' |
@ -1,13 +0,0 @@ |
||||
extends: existence |
||||
message: "Use an en dash in a range of numbers." |
||||
link: https://docs.microsoft.com/en-us/style-guide/numbers |
||||
nonword: true |
||||
level: error |
||||
action: |
||||
name: edit |
||||
params: |
||||
- replace |
||||
- '-' |
||||
- '–' |
||||
tokens: |
||||
- '\b\d+\s?[-]\s?\d+\b' |
@ -1,13 +0,0 @@ |
||||
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' |
@ -1,7 +0,0 @@ |
||||
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' |
@ -1,8 +0,0 @@ |
||||
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: |
||||
- ';' |
@ -1,7 +0,0 @@ |
||||
extends: occurrence |
||||
message: "Try to keep sentences short (< 30 words)." |
||||
scope: sentence |
||||
level: suggestion |
||||
max: 30 |
||||
token: \b(\w+)\b |
||||
|
@ -1,8 +0,0 @@ |
||||
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]' |
@ -1,7 +0,0 @@ |
||||
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+-' |
@ -1,43 +0,0 @@ |
||||
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 |
@ -1,10 +0,0 @@ |
||||
extends: substitution |
||||
message: "Use '%s' instead of '%s'." |
||||
ignorecase: true |
||||
level: error |
||||
action: |
||||
name: replace |
||||
swap: |
||||
URL for: URL of |
||||
an URL: a URL |
||||
|
@ -1,16 +0,0 @@ |
||||
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 |
@ -1,23 +0,0 @@ |
||||
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 |
@ -1,11 +0,0 @@ |
||||
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 |
@ -1,122 +0,0 @@ |
||||
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 |
@ -1,4 +0,0 @@ |
||||
{ |
||||
"feed": "https://github.com/errata-ai/Microsoft/releases.atom", |
||||
"vale_version": ">=1.0.0" |
||||
} |
@ -1,8 +0,0 @@ |
||||
extends: existence |
||||
message: "'%s' is airlinese." |
||||
ignorecase: true |
||||
level: error |
||||
tokens: |
||||
- enplan(?:e|ed|ing|ement) |
||||
- deplan(?:e|ed|ing|ement) |
||||
- taking off momentarily |
@ -1,48 +0,0 @@ |
||||
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 |
@ -1,9 +0,0 @@ |
||||
extends: existence |
||||
message: "'%s' left in text." |
||||
ignorecase: false |
||||
level: error |
||||
tokens: |
||||
- XXX |
||||
- FIXME |
||||
- TODO |
||||
- NOTE |
@ -1,8 +0,0 @@ |
||||
extends: existence |
||||
message: "Excessive apologizing: '%s'" |
||||
ignorecase: true |
||||
level: error |
||||
action: |
||||
name: remove |
||||
tokens: |
||||
- More research is needed |
@ -1,52 +0,0 @@ |
||||
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 |
@ -1,8 +0,0 @@ |
||||
extends: existence |
||||
message: "Do not start a paragraph with a 'but'." |
||||
level: error |
||||
scope: paragraph |
||||
action: |
||||
name: remove |
||||
tokens: |
||||
- ^But |
@ -1,782 +0,0 @@ |
||||
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 |
@ -1,30 +0,0 @@ |
||||
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 |
@ -1,5 +0,0 @@ |
||||
extends: existence |
||||
message: "Incorrect use of symbols in '%s'." |
||||
ignorecase: true |
||||
raw: |
||||
- \$[\d]* ?(?:dollars|usd|us dollars) |
@ -1,15 +0,0 @@ |
||||
extends: existence |
||||
message: "Consider replacing '%s'." |
||||
level: error |
||||
ignorecase: true |
||||
tokens: |
||||
- shit |
||||
- piss |
||||
- fuck |
||||
- cunt |
||||
- cocksucker |
||||
- motherfucker |
||||
- tits |
||||
- fart |
||||
- turd |
||||
- twat |
@ -1,7 +0,0 @@ |
||||
extends: existence |
||||
message: With lowercase letters, the periods are standard. |
||||
ignorecase: true |
||||
level: error |
||||
nonword: true |
||||
tokens: |
||||
- '\d{1,2} ?[ap]m' |
@ -1,7 +0,0 @@ |
||||
extends: existence |
||||
message: "Use 'midnight' or 'noon'." |
||||
ignorecase: true |
||||
level: error |
||||
nonword: true |
||||
tokens: |
||||
- '12 ?[ap]\.?m\.?' |
@ -1,10 +0,0 @@ |
||||
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' |
@ -1,7 +0,0 @@ |
||||
extends: existence |
||||
message: "It's standard to put a space before '%s'" |
||||
ignorecase: true |
||||
level: error |
||||
nonword: true |
||||
tokens: |
||||
- '\d{1,2}[ap]\.?m\.?' |
@ -1,52 +0,0 @@ |
||||
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 |
@ -1,96 +0,0 @@ |
||||
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ë |
||||
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 |
@ -1,45 +0,0 @@ |
||||
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) |
@ -1,39 +0,0 @@ |
||||
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 |
@ -1,8 +0,0 @@ |
||||
extends: existence |
||||
message: "'%s' is hedging." |
||||
ignorecase: true |
||||
level: error |
||||
tokens: |
||||
- I would argue that |
||||
- ', so to speak' |
||||
- to a certain degree |
@ -1,6 +0,0 @@ |
||||
extends: existence |
||||
message: "'%s' is hyperbolic." |
||||
level: error |
||||
nonword: true |
||||
tokens: |
||||
- '[a-z]+[!?]{2,}' |
@ -1,11 +0,0 @@ |
||||
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 |
@ -1,13 +0,0 @@ |
||||
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 |
@ -1,15 +0,0 @@ |
||||
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 |
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in new issue