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 |
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: |
jobs: |
||||||
dco: |
dummy: |
||||||
executor: shell_executor |
docker: |
||||||
steps: |
- image: cimg/base:2022.06 |
||||||
- 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 |
|
||||||
steps: |
steps: |
||||||
- checkout |
|
||||||
- install_node_dependencies |
|
||||||
- run: |
- run: |
||||||
shell: /bin/bash #this is a non breaking command so it will always return success |
name: dummy |
||||||
name: Run repolinter |
command: echo "dummy step to prevent Circle from failing" |
||||||
command: | |
|
||||||
npm run lint:repo |
|
||||||
- save_node_cache |
|
||||||
|
|
||||||
workflows: |
workflows: |
||||||
version: 2 |
version: 2 |
||||||
default: |
default: |
||||||
jobs: |
jobs: |
||||||
- dco |
- dummy |
||||||
- 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 |
|
||||||
|
@ -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