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

Automatic annotation of type signatures #7130

Open
wants to merge 5 commits into
base: main
Choose a base branch
from

Conversation

snobee
Copy link
Contributor

@snobee snobee commented Sep 29, 2024

Resolves #7042

I've started with all the logic in analysed_doc but I'll probably end up moving some of it into fmt when I start on that part

I'm making some assumptions here that I wanted to confirm:

  1. All definitions begin at the start of a line
  2. The left side of a type annotation is the exact same as the left side of a definition

@snobee snobee force-pushed the annotate-type-signatures branch 4 times, most recently from f03b305 to 387c509 Compare November 5, 2024 23:48
buffer
}

pub fn annotation_edits(
Copy link
Contributor Author

Choose a reason for hiding this comment

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

I've exposed this and annotations_edit() publicly to be used in the language server but It feels weird to expose them from the cli crate. If it should be in another crate what one?

crates/cli/src/format.rs Outdated Show resolved Hide resolved

let annotate_exit_code = match annotate_file(&arena, roc_file_path.to_owned()) {
Ok(()) => 0,
Err(LoadingProblem::FormattedReport(report)) => {
Copy link
Contributor Author

Choose a reason for hiding this comment

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

If there's a problem loading the file then it just prints out the error. I know this needs to be updated but I'm not sure what the error message should be. Should it include the loading problem or just say that there was one?

@snobee
Copy link
Contributor Author

snobee commented Nov 6, 2024

I've added some comments on the code with some questions about things that I'm not sure about

There's a test that's failing in the language server and that's on purpose. I'm pretty sure the problem is in #7126 but don't know how to check that until it's been fixed, so I'm going to consider this blocked. I'll take a look but I'm not very confident I can figure it out.

Copy link

github-actions bot commented Dec 7, 2024

Thank you for your contribution! Sometimes PRs end up staying open for a long time without activity, which can make the list of open PRs get long and time-consuming to review. To keep things manageable for reviewers, this bot automatically closes PRs that haven’t had activity in 60 days. This PR hasn’t had activity in 30 days, so it will be automatically closed if there is no more activity in the next 30 days. Keep in mind that PRs marked Closed are not deleted, so no matter what, the PR will still be right here in the repo. You can always access it and reopen it anytime you like!

@snobee
Copy link
Contributor Author

snobee commented Dec 14, 2024

This has been open long enough so I've put it up for review. There's still issues with suffixed expressions from #7126 but the code for this is independent from that.

@snobee snobee marked this pull request as ready for review December 14, 2024 00:32
@snobee snobee force-pushed the annotate-type-signatures branch from acea61b to d4e558d Compare December 14, 2024 04:49
@snobee
Copy link
Contributor Author

snobee commented Dec 14, 2024

I changed an if to an assert last minute 🙃. That should fix it

@lukewilliamboswell
Copy link
Collaborator

@snobee -- can you please merge latest main?

Apologies for leaving it so long... I think this slipped through and got forgotten about.

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.

Automatic annotation of top-level type signatures
2 participants