Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

refactor: Harper-ls Error-Handling Improvements #349

Merged
merged 5 commits into from
Jan 15, 2025

Conversation

grantlemons
Copy link
Collaborator

@grantlemons grantlemons commented Jan 2, 2025

This should make it easier to track issues in harper_ls. This changes appropriate functions to return anyhow::Results, and in functions that can't, the anyhow error is logged in a concise way. These functions also add context to the anyhow error to make it easier to trace.

Anyhow also ships with a macro bail!(), which simplifies forceable returns of new anyhow errors. For instance:

return Err(anyhow::format_err!("forceStable must be a boolean value."));

Becomes:

bail!("forceStable must be a boolean value.");

@grantlemons grantlemons marked this pull request as ready for review January 4, 2025 15:32
Copy link
Collaborator

@elijah-potter elijah-potter left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I've got some pedantic things I'd like to see changed. Feel free to push back if you disagree.

harper-ls/src/backend.rs Outdated Show resolved Hide resolved
harper-ls/src/backend.rs Outdated Show resolved Hide resolved
harper-ls/src/config.rs Show resolved Hide resolved
harper-ls/src/dictionary_io.rs Outdated Show resolved Hide resolved
harper-ls/src/dictionary_io.rs Show resolved Hide resolved
@elijah-potter elijah-potter merged commit 636be54 into Automattic:master Jan 15, 2025
17 checks passed
@grantlemons grantlemons deleted the ls-error-improvements branch January 15, 2025 17:16
tmeijn pushed a commit to tmeijn/dotfiles that referenced this pull request Jan 22, 2025
This MR contains the following updates:

| Package | Update | Change |
|---|---|---|
| [Automattic/harper/harper-ls](https://github.com/Automattic/harper) | minor | `v0.14.0` -> `v0.16.0` |

MR created with the help of [el-capitano/tools/renovate-bot](https://gitlab.com/el-capitano/tools/renovate-bot).

**Proposed changes to behavior should be submitted there as MRs.**

---

### Release Notes

<details>
<summary>Automattic/harper (Automattic/harper/harper-ls)</summary>

### [`v0.16.0`](https://github.com/Automattic/harper/releases/tag/v0.16.0)

[Compare Source](Automattic/harper@v0.15.0...v0.16.0)

#### What's Changed

-   [A false-positive for subordinating conjunctions was resolved](Automattic/harper#341).
-   [harper.js now properly reexports types from harper-wasm](Automattic/harper@aad7519).
-   [harper.js now has an automatically generated API reference page.](https://writewithharper.com/docs/harperjs/ref/harper.js.html)
-   [Some erroneous filtering of certain errors was creating false-negatives.](Automattic/harper#131)
-   [Words containing numbers are less likely to throw false-positive spelling errors.](Automattic/harper#195)
-   [A rule for variations of the word “your” was added](Automattic/harper@113bc36).
-   fix the nvim-lspconfig link by [@&#8203;wadsaek](https://github.com/wadsaek) in Automattic/harper#367
-   docs: added Scoop instructions by [@&#8203;elijah-potter](https://github.com/elijah-potter) in Automattic/harper#361
-   Enable LTO and codegen-units = 1 in the Release profile by [@&#8203;zamazan4ik](https://github.com/zamazan4ik) in Automattic/harper#363
-   feat([#&#8203;331](Automattic/harper#331)): Literate Haskell Support by [@&#8203;grantlemons](https://github.com/grantlemons) in Automattic/harper#344
-   build(deps): bump dirs from 5.0.1 to 6.0.0 by [@&#8203;dependabot](https://github.com/dependabot) in Automattic/harper#372
-   build(deps): bump tokio from 1.42.0 to 1.43.0 by [@&#8203;dependabot](https://github.com/dependabot) in Automattic/harper#371
-   build(deps): bump thiserror from 2.0.9 to 2.0.11 by [@&#8203;dependabot](https://github.com/dependabot) in Automattic/harper#369
-   feat: Typst Language Support by [@&#8203;grantlemons](https://github.com/grantlemons) in Automattic/harper#302
-   build(deps): bump serde_json from 1.0.134 to 1.0.135 by [@&#8203;dependabot](https://github.com/dependabot) in Automattic/harper#368
-   feat(core): create new linter for dollar sign placement by [@&#8203;elijah-potter](https://github.com/elijah-potter) in Automattic/harper#376
-   refactor: Harper-ls Error-Handling Improvements by [@&#8203;grantlemons](https://github.com/grantlemons) in Automattic/harper#349
-   feat([#&#8203;104](Automattic/harper#104)): Markdown linter config for ignoring link titles by [@&#8203;grantlemons](https://github.com/grantlemons) in Automattic/harper#305
-   feat(harper.js): added ability to configure the markup language by [@&#8203;elijah-potter](https://github.com/elijah-potter) in Automattic/harper#379
-   feat(vscode-plugin): Add Literate Haskell and Typst Support + some doc updates by [@&#8203;mcecode](https://github.com/mcecode) in Automattic/harper#388

#### New Contributors

-   [@&#8203;wadsaek](https://github.com/wadsaek) made their first contribution in Automattic/harper#367
-   [@&#8203;elijah-potter](https://github.com/elijah-potter) made their first contribution in Automattic/harper#361
-   [@&#8203;zamazan4ik](https://github.com/zamazan4ik) made their first contribution in Automattic/harper#363

**Full Changelog**: Automattic/harper@v0.15.0...v0.16.0

### [`v0.15.0`](https://github.com/Automattic/harper/releases/tag/v0.15.0)

[Compare Source](Automattic/harper@v0.14.0...v0.15.0)

#### What's Changed

-   Added a variety of rules (see [complete list here](https://writewithharper.com/docs/rules)).
-   Fixed issues with parsing hostnames
-   Added a variety of available `Pattern`s for downstream use
-   Update +page.md by [@&#8203;aminwhat](https://github.com/aminwhat) in Automattic/harper#347
-   feat: Add technical words to dictionary by [@&#8203;claydugo](https://github.com/claydugo) in Automattic/harper#343
-   refactor: remove raw hashes that are unnecessary by [@&#8203;hamirmahal](https://github.com/hamirmahal) in Automattic/harper#324
-   feat: Span View Command Improvements by [@&#8203;grantlemons](https://github.com/grantlemons) in Automattic/harper#340
-   Address "one" for indefinite article rule by [@&#8203;claydugo](https://github.com/claydugo) in Automattic/harper#359
-   feat: Add support for cmake files by [@&#8203;alcroito](https://github.com/alcroito) in Automattic/harper#353
-   build(deps): bump itertools from 0.13.0 to 0.14.0 by [@&#8203;dependabot](https://github.com/dependabot) in Automattic/harper#357
-   feat(harper-ls): remove deleted file/s diagnostics by [@&#8203;mcecode](https://github.com/mcecode) in Automattic/harper#304
-   feat(vscode-plugin): Add CMake Support by [@&#8203;mcecode](https://github.com/mcecode) in Automattic/harper#360

#### New Contributors

-   [@&#8203;aminwhat](https://github.com/aminwhat) made their first contribution in Automattic/harper#347
-   [@&#8203;hamirmahal](https://github.com/hamirmahal) made their first contribution in Automattic/harper#324
-   [@&#8203;alcroito](https://github.com/alcroito) made their first contribution in Automattic/harper#353

**Full Changelog**: Automattic/harper@v0.14.0...v0.15.0

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.

♻ **Rebasing**: Whenever MR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 **Ignore**: Close this MR and you won't be reminded about this update again.

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this MR, check this box

---

This MR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOS45My4wIiwidXBkYXRlZEluVmVyIjoiMzkuMTA3LjAiLCJ0YXJnZXRCcmFuY2giOiJtYWluIiwibGFiZWxzIjpbIlJlbm92YXRlIEJvdCJdfQ==-->
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants