leanprover / leanprover/lean4

RFC: A better error message for uncapitalized package name

Open
#3,108 0 comments 1 reaction 0 assignees View on GitHub

Nobody has claimed this yet.

Lake P-medium RFC
Dominant language
Lean
Stars
9.2k
Forks
990
Avg merge
1d 17h
Merged PRs (30d)
175

Description

Making this issue per discussion here. I was trying to install Duper and got the following error which confused me:

boltonbailey@starlight drafting % lake update duper
warning: drafting: package 'Duper' was required as 'duper'
mathlib: running post-update hooks
error: dependency 'duper' not in manifest; use `lake update duper` to add it
error: mathlib: failed to fetch cache
boltonbailey@starlight drafting % lake update duper
warning: drafting: package 'Duper' was required as 'duper'
mathlib: running post-update hooks
error: dependency 'duper' not in manifest; use `lake update duper` to add it
error: mathlib: failed to fetch cache
boltonbailey@starlight drafting %

I was mainly confused by the fact that the error told me to run the same command I had just run, but potentially another thing that would have made things clear to me would have been a suggestion that my require statement was uncapitalized, when it should have been capitalized (this was what fixed it).

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Reproduce the reported lake update duper output with an uncapitalized package name, then trace the diagnostic around the require statement and package-name handling. Done means the error no longer repeats the same command without explanation and clearly identifies the capitalization correction.

Written by the indexing model from the issue text.

Assessment

Domain
cli
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.