lean4-htt/tests/lean/interactive
Marc Huisinga cb0284f98e
feat: signature help (#8511)
This PR implements signature help support. When typing a function
application, editors with support for signature help will now display a
popup that designates the current (remaining) function type. This
removes the need to remember the function signature while typing the
function application, or having to constantly cycle between hovering
over the function identifier and typing the application. In VS Code, the
signature help can be triggered manually using `Ctrl+Shift+Space`.


![Demo](https://github.com/user-attachments/assets/d1f6ed79-bb16-4593-8d28-68b1cce5d5dc)

### Other changes

- In order to support signature help for the partial syntax `f a <|` or
`f a $`, these notations now elaborate as `f a`, not `f a .missing`.
- The logic in `delabConstWithSignature` that delaborates parameters is
factored out into a function `delabForallParamsWithSignature` so that it
can be used for arbitrary `forall`s, not just constants.
- The `InfoTree` formatter is adjusted to produce output where it is
easier to identify the kind of `Info` in the `InfoTree`.
- A bug in `InfoTree.smallestInfo?` is fixed so that it doesn't panic
anymore when its predicate `p` does not ensure that both `pos?` and
`tailPos?` of the `Info` are present.
2025-06-03 17:26:33 +00:00
..
533.lean
533.lean.expected.out feat: faster auto-completion (#7134) 2025-02-19 10:05:18 +00:00
863.lean
863.lean.expected.out feat: faster auto-completion (#7134) 2025-02-19 10:05:18 +00:00
1018unknowMVarIssue.lean chore: change chatty test to interactive test (#8348) 2025-05-15 07:56:26 +00:00
1018unknowMVarIssue.lean.expected.out chore: change chatty test to interactive test (#8348) 2025-05-15 07:56:26 +00:00
1031.lean
1031.lean.expected.out
1265.lean
1265.lean.expected.out feat: faster auto-completion (#7134) 2025-02-19 10:05:18 +00:00
1403.lean
1403.lean.expected.out
1525.lean
1525.lean.expected.out
1659.lean
1659.lean.expected.out feat: faster auto-completion (#7134) 2025-02-19 10:05:18 +00:00
2058.lean
2058.lean.expected.out
2881.lean
2881.lean.expected.out
4078.lean
4078.lean.expected.out
4880.lean
4880.lean.expected.out feat: 'unsolved goals' & 'goals accomplished' diagnostics (#7366) 2025-03-07 13:50:56 +00:00
5659.lean
5659.lean.expected.out
6594.lean fix: incremental goal state requests select incomplete snapshot (#6887) 2025-02-14 11:53:24 +00:00
6594.lean.expected.out fix: incremental goal state requests select incomplete snapshot (#6887) 2025-02-14 11:53:24 +00:00
amb.lean
amb.lean.expected.out
anonHyp.lean
anonHyp.lean.expected.out
autoBoundIssue.lean
autoBoundIssue.lean.expected.out
builtinCodeactions.lean
builtinCodeactions.lean.expected.out
cancellation.lean fix: cancellation of synchronous part of previous elaboration (#7882) 2025-04-10 11:43:41 +00:00
cancellation.lean.expected.out test: goals accomplished (#8319) 2025-05-13 13:00:47 +00:00
catHover.lean
catHover.lean.expected.out
codeaction.lean
codeaction.lean.expected.out
compHeader.lean
compHeader.lean.expected.out feat: faster auto-completion (#7134) 2025-02-19 10:05:18 +00:00
completion.lean
completion.lean.expected.out feat: faster auto-completion (#7134) 2025-02-19 10:05:18 +00:00
completion2.lean
completion2.lean.expected.out feat: faster auto-completion (#7134) 2025-02-19 10:05:18 +00:00
completion3.lean
completion3.lean.expected.out feat: faster auto-completion (#7134) 2025-02-19 10:05:18 +00:00
completion4.lean
completion4.lean.expected.out feat: faster auto-completion (#7134) 2025-02-19 10:05:18 +00:00
completion5.lean
completion5.lean.expected.out feat: faster auto-completion (#7134) 2025-02-19 10:05:18 +00:00
completion6.lean
completion6.lean.expected.out feat: faster auto-completion (#7134) 2025-02-19 10:05:18 +00:00
completion7.lean
completion7.lean.expected.out feat: faster auto-completion (#7134) 2025-02-19 10:05:18 +00:00
completionAtPrint.lean
completionAtPrint.lean.expected.out feat: faster auto-completion (#7134) 2025-02-19 10:05:18 +00:00
completionBracketedDot.lean
completionBracketedDot.lean.expected.out feat: faster auto-completion (#7134) 2025-02-19 10:05:18 +00:00
completionCheck.lean
completionCheck.lean.expected.out feat: faster auto-completion (#7134) 2025-02-19 10:05:18 +00:00
completionDanglingDot.lean
completionDanglingDot.lean.expected.out feat: faster auto-completion (#7134) 2025-02-19 10:05:18 +00:00
completionDeprecation.lean
completionDeprecation.lean.expected.out feat: faster auto-completion (#7134) 2025-02-19 10:05:18 +00:00
completionEOF.lean
completionEOF.lean.expected.out feat: faster auto-completion (#7134) 2025-02-19 10:05:18 +00:00
completionFallback.lean
completionFallback.lean.expected.out feat: faster auto-completion (#7134) 2025-02-19 10:05:18 +00:00
completionFromExpectedType.lean
completionFromExpectedType.lean.expected.out feat: faster auto-completion (#7134) 2025-02-19 10:05:18 +00:00
completionIStr.lean
completionIStr.lean.expected.out feat: faster auto-completion (#7134) 2025-02-19 10:05:18 +00:00
completionOpenNamespaces.lean
completionOpenNamespaces.lean.expected.out feat: faster auto-completion (#7134) 2025-02-19 10:05:18 +00:00
completionOption.lean
completionOption.lean.expected.out feat: faster auto-completion (#7134) 2025-02-19 10:05:18 +00:00
completionPrefixIssue.lean
completionPrefixIssue.lean.expected.out feat: Lean.Grind.IsCharP (#7870) 2025-04-10 08:36:42 +00:00
completionPrivateTypes.lean
completionPrivateTypes.lean.expected.out fix: search path related bugs (#7873) 2025-04-09 15:37:49 +00:00
completionPrv.lean feat: faster auto-completion (#7134) 2025-02-19 10:05:18 +00:00
completionPrv.lean.expected.out fix: search path related bugs (#7873) 2025-04-09 15:37:49 +00:00
completionStructureInstance.lean
completionStructureInstance.lean.expected.out feat: faster auto-completion (#7134) 2025-02-19 10:05:18 +00:00
completionTactics.lean
completionTactics.lean.expected.out feat: faster auto-completion (#7134) 2025-02-19 10:05:18 +00:00
compNamespace.lean feat: IntX operations and conversion theory (#7592) 2025-03-27 15:17:56 +00:00
compNamespace.lean.expected.out fix: namespace completion to only use the short name (#8350) 2025-05-22 11:58:47 +00:00
definition.lean test: make test deterministic (#7916) 2025-04-11 11:16:16 +00:00
definition.lean.expected.out test: make test deterministic (#7916) 2025-04-11 11:16:16 +00:00
Diff.lean
Diff.lean.expected.out feat: pretty print props with only if domain is prop, add pp.foralls (#7812) 2025-04-04 02:55:47 +00:00
discrsIssue.lean
discrsIssue.lean.expected.out
docstringLinksExamples.lean feat: language reference links and examples in docstrings (#7240) 2025-03-12 09:17:27 +00:00
docstringLinksExamples.lean.expected.out feat: language reference links and examples in docstrings (#7240) 2025-03-12 09:17:27 +00:00
dotIdCompletion.lean
dotIdCompletion.lean.expected.out feat: faster auto-completion (#7134) 2025-02-19 10:05:18 +00:00
editAfterError.lean
editAfterError.lean.expected.out
editCompletion.lean
editCompletion.lean.expected.out feat: faster auto-completion (#7134) 2025-02-19 10:05:18 +00:00
expectedTypeAsGoal.lean
expectedTypeAsGoal.lean.expected.out feat: use omission dots for hidden let values in Infoview (#8041) 2025-05-27 23:09:11 +00:00
explicitAppInstHole.lean
explicitAppInstHole.lean.expected.out
foldingRange.lean
foldingRange.lean.expected.out
ghostGoals.lean
ghostGoals.lean.expected.out
goalEOF.lean
goalEOF.lean.expected.out
goalIssue.lean
goalIssue.lean.expected.out
goalsAccomplished.lean test: goals accomplished (#8319) 2025-05-13 13:00:47 +00:00
goalsAccomplished.lean.expected.out test: goals accomplished (#8319) 2025-05-13 13:00:47 +00:00
goTo.lean fix: search path related bugs (#7873) 2025-04-09 15:37:49 +00:00
goTo.lean.expected.out fix: search path related bugs (#7873) 2025-04-09 15:37:49 +00:00
goTo2.lean fix: search path related bugs (#7873) 2025-04-09 15:37:49 +00:00
goTo2.lean.expected.out fix: search path related bugs (#7873) 2025-04-09 15:37:49 +00:00
haveInfo.lean
haveInfo.lean.expected.out feat: 'unsolved goals' & 'goals accomplished' diagnostics (#7366) 2025-03-07 13:50:56 +00:00
highlight.lean fix: do not cancel async elaboration tasks (#7175) 2025-02-21 17:24:36 +00:00
highlight.lean.expected.out
hover.lean fix: search path related bugs (#7873) 2025-04-09 15:37:49 +00:00
hover.lean.expected.out fix: search path related bugs (#7873) 2025-04-09 15:37:49 +00:00
hoverAt.lean
hoverAt.lean.expected.out
hoverBinderUndescore.lean
hoverBinderUndescore.lean.expected.out
hoverDot.lean
hoverDot.lean.expected.out chore: normalize URLs to the language reference in test results (#7782) 2025-04-02 06:17:31 +00:00
hoverException.lean
hoverException.lean.expected.out
hoverTacticExt.lean
hoverTacticExt.lean.expected.out
incrementalCombinator.lean
incrementalCombinator.lean.expected.out feat: 'unsolved goals' & 'goals accomplished' diagnostics (#7366) 2025-03-07 13:50:56 +00:00
incrementalCommand.lean fix: do not cancel async elaboration tasks (#7175) 2025-02-21 17:24:36 +00:00
incrementalCommand.lean.expected.out
incrementalInduction.lean
incrementalInduction.lean.expected.out
incrementalMutual.lean
incrementalMutual.lean.expected.out
incrementalTactic.lean
incrementalTactic.lean.expected.out feat: pretty print props with only if domain is prop, add pp.foralls (#7812) 2025-04-04 02:55:47 +00:00
infoIssues.lean
infoIssues.lean.expected.out
internalNamesIssue.lean
internalNamesIssue.lean.expected.out feat: faster auto-completion (#7134) 2025-02-19 10:05:18 +00:00
inWordCompletion.lean feat: faster auto-completion (#7134) 2025-02-19 10:05:18 +00:00
inWordCompletion.lean.expected.out feat: faster auto-completion (#7134) 2025-02-19 10:05:18 +00:00
issue4527.lean
issue4527.lean.expected.out feat: 'unsolved goals' & 'goals accomplished' diagnostics (#7366) 2025-03-07 13:50:56 +00:00
issue5021.lean
issue5021.lean.expected.out chore: fix spelling mistakes (#7328) 2025-04-07 01:15:48 +00:00
issue5597.lean
issue5597.lean.expected.out
jumpMutual.lean fix: search path related bugs (#7873) 2025-04-09 15:37:49 +00:00
jumpMutual.lean.expected.out fix: search path related bugs (#7873) 2025-04-09 15:37:49 +00:00
keywordCompletion.lean
keywordCompletion.lean.expected.out feat: faster auto-completion (#7134) 2025-02-19 10:05:18 +00:00
lean3HoverIssue.lean
lean3HoverIssue.lean.expected.out
macroGoalIssue.lean
macroGoalIssue.lean.expected.out
match.lean
match.lean.expected.out feat: faster auto-completion (#7134) 2025-02-19 10:05:18 +00:00
matchPatternHover.lean
matchPatternHover.lean.expected.out
matchStxCompletion.lean
matchStxCompletion.lean.expected.out feat: faster auto-completion (#7134) 2025-02-19 10:05:18 +00:00
partialNamespace.lean
partialNamespace.lean.expected.out
plainGoal.lean
plainGoal.lean.expected.out feat: pretty print props with only if domain is prop, add pp.foralls (#7812) 2025-04-04 02:55:47 +00:00
plainTermGoal.lean
plainTermGoal.lean.expected.out
ppShowLetValues.lean feat: use omission dots for hidden let values in Infoview (#8041) 2025-05-27 23:09:11 +00:00
ppShowLetValues.lean.expected.out feat: use omission dots for hidden let values in Infoview (#8041) 2025-05-27 23:09:11 +00:00
rename.lean
rename.lean.expected.out
run.lean test: avoid re-elaboration of interactive runner (#7177) 2025-02-22 10:36:25 +00:00
rwElabConst.lean fix: deduplicate elaboration of constant argument to rw (#8232) 2025-05-15 11:33:10 +00:00
rwElabConst.lean.expected.out fix: deduplicate elaboration of constant argument to rw (#8232) 2025-05-15 11:33:10 +00:00
signatureHelp.lean feat: signature help (#8511) 2025-06-03 17:26:33 +00:00
signatureHelp.lean.expected.out feat: signature help (#8511) 2025-06-03 17:26:33 +00:00
stdOutput.lean
stdOutput.lean.expected.out
structNameParentProj.lean feat: make structure parent projections nameable (#7100) 2025-02-18 07:38:13 +00:00
structNameParentProj.lean.expected.out feat: make structure parent projections nameable (#7100) 2025-02-18 07:38:13 +00:00
terminationBySuggestion.lean
terminationBySuggestion.lean.expected.out
test_single.sh
travellingCompletions.lean feat: faster auto-completion (#7134) 2025-02-19 10:05:18 +00:00
travellingCompletions.lean.expected.out feat: faster auto-completion (#7134) 2025-02-19 10:05:18 +00:00
unterminatedDocComment.lean
unterminatedDocComment.lean.expected.out
userWidget.lean
userWidget.lean.expected.out