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

feat(#331): Literate Haskell Support #344

Merged
merged 10 commits into from
Jan 10, 2025

Conversation

grantlemons
Copy link
Collaborator

@grantlemons grantlemons commented Dec 31, 2024

The parser does not support parsing the actual code beyond extracting identifiers, but I don't know how that would be implemented considering the vastly different contexts.
If we were able to, using CommentParser would be great. It is a little weird to have comments in your code when it's literate programming anyway, but I can see it happening.

Will need to be revisited before/after merging #302 because of the changes to the Parser and Masker traits.

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.

Looks and seems to work great! Mostly just looking for enhanced documentation. Why did you make the decisions you did?

harper-literate-haskell/Cargo.toml Show resolved Hide resolved
harper-literate-haskell/src/masker.rs Show resolved Hide resolved
harper-literate-haskell/src/masker.rs Show resolved Hide resolved
let source = text.chars().collect_vec();
let parser = LiterateHaskellParser;

if let Some(new_dict) = parser.create_ident_dict(&source) {
Copy link
Collaborator

Choose a reason for hiding this comment

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

Could this be generalized to the other languages?

@elijah-potter elijah-potter merged commit a697b29 into Automattic:master Jan 10, 2025
17 checks passed
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