This PR adjusts the "try this" widget to be rendered as a widget message under 'Messages', not a separate widget under a 'Suggestions' section. The main benefit of this is that the message of the widget is not duplicated between 'Messages' and 'Suggestions'. Since widget message suggestions were already implemented by @jrr6 for the new hint infrastructure, this PR replaces the old "try this" implementation with the new hint infrastructure. In doing so, the `style?` field of suggestions is deprecated, since the hint infrastructure highlights hints using diff colors, and `style?` also never saw much use downstream. Additionally, since the message and the suggestion are now the same component, the `messageData?` field of suggestions is deprecated as well. Notably, the "Try this:" message string now also contains a newline and indentation to separate the suggestion from the rest of the message more clearly and the `postInfo?` field of the suggestion is now part of the message. Finally, this PR changes the diff colors used by the hint infrastructure to be more color-blindness-friendly (insertions are now blue, not green, and text that remains unchanged is now using the editor foreground color instead of blue). ### Breaking changes Tests that use `#guard_msgs` to test the "Try this:" message may need to be adjusted for the new formatting of the message.
32 lines
546 B
Text
32 lines
546 B
Text
/-
|
||
Copyright (c) 2021 Kim Morrison. All rights reserved.
|
||
Released under Apache 2.0 license as described in the file LICENSE.
|
||
Authors: Kim Morrison
|
||
-/
|
||
|
||
/--
|
||
info: Try this:
|
||
exact (n, 37)
|
||
-/
|
||
#guard_msgs in example (n : Nat) : Nat × Nat := by
|
||
show_term
|
||
constructor
|
||
exact n
|
||
exact 37
|
||
|
||
/--
|
||
info: Try this:
|
||
refine (?_, ?_)
|
||
-/
|
||
#guard_msgs in example : Nat × Nat := by
|
||
show_term constructor
|
||
repeat exact 42
|
||
|
||
/--
|
||
info: Try this:
|
||
fun {X} => X
|
||
-/
|
||
#guard_msgs in example : {_a : Nat} → Nat :=
|
||
show_term by
|
||
intro X
|
||
exact X
|