Commit graph

3090 commits

Author SHA1 Message Date
Elijah Potter
a89fc3dcf5 Release 0.48.0
Some checks failed
Build Binaries / Release harper-cli - macOS-aarch64 (push) Has been cancelled
Build Binaries / Release harper-cli - Linux-aarch64-GNU (push) Has been cancelled
Build Binaries / Release harper-cli - Linux-aarch64-musl (push) Has been cancelled
Build Binaries / Release harper-cli - macOS-x86_64 (push) Has been cancelled
Build Binaries / Release harper-cli - Linux-x86_64-GNU (push) Has been cancelled
Build Binaries / Release harper-cli - Linux-x86_64-musl (push) Has been cancelled
Build Binaries / Release harper-cli - Windows-x86_64 (push) Has been cancelled
Build Binaries / Release harper-ls - macOS-aarch64 (push) Has been cancelled
Build Binaries / Release harper-ls - Linux-aarch64-GNU (push) Has been cancelled
Build Binaries / Release harper-ls - Linux-aarch64-musl (push) Has been cancelled
Build Binaries / Release harper-ls - macOS-x86_64 (push) Has been cancelled
Build Binaries / Release harper-ls - Linux-x86_64-GNU (push) Has been cancelled
Build Binaries / Release harper-ls - Linux-x86_64-musl (push) Has been cancelled
Build Binaries / Release harper-ls - Windows-x86_64 (push) Has been cancelled
Build Web / build (push) Has been cancelled
Package VS Code Plugin / Package - darwin-arm64 (push) Has been cancelled
Package VS Code Plugin / Package - darwin-x64 (push) Has been cancelled
Package VS Code Plugin / Package - linux-arm64 (push) Has been cancelled
Package VS Code Plugin / Package - linux-x64 (push) Has been cancelled
Package VS Code Plugin / Package - win32-x64 (push) Has been cancelled
Build Chrome Plugin / package (push) Has been cancelled
Package WordPress Plugin / package (push) Has been cancelled
Precommit / precommit (push) Has been cancelled
harper-brill@0.48.0
harper-comments@0.48.0
harper-core@0.48.0
harper-html@0.48.0
harper-literate-haskell@0.48.0
harper-ls@0.48.0
harper-pos-utils@0.48.0
harper-stats@0.48.0
harper-tree-sitter@0.48.0
harper-typst@0.48.0

Generated by cargo-workspaces
2025-07-04 12:40:49 -06:00
Elijah Potter
68b1201e92
test(chrome-ext): on Firefox in Playwright (#1491) 2025-07-04 12:13:17 -06:00
Andrew Dunbar
c87adcdc1a
chore: curate dictionary (#1501)
* chore: curate dictionary

Add words, adjust annotations

Also added two abbreviation expansions to `phrase_corrections` for `arg` and `args`.

* chore: more mass noun annotations

* chore: new words, annotations

* chore: words, annotations

* chore: snapshot
2025-07-04 16:23:54 +00:00
Andrew Dunbar
d8fdc7a17b
fix: fix issue 1495 (#1502)
* fix: fix issue 1495

* chore: `eq_ignore_ascii_case_chars` to `_str`
2025-07-04 15:26:26 +00:00
Elijah Potter
7c338eb6fe
feat(core): write linter to detect erroneous use of plurality (#1486)
Co-authored-by: hippietrail <hippietrail@users.noreply.github.com>
2025-07-04 08:37:57 -06:00
Andrew Dunbar
bb84be8310
feat: replace terms from dialects with local synonyms (#1475)
Some checks are pending
Build Chrome Plugin / package (push) Waiting to run
Build Binaries / Release harper-cli - Windows-x86_64 (push) Waiting to run
Build Binaries / Release harper-ls - macOS-aarch64 (push) Waiting to run
Build Binaries / Release harper-ls - Linux-aarch64-GNU (push) Waiting to run
Build Binaries / Release harper-ls - Linux-aarch64-musl (push) Waiting to run
Build Binaries / Release harper-ls - macOS-x86_64 (push) Waiting to run
Build Binaries / Release harper-ls - Linux-x86_64-GNU (push) Waiting to run
Build Binaries / Release harper-ls - Linux-x86_64-musl (push) Waiting to run
Build Binaries / Release harper-ls - Windows-x86_64 (push) Waiting to run
Build Binaries / Release harper-cli - macOS-aarch64 (push) Waiting to run
Build Binaries / Release harper-cli - Linux-aarch64-GNU (push) Waiting to run
Build Binaries / Release harper-cli - Linux-aarch64-musl (push) Waiting to run
Build Binaries / Release harper-cli - macOS-x86_64 (push) Waiting to run
Build Binaries / Release harper-cli - Linux-x86_64-GNU (push) Waiting to run
Build Binaries / Release harper-cli - Linux-x86_64-musl (push) Waiting to run
Build Web / build (push) Waiting to run
Package VS Code Plugin / Package - darwin-arm64 (push) Waiting to run
Package VS Code Plugin / Package - darwin-x64 (push) Waiting to run
Package VS Code Plugin / Package - linux-arm64 (push) Waiting to run
Package VS Code Plugin / Package - linux-x64 (push) Waiting to run
Package VS Code Plugin / Package - win32-x64 (push) Waiting to run
Package WordPress Plugin / package (push) Waiting to run
Precommit / precommit (push) Waiting to run
* feat: replace terms from dialects with local synonyms

* fix: appease Precommit

* chore: add more terms

* use `LintKind::Regionalism` now that it's merged

* docs: comment describing the `Concept` enum

Also replace `DontFlag` in the `CanFlag` enum with two descriptive entries for the reasons not to flag.
2025-07-03 14:19:20 +00:00
Elijah Potter
52db2b746b
fix(core): use tagger to improve certainty in HowTo lint (#1489) 2025-07-03 08:17:32 -06:00
Andrew Dunbar
77769188c2
chore: augment and refactor metadata (#1488)
Some checks failed
Build Chrome Plugin / package (push) Has been cancelled
Build Binaries / Release harper-cli - macOS-aarch64 (push) Has been cancelled
Build Binaries / Release harper-cli - Linux-aarch64-GNU (push) Has been cancelled
Build Binaries / Release harper-cli - Linux-aarch64-musl (push) Has been cancelled
Build Binaries / Release harper-cli - macOS-x86_64 (push) Has been cancelled
Build Binaries / Release harper-cli - Linux-x86_64-GNU (push) Has been cancelled
Build Binaries / Release harper-cli - Linux-x86_64-musl (push) Has been cancelled
Build Binaries / Release harper-cli - Windows-x86_64 (push) Has been cancelled
Build Binaries / Release harper-ls - macOS-aarch64 (push) Has been cancelled
Build Binaries / Release harper-ls - Linux-aarch64-GNU (push) Has been cancelled
Build Binaries / Release harper-ls - Linux-aarch64-musl (push) Has been cancelled
Build Binaries / Release harper-ls - macOS-x86_64 (push) Has been cancelled
Build Binaries / Release harper-ls - Linux-x86_64-GNU (push) Has been cancelled
Build Binaries / Release harper-ls - Linux-x86_64-musl (push) Has been cancelled
Build Binaries / Release harper-ls - Windows-x86_64 (push) Has been cancelled
Build Web / build (push) Has been cancelled
Package VS Code Plugin / Package - darwin-arm64 (push) Has been cancelled
Package VS Code Plugin / Package - darwin-x64 (push) Has been cancelled
Package VS Code Plugin / Package - linux-arm64 (push) Has been cancelled
Package VS Code Plugin / Package - linux-x64 (push) Has been cancelled
Package VS Code Plugin / Package - win32-x64 (push) Has been cancelled
Package WordPress Plugin / package (push) Has been cancelled
Precommit / precommit (push) Has been cancelled
* chore: augment and refactor metadata

Add `0` flag to `affixes.json` for singular nouns. Only needed for nouns which are both singular and plural. Nouns marked neither are singular by default.

Mark a few dozen words in the dictionary which are both singular and plural.

Ensure the proper heirarchy of metadata properties and methods is respected:

`TokenKind` is the highest level with `WordMetadata` being a lower level for tokens representing words.

`token_kind.rs` implements `is_xxx()` methods on `TokenKind`.

They can call each other (`nominal` might combine `noun` and `pronoun` methods).

They can call `is_yyy()` methods on `WordMetadata`.

They must not use the low-level properties of `WordMetaData` directly when there are methods for them.

This ensures properties with special behaviour such as defaults that are not `false` only have to be implemented in one place.

`word_metadata.rs` implements `is_yyy()` methods on `WordMetadata`.

They can call each other (`nominal` might combine `noun` and `pronoun` methods).

They can use the low-level properties of `WordMetadata` directly.

They can implement special logic such as properties that do not default to false. In particular the new `singular` noun flag `0` does not have to be applied to every word in `dictionary.dict` and nouns will be treated as singular if they either have `singular` set to `Some(true)` or if they have both `singular` and `plural` set to either `None` or `Some(false)`.

(In the next stage, countable nouns will be implemented this same way.)

Tests in `word_metadata.rs` must use the `WordMetadata` `is_yyy` methods and must not use the low-level properties directly.

All `is_xxx()` and `is_yyy()` methods in both files have been standardized as above.

Un-`ignore`d all the tests on `singular` nouns and they all now pass.

Comments have been added to `token_kind.rs` in the `impl TokenKind` blocks to label the `is_xxx()` vs other methods, the word `is_yyy()` methods vs other token types `is_yyy()` methods, and the parts of speech of the various `is_yyy()` methods on words. In a following step I will group them and sort them. Until then this commit will be much easier to compare against the old code.

* fix: appease precommit and add a unit test to ensure the changed code behaves correctly

(also sort lint kinds alphabetically)

* feat: noun countability (mass vs count)

- `m` and `w` added to `affixes.json` for mass nouns and countable+mass nouns respectively. Nouns with neither flag in their annotation default to countable only.

- The auxiliary verb property flag was moved from `m` to `A`.

- A dozen or so words in `dictionary.dict` annotated for countability.

- `is_countable_noun` and `is_mass_noun` methods added to `TokenKind`.

- Also added the missing `is_singular_xxx` methods for `_nominal`, `_noun`, and `_pronoun`

- A first couple of tests added to `token_kind.rs`

- `is_countable` and `is_mass` properties added to `WordMetadata`

- `is_countable_noun` and `is_non_countable_noun` methods added to `WordMetaData`

- countable and mass noun unit tests added to `word_metadata.rs`

This will help make possible linting for errors like `source codes` and `an advice` etc.

I did not add countable and mass information to the snapshots. Let me know if it's needed.

I also removed a few bogus entries I spotted in the dictionary.

* refactor: generate `is_xxx methods` by macro

The `delegate_to_metadata` macro is in the spirit of the one in `word_metadata.rs` but simpler.

* chore: group and order methods

* chore: mark more mass nouns
2025-07-01 19:49:58 +00:00
Elijah Potter
49fcf8546d
fix(ls): duplicate lints (#1490) 2025-07-01 13:56:40 -06:00
Steve Kurch
fc1dbbc5f7
refactor(core): rename insert_pattern_rule! (#1487)
Some checks are pending
Build Chrome Plugin / package (push) Waiting to run
Build Binaries / Release harper-cli - macOS-aarch64 (push) Waiting to run
Build Binaries / Release harper-cli - Linux-aarch64-GNU (push) Waiting to run
Build Binaries / Release harper-cli - Linux-aarch64-musl (push) Waiting to run
Build Binaries / Release harper-cli - macOS-x86_64 (push) Waiting to run
Build Binaries / Release harper-cli - Linux-x86_64-GNU (push) Waiting to run
Build Binaries / Release harper-cli - Linux-x86_64-musl (push) Waiting to run
Build Binaries / Release harper-cli - Windows-x86_64 (push) Waiting to run
Build Binaries / Release harper-ls - macOS-aarch64 (push) Waiting to run
Build Binaries / Release harper-ls - Linux-aarch64-GNU (push) Waiting to run
Build Binaries / Release harper-ls - Linux-aarch64-musl (push) Waiting to run
Build Binaries / Release harper-ls - macOS-x86_64 (push) Waiting to run
Build Binaries / Release harper-ls - Linux-x86_64-GNU (push) Waiting to run
Build Binaries / Release harper-ls - Linux-x86_64-musl (push) Waiting to run
Build Binaries / Release harper-ls - Windows-x86_64 (push) Waiting to run
Build Web / build (push) Waiting to run
Package VS Code Plugin / Package - darwin-arm64 (push) Waiting to run
Package VS Code Plugin / Package - darwin-x64 (push) Waiting to run
Package VS Code Plugin / Package - linux-arm64 (push) Waiting to run
Package VS Code Plugin / Package - linux-x64 (push) Waiting to run
Package VS Code Plugin / Package - win32-x64 (push) Waiting to run
Package WordPress Plugin / package (push) Waiting to run
Precommit / precommit (push) Waiting to run
Rename `insert_pattern_rule!` -> `insert_expr_rule!` to match documentation.

Co-authored-by: Elijah Potter <me@elijahpotter.dev>
2025-07-01 14:35:04 +00:00
Elijah Potter
7426b8eccb
feat(core): create linter for discourse markers (#1470) 2025-07-01 08:19:24 -06:00
Elijah Potter
92d004796e Release 0.47.0
Some checks are pending
Build Binaries / Release harper-ls - Linux-aarch64-GNU (push) Waiting to run
Build Binaries / Release harper-ls - Linux-aarch64-musl (push) Waiting to run
Build Binaries / Release harper-ls - macOS-x86_64 (push) Waiting to run
Build Binaries / Release harper-ls - Linux-x86_64-GNU (push) Waiting to run
Build Binaries / Release harper-ls - Linux-x86_64-musl (push) Waiting to run
Build Binaries / Release harper-ls - Windows-x86_64 (push) Waiting to run
Build Web / build (push) Waiting to run
Package VS Code Plugin / Package - darwin-arm64 (push) Waiting to run
Package VS Code Plugin / Package - darwin-x64 (push) Waiting to run
Package VS Code Plugin / Package - linux-arm64 (push) Waiting to run
Package VS Code Plugin / Package - linux-x64 (push) Waiting to run
Package VS Code Plugin / Package - win32-x64 (push) Waiting to run
Package WordPress Plugin / package (push) Waiting to run
Build Chrome Plugin / package (push) Waiting to run
Build Binaries / Release harper-cli - macOS-aarch64 (push) Waiting to run
Build Binaries / Release harper-cli - Linux-aarch64-GNU (push) Waiting to run
Build Binaries / Release harper-cli - Linux-aarch64-musl (push) Waiting to run
Build Binaries / Release harper-cli - macOS-x86_64 (push) Waiting to run
Build Binaries / Release harper-cli - Linux-x86_64-GNU (push) Waiting to run
Build Binaries / Release harper-cli - Linux-x86_64-musl (push) Waiting to run
Build Binaries / Release harper-cli - Windows-x86_64 (push) Waiting to run
Build Binaries / Release harper-ls - macOS-aarch64 (push) Waiting to run
Precommit / precommit (push) Waiting to run
harper-brill@0.47.0
harper-comments@0.47.0
harper-core@0.47.0
harper-html@0.47.0
harper-literate-haskell@0.47.0
harper-ls@0.47.0
harper-pos-utils@0.47.0
harper-stats@0.47.0
harper-tree-sitter@0.47.0
harper-typst@0.47.0

Generated by cargo-workspaces
2025-06-30 15:54:53 -06:00
Elijah Potter
1d6851eca5
fix(chrome-ext): address scrolling problems (#1485) 2025-06-30 15:47:26 -06:00
Andrew Dunbar
f5fa38c618
feat: thing→think (#1451)
Some checks are pending
Build Chrome Plugin / package (push) Waiting to run
Build Binaries / Release harper-cli - macOS-aarch64 (push) Waiting to run
Build Binaries / Release harper-cli - Linux-aarch64-GNU (push) Waiting to run
Build Binaries / Release harper-cli - Linux-aarch64-musl (push) Waiting to run
Build Binaries / Release harper-cli - macOS-x86_64 (push) Waiting to run
Build Binaries / Release harper-cli - Linux-x86_64-GNU (push) Waiting to run
Build Binaries / Release harper-cli - Linux-x86_64-musl (push) Waiting to run
Build Binaries / Release harper-cli - Windows-x86_64 (push) Waiting to run
Build Binaries / Release harper-ls - macOS-aarch64 (push) Waiting to run
Build Binaries / Release harper-ls - Linux-aarch64-GNU (push) Waiting to run
Build Binaries / Release harper-ls - Linux-aarch64-musl (push) Waiting to run
Build Binaries / Release harper-ls - macOS-x86_64 (push) Waiting to run
Build Binaries / Release harper-ls - Linux-x86_64-GNU (push) Waiting to run
Build Binaries / Release harper-ls - Linux-x86_64-musl (push) Waiting to run
Build Binaries / Release harper-ls - Windows-x86_64 (push) Waiting to run
Build Web / build (push) Waiting to run
Package VS Code Plugin / Package - darwin-arm64 (push) Waiting to run
Package VS Code Plugin / Package - darwin-x64 (push) Waiting to run
Package VS Code Plugin / Package - linux-x64 (push) Waiting to run
Package VS Code Plugin / Package - win32-x64 (push) Waiting to run
Package WordPress Plugin / package (push) Waiting to run
Precommit / precommit (push) Waiting to run
Package VS Code Plugin / Package - linux-arm64 (push) Waiting to run
* feat: thing→think

* fix: add the new `LintKind` colours to js/ts integrations

* chore: `just format`

---------

Co-authored-by: Elijah Potter <me@elijahpotter.dev>
2025-06-30 16:51:37 +00:00
Steve Kurch
4c1c1014ba
feat(cli): allow direct text (non-file) input (#1476)
* chore(cli): upgrade to Rust 2024

* feat(cli): allow direct text (non-file) input

Allow input/source text to be provided directly as a command line
argument for some commands.

* docs(cli): add comments

* refactor(cli): simplify per `clippy::pedantic`

* feat(cli): implement reading `Input` from stdin

* refactor(cli): move `Input` to its own module
2025-06-30 16:26:16 +00:00
Andrew Dunbar
9a73c5c82d
feat: no match against/of/to → no match for (#1458)
* feat: no match against/of/to → no match for

* chore: `replace_with_match_case`→`replace_with_match_case_str`
2025-06-30 15:18:02 +00:00
Elijah Potter
c66e404dc1 fix(core): ensure hes is corrected properly 2025-06-30 09:28:52 -06:00
Andrew Dunbar
cd534b6cc4
feat: add LintKind colours to the Playwright HTML report (#1481)
* feat: add `LintKind` colours to the Playwright HTML report

* chore: `just format`

* fix: address precommit problem

* fix: fix the precommit error in a way that still works with the svelte files
2025-06-30 15:05:24 +00:00
dependabot[bot]
9ca2d39c87
build(deps): bump lru from 0.14.0 to 0.15.0 (#1480)
Bumps [lru](https://github.com/jeromefroe/lru-rs) from 0.14.0 to 0.15.0.
- [Changelog](https://github.com/jeromefroe/lru-rs/blob/master/CHANGELOG.md)
- [Commits](https://github.com/jeromefroe/lru-rs/compare/0.14.0...0.15.0)

---
updated-dependencies:
- dependency-name: lru
  dependency-version: 0.15.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-06-30 14:53:00 +00:00
dependabot[bot]
88f019bdca
build(deps): bump indexmap from 2.9.0 to 2.10.0 (#1479)
Bumps [indexmap](https://github.com/indexmap-rs/indexmap) from 2.9.0 to 2.10.0.
- [Changelog](https://github.com/indexmap-rs/indexmap/blob/main/RELEASES.md)
- [Commits](https://github.com/indexmap-rs/indexmap/compare/2.9.0...2.10.0)

---
updated-dependencies:
- dependency-name: indexmap
  dependency-version: 2.10.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-06-30 14:52:40 +00:00
Dongsung "Donny" Kim
740f255d96
fix(core): support progressive/perfect forms after "its" + 1 (#1469)
Some checks failed
Build Chrome Plugin / package (push) Has been cancelled
Build Binaries / Release harper-cli - macOS-aarch64 (push) Has been cancelled
Build Binaries / Release harper-cli - Linux-aarch64-GNU (push) Has been cancelled
Build Binaries / Release harper-cli - Linux-aarch64-musl (push) Has been cancelled
Build Binaries / Release harper-cli - macOS-x86_64 (push) Has been cancelled
Build Binaries / Release harper-cli - Linux-x86_64-GNU (push) Has been cancelled
Build Binaries / Release harper-cli - Linux-x86_64-musl (push) Has been cancelled
Build Binaries / Release harper-cli - Windows-x86_64 (push) Has been cancelled
Build Binaries / Release harper-ls - macOS-aarch64 (push) Has been cancelled
Build Binaries / Release harper-ls - Linux-aarch64-GNU (push) Has been cancelled
Build Binaries / Release harper-ls - Linux-aarch64-musl (push) Has been cancelled
Build Binaries / Release harper-ls - macOS-x86_64 (push) Has been cancelled
Build Binaries / Release harper-ls - Linux-x86_64-GNU (push) Has been cancelled
Build Binaries / Release harper-ls - Linux-x86_64-musl (push) Has been cancelled
Build Binaries / Release harper-ls - Windows-x86_64 (push) Has been cancelled
Build Web / build (push) Has been cancelled
Package VS Code Plugin / Package - darwin-arm64 (push) Has been cancelled
Package VS Code Plugin / Package - darwin-x64 (push) Has been cancelled
Package VS Code Plugin / Package - linux-arm64 (push) Has been cancelled
Package VS Code Plugin / Package - linux-x64 (push) Has been cancelled
Package VS Code Plugin / Package - win32-x64 (push) Has been cancelled
Package WordPress Plugin / package (push) Has been cancelled
Precommit / precommit (push) Has been cancelled
* fix(core): `NominalPhrase` to handle when the last word is both adjective/determiner and nominal

* fix(core): `NominalPhrase` to allow verbs in progressive form as modifiers

* fix(core): changed `ItsContraction` to `Linter` to support nominal phrases after `its`
2025-06-27 19:15:08 +00:00
Elijah Potter
c4b8e24d89 Release 0.46.0
harper-brill@0.46.0
harper-comments@0.46.0
harper-core@0.46.0
harper-html@0.46.0
harper-literate-haskell@0.46.0
harper-ls@0.46.0
harper-pos-utils@0.46.0
harper-stats@0.46.0
harper-tree-sitter@0.46.0
harper-typst@0.46.0

Generated by cargo-workspaces
2025-06-27 10:27:50 -06:00
Andrew Dunbar
c69774dcd2
feat: in the cards ⇔ on the cards (#1454)
* feat: in the cards ⇔ on the cards

* feat: correct wrong regional variant of in/on the cards

* fix(core): `WordSet` now supports typographic punct

* fix: appease clippy

* fix: add colours for new `Regionalism` lint kind

Also adds new colours for lint kinds that were sharing colours with other lint kinds

As a bonus I sorted them by lint kind and added colour descriptions in comments.

* chore: `just format`

---------

Co-authored-by: Elijah Potter <me@elijahpotter.dev>
2025-06-27 16:05:23 +00:00
Elijah Potter
a8983e3f8a
fix(core): we cannot respect spellcheck="off" (#1467)
Some checks are pending
Build Chrome Plugin / package (push) Waiting to run
Build Binaries / Release harper-cli - macOS-aarch64 (push) Waiting to run
Build Binaries / Release harper-cli - Linux-aarch64-GNU (push) Waiting to run
Build Binaries / Release harper-cli - Linux-aarch64-musl (push) Waiting to run
Build Binaries / Release harper-cli - macOS-x86_64 (push) Waiting to run
Build Binaries / Release harper-cli - Linux-x86_64-GNU (push) Waiting to run
Build Binaries / Release harper-cli - Linux-x86_64-musl (push) Waiting to run
Build Binaries / Release harper-cli - Windows-x86_64 (push) Waiting to run
Build Binaries / Release harper-ls - macOS-aarch64 (push) Waiting to run
Build Binaries / Release harper-ls - Linux-aarch64-GNU (push) Waiting to run
Build Binaries / Release harper-ls - Linux-aarch64-musl (push) Waiting to run
Build Binaries / Release harper-ls - macOS-x86_64 (push) Waiting to run
Build Binaries / Release harper-ls - Linux-x86_64-GNU (push) Waiting to run
Build Binaries / Release harper-ls - Linux-x86_64-musl (push) Waiting to run
Build Binaries / Release harper-ls - Windows-x86_64 (push) Waiting to run
Build Web / build (push) Waiting to run
Package VS Code Plugin / Package - darwin-arm64 (push) Waiting to run
Package VS Code Plugin / Package - darwin-x64 (push) Waiting to run
Package VS Code Plugin / Package - linux-arm64 (push) Waiting to run
Package VS Code Plugin / Package - linux-x64 (push) Waiting to run
Package VS Code Plugin / Package - win32-x64 (push) Waiting to run
Package WordPress Plugin / package (push) Waiting to run
Precommit / precommit (push) Waiting to run
2025-06-27 09:59:50 -06:00
Steve Kurch
cdb438f5dd
fix(core): auto detect dialect for snapshots (#1433)
* docs(core): fix typo

* feat(core): add dialect detection functionality

* test(core): add tests for dialect detection

* fix(core): auto detect dialect for snapshots

* chore: update snapshots

* refactor: rename variable for readability

* perf(core): use array instead of `HashMap`

* feat(core): add ability to get dialect from abbr

Add `Dialect::try_from_abbr`, which attempts to get a `Dialect` from
a dialect abbreviation (e.g. "US", "GB").

* chore(core): dialect overrides for snapshots

* test: snapshot to test cross-dialect spell lints

Add a snapshot that checks how we provide cross-dialect spelling
suggestions.
2025-06-27 15:03:27 +00:00
Elijah Potter
cc9a036b15
feat(core): add to and tweak rule set (#1462) 2025-06-27 08:46:38 -06:00
Elijah Potter
1efb57b53b
fix(chrome-ext): ProseMirror problems in ChatGPT (#1459) 2025-06-27 08:20:31 -06:00
Andrew Dunbar
bfdf2b59a7
fix: just printaffixes got broken (#1460)
Some checks are pending
Build Chrome Plugin / package (push) Waiting to run
Build Binaries / Release harper-cli - macOS-aarch64 (push) Waiting to run
Build Binaries / Release harper-cli - Linux-aarch64-GNU (push) Waiting to run
Build Binaries / Release harper-cli - Linux-aarch64-musl (push) Waiting to run
Build Binaries / Release harper-cli - macOS-x86_64 (push) Waiting to run
Build Binaries / Release harper-cli - Linux-x86_64-GNU (push) Waiting to run
Build Binaries / Release harper-cli - Linux-x86_64-musl (push) Waiting to run
Build Binaries / Release harper-cli - Windows-x86_64 (push) Waiting to run
Build Binaries / Release harper-ls - macOS-aarch64 (push) Waiting to run
Build Binaries / Release harper-ls - Linux-aarch64-GNU (push) Waiting to run
Build Binaries / Release harper-ls - Linux-aarch64-musl (push) Waiting to run
Build Binaries / Release harper-ls - macOS-x86_64 (push) Waiting to run
Build Binaries / Release harper-ls - Linux-x86_64-GNU (push) Waiting to run
Build Binaries / Release harper-ls - Linux-x86_64-musl (push) Waiting to run
Build Binaries / Release harper-ls - Windows-x86_64 (push) Waiting to run
Build Web / build (push) Waiting to run
Package VS Code Plugin / Package - darwin-arm64 (push) Waiting to run
Package VS Code Plugin / Package - darwin-x64 (push) Waiting to run
Package VS Code Plugin / Package - linux-arm64 (push) Waiting to run
Package VS Code Plugin / Package - linux-x64 (push) Waiting to run
Package VS Code Plugin / Package - win32-x64 (push) Waiting to run
Package WordPress Plugin / package (push) Waiting to run
Precommit / precommit (push) Waiting to run
* fix: `just printaffixes` got broken

`affixes.json` used to have an `affixes` field but it got split into `affixes` and `properties` fields

As a bonus the annotation flags are now also sorted alphabetically.

* fix: `harper-cli rename-flag` was also broken by the `affixes`/`properties` split

* fix: clippy errors from Rust `1.88.0`

* fix: format changes from fix

---------

Co-authored-by: Elijah Potter <me@elijahpotter.dev>
2025-06-26 20:29:17 +00:00
Andrew Dunbar
f27a6748bd
feat:in the end of the day→at the end of the day (#1456) 2025-06-26 17:38:28 +00:00
Andrew Dunbar
b384fbd83c
feat: linter for less worse, least worse, etc. (#1457)
- I also improved `FirstMatchOf` to have a `new` that takes a `Vec` to be as ergonomic as `LongestMatchOf`.

- Also implements `SpaceOrHyphen` `Expr` using `FirstMatchOf`, which is now used in two other linters besides this one.
2025-06-26 17:37:45 +00:00
Elijah Potter
faf64e2abd
feat(chrome-ext): add configuration options (#1461) 2025-06-26 11:40:43 -06:00
Elijah Potter
e9ff4c977e Release 0.45.0
Some checks are pending
Build Chrome Plugin / package (push) Waiting to run
Build Binaries / Release harper-cli - macOS-aarch64 (push) Waiting to run
Build Binaries / Release harper-cli - Linux-aarch64-GNU (push) Waiting to run
Build Binaries / Release harper-cli - Linux-aarch64-musl (push) Waiting to run
Build Binaries / Release harper-cli - macOS-x86_64 (push) Waiting to run
Build Binaries / Release harper-cli - Linux-x86_64-GNU (push) Waiting to run
Build Binaries / Release harper-cli - Linux-x86_64-musl (push) Waiting to run
Build Binaries / Release harper-cli - Windows-x86_64 (push) Waiting to run
Build Binaries / Release harper-ls - macOS-aarch64 (push) Waiting to run
Build Binaries / Release harper-ls - Linux-aarch64-GNU (push) Waiting to run
Build Binaries / Release harper-ls - Linux-aarch64-musl (push) Waiting to run
Build Binaries / Release harper-ls - macOS-x86_64 (push) Waiting to run
Build Binaries / Release harper-ls - Linux-x86_64-GNU (push) Waiting to run
Build Binaries / Release harper-ls - Linux-x86_64-musl (push) Waiting to run
Build Binaries / Release harper-ls - Windows-x86_64 (push) Waiting to run
Build Web / build (push) Waiting to run
Package VS Code Plugin / Package - darwin-arm64 (push) Waiting to run
Package VS Code Plugin / Package - darwin-x64 (push) Waiting to run
Package VS Code Plugin / Package - linux-arm64 (push) Waiting to run
Package VS Code Plugin / Package - linux-x64 (push) Waiting to run
Package VS Code Plugin / Package - win32-x64 (push) Waiting to run
Package WordPress Plugin / package (push) Waiting to run
Precommit / precommit (push) Waiting to run
harper-brill@0.45.0
harper-comments@0.45.0
harper-core@0.45.0
harper-html@0.45.0
harper-literate-haskell@0.45.0
harper-ls@0.45.0
harper-pos-utils@0.45.0
harper-stats@0.45.0
harper-tree-sitter@0.45.0
harper-typst@0.45.0

Generated by cargo-workspaces
2025-06-26 07:59:18 -06:00
Elijah Potter
12a08e7714
feat(core): add rule for pronouns followed by an inflection of be (#1442)
Some checks are pending
Build Chrome Plugin / package (push) Waiting to run
Build Binaries / Release harper-cli - macOS-aarch64 (push) Waiting to run
Build Binaries / Release harper-cli - Linux-aarch64-GNU (push) Waiting to run
Build Binaries / Release harper-cli - Linux-aarch64-musl (push) Waiting to run
Build Binaries / Release harper-cli - macOS-x86_64 (push) Waiting to run
Build Binaries / Release harper-cli - Linux-x86_64-GNU (push) Waiting to run
Build Binaries / Release harper-cli - Linux-x86_64-musl (push) Waiting to run
Build Binaries / Release harper-cli - Windows-x86_64 (push) Waiting to run
Build Binaries / Release harper-ls - macOS-aarch64 (push) Waiting to run
Build Binaries / Release harper-ls - Linux-aarch64-GNU (push) Waiting to run
Build Binaries / Release harper-ls - Linux-aarch64-musl (push) Waiting to run
Build Binaries / Release harper-ls - macOS-x86_64 (push) Waiting to run
Build Binaries / Release harper-ls - Linux-x86_64-GNU (push) Waiting to run
Build Binaries / Release harper-ls - Linux-x86_64-musl (push) Waiting to run
Build Binaries / Release harper-ls - Windows-x86_64 (push) Waiting to run
Build Web / build (push) Waiting to run
Package VS Code Plugin / Package - darwin-arm64 (push) Waiting to run
Package VS Code Plugin / Package - darwin-x64 (push) Waiting to run
Package VS Code Plugin / Package - linux-arm64 (push) Waiting to run
Package VS Code Plugin / Package - linux-x64 (push) Waiting to run
Package VS Code Plugin / Package - win32-x64 (push) Waiting to run
Package WordPress Plugin / package (push) Waiting to run
Precommit / precommit (push) Waiting to run
2025-06-25 15:31:10 -06:00
Andrew Dunbar
5a88c17e92
feat: at/in the spur of the moment (#1447) 2025-06-25 17:52:12 +00:00
Andrew Dunbar
105ff137c3
feat: another thing coming vs another think coming (#1438) 2025-06-25 17:51:34 +00:00
Andrew Dunbar
5230a9d082
feat: somebody's else / else's (#1448) 2025-06-25 17:50:44 +00:00
Andrew Dunbar
7d9375b22d
feat: improvements to pronoun metadata (#1445)
* feat: improvements to pronoun metadata

* chore: snapshots
2025-06-25 16:27:23 +00:00
Valentin B.
5b8ae058f8
feat: add solidity support (#1443)
* feat(harper-comments): add solidity support

* feat(harper-tree-sitter): merge overlapping spans

* feat(harper-comments): add specific solidity parser

* perf(harper-comments): early return

* test(harper-comments): add multiline solidity test

* test(harper-comments): add ignore test

* feat(vscode-plugin): add solidity support

* docs: add Solidity to documentation

* test: fix offset

* test: comment out solidity tests for vscode-plugin

* chore: fix justfile to use /usr/bin/env

The commands don't work on nixOS

* chore: fix more commands

* fix: return Dart support

---------

Co-authored-by: Elijah Potter <me@elijahpotter.dev>
2025-06-25 16:09:54 +00:00
Andrew Dunbar
f2b8dce022
feat: as it so happens→as it happens / on route→en route (#1436) 2025-06-25 15:22:11 +00:00
Andrew Dunbar
9fee646e9d
feat: don't pass unused dialect to InflectedVerbAfterTo and SentenceCapitalization (#1453)
Some checks are pending
Build Chrome Plugin / package (push) Waiting to run
Build Binaries / Release harper-cli - macOS-aarch64 (push) Waiting to run
Build Binaries / Release harper-cli - Linux-aarch64-GNU (push) Waiting to run
Build Binaries / Release harper-cli - Linux-aarch64-musl (push) Waiting to run
Build Binaries / Release harper-cli - macOS-x86_64 (push) Waiting to run
Build Binaries / Release harper-cli - Linux-x86_64-GNU (push) Waiting to run
Build Binaries / Release harper-cli - Linux-x86_64-musl (push) Waiting to run
Build Binaries / Release harper-cli - Windows-x86_64 (push) Waiting to run
Build Binaries / Release harper-ls - macOS-aarch64 (push) Waiting to run
Build Binaries / Release harper-ls - Linux-aarch64-GNU (push) Waiting to run
Build Binaries / Release harper-ls - Linux-aarch64-musl (push) Waiting to run
Build Binaries / Release harper-ls - macOS-x86_64 (push) Waiting to run
Build Binaries / Release harper-ls - Linux-x86_64-GNU (push) Waiting to run
Build Binaries / Release harper-ls - Linux-x86_64-musl (push) Waiting to run
Build Binaries / Release harper-ls - Windows-x86_64 (push) Waiting to run
Build Web / build (push) Waiting to run
Package VS Code Plugin / Package - darwin-arm64 (push) Waiting to run
Package VS Code Plugin / Package - darwin-x64 (push) Waiting to run
Package VS Code Plugin / Package - linux-arm64 (push) Waiting to run
Package VS Code Plugin / Package - linux-x64 (push) Waiting to run
Package VS Code Plugin / Package - win32-x64 (push) Waiting to run
Package WordPress Plugin / package (push) Waiting to run
Precommit / precommit (push) Waiting to run
2025-06-25 14:06:44 +00:00
Steve Kurch
1943223335
docs(POS): document UPOS variants (#1444)
Some checks are pending
Build Chrome Plugin / package (push) Waiting to run
Build Binaries / Release harper-cli - macOS-aarch64 (push) Waiting to run
Build Binaries / Release harper-cli - Linux-aarch64-GNU (push) Waiting to run
Build Binaries / Release harper-cli - Linux-aarch64-musl (push) Waiting to run
Build Binaries / Release harper-cli - macOS-x86_64 (push) Waiting to run
Build Binaries / Release harper-cli - Linux-x86_64-GNU (push) Waiting to run
Build Binaries / Release harper-cli - Linux-x86_64-musl (push) Waiting to run
Build Binaries / Release harper-cli - Windows-x86_64 (push) Waiting to run
Build Binaries / Release harper-ls - macOS-aarch64 (push) Waiting to run
Build Binaries / Release harper-ls - Linux-aarch64-GNU (push) Waiting to run
Build Binaries / Release harper-ls - Linux-aarch64-musl (push) Waiting to run
Build Binaries / Release harper-ls - macOS-x86_64 (push) Waiting to run
Build Binaries / Release harper-ls - Linux-x86_64-GNU (push) Waiting to run
Build Binaries / Release harper-ls - Linux-x86_64-musl (push) Waiting to run
Build Binaries / Release harper-ls - Windows-x86_64 (push) Waiting to run
Build Web / build (push) Waiting to run
Package VS Code Plugin / Package - darwin-arm64 (push) Waiting to run
Package VS Code Plugin / Package - darwin-x64 (push) Waiting to run
Package VS Code Plugin / Package - linux-arm64 (push) Waiting to run
Package VS Code Plugin / Package - linux-x64 (push) Waiting to run
Package VS Code Plugin / Package - win32-x64 (push) Waiting to run
Package WordPress Plugin / package (push) Waiting to run
Precommit / precommit (push) Waiting to run
* docs(POS): document `UPOS` variants

* chore: add 'adposition' and curate dictionary

Add 'adposition' and remove duplicate entries for 'Mercielago' and 'DM'.

* chore: dictionary fixes/adjustments
2025-06-24 15:39:25 +00:00
Steve Kurch
fedf04b4d8
test(core): remove duplicate tests (#1432)
Some checks are pending
Build Chrome Plugin / package (push) Waiting to run
Build Binaries / Release harper-cli - macOS-aarch64 (push) Waiting to run
Build Binaries / Release harper-cli - Linux-aarch64-GNU (push) Waiting to run
Build Binaries / Release harper-cli - Linux-aarch64-musl (push) Waiting to run
Build Binaries / Release harper-cli - macOS-x86_64 (push) Waiting to run
Build Binaries / Release harper-ls - Linux-aarch64-musl (push) Waiting to run
Build Binaries / Release harper-ls - macOS-x86_64 (push) Waiting to run
Build Binaries / Release harper-ls - Linux-x86_64-GNU (push) Waiting to run
Build Binaries / Release harper-ls - Linux-x86_64-musl (push) Waiting to run
Build Binaries / Release harper-ls - Windows-x86_64 (push) Waiting to run
Build Web / build (push) Waiting to run
Package VS Code Plugin / Package - darwin-arm64 (push) Waiting to run
Package VS Code Plugin / Package - darwin-x64 (push) Waiting to run
Package VS Code Plugin / Package - linux-arm64 (push) Waiting to run
Package VS Code Plugin / Package - linux-x64 (push) Waiting to run
Package VS Code Plugin / Package - win32-x64 (push) Waiting to run
Package WordPress Plugin / package (push) Waiting to run
Build Binaries / Release harper-cli - Linux-x86_64-GNU (push) Waiting to run
Build Binaries / Release harper-cli - Linux-x86_64-musl (push) Waiting to run
Build Binaries / Release harper-cli - Windows-x86_64 (push) Waiting to run
Build Binaries / Release harper-ls - macOS-aarch64 (push) Waiting to run
Build Binaries / Release harper-ls - Linux-aarch64-GNU (push) Waiting to run
Precommit / precommit (push) Waiting to run
2025-06-23 19:16:09 +00:00
Andrew Dunbar
5340178928
feat: make including bad forms optional (#1424)
* feat: make including bad forms optional

Replaces the `new` ctor with `standard` and `with_common_errors` ctors, much like those for `inflection_of_need` and `inflection_of_want`

* fix: `just format` for Precommit
2025-06-23 19:15:16 +00:00
dependabot[bot]
b9a7403ca1
build(deps): bump tower-lsp-server from 0.21.1 to 0.22.0 (#1435)
Bumps [tower-lsp-server](https://github.com/tower-lsp-community/tower-lsp-server) from 0.21.1 to 0.22.0.
- [Release notes](https://github.com/tower-lsp-community/tower-lsp-server/releases)
- [Changelog](https://github.com/tower-lsp-community/tower-lsp-server/blob/main/CHANGELOG.md)
- [Commits](https://github.com/tower-lsp-community/tower-lsp-server/compare/v0.21.1...v0.22.0)

---
updated-dependencies:
- dependency-name: tower-lsp-server
  dependency-version: 0.22.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-06-23 17:20:48 +00:00
Elijah Potter
0c04291bfe Release 0.44.0
Some checks failed
Build Binaries / Release harper-cli - Linux-aarch64-musl (push) Has been cancelled
Build Binaries / Release harper-cli - macOS-x86_64 (push) Has been cancelled
Build Binaries / Release harper-cli - Linux-x86_64-GNU (push) Has been cancelled
Build Binaries / Release harper-cli - Linux-x86_64-musl (push) Has been cancelled
Build Binaries / Release harper-cli - Windows-x86_64 (push) Has been cancelled
Build Binaries / Release harper-ls - macOS-aarch64 (push) Has been cancelled
Build Binaries / Release harper-ls - Linux-aarch64-GNU (push) Has been cancelled
Build Binaries / Release harper-ls - Linux-aarch64-musl (push) Has been cancelled
Build Binaries / Release harper-ls - macOS-x86_64 (push) Has been cancelled
Build Binaries / Release harper-ls - Linux-x86_64-GNU (push) Has been cancelled
Build Binaries / Release harper-ls - Linux-x86_64-musl (push) Has been cancelled
Build Binaries / Release harper-ls - Windows-x86_64 (push) Has been cancelled
Build Web / build (push) Has been cancelled
Package VS Code Plugin / Package - darwin-arm64 (push) Has been cancelled
Package VS Code Plugin / Package - darwin-x64 (push) Has been cancelled
Package VS Code Plugin / Package - linux-arm64 (push) Has been cancelled
Package VS Code Plugin / Package - linux-x64 (push) Has been cancelled
Package VS Code Plugin / Package - win32-x64 (push) Has been cancelled
Package WordPress Plugin / package (push) Has been cancelled
Build Chrome Plugin / package (push) Has been cancelled
Precommit / precommit (push) Has been cancelled
Build Binaries / Release harper-cli - macOS-aarch64 (push) Has been cancelled
Build Binaries / Release harper-cli - Linux-aarch64-GNU (push) Has been cancelled
harper-brill@0.44.0
harper-comments@0.44.0
harper-core@0.44.0
harper-html@0.44.0
harper-literate-haskell@0.44.0
harper-ls@0.44.0
harper-pos-utils@0.44.0
harper-stats@0.44.0
harper-tree-sitter@0.44.0
harper-typst@0.44.0

Generated by cargo-workspaces
2025-06-20 12:06:20 -06:00
Andrew Dunbar
3762f84040
fix: some very important adverbs were not marked (#1420)
* fix: some very important adverbs were not marked

Also several were marked as adjectives but those senses are only archaic and/or dialectal

* chore: pos snapshots
2025-06-20 17:41:23 +00:00
Andrew Dunbar
df4562b141
feat: touristic → tourist / tourism / touristic (#1345)
* feat: touristic→tourist/tourism/touristy; new list suggestion assertion

This is a messy but known working version full of debug printfs before I try to clean it up in case I make a misstep.

* refactor: in progress, passing all tests

* feat: touristic→tourist/tourism/touristy

---------

Co-authored-by: Elijah Potter <me@elijahpotter.dev>
2025-06-20 17:02:33 +00:00
Andrew Dunbar
973b7b8235
feat: add "except if" and "except when" for "unless if" (#1318) 2025-06-20 16:49:46 +00:00
Andrew Dunbar
cef9ce9042
feat: Implement #405 - the "5am in the morning" redundancy (#1414)
* Implement #405 - the "5am in the morning" redundancy

This adds a new `LintKind` for redundancy errors too.

* chore: remove comment alining am/pm with time words

* fix: `just format`
2025-06-20 16:48:24 +00:00
Elijah Potter
677a0f2a9e
fix(core): use POS tags for PronounKnew accuracy (#1413)
Co-authored-by: x86xsk <x86xsk@users.noreply.github.com>
2025-06-20 10:43:42 -06:00