This PR adds support for interactivity to the combined "try this" messages that were introduced in #9966. In doing so, it moves the link to apply a suggestion to a separate `[apply]` button in front of the suggestion. Hints with diffs remain unchanged, as they did not previously support interacting with terms in the diff, either. <img width="379" height="256" alt="Suggestion with interactive message" src="https://github.com/user-attachments/assets/7838ebf6-0613-46e7-bc88-468a05acbf51" />
31 lines
597 B
Text
31 lines
597 B
Text
/-!
|
|
# `simp?` in conversion mode
|
|
|
|
Tests that `simp?` and `dsimp?` work properly in `conv` mode: namely, that each displays the
|
|
appropriate suggestion and applies the corresponding simplification to the focused expression.
|
|
-/
|
|
|
|
attribute [simp] Nat.two_mul
|
|
|
|
/--
|
|
info: Try this:
|
|
[apply] simp only [Nat.two_mul]
|
|
-/
|
|
#guard_msgs in
|
|
example (n : Nat) : 123 + 2 * n = 123 + (n + n) := by
|
|
conv =>
|
|
enter [1, 2]
|
|
simp?
|
|
|
|
|
|
@[simp] def foo (n : Nat) := n + 1
|
|
|
|
/--
|
|
info: Try this:
|
|
[apply] dsimp only [foo]
|
|
-/
|
|
#guard_msgs in
|
|
example (n : Nat) : foo n = n + 1 := by
|
|
conv =>
|
|
lhs
|
|
dsimp?
|