diff --git a/.gitignore b/.gitignore index e4116b8..3cbcfeb 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,4 @@ .workspace node_modules .DS_Store +Prim.zip diff --git a/.vale.ini b/.vale.ini index c5a6b71..420f950 100644 --- a/.vale.ini +++ b/.vale.ini @@ -1,4 +1,4 @@ StylesPath = . [*.md] -BasedOnStyles = compris +BasedOnStyles = Prim diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 34e40db..fecdb64 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -1,11 +1,11 @@ # Contribution manual -Thank you for your interest in contributing to **compris**. There are many ways to contribute and we appreciate all of them. +Thank you for your interest in contributing to **Prim**. There are many ways to contribute and we appreciate all of them. > [!TIP] > **For new contributors**: Visit for helpful information on contributing to open source projects -- [Create an issue](https://github.com/Microflash/compris/issues/new) to discuss a change before you start working on it. +- [Create an issue](https://github.com/Microflash/Prim/issues/new) to discuss a change before you start working on it. ## Commit messages diff --git a/CREDITS.md b/CREDITS.md new file mode 100644 index 0000000..d1b426b --- /dev/null +++ b/CREDITS.md @@ -0,0 +1,2 @@ +- [Joseph Kato](https://github.com/jdkato) for building [Vale](https://vale.sh/) +- [Oxford 3000](https://www.oxfordlearnersdictionaries.com/us/wordlists/oxford3000-5000) for most commonly used English words diff --git a/compris/AMPM.yml b/Prim/AMPM.yml similarity index 100% rename from compris/AMPM.yml rename to Prim/AMPM.yml diff --git a/compris/AbbreviationPeriods.yml b/Prim/AbbreviationPeriods.yml similarity index 100% rename from compris/AbbreviationPeriods.yml rename to Prim/AbbreviationPeriods.yml diff --git a/compris/Ambiguity.yml b/Prim/Ambiguity.yml similarity index 83% rename from compris/Ambiguity.yml rename to Prim/Ambiguity.yml index cda3581..d74dc4b 100644 --- a/compris/Ambiguity.yml +++ b/Prim/Ambiguity.yml @@ -1,6 +1,6 @@ extends: existence message: "Avoid ambiguity. Don't use '%s'." level: error -# ignorecase: true +ignorecase: true tokens: - and/or diff --git a/compris/Contractions.yml b/Prim/Contractions.yml similarity index 100% rename from compris/Contractions.yml rename to Prim/Contractions.yml diff --git a/compris/Ellipsis.yml b/Prim/Ellipsis.yml similarity index 100% rename from compris/Ellipsis.yml rename to Prim/Ellipsis.yml diff --git a/compris/EmDash.yml b/Prim/EmDash.yml similarity index 100% rename from compris/EmDash.yml rename to Prim/EmDash.yml diff --git a/compris/EnDash.yml b/Prim/EnDash.yml similarity index 100% rename from compris/EnDash.yml rename to Prim/EnDash.yml diff --git a/compris/Latin.yml b/Prim/Latin.yml similarity index 100% rename from compris/Latin.yml rename to Prim/Latin.yml diff --git a/compris/OptionalPlurals.yml b/Prim/OptionalPlurals.yml similarity index 100% rename from compris/OptionalPlurals.yml rename to Prim/OptionalPlurals.yml diff --git a/compris/Ordinal.yml b/Prim/Ordinal.yml similarity index 100% rename from compris/Ordinal.yml rename to Prim/Ordinal.yml diff --git a/compris/OxfordComma.yml b/Prim/OxfordComma.yml similarity index 100% rename from compris/OxfordComma.yml rename to Prim/OxfordComma.yml diff --git a/compris/Percentages.yml b/Prim/Percentages.yml similarity index 100% rename from compris/Percentages.yml rename to Prim/Percentages.yml diff --git a/compris/PreferredAlternatives.yml b/Prim/PreferredAlternatives.yml similarity index 86% rename from compris/PreferredAlternatives.yml rename to Prim/PreferredAlternatives.yml index 2139f8b..d8dcfbd 100644 --- a/compris/PreferredAlternatives.yml +++ b/Prim/PreferredAlternatives.yml @@ -8,3 +8,4 @@ swap: 0-day: zero-day 12 am: midnight 12 pm: noon + open-source: open source diff --git a/compris/RequiredAlternatives.yml b/Prim/RequiredAlternatives.yml similarity index 60% rename from compris/RequiredAlternatives.yml rename to Prim/RequiredAlternatives.yml index 6a09264..dce03df 100644 --- a/compris/RequiredAlternatives.yml +++ b/Prim/RequiredAlternatives.yml @@ -6,4 +6,10 @@ action: name: replace swap: 24/7: 24x7 + 3\-D: 3D + Ajax: AJAX + autodetect: auto-detect synch: sync + url: URL + URL for: URL of + an URL: a URL diff --git a/compris/Semicolon.yml b/Prim/Semicolon.yml similarity index 100% rename from compris/Semicolon.yml rename to Prim/Semicolon.yml diff --git a/compris/SentenceLength.yml b/Prim/SentenceLength.yml similarity index 100% rename from compris/SentenceLength.yml rename to Prim/SentenceLength.yml diff --git a/compris/SimplerAlternatives.yml b/Prim/SimplerAlternatives.yml similarity index 100% rename from compris/SimplerAlternatives.yml rename to Prim/SimplerAlternatives.yml diff --git a/compris/Space.yml b/Prim/Space.yml similarity index 100% rename from compris/Space.yml rename to Prim/Space.yml diff --git a/compris/WordRepitition.yml b/Prim/WordRepitition.yml similarity index 100% rename from compris/WordRepitition.yml rename to Prim/WordRepitition.yml diff --git a/Prim/meta.json b/Prim/meta.json new file mode 100644 index 0000000..c994c8d --- /dev/null +++ b/Prim/meta.json @@ -0,0 +1,4 @@ +{ + "feed": "https://github.com/Microflash/Prim/releases.atom", + "vale_version": ">=1.0.0" +} diff --git a/README.md b/README.md index 0166d7a..1274b8d 100644 --- a/README.md +++ b/README.md @@ -1,26 +1,27 @@ -# compris +# Prim -[![Regression tests](https://github.com/Microflash/compris/actions/workflows/regression.yml/badge.svg)](https://github.com/Microflash/compris/actions/workflows/regression.yml) +[![Regression tests](https://github.com/Microflash/Prim/actions/workflows/regression.yml/badge.svg)](https://github.com/Microflash/Prim/actions/workflows/regression.yml) A [Vale](https://vale.sh)-compatible prose style for non-native English speakers. Tailored for technical documentation. ## Status: alpha -**compris** is still in its early stages. It is usable but expect massive and frequent changes before it becomes stable. +> [!IMPORTANT] +> **Prim** is still in its early stages. It is usable but expect massive and frequent changes before it becomes stable. ## Usage -Add to the list of `Packages` in the `.vale.ini` file. +Add to the list of `Packages` in the `.vale.ini` file. ```ini StylesPath = .github/styles MinAlertLevel = suggestion Packages = proselint, \ -https://github.com/Microflash/compris/releases/download/latest/compris.zip +https://github.com/Microflash/Prim/releases/download/latest/Prim.zip [README.md] -BasedOnStyles = Vale, compris, proselint +BasedOnStyles = Vale, Prim, proselint ``` To sync the latest updates, run `vale sync`. @@ -35,9 +36,9 @@ To sync the latest updates, run `vale sync`. ## Development -- [Rules](./compris/) are written in `yml` files using the syntax described by [Vale docs](https://vale.sh/docs/). -- Every rule has a [fixture](./fixtures/) against which you can run tests. -- Tests are run against the [log output](./test/expectations/) of Vale. +- [Rules](./Prim/) are written in `yml` files using the syntax described by [Vale docs](https://vale.sh/docs/). +- Every rule has a [fixture](./test/fixtures/) against which you can run tests. +- Tests are run against the [log output snapshots](./test/snapshots/) of Vale. ### Prerequisites @@ -51,9 +52,9 @@ Run `pnpm i` to download the test dependencies; you would need them to run the t A typical workflow looks like this. -1. Add a new rule by creating a new `compris/.yml` file, or modify an existing rule in the existing `compris/.yml` file. -2. Add or update the fixtures in the `fixtures//test.md` directory. -3. Add the expected logs in the `test/expectations/.log` file. +1. Add a new rule by creating a new `Prim/.yml` file, or modify an existing rule in the existing `Prim/.yml` file. +2. Add or update the fixtures in the `test/fixtures//test.md` directory. +3. Generate or update a snapshot with `pnpm snapshot:update` 4. Run `pnpm test` to run the tests. ## License diff --git a/compris/meta.json b/compris/meta.json deleted file mode 100644 index 2ae10d6..0000000 --- a/compris/meta.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "feed": "https://github.com/Microflash/compris/releases.atom", - "vale_version": ">=1.0.0" -} diff --git a/fixtures/AMPM/.vale.ini b/fixtures/AMPM/.vale.ini deleted file mode 100644 index cc93155..0000000 --- a/fixtures/AMPM/.vale.ini +++ /dev/null @@ -1,6 +0,0 @@ -StylesPath = ../../ - -MinAlertLevel = suggestion - -[*.md] -compris.AMPM = YES diff --git a/fixtures/AbbreviationPeriods/.vale.ini b/fixtures/AbbreviationPeriods/.vale.ini deleted file mode 100644 index 917c075..0000000 --- a/fixtures/AbbreviationPeriods/.vale.ini +++ /dev/null @@ -1,6 +0,0 @@ -StylesPath = ../../ - -MinAlertLevel = suggestion - -[*.md] -compris.AbbreviationPeriods = YES diff --git a/fixtures/Ambiguity/.vale.ini b/fixtures/Ambiguity/.vale.ini deleted file mode 100644 index 5b55ff8..0000000 --- a/fixtures/Ambiguity/.vale.ini +++ /dev/null @@ -1,6 +0,0 @@ -StylesPath = ../../ - -MinAlertLevel = suggestion - -[*.md] -compris.Ambiguity = YES diff --git a/fixtures/Contractions/.vale.ini b/fixtures/Contractions/.vale.ini deleted file mode 100644 index 987f0c0..0000000 --- a/fixtures/Contractions/.vale.ini +++ /dev/null @@ -1,6 +0,0 @@ -StylesPath = ../../ - -MinAlertLevel = suggestion - -[*.md] -compris.Contractions = YES diff --git a/fixtures/Ellipsis/.vale.ini b/fixtures/Ellipsis/.vale.ini deleted file mode 100644 index 253e733..0000000 --- a/fixtures/Ellipsis/.vale.ini +++ /dev/null @@ -1,6 +0,0 @@ -StylesPath = ../../ - -MinAlertLevel = suggestion - -[*.md] -compris.Ellipsis = YES diff --git a/fixtures/EmDash/.vale.ini b/fixtures/EmDash/.vale.ini deleted file mode 100644 index c6bc0fc..0000000 --- a/fixtures/EmDash/.vale.ini +++ /dev/null @@ -1,6 +0,0 @@ -StylesPath = ../../ - -MinAlertLevel = suggestion - -[*.md] -compris.EmDash = YES diff --git a/fixtures/EnDash/.vale.ini b/fixtures/EnDash/.vale.ini deleted file mode 100644 index e65fa3b..0000000 --- a/fixtures/EnDash/.vale.ini +++ /dev/null @@ -1,6 +0,0 @@ -StylesPath = ../../ - -MinAlertLevel = suggestion - -[*.md] -compris.EnDash = YES diff --git a/fixtures/Latin/.vale.ini b/fixtures/Latin/.vale.ini deleted file mode 100644 index f2c188e..0000000 --- a/fixtures/Latin/.vale.ini +++ /dev/null @@ -1,6 +0,0 @@ -StylesPath = ../../ - -MinAlertLevel = suggestion - -[*.md] -compris.Latin = YES diff --git a/fixtures/OptionalPlurals/.vale.ini b/fixtures/OptionalPlurals/.vale.ini deleted file mode 100644 index 7af2cb5..0000000 --- a/fixtures/OptionalPlurals/.vale.ini +++ /dev/null @@ -1,6 +0,0 @@ -StylesPath = ../../ - -MinAlertLevel = suggestion - -[*.md] -compris.OptionalPlurals = YES diff --git a/fixtures/Ordinal/.vale.ini b/fixtures/Ordinal/.vale.ini deleted file mode 100644 index 451624d..0000000 --- a/fixtures/Ordinal/.vale.ini +++ /dev/null @@ -1,6 +0,0 @@ -StylesPath = ../../ - -MinAlertLevel = suggestion - -[*.md] -compris.Ordinal = YES diff --git a/fixtures/OxfordComma/.vale.ini b/fixtures/OxfordComma/.vale.ini deleted file mode 100644 index 5cef5d8..0000000 --- a/fixtures/OxfordComma/.vale.ini +++ /dev/null @@ -1,6 +0,0 @@ -StylesPath = ../../ - -MinAlertLevel = suggestion - -[*.md] -compris.OxfordComma = YES diff --git a/fixtures/Percentages/.vale.ini b/fixtures/Percentages/.vale.ini deleted file mode 100644 index 8c97c78..0000000 --- a/fixtures/Percentages/.vale.ini +++ /dev/null @@ -1,6 +0,0 @@ -StylesPath = ../../ - -MinAlertLevel = suggestion - -[*.md] -compris.Percentages = YES diff --git a/fixtures/PreferredAlternatives/.vale.ini b/fixtures/PreferredAlternatives/.vale.ini deleted file mode 100644 index d0f9b8d..0000000 --- a/fixtures/PreferredAlternatives/.vale.ini +++ /dev/null @@ -1,6 +0,0 @@ -StylesPath = ../../ - -MinAlertLevel = suggestion - -[*.md] -compris.PreferredAlternatives = YES diff --git a/fixtures/RequiredAlternatives/.vale.ini b/fixtures/RequiredAlternatives/.vale.ini deleted file mode 100644 index 3fa1e54..0000000 --- a/fixtures/RequiredAlternatives/.vale.ini +++ /dev/null @@ -1,6 +0,0 @@ -StylesPath = ../../ - -MinAlertLevel = suggestion - -[*.md] -compris.RequiredAlternatives = YES diff --git a/fixtures/RequiredAlternatives/test.md b/fixtures/RequiredAlternatives/test.md deleted file mode 100644 index d7452bd..0000000 --- a/fixtures/RequiredAlternatives/test.md +++ /dev/null @@ -1,7 +0,0 @@ -# Required Alternatives - - -Our emergency hotline is staffed 24/7 for immediate assistance. - - -The team needs to synch their schedules for the upcoming meeting.. diff --git a/fixtures/Semicolon/.vale.ini b/fixtures/Semicolon/.vale.ini deleted file mode 100644 index 7f126ef..0000000 --- a/fixtures/Semicolon/.vale.ini +++ /dev/null @@ -1,6 +0,0 @@ -StylesPath = ../../ - -MinAlertLevel = suggestion - -[*.md] -compris.Semicolon = YES diff --git a/fixtures/SentenceLength/.vale.ini b/fixtures/SentenceLength/.vale.ini deleted file mode 100644 index 1cfbaba..0000000 --- a/fixtures/SentenceLength/.vale.ini +++ /dev/null @@ -1,6 +0,0 @@ -StylesPath = ../../ - -MinAlertLevel = suggestion - -[*.md] -compris.SentenceLength = YES diff --git a/fixtures/SimplerAlternatives/.vale.ini b/fixtures/SimplerAlternatives/.vale.ini deleted file mode 100644 index c56f438..0000000 --- a/fixtures/SimplerAlternatives/.vale.ini +++ /dev/null @@ -1,6 +0,0 @@ -StylesPath = ../../ - -MinAlertLevel = suggestion - -[*.md] -compris.SimplerAlternatives = YES diff --git a/fixtures/Space/.vale.ini b/fixtures/Space/.vale.ini deleted file mode 100644 index e79a67b..0000000 --- a/fixtures/Space/.vale.ini +++ /dev/null @@ -1,6 +0,0 @@ -StylesPath = ../../ - -MinAlertLevel = suggestion - -[*.md] -compris.Space = YES diff --git a/fixtures/WordRepitition/.vale.ini b/fixtures/WordRepitition/.vale.ini deleted file mode 100644 index 9a7fec5..0000000 --- a/fixtures/WordRepitition/.vale.ini +++ /dev/null @@ -1,6 +0,0 @@ -StylesPath = ../../ - -MinAlertLevel = suggestion - -[*.md] -compris.WordRepitition = YES diff --git a/package.json b/package.json index 324e10a..d91b205 100644 --- a/package.json +++ b/package.json @@ -1,10 +1,11 @@ { - "name": "compris", - "version": "0.0.2", + "name": "prim", + "version": "0.0.3", "description": "A Vale-compatible prose style for non-native English speaker", "scripts": { + "snapshot:update": "vitest rules --update", "test": "vitest rules", - "dist": "zip -r compris.zip compris -x \"*.DS_Store\"" + "dist": "zip -r Prim.zip Prim -x \"*.DS_Store\"" }, "devDependencies": { "execa": "^8.0.1", diff --git a/test/expectations/AMPM.log b/test/expectations/AMPM.log deleted file mode 100644 index a45a78b..0000000 --- a/test/expectations/AMPM.log +++ /dev/null @@ -1,5 +0,0 @@ -test.md:3:24:compris.AMPM:Use 'am' or 'pm' else 'a.m.' or 'p.m.' (preceded by a space). -test.md:4:33:compris.AMPM:Use 'am' or 'pm' else 'a.m.' or 'p.m.' (preceded by a space). -test.md:4:41:compris.AMPM:Use 'am' or 'pm' else 'a.m.' or 'p.m.' (preceded by a space). -test.md:5:33:compris.AMPM:Use 'am' or 'pm' else 'a.m.' or 'p.m.' (preceded by a space). -test.md:6:30:compris.AMPM:Use 'am' or 'pm' else 'a.m.' or 'p.m.' (preceded by a space). diff --git a/test/expectations/AbbreviationPeriods.log b/test/expectations/AbbreviationPeriods.log deleted file mode 100644 index c3da88d..0000000 --- a/test/expectations/AbbreviationPeriods.log +++ /dev/null @@ -1 +0,0 @@ -test.md:3:45:compris.AbbreviationPeriods:Don't use periods with abbreviations such as 'H.T.T.P.S.'. diff --git a/test/expectations/Ambiguity.log b/test/expectations/Ambiguity.log deleted file mode 100644 index e9fa26e..0000000 --- a/test/expectations/Ambiguity.log +++ /dev/null @@ -1 +0,0 @@ -test.md:3:49:compris.Ambiguity:Avoid ambiguity. Don't use 'and/or'. diff --git a/test/expectations/Contractions.log b/test/expectations/Contractions.log deleted file mode 100644 index d2b4bbe..0000000 --- a/test/expectations/Contractions.log +++ /dev/null @@ -1,106 +0,0 @@ -test.md:4:48:compris.Contractions:Avoid contractions. Use 'accessibility' instead of 'a11y'. -test.md:7:13:compris.Contractions:Avoid contractions. Use 'or' or 'also known as' instead of 'aka'. -test.md:8:28:compris.Contractions:Avoid contractions. Use 'or' or 'also known as' instead of 'a.k.a'. -test.md:11:24:compris.Contractions:Avoid contractions. Use 'are not' instead of 'aren't'. -test.md:14:27:compris.Contractions:Avoid contractions. Use 'authentication' instead of 'authN'. -test.md:17:12:compris.Contractions:Avoid contractions. Use 'authorization' instead of 'authZ'. -test.md:20:3:compris.Contractions:Avoid contractions. Use 'cannot' instead of 'can't'. -test.md:23:3:compris.Contractions:Avoid contractions. Use 'could have' instead of 'could've'. -test.md:26:5:compris.Contractions:Avoid contractions. Use 'could not' instead of 'couldn't'. -test.md:29:4:compris.Contractions:Avoid contractions. Use 'did not' instead of 'didn't'. -test.md:32:3:compris.Contractions:Avoid contractions. Use 'do not' instead of 'don't'. -test.md:35:26:compris.Contractions:Avoid contractions. Use 'does not' instead of 'doesn't'. -test.md:38:11:compris.Contractions:Avoid contractions. Use 'globalization' instead of 'g11n'. -test.md:41:4:compris.Contractions:Avoid contractions. Use 'had not' instead of 'hadn't'. -test.md:44:13:compris.Contractions:Avoid contractions. Use 'has not' instead of 'hasn't'. -test.md:46:6:compris.Contractions:Avoid contractions. Use 'have not' instead of 'haven't'. -test.md:50:1:compris.Contractions:Avoid contractions. Use 'He had' or 'He would' instead of 'He'd'. -test.md:51:1:compris.Contractions:Avoid contractions. Use 'He had' or 'He would' instead of 'He'd'. -test.md:54:1:compris.Contractions:Avoid contractions. Use 'He is' or 'He has' instead of 'He's'. -test.md:55:1:compris.Contractions:Avoid contractions. Use 'He is' or 'He has' instead of 'He's'. -test.md:58:1:compris.Contractions:Avoid contractions. Use 'He will' or 'He shall' instead of 'He'll'. -test.md:61:1:compris.Contractions:Avoid contractions. Use 'Here had' or 'Here would' instead of 'Here'd'. -test.md:62:1:compris.Contractions:Avoid contractions. Use 'Here had' or 'Here would' instead of 'Here'd'. -test.md:65:1:compris.Contractions:Avoid contractions. Use 'Here is' or 'Here has' instead of 'Here's'. -test.md:68:1:compris.Contractions:Avoid contractions. Use 'How did' or 'How would' instead of 'How'd'. -test.md:69:1:compris.Contractions:Avoid contractions. Use 'How did' or 'How would' instead of 'How'd'. -test.md:72:1:compris.Contractions:Avoid contractions. Use 'How is' instead of 'How's'. -test.md:75:1:compris.Contractions:Avoid contractions. Use 'How will' instead of 'How'll'. -test.md:78:1:compris.Contractions:Avoid contractions. Use 'I am' instead of 'I'm'. -test.md:81:1:compris.Contractions:Avoid contractions. Use 'I had' or 'I would' instead of 'I'd'. -test.md:84:1:compris.Contractions:Avoid contractions. Use 'I have' instead of 'I've'. -test.md:87:1:compris.Contractions:Avoid contractions. Use 'I will' instead of 'I'll'. -test.md:90:5:compris.Contractions:Avoid contractions. Use 'internationalization' instead of 'i18n'. -test.md:93:11:compris.Contractions:Avoid contractions. Use 'is not' instead of 'isn't'. -test.md:96:1:compris.Contractions:Avoid contractions. Use 'It had' or 'It would' instead of 'It'd'. -test.md:97:1:compris.Contractions:Avoid contractions. Use 'It had' or 'It would' instead of 'It'd'. -test.md:100:1:compris.Contractions:Avoid contractions. Use 'It is' or 'It has' instead of 'It's'. -test.md:101:1:compris.Contractions:Avoid contractions. Use 'It is' or 'It has' instead of 'It's'. -test.md:104:1:compris.Contractions:Avoid contractions. Use 'It will' or 'It shall' instead of 'It'll'. -test.md:107:8:compris.Contractions:Avoid contractions. Use 'Kubernetes' instead of 'k8s'. -test.md:110:1:compris.Contractions:Avoid contractions. Use 'Let us' instead of 'Let's'. -test.md:113:5:compris.Contractions:Avoid contractions. Use 'localization' instead of 'l10n'. -test.md:116:19:compris.Contractions:Avoid contractions. Use 'personalization' instead of 'p13n'. -test.md:119:1:compris.Contractions:Avoid contractions. Use 'She had' or 'She would' instead of 'She'd'. -test.md:120:1:compris.Contractions:Avoid contractions. Use 'She had' or 'She would' instead of 'She'd'. -test.md:123:1:compris.Contractions:Avoid contractions. Use 'She is' or 'She has' instead of 'She's'. -test.md:124:1:compris.Contractions:Avoid contractions. Use 'She is' or 'She has' instead of 'She's'. -test.md:127:1:compris.Contractions:Avoid contractions. Use 'She will' or 'She shall' instead of 'She'll'. -test.md:130:3:compris.Contractions:Avoid contractions. Use 'should have' instead of 'should've'. -test.md:133:4:compris.Contractions:Avoid contractions. Use 'should not' instead of 'shouldn't'. -test.md:136:1:compris.Contractions:Avoid contractions. Use 'Somebody had' or 'Somebody would' instead of 'Somebody'd'. -test.md:137:1:compris.Contractions:Avoid contractions. Use 'Somebody had' or 'Somebody would' instead of 'Somebody'd'. -test.md:140:1:compris.Contractions:Avoid contractions. Use 'Someone had' or 'Someone would' instead of 'Someone'd'. -test.md:141:1:compris.Contractions:Avoid contractions. Use 'Someone had' or 'Someone would' instead of 'Someone'd'. -test.md:144:12:compris.Contractions:Avoid contractions. Use 'that had' or 'that would' instead of 'that'd'. -test.md:145:1:compris.Contractions:Avoid contractions. Use 'That had' or 'That would' instead of 'That'd'. -test.md:148:1:compris.Contractions:Avoid contractions. Use 'That is' or 'That has' instead of 'That's'. -test.md:149:9:compris.Contractions:Avoid contractions. Use 'that is' or 'that has' instead of 'that's'. -test.md:152:25:compris.Contractions:Avoid contractions. Use 'that will' instead of 'that'll'. -test.md:155:19:compris.Contractions:Avoid contractions. Use 'they are' instead of 'they're'. -test.md:158:1:compris.Contractions:Avoid contractions. Use 'There would' or 'There had' instead of 'There'd'. -test.md:159:1:compris.Contractions:Avoid contractions. Use 'There would' or 'There had' instead of 'There'd'. -test.md:162:1:compris.Contractions:Avoid contractions. Use 'There is' or 'There has' instead of 'There's'. -test.md:163:1:compris.Contractions:Avoid contractions. Use 'There is' or 'There has' instead of 'There's'. -test.md:166:9:compris.Contractions:Avoid contractions. Use 'they had' or 'they would' instead of 'they'd'. -test.md:167:1:compris.Contractions:Avoid contractions. Use 'They had' or 'They would' instead of 'They'd'. -test.md:170:1:compris.Contractions:Avoid contractions. Use 'They have' instead of 'They've'. -test.md:173:34:compris.Contractions:Avoid contractions. Use 'they will' or 'they shall' instead of 'they'll'. -test.md:176:4:compris.Contractions:Avoid contractions. Use 'was not' instead of 'wasn't'. -test.md:179:1:compris.Contractions:Avoid contractions. Use 'We are' instead of 'We're'. -test.md:182:1:compris.Contractions:Avoid contractions. Use 'We have' instead of 'We've'. -test.md:185:1:compris.Contractions:Avoid contractions. Use 'We will' instead of 'We'll'. -test.md:188:1:compris.Contractions:Avoid contractions. Use 'We would' or 'We had' instead of 'We'd'. -test.md:189:1:compris.Contractions:Avoid contractions. Use 'We would' or 'We had' instead of 'We'd'. -test.md:192:11:compris.Contractions:Avoid contractions. Use 'were not' instead of 'weren't'. -test.md:195:1:compris.Contractions:Avoid contractions. Use 'What did' instead of 'What'd'. -test.md:198:1:compris.Contractions:Avoid contractions. Use 'What is' instead of 'What's'. -test.md:201:1:compris.Contractions:Avoid contractions. Use 'What will' instead of 'What'll'. -test.md:204:1:compris.Contractions:Avoid contractions. Use 'When did' instead of 'When'd'. -test.md:207:1:compris.Contractions:Avoid contractions. Use 'When is' or 'When has' instead of 'When's'. -test.md:208:1:compris.Contractions:Avoid contractions. Use 'When is' or 'When has' instead of 'When's'. -test.md:211:1:compris.Contractions:Avoid contractions. Use 'When will' instead of 'When'll'. -test.md:214:1:compris.Contractions:Avoid contractions. Use 'Where did' instead of 'Where'd'. -test.md:217:1:compris.Contractions:Avoid contractions. Use 'Where is' or 'Where has' instead of 'Where's'. -test.md:218:1:compris.Contractions:Avoid contractions. Use 'Where is' or 'Where has' instead of 'Where's'. -test.md:221:1:compris.Contractions:Avoid contractions. Use 'Where will' instead of 'Where'll'. -test.md:224:1:compris.Contractions:Avoid contractions. Use 'Which would' or 'Which had' instead of 'Which'd'. -test.md:227:1:compris.Contractions:Avoid contractions. Use 'Who had' or 'Who would' instead of 'Who'd'. -test.md:230:1:compris.Contractions:Avoid contractions. Use 'Who are' instead of 'Who're'. -test.md:233:1:compris.Contractions:Avoid contractions. Use 'Who is' or 'Who has' instead of 'Who's'. -test.md:234:1:compris.Contractions:Avoid contractions. Use 'Who is' or 'Who has' instead of 'Who's'. -test.md:237:1:compris.Contractions:Avoid contractions. Use 'Who will' instead of 'Who'll'. -test.md:240:1:compris.Contractions:Avoid contractions. Use 'Why are' instead of 'Why're'. -test.md:243:1:compris.Contractions:Avoid contractions. Use 'Why did' or 'Why would' instead of 'Why'd'. -test.md:246:1:compris.Contractions:Avoid contractions. Use 'Why is' or 'Why has' instead of 'Why's'. -test.md:249:5:compris.Contractions:Avoid contractions. Use 'will have' instead of 'will've'. -test.md:252:4:compris.Contractions:Avoid contractions. Use 'will not' instead of 'won't'. -test.md:255:12:compris.Contractions:Avoid contractions. Use 'with ' instead of 'w/'. -test.md:258:26:compris.Contractions:Avoid contractions. Use 'without' instead of 'w/o'. -test.md:261:3:compris.Contractions:Avoid contractions. Use 'would have' instead of 'would've'. -test.md:264:4:compris.Contractions:Avoid contractions. Use 'would not' instead of 'wouldn't'. -test.md:267:14:compris.Contractions:Avoid contractions. Use 'you are' instead of 'you're'. -test.md:270:1:compris.Contractions:Avoid contractions. Use 'You had' or 'You would' instead of 'You'd'. -test.md:271:4:compris.Contractions:Avoid contractions. Use 'you had' or 'you would' instead of 'you'd'. -test.md:274:7:compris.Contractions:Avoid contractions. Use 'you have' instead of 'you've'. -test.md:277:1:compris.Contractions:Avoid contractions. Use 'You will' instead of 'You'll'. diff --git a/test/expectations/Ellipsis.log b/test/expectations/Ellipsis.log deleted file mode 100644 index c919a16..0000000 --- a/test/expectations/Ellipsis.log +++ /dev/null @@ -1,2 +0,0 @@ -test.md:3:23:compris.Ellipsis:In general, don't use an ellipsis. -test.md:4:22:compris.Ellipsis:In general, don't use an ellipsis. diff --git a/test/expectations/EmDash.log b/test/expectations/EmDash.log deleted file mode 100644 index 491d0c0..0000000 --- a/test/expectations/EmDash.log +++ /dev/null @@ -1,2 +0,0 @@ -test.md:3:16:compris.EmDash:Add spaces around '—'. -test.md:3:45:compris.EmDash:Add spaces around '—'. diff --git a/test/expectations/EnDash.log b/test/expectations/EnDash.log deleted file mode 100644 index 8c80e08..0000000 --- a/test/expectations/EnDash.log +++ /dev/null @@ -1,3 +0,0 @@ -test.md:3:47:compris.EnDash:Remove the spaces around '–'. -test.md:4:31:compris.EnDash:Remove the spaces around '–'. -test.md:5:42:compris.EnDash:Remove the spaces around '–'. diff --git a/test/expectations/Latin.log b/test/expectations/Latin.log deleted file mode 100644 index 47dbcfb..0000000 --- a/test/expectations/Latin.log +++ /dev/null @@ -1,12 +0,0 @@ -test.md:4:13:compris.Latin:Avoid latin. Use 'around' or 'about' instead of 'circa'. -test.md:7:20:compris.Latin:Avoid latin. Use 'for example' instead of 'e.g.,'. -test.md:8:33:compris.Latin:Avoid latin. Use 'for example' instead of 'eg,'. -test.md:11:38:compris.Latin:Avoid latin. Use 'therefore' instead of 'ergo'. -test.md:14:8:compris.Latin:Avoid latin. Use 'and others' instead of 'et al.'. -test.md:17:38:compris.Latin:Avoid latin. Use 'and other(s)' instead of 'etc.'. -test.md:20:20:compris.Latin:Avoid latin. Use 'that is' instead of 'i.e.,'. -test.md:21:33:compris.Latin:Avoid latin. Use 'that is' instead of 'ie,'. -test.md:24:22:compris.Latin:Avoid latin. Use 'against' instead of 'vs.'. -test.md:27:26:compris.Latin:Avoid latin. Use 'against' instead of 'versus'. -test.md:30:33:compris.Latin:Avoid latin. Use 'over' or 'through' instead of 'via'. -test.md:33:31:compris.Latin:Avoid latin. Use 'namely' instead of 'viz.'. diff --git a/test/expectations/OptionalPlurals.log b/test/expectations/OptionalPlurals.log deleted file mode 100644 index 601fb0a..0000000 --- a/test/expectations/OptionalPlurals.log +++ /dev/null @@ -1,2 +0,0 @@ -test.md:3:23:compris.OptionalPlurals:Don't use plurals in parentheses such as in 'extension(s)'. -test.md:4:5:compris.OptionalPlurals:Don't use plurals in parentheses such as in 'checkbox(es)'. diff --git a/test/expectations/Ordinal.log b/test/expectations/Ordinal.log deleted file mode 100644 index b9fc9a4..0000000 --- a/test/expectations/Ordinal.log +++ /dev/null @@ -1,3 +0,0 @@ -test.md:3:1:compris.Ordinal:Don't add -ly to an ordinal number. -test.md:3:45:compris.Ordinal:Don't add -ly to an ordinal number. -test.md:3:84:compris.Ordinal:Don't add -ly to an ordinal number. diff --git a/test/expectations/OxfordComma.log b/test/expectations/OxfordComma.log deleted file mode 100644 index 1db63b0..0000000 --- a/test/expectations/OxfordComma.log +++ /dev/null @@ -1,2 +0,0 @@ -test.md:3:41:compris.OxfordComma:Use the Oxford comma in 'flour, sugar, eggs and butter.'. -test.md:5:20:compris.OxfordComma:Use the Oxford comma in 'clothes, toiletries or books?'. diff --git a/test/expectations/Percentages.log b/test/expectations/Percentages.log deleted file mode 100644 index 0bcbce5..0000000 --- a/test/expectations/Percentages.log +++ /dev/null @@ -1 +0,0 @@ -test.md:3:28:compris.Percentages:Use a numeral to represent a percentage. diff --git a/test/expectations/PreferredAlternatives.log b/test/expectations/PreferredAlternatives.log deleted file mode 100644 index 6eb6ad6..0000000 --- a/test/expectations/PreferredAlternatives.log +++ /dev/null @@ -1,3 +0,0 @@ -test.md:4:36:compris.PreferredAlternatives:Prefer using 'Zero-day' over '0-day'. -test.md:7:39:compris.PreferredAlternatives:Prefer using 'Midnight' over '12 am'. -test.md:10:30:compris.PreferredAlternatives:Prefer using 'Noon' over '12 pm'. diff --git a/test/expectations/RequiredAlternatives.log b/test/expectations/RequiredAlternatives.log deleted file mode 100644 index 8f13efe..0000000 --- a/test/expectations/RequiredAlternatives.log +++ /dev/null @@ -1,2 +0,0 @@ -test.md:4:34:compris.RequiredAlternatives:Use '24x7' instead of '24/7'. -test.md:7:19:compris.RequiredAlternatives:Use 'sync' instead of 'synch'. diff --git a/test/expectations/Semicolon.log b/test/expectations/Semicolon.log deleted file mode 100644 index 19ec4a8..0000000 --- a/test/expectations/Semicolon.log +++ /dev/null @@ -1 +0,0 @@ -test.md:3:33:compris.Semicolon:Try to simplify this sentence. diff --git a/test/expectations/SentenceLength.log b/test/expectations/SentenceLength.log deleted file mode 100644 index f26ffbd..0000000 --- a/test/expectations/SentenceLength.log +++ /dev/null @@ -1 +0,0 @@ -test.md:3:1:compris.SentenceLength:Try to keep sentences short (< 30 words). diff --git a/test/expectations/SimplerAlternatives.log b/test/expectations/SimplerAlternatives.log deleted file mode 100644 index 291e784..0000000 --- a/test/expectations/SimplerAlternatives.log +++ /dev/null @@ -1 +0,0 @@ -test.md:4:31:compris.SimplerAlternatives:Use 'about' instead of 'approximately'. diff --git a/test/expectations/Space.log b/test/expectations/Space.log deleted file mode 100644 index 434a07b..0000000 --- a/test/expectations/Space.log +++ /dev/null @@ -1,6 +0,0 @@ -test.md:3:20:compris.Space:'garden bloomed' should have one space between them. -test.md:4:35:compris.Space:'door. It' should have one space between them. -test.md:5:18:compris.Space:'melody.It' should have one space between them. -test.md:6:29:compris.Space:'ruins? They' should have one space between them. -test.md:7:32:compris.Space:', marveling' should have one space between them. -test.md:8:1:compris.Space:'Whoa! This' should have one space between them. diff --git a/test/expectations/WordRepitition.log b/test/expectations/WordRepitition.log deleted file mode 100644 index e031d71..0000000 --- a/test/expectations/WordRepitition.log +++ /dev/null @@ -1 +0,0 @@ -test.md:3:14:compris.WordRepitition:'zoom' is repeated. diff --git a/test/fixtures/AMPM/.vale.ini b/test/fixtures/AMPM/.vale.ini new file mode 100644 index 0000000..86b33c5 --- /dev/null +++ b/test/fixtures/AMPM/.vale.ini @@ -0,0 +1,6 @@ +StylesPath = ../../../ + +MinAlertLevel = suggestion + +[*.md] +Prim.AMPM = YES diff --git a/fixtures/AMPM/test.md b/test/fixtures/AMPM/test.md similarity index 100% rename from fixtures/AMPM/test.md rename to test/fixtures/AMPM/test.md diff --git a/test/fixtures/AbbreviationPeriods/.vale.ini b/test/fixtures/AbbreviationPeriods/.vale.ini new file mode 100644 index 0000000..741bca0 --- /dev/null +++ b/test/fixtures/AbbreviationPeriods/.vale.ini @@ -0,0 +1,6 @@ +StylesPath = ../../../ + +MinAlertLevel = suggestion + +[*.md] +Prim.AbbreviationPeriods = YES diff --git a/fixtures/AbbreviationPeriods/test.md b/test/fixtures/AbbreviationPeriods/test.md similarity index 100% rename from fixtures/AbbreviationPeriods/test.md rename to test/fixtures/AbbreviationPeriods/test.md diff --git a/test/fixtures/Ambiguity/.vale.ini b/test/fixtures/Ambiguity/.vale.ini new file mode 100644 index 0000000..35fab90 --- /dev/null +++ b/test/fixtures/Ambiguity/.vale.ini @@ -0,0 +1,6 @@ +StylesPath = ../../../ + +MinAlertLevel = suggestion + +[*.md] +Prim.Ambiguity = YES diff --git a/fixtures/Ambiguity/test.md b/test/fixtures/Ambiguity/test.md similarity index 100% rename from fixtures/Ambiguity/test.md rename to test/fixtures/Ambiguity/test.md diff --git a/test/fixtures/Contractions/.vale.ini b/test/fixtures/Contractions/.vale.ini new file mode 100644 index 0000000..07f12f6 --- /dev/null +++ b/test/fixtures/Contractions/.vale.ini @@ -0,0 +1,6 @@ +StylesPath = ../../../ + +MinAlertLevel = suggestion + +[*.md] +Prim.Contractions = YES diff --git a/fixtures/Contractions/test.md b/test/fixtures/Contractions/test.md similarity index 100% rename from fixtures/Contractions/test.md rename to test/fixtures/Contractions/test.md diff --git a/test/fixtures/Ellipsis/.vale.ini b/test/fixtures/Ellipsis/.vale.ini new file mode 100644 index 0000000..dbcf21d --- /dev/null +++ b/test/fixtures/Ellipsis/.vale.ini @@ -0,0 +1,6 @@ +StylesPath = ../../../ + +MinAlertLevel = suggestion + +[*.md] +Prim.Ellipsis = YES diff --git a/fixtures/Ellipsis/test.md b/test/fixtures/Ellipsis/test.md similarity index 100% rename from fixtures/Ellipsis/test.md rename to test/fixtures/Ellipsis/test.md diff --git a/test/fixtures/EmDash/.vale.ini b/test/fixtures/EmDash/.vale.ini new file mode 100644 index 0000000..71b02ea --- /dev/null +++ b/test/fixtures/EmDash/.vale.ini @@ -0,0 +1,6 @@ +StylesPath = ../../../ + +MinAlertLevel = suggestion + +[*.md] +Prim.EmDash = YES diff --git a/fixtures/EmDash/test.md b/test/fixtures/EmDash/test.md similarity index 100% rename from fixtures/EmDash/test.md rename to test/fixtures/EmDash/test.md diff --git a/test/fixtures/EnDash/.vale.ini b/test/fixtures/EnDash/.vale.ini new file mode 100644 index 0000000..a5e55cd --- /dev/null +++ b/test/fixtures/EnDash/.vale.ini @@ -0,0 +1,6 @@ +StylesPath = ../../../ + +MinAlertLevel = suggestion + +[*.md] +Prim.EnDash = YES diff --git a/fixtures/EnDash/test.md b/test/fixtures/EnDash/test.md similarity index 100% rename from fixtures/EnDash/test.md rename to test/fixtures/EnDash/test.md diff --git a/test/fixtures/Latin/.vale.ini b/test/fixtures/Latin/.vale.ini new file mode 100644 index 0000000..bd23622 --- /dev/null +++ b/test/fixtures/Latin/.vale.ini @@ -0,0 +1,6 @@ +StylesPath = ../../../ + +MinAlertLevel = suggestion + +[*.md] +Prim.Latin = YES diff --git a/fixtures/Latin/test.md b/test/fixtures/Latin/test.md similarity index 100% rename from fixtures/Latin/test.md rename to test/fixtures/Latin/test.md diff --git a/test/fixtures/OptionalPlurals/.vale.ini b/test/fixtures/OptionalPlurals/.vale.ini new file mode 100644 index 0000000..453c829 --- /dev/null +++ b/test/fixtures/OptionalPlurals/.vale.ini @@ -0,0 +1,6 @@ +StylesPath = ../../../ + +MinAlertLevel = suggestion + +[*.md] +Prim.OptionalPlurals = YES diff --git a/fixtures/OptionalPlurals/test.md b/test/fixtures/OptionalPlurals/test.md similarity index 100% rename from fixtures/OptionalPlurals/test.md rename to test/fixtures/OptionalPlurals/test.md diff --git a/test/fixtures/Ordinal/.vale.ini b/test/fixtures/Ordinal/.vale.ini new file mode 100644 index 0000000..1d018c4 --- /dev/null +++ b/test/fixtures/Ordinal/.vale.ini @@ -0,0 +1,6 @@ +StylesPath = ../../../ + +MinAlertLevel = suggestion + +[*.md] +Prim.Ordinal = YES diff --git a/fixtures/Ordinal/test.md b/test/fixtures/Ordinal/test.md similarity index 100% rename from fixtures/Ordinal/test.md rename to test/fixtures/Ordinal/test.md diff --git a/test/fixtures/OxfordComma/.vale.ini b/test/fixtures/OxfordComma/.vale.ini new file mode 100644 index 0000000..c4c905e --- /dev/null +++ b/test/fixtures/OxfordComma/.vale.ini @@ -0,0 +1,6 @@ +StylesPath = ../../../ + +MinAlertLevel = suggestion + +[*.md] +Prim.OxfordComma = YES diff --git a/fixtures/OxfordComma/test.md b/test/fixtures/OxfordComma/test.md similarity index 100% rename from fixtures/OxfordComma/test.md rename to test/fixtures/OxfordComma/test.md diff --git a/test/fixtures/Percentages/.vale.ini b/test/fixtures/Percentages/.vale.ini new file mode 100644 index 0000000..18f2671 --- /dev/null +++ b/test/fixtures/Percentages/.vale.ini @@ -0,0 +1,6 @@ +StylesPath = ../../../ + +MinAlertLevel = suggestion + +[*.md] +Prim.Percentages = YES diff --git a/fixtures/Percentages/test.md b/test/fixtures/Percentages/test.md similarity index 100% rename from fixtures/Percentages/test.md rename to test/fixtures/Percentages/test.md diff --git a/test/fixtures/PreferredAlternatives/.vale.ini b/test/fixtures/PreferredAlternatives/.vale.ini new file mode 100644 index 0000000..2b946ad --- /dev/null +++ b/test/fixtures/PreferredAlternatives/.vale.ini @@ -0,0 +1,6 @@ +StylesPath = ../../../ + +MinAlertLevel = suggestion + +[*.md] +Prim.PreferredAlternatives = YES diff --git a/fixtures/PreferredAlternatives/test.md b/test/fixtures/PreferredAlternatives/test.md similarity index 75% rename from fixtures/PreferredAlternatives/test.md rename to test/fixtures/PreferredAlternatives/test.md index 8c1a78d..f81d0f3 100644 --- a/fixtures/PreferredAlternatives/test.md +++ b/test/fixtures/PreferredAlternatives/test.md @@ -8,3 +8,6 @@ Our online support is available until 12 am. Please submit your report by 12 pm tomorrow. + + +I contributed a new feature to an open-source project. diff --git a/test/fixtures/RequiredAlternatives/.vale.ini b/test/fixtures/RequiredAlternatives/.vale.ini new file mode 100644 index 0000000..dbef0ae --- /dev/null +++ b/test/fixtures/RequiredAlternatives/.vale.ini @@ -0,0 +1,6 @@ +StylesPath = ../../../ + +MinAlertLevel = suggestion + +[*.md] +Prim.RequiredAlternatives = YES diff --git a/test/fixtures/RequiredAlternatives/test.md b/test/fixtures/RequiredAlternatives/test.md new file mode 100644 index 0000000..f6f6e10 --- /dev/null +++ b/test/fixtures/RequiredAlternatives/test.md @@ -0,0 +1,21 @@ +# Required Alternatives + + +Our emergency hotline is staffed 24/7 for immediate assistance. + + +The movie was stunning in 3-D. + + +The web developer used Ajax to create a dynamic search feature on the website. + + +The camera's autodetect recognizes faces and adjusts focus accordingly. + + +The team needs to synch their schedules for the upcoming meeting. + + +Share the video url to let others view it online. +The URL for the image file is embedded in the HTML code of the webpage. +Hover on an URL to preview the page. diff --git a/test/fixtures/Semicolon/.vale.ini b/test/fixtures/Semicolon/.vale.ini new file mode 100644 index 0000000..e3b3e75 --- /dev/null +++ b/test/fixtures/Semicolon/.vale.ini @@ -0,0 +1,6 @@ +StylesPath = ../../../ + +MinAlertLevel = suggestion + +[*.md] +Prim.Semicolon = YES diff --git a/fixtures/Semicolon/test.md b/test/fixtures/Semicolon/test.md similarity index 100% rename from fixtures/Semicolon/test.md rename to test/fixtures/Semicolon/test.md diff --git a/test/fixtures/SentenceLength/.vale.ini b/test/fixtures/SentenceLength/.vale.ini new file mode 100644 index 0000000..a1e412b --- /dev/null +++ b/test/fixtures/SentenceLength/.vale.ini @@ -0,0 +1,6 @@ +StylesPath = ../../../ + +MinAlertLevel = suggestion + +[*.md] +Prim.SentenceLength = YES diff --git a/fixtures/SentenceLength/test.md b/test/fixtures/SentenceLength/test.md similarity index 100% rename from fixtures/SentenceLength/test.md rename to test/fixtures/SentenceLength/test.md diff --git a/test/fixtures/SimplerAlternatives/.vale.ini b/test/fixtures/SimplerAlternatives/.vale.ini new file mode 100644 index 0000000..991affc --- /dev/null +++ b/test/fixtures/SimplerAlternatives/.vale.ini @@ -0,0 +1,6 @@ +StylesPath = ../../../ + +MinAlertLevel = suggestion + +[*.md] +Prim.SimplerAlternatives = YES diff --git a/fixtures/SimplerAlternatives/test.md b/test/fixtures/SimplerAlternatives/test.md similarity index 100% rename from fixtures/SimplerAlternatives/test.md rename to test/fixtures/SimplerAlternatives/test.md diff --git a/test/fixtures/Space/.vale.ini b/test/fixtures/Space/.vale.ini new file mode 100644 index 0000000..e14824e --- /dev/null +++ b/test/fixtures/Space/.vale.ini @@ -0,0 +1,6 @@ +StylesPath = ../../../ + +MinAlertLevel = suggestion + +[*.md] +Prim.Space = YES diff --git a/fixtures/Space/test.md b/test/fixtures/Space/test.md similarity index 100% rename from fixtures/Space/test.md rename to test/fixtures/Space/test.md diff --git a/test/fixtures/WordRepitition/.vale.ini b/test/fixtures/WordRepitition/.vale.ini new file mode 100644 index 0000000..6812fed --- /dev/null +++ b/test/fixtures/WordRepitition/.vale.ini @@ -0,0 +1,6 @@ +StylesPath = ../../../ + +MinAlertLevel = suggestion + +[*.md] +Prim.WordRepitition = YES diff --git a/fixtures/WordRepitition/test.md b/test/fixtures/WordRepitition/test.md similarity index 100% rename from fixtures/WordRepitition/test.md rename to test/fixtures/WordRepitition/test.md diff --git a/test/rules.parameters.js b/test/rules.parameters.js index 90b101a..8dd791b 100644 --- a/test/rules.parameters.js +++ b/test/rules.parameters.js @@ -1,27 +1,17 @@ import fs from "fs"; import path from "path"; -function* walkSync(dir) { - const files = fs.readdirSync(dir, { withFileTypes: true }); - for (const file of files) { - if (file.isDirectory()) { - yield* walkSync(path.join(dir, file.name)); - } else { - yield path.join(dir, file.name); - } - } -} +const testDirectory = "test"; +const fixturesDirectory = "fixtures"; -const dir = path.resolve(process.cwd(), "test", "expectations"); -const extension = ".log"; -const parameters = []; +const fixturesRoot = path.resolve(process.cwd(), testDirectory, fixturesDirectory); +const parameters = fs.readdirSync(fixturesRoot, { + withFileTypes: false, + recursive: false +}).map(fpath => path.basename(fpath)); -for (const filePath of walkSync(dir)) { - if (path.extname(filePath).toLowerCase() === extension) { - const fileName = path.basename(filePath).replace(extension, ""); - const fileContent = fs.readFileSync(filePath).toString().trim(); - parameters.push([fileName, fileContent]); - } -} - -export default parameters; +export { + parameters as default, + testDirectory, + fixturesDirectory +}; diff --git a/test/rules.test.js b/test/rules.test.js index 151f20a..b8e225b 100644 --- a/test/rules.test.js +++ b/test/rules.test.js @@ -1,7 +1,7 @@ import path from "path"; import { execa } from "execa"; -import { expect, test } from "vitest"; -import scenario from "./rules.parameters.js"; +import { expect, it } from "vitest"; +import scenario, { testDirectory, fixturesDirectory } from "./rules.parameters.js"; const command = "vale"; const args = [ @@ -11,17 +11,18 @@ const args = [ "--relative", "test.md" ] -const fixturesDirectory = "fixtures"; +const snapshotsDirectory = "snapshots"; -test.each(scenario)(`Test: %s`, async (rule, expected) => { +it.each(scenario)(`Test: %s`, async (rule) => { let result; try { - const cwd = path.resolve(process.cwd(), fixturesDirectory, rule); - const output = await execa(command, args, { cwd: cwd }); + const fixtureLocation = path.resolve(process.cwd(), testDirectory, fixturesDirectory, rule); + const output = await execa(command, args, { cwd: fixtureLocation }); result = output.stdout; } catch (error) { result = error.stdout; } - expect.soft(result.trim()).toBe(expected); + const snapshotFile = path.resolve(process.cwd(), testDirectory, snapshotsDirectory, `${rule}.log`); + await expect(result).toMatchFileSnapshot(snapshotFile); }); diff --git a/test/snapshots/AMPM.log b/test/snapshots/AMPM.log new file mode 100644 index 0000000..8354685 --- /dev/null +++ b/test/snapshots/AMPM.log @@ -0,0 +1,5 @@ +test.md:3:24:Prim.AMPM:Use 'am' or 'pm' else 'a.m.' or 'p.m.' (preceded by a space). +test.md:4:33:Prim.AMPM:Use 'am' or 'pm' else 'a.m.' or 'p.m.' (preceded by a space). +test.md:4:41:Prim.AMPM:Use 'am' or 'pm' else 'a.m.' or 'p.m.' (preceded by a space). +test.md:5:33:Prim.AMPM:Use 'am' or 'pm' else 'a.m.' or 'p.m.' (preceded by a space). +test.md:6:30:Prim.AMPM:Use 'am' or 'pm' else 'a.m.' or 'p.m.' (preceded by a space). \ No newline at end of file diff --git a/test/snapshots/AbbreviationPeriods.log b/test/snapshots/AbbreviationPeriods.log new file mode 100644 index 0000000..691f91b --- /dev/null +++ b/test/snapshots/AbbreviationPeriods.log @@ -0,0 +1 @@ +test.md:3:45:Prim.AbbreviationPeriods:Don't use periods with abbreviations such as 'H.T.T.P.S.'. \ No newline at end of file diff --git a/test/snapshots/Ambiguity.log b/test/snapshots/Ambiguity.log new file mode 100644 index 0000000..a342561 --- /dev/null +++ b/test/snapshots/Ambiguity.log @@ -0,0 +1 @@ +test.md:3:49:Prim.Ambiguity:Avoid ambiguity. Don't use 'and/or'. \ No newline at end of file diff --git a/test/snapshots/Contractions.log b/test/snapshots/Contractions.log new file mode 100644 index 0000000..36131d2 --- /dev/null +++ b/test/snapshots/Contractions.log @@ -0,0 +1,106 @@ +test.md:4:48:Prim.Contractions:Avoid contractions. Use 'accessibility' instead of 'a11y'. +test.md:7:13:Prim.Contractions:Avoid contractions. Use 'or' or 'also known as' instead of 'aka'. +test.md:8:28:Prim.Contractions:Avoid contractions. Use 'or' or 'also known as' instead of 'a.k.a'. +test.md:11:24:Prim.Contractions:Avoid contractions. Use 'are not' instead of 'aren't'. +test.md:14:27:Prim.Contractions:Avoid contractions. Use 'authentication' instead of 'authN'. +test.md:17:12:Prim.Contractions:Avoid contractions. Use 'authorization' instead of 'authZ'. +test.md:20:3:Prim.Contractions:Avoid contractions. Use 'cannot' instead of 'can't'. +test.md:23:3:Prim.Contractions:Avoid contractions. Use 'could have' instead of 'could've'. +test.md:26:5:Prim.Contractions:Avoid contractions. Use 'could not' instead of 'couldn't'. +test.md:29:4:Prim.Contractions:Avoid contractions. Use 'did not' instead of 'didn't'. +test.md:32:3:Prim.Contractions:Avoid contractions. Use 'do not' instead of 'don't'. +test.md:35:26:Prim.Contractions:Avoid contractions. Use 'does not' instead of 'doesn't'. +test.md:38:11:Prim.Contractions:Avoid contractions. Use 'globalization' instead of 'g11n'. +test.md:41:4:Prim.Contractions:Avoid contractions. Use 'had not' instead of 'hadn't'. +test.md:44:13:Prim.Contractions:Avoid contractions. Use 'has not' instead of 'hasn't'. +test.md:46:6:Prim.Contractions:Avoid contractions. Use 'have not' instead of 'haven't'. +test.md:50:1:Prim.Contractions:Avoid contractions. Use 'He had' or 'He would' instead of 'He'd'. +test.md:51:1:Prim.Contractions:Avoid contractions. Use 'He had' or 'He would' instead of 'He'd'. +test.md:54:1:Prim.Contractions:Avoid contractions. Use 'He is' or 'He has' instead of 'He's'. +test.md:55:1:Prim.Contractions:Avoid contractions. Use 'He is' or 'He has' instead of 'He's'. +test.md:58:1:Prim.Contractions:Avoid contractions. Use 'He will' or 'He shall' instead of 'He'll'. +test.md:61:1:Prim.Contractions:Avoid contractions. Use 'Here had' or 'Here would' instead of 'Here'd'. +test.md:62:1:Prim.Contractions:Avoid contractions. Use 'Here had' or 'Here would' instead of 'Here'd'. +test.md:65:1:Prim.Contractions:Avoid contractions. Use 'Here is' or 'Here has' instead of 'Here's'. +test.md:68:1:Prim.Contractions:Avoid contractions. Use 'How did' or 'How would' instead of 'How'd'. +test.md:69:1:Prim.Contractions:Avoid contractions. Use 'How did' or 'How would' instead of 'How'd'. +test.md:72:1:Prim.Contractions:Avoid contractions. Use 'How is' instead of 'How's'. +test.md:75:1:Prim.Contractions:Avoid contractions. Use 'How will' instead of 'How'll'. +test.md:78:1:Prim.Contractions:Avoid contractions. Use 'I am' instead of 'I'm'. +test.md:81:1:Prim.Contractions:Avoid contractions. Use 'I had' or 'I would' instead of 'I'd'. +test.md:84:1:Prim.Contractions:Avoid contractions. Use 'I have' instead of 'I've'. +test.md:87:1:Prim.Contractions:Avoid contractions. Use 'I will' instead of 'I'll'. +test.md:90:5:Prim.Contractions:Avoid contractions. Use 'internationalization' instead of 'i18n'. +test.md:93:11:Prim.Contractions:Avoid contractions. Use 'is not' instead of 'isn't'. +test.md:96:1:Prim.Contractions:Avoid contractions. Use 'It had' or 'It would' instead of 'It'd'. +test.md:97:1:Prim.Contractions:Avoid contractions. Use 'It had' or 'It would' instead of 'It'd'. +test.md:100:1:Prim.Contractions:Avoid contractions. Use 'It is' or 'It has' instead of 'It's'. +test.md:101:1:Prim.Contractions:Avoid contractions. Use 'It is' or 'It has' instead of 'It's'. +test.md:104:1:Prim.Contractions:Avoid contractions. Use 'It will' or 'It shall' instead of 'It'll'. +test.md:107:8:Prim.Contractions:Avoid contractions. Use 'Kubernetes' instead of 'k8s'. +test.md:110:1:Prim.Contractions:Avoid contractions. Use 'Let us' instead of 'Let's'. +test.md:113:5:Prim.Contractions:Avoid contractions. Use 'localization' instead of 'l10n'. +test.md:116:19:Prim.Contractions:Avoid contractions. Use 'personalization' instead of 'p13n'. +test.md:119:1:Prim.Contractions:Avoid contractions. Use 'She had' or 'She would' instead of 'She'd'. +test.md:120:1:Prim.Contractions:Avoid contractions. Use 'She had' or 'She would' instead of 'She'd'. +test.md:123:1:Prim.Contractions:Avoid contractions. Use 'She is' or 'She has' instead of 'She's'. +test.md:124:1:Prim.Contractions:Avoid contractions. Use 'She is' or 'She has' instead of 'She's'. +test.md:127:1:Prim.Contractions:Avoid contractions. Use 'She will' or 'She shall' instead of 'She'll'. +test.md:130:3:Prim.Contractions:Avoid contractions. Use 'should have' instead of 'should've'. +test.md:133:4:Prim.Contractions:Avoid contractions. Use 'should not' instead of 'shouldn't'. +test.md:136:1:Prim.Contractions:Avoid contractions. Use 'Somebody had' or 'Somebody would' instead of 'Somebody'd'. +test.md:137:1:Prim.Contractions:Avoid contractions. Use 'Somebody had' or 'Somebody would' instead of 'Somebody'd'. +test.md:140:1:Prim.Contractions:Avoid contractions. Use 'Someone had' or 'Someone would' instead of 'Someone'd'. +test.md:141:1:Prim.Contractions:Avoid contractions. Use 'Someone had' or 'Someone would' instead of 'Someone'd'. +test.md:144:12:Prim.Contractions:Avoid contractions. Use 'that had' or 'that would' instead of 'that'd'. +test.md:145:1:Prim.Contractions:Avoid contractions. Use 'That had' or 'That would' instead of 'That'd'. +test.md:148:1:Prim.Contractions:Avoid contractions. Use 'That is' or 'That has' instead of 'That's'. +test.md:149:9:Prim.Contractions:Avoid contractions. Use 'that is' or 'that has' instead of 'that's'. +test.md:152:25:Prim.Contractions:Avoid contractions. Use 'that will' instead of 'that'll'. +test.md:155:19:Prim.Contractions:Avoid contractions. Use 'they are' instead of 'they're'. +test.md:158:1:Prim.Contractions:Avoid contractions. Use 'There would' or 'There had' instead of 'There'd'. +test.md:159:1:Prim.Contractions:Avoid contractions. Use 'There would' or 'There had' instead of 'There'd'. +test.md:162:1:Prim.Contractions:Avoid contractions. Use 'There is' or 'There has' instead of 'There's'. +test.md:163:1:Prim.Contractions:Avoid contractions. Use 'There is' or 'There has' instead of 'There's'. +test.md:166:9:Prim.Contractions:Avoid contractions. Use 'they had' or 'they would' instead of 'they'd'. +test.md:167:1:Prim.Contractions:Avoid contractions. Use 'They had' or 'They would' instead of 'They'd'. +test.md:170:1:Prim.Contractions:Avoid contractions. Use 'They have' instead of 'They've'. +test.md:173:34:Prim.Contractions:Avoid contractions. Use 'they will' or 'they shall' instead of 'they'll'. +test.md:176:4:Prim.Contractions:Avoid contractions. Use 'was not' instead of 'wasn't'. +test.md:179:1:Prim.Contractions:Avoid contractions. Use 'We are' instead of 'We're'. +test.md:182:1:Prim.Contractions:Avoid contractions. Use 'We have' instead of 'We've'. +test.md:185:1:Prim.Contractions:Avoid contractions. Use 'We will' instead of 'We'll'. +test.md:188:1:Prim.Contractions:Avoid contractions. Use 'We would' or 'We had' instead of 'We'd'. +test.md:189:1:Prim.Contractions:Avoid contractions. Use 'We would' or 'We had' instead of 'We'd'. +test.md:192:11:Prim.Contractions:Avoid contractions. Use 'were not' instead of 'weren't'. +test.md:195:1:Prim.Contractions:Avoid contractions. Use 'What did' instead of 'What'd'. +test.md:198:1:Prim.Contractions:Avoid contractions. Use 'What is' instead of 'What's'. +test.md:201:1:Prim.Contractions:Avoid contractions. Use 'What will' instead of 'What'll'. +test.md:204:1:Prim.Contractions:Avoid contractions. Use 'When did' instead of 'When'd'. +test.md:207:1:Prim.Contractions:Avoid contractions. Use 'When is' or 'When has' instead of 'When's'. +test.md:208:1:Prim.Contractions:Avoid contractions. Use 'When is' or 'When has' instead of 'When's'. +test.md:211:1:Prim.Contractions:Avoid contractions. Use 'When will' instead of 'When'll'. +test.md:214:1:Prim.Contractions:Avoid contractions. Use 'Where did' instead of 'Where'd'. +test.md:217:1:Prim.Contractions:Avoid contractions. Use 'Where is' or 'Where has' instead of 'Where's'. +test.md:218:1:Prim.Contractions:Avoid contractions. Use 'Where is' or 'Where has' instead of 'Where's'. +test.md:221:1:Prim.Contractions:Avoid contractions. Use 'Where will' instead of 'Where'll'. +test.md:224:1:Prim.Contractions:Avoid contractions. Use 'Which would' or 'Which had' instead of 'Which'd'. +test.md:227:1:Prim.Contractions:Avoid contractions. Use 'Who had' or 'Who would' instead of 'Who'd'. +test.md:230:1:Prim.Contractions:Avoid contractions. Use 'Who are' instead of 'Who're'. +test.md:233:1:Prim.Contractions:Avoid contractions. Use 'Who is' or 'Who has' instead of 'Who's'. +test.md:234:1:Prim.Contractions:Avoid contractions. Use 'Who is' or 'Who has' instead of 'Who's'. +test.md:237:1:Prim.Contractions:Avoid contractions. Use 'Who will' instead of 'Who'll'. +test.md:240:1:Prim.Contractions:Avoid contractions. Use 'Why are' instead of 'Why're'. +test.md:243:1:Prim.Contractions:Avoid contractions. Use 'Why did' or 'Why would' instead of 'Why'd'. +test.md:246:1:Prim.Contractions:Avoid contractions. Use 'Why is' or 'Why has' instead of 'Why's'. +test.md:249:5:Prim.Contractions:Avoid contractions. Use 'will have' instead of 'will've'. +test.md:252:4:Prim.Contractions:Avoid contractions. Use 'will not' instead of 'won't'. +test.md:255:12:Prim.Contractions:Avoid contractions. Use 'with ' instead of 'w/'. +test.md:258:26:Prim.Contractions:Avoid contractions. Use 'without' instead of 'w/o'. +test.md:261:3:Prim.Contractions:Avoid contractions. Use 'would have' instead of 'would've'. +test.md:264:4:Prim.Contractions:Avoid contractions. Use 'would not' instead of 'wouldn't'. +test.md:267:14:Prim.Contractions:Avoid contractions. Use 'you are' instead of 'you're'. +test.md:270:1:Prim.Contractions:Avoid contractions. Use 'You had' or 'You would' instead of 'You'd'. +test.md:271:4:Prim.Contractions:Avoid contractions. Use 'you had' or 'you would' instead of 'you'd'. +test.md:274:7:Prim.Contractions:Avoid contractions. Use 'you have' instead of 'you've'. +test.md:277:1:Prim.Contractions:Avoid contractions. Use 'You will' instead of 'You'll'. \ No newline at end of file diff --git a/test/snapshots/Ellipsis.log b/test/snapshots/Ellipsis.log new file mode 100644 index 0000000..4e5e2d0 --- /dev/null +++ b/test/snapshots/Ellipsis.log @@ -0,0 +1,2 @@ +test.md:3:23:Prim.Ellipsis:In general, don't use an ellipsis. +test.md:4:22:Prim.Ellipsis:In general, don't use an ellipsis. \ No newline at end of file diff --git a/test/snapshots/EmDash.log b/test/snapshots/EmDash.log new file mode 100644 index 0000000..86f4d31 --- /dev/null +++ b/test/snapshots/EmDash.log @@ -0,0 +1,2 @@ +test.md:3:16:Prim.EmDash:Add spaces around '—'. +test.md:3:45:Prim.EmDash:Add spaces around '—'. \ No newline at end of file diff --git a/test/snapshots/EnDash.log b/test/snapshots/EnDash.log new file mode 100644 index 0000000..f54de6b --- /dev/null +++ b/test/snapshots/EnDash.log @@ -0,0 +1,3 @@ +test.md:3:47:Prim.EnDash:Remove the spaces around '–'. +test.md:4:31:Prim.EnDash:Remove the spaces around '–'. +test.md:5:42:Prim.EnDash:Remove the spaces around '–'. \ No newline at end of file diff --git a/test/snapshots/Latin.log b/test/snapshots/Latin.log new file mode 100644 index 0000000..94e61d6 --- /dev/null +++ b/test/snapshots/Latin.log @@ -0,0 +1,12 @@ +test.md:4:13:Prim.Latin:Avoid latin. Use 'around' or 'about' instead of 'circa'. +test.md:7:20:Prim.Latin:Avoid latin. Use 'for example' instead of 'e.g.,'. +test.md:8:33:Prim.Latin:Avoid latin. Use 'for example' instead of 'eg,'. +test.md:11:38:Prim.Latin:Avoid latin. Use 'therefore' instead of 'ergo'. +test.md:14:8:Prim.Latin:Avoid latin. Use 'and others' instead of 'et al.'. +test.md:17:38:Prim.Latin:Avoid latin. Use 'and other(s)' instead of 'etc.'. +test.md:20:20:Prim.Latin:Avoid latin. Use 'that is' instead of 'i.e.,'. +test.md:21:33:Prim.Latin:Avoid latin. Use 'that is' instead of 'ie,'. +test.md:24:22:Prim.Latin:Avoid latin. Use 'against' instead of 'vs.'. +test.md:27:26:Prim.Latin:Avoid latin. Use 'against' instead of 'versus'. +test.md:30:33:Prim.Latin:Avoid latin. Use 'over' or 'through' instead of 'via'. +test.md:33:31:Prim.Latin:Avoid latin. Use 'namely' instead of 'viz.'. \ No newline at end of file diff --git a/test/snapshots/OptionalPlurals.log b/test/snapshots/OptionalPlurals.log new file mode 100644 index 0000000..194ca3a --- /dev/null +++ b/test/snapshots/OptionalPlurals.log @@ -0,0 +1,2 @@ +test.md:3:23:Prim.OptionalPlurals:Don't use plurals in parentheses such as in 'extension(s)'. +test.md:4:5:Prim.OptionalPlurals:Don't use plurals in parentheses such as in 'checkbox(es)'. \ No newline at end of file diff --git a/test/snapshots/Ordinal.log b/test/snapshots/Ordinal.log new file mode 100644 index 0000000..0faefe0 --- /dev/null +++ b/test/snapshots/Ordinal.log @@ -0,0 +1,3 @@ +test.md:3:1:Prim.Ordinal:Don't add -ly to an ordinal number. +test.md:3:45:Prim.Ordinal:Don't add -ly to an ordinal number. +test.md:3:84:Prim.Ordinal:Don't add -ly to an ordinal number. \ No newline at end of file diff --git a/test/snapshots/OxfordComma.log b/test/snapshots/OxfordComma.log new file mode 100644 index 0000000..e19f302 --- /dev/null +++ b/test/snapshots/OxfordComma.log @@ -0,0 +1,2 @@ +test.md:3:41:Prim.OxfordComma:Use the Oxford comma in 'flour, sugar, eggs and butter.'. +test.md:5:20:Prim.OxfordComma:Use the Oxford comma in 'clothes, toiletries or books?'. \ No newline at end of file diff --git a/test/snapshots/Percentages.log b/test/snapshots/Percentages.log new file mode 100644 index 0000000..5243d4f --- /dev/null +++ b/test/snapshots/Percentages.log @@ -0,0 +1 @@ +test.md:3:28:Prim.Percentages:Use a numeral to represent a percentage. \ No newline at end of file diff --git a/test/snapshots/PreferredAlternatives.log b/test/snapshots/PreferredAlternatives.log new file mode 100644 index 0000000..297d767 --- /dev/null +++ b/test/snapshots/PreferredAlternatives.log @@ -0,0 +1,4 @@ +test.md:4:36:Prim.PreferredAlternatives:Prefer using 'Zero-day' over '0-day'. +test.md:7:39:Prim.PreferredAlternatives:Prefer using 'Midnight' over '12 am'. +test.md:10:30:Prim.PreferredAlternatives:Prefer using 'Noon' over '12 pm'. +test.md:13:35:Prim.PreferredAlternatives:Prefer using 'open source' over 'open-source'. \ No newline at end of file diff --git a/test/snapshots/RequiredAlternatives.log b/test/snapshots/RequiredAlternatives.log new file mode 100644 index 0000000..8973c10 --- /dev/null +++ b/test/snapshots/RequiredAlternatives.log @@ -0,0 +1,8 @@ +test.md:4:34:Prim.RequiredAlternatives:Use '24x7' instead of '24/7'. +test.md:7:27:Prim.RequiredAlternatives:Use '3D' instead of '3-D'. +test.md:10:24:Prim.RequiredAlternatives:Use 'AJAX' instead of 'Ajax'. +test.md:13:14:Prim.RequiredAlternatives:Use 'auto-detect' instead of 'autodetect'. +test.md:16:19:Prim.RequiredAlternatives:Use 'sync' instead of 'synch'. +test.md:19:17:Prim.RequiredAlternatives:Use 'URL' instead of 'url'. +test.md:20:5:Prim.RequiredAlternatives:Use 'URL of' instead of 'URL for'. +test.md:21:10:Prim.RequiredAlternatives:Use 'a URL' instead of 'an URL'. \ No newline at end of file diff --git a/test/snapshots/Semicolon.log b/test/snapshots/Semicolon.log new file mode 100644 index 0000000..d50175a --- /dev/null +++ b/test/snapshots/Semicolon.log @@ -0,0 +1 @@ +test.md:3:33:Prim.Semicolon:Try to simplify this sentence. \ No newline at end of file diff --git a/test/snapshots/SentenceLength.log b/test/snapshots/SentenceLength.log new file mode 100644 index 0000000..11ecb80 --- /dev/null +++ b/test/snapshots/SentenceLength.log @@ -0,0 +1 @@ +test.md:3:1:Prim.SentenceLength:Try to keep sentences short (< 30 words). \ No newline at end of file diff --git a/test/snapshots/SimplerAlternatives.log b/test/snapshots/SimplerAlternatives.log new file mode 100644 index 0000000..8168562 --- /dev/null +++ b/test/snapshots/SimplerAlternatives.log @@ -0,0 +1 @@ +test.md:4:31:Prim.SimplerAlternatives:Use 'about' instead of 'approximately'. \ No newline at end of file diff --git a/test/snapshots/Space.log b/test/snapshots/Space.log new file mode 100644 index 0000000..d298b4f --- /dev/null +++ b/test/snapshots/Space.log @@ -0,0 +1,6 @@ +test.md:3:20:Prim.Space:'garden bloomed' should have one space between them. +test.md:4:35:Prim.Space:'door. It' should have one space between them. +test.md:5:18:Prim.Space:'melody.It' should have one space between them. +test.md:6:29:Prim.Space:'ruins? They' should have one space between them. +test.md:7:32:Prim.Space:', marveling' should have one space between them. +test.md:8:1:Prim.Space:'Whoa! This' should have one space between them. \ No newline at end of file diff --git a/test/snapshots/WordRepitition.log b/test/snapshots/WordRepitition.log new file mode 100644 index 0000000..9bb4b17 --- /dev/null +++ b/test/snapshots/WordRepitition.log @@ -0,0 +1 @@ +test.md:3:14:Prim.WordRepitition:'zoom' is repeated. \ No newline at end of file