diff options
author | wuestholz <unknown> | 2013-07-30 17:09:20 -0700 |
---|---|---|
committer | wuestholz <unknown> | 2013-07-30 17:09:20 -0700 |
commit | d73eb5ccdcb87f98edf0769b2deed0e87f62f545 (patch) | |
tree | a3407e312c61ef9cf3d8f05b48ba517e61418b22 /Source/DafnyExtension/TokenTagger.cs | |
parent | 422b0482cb5c4e1e1ac31ba818d0e6ad08022ff6 (diff) |
DafnyExtension: Added support for displaying values from the model as hover text.
Diffstat (limited to 'Source/DafnyExtension/TokenTagger.cs')
-rw-r--r-- | Source/DafnyExtension/TokenTagger.cs | 25 |
1 files changed, 22 insertions, 3 deletions
diff --git a/Source/DafnyExtension/TokenTagger.cs b/Source/DafnyExtension/TokenTagger.cs index abe67751..9d033c8c 100644 --- a/Source/DafnyExtension/TokenTagger.cs +++ b/Source/DafnyExtension/TokenTagger.cs @@ -36,16 +36,35 @@ namespace DafnyLanguage public class DafnyTokenTag : ITag
{
+ string FixedHoverText;
+ private Microsoft.Dafny.IVariable Variable;
public DafnyTokenKind Kind { get; private set; }
- public string HoverText { get; private set; }
+ public string HoverText
+ {
+ get
+ {
+ string text = FixedHoverText;
+ if (Variable != null)
+ {
+ var value = DafnyClassifier.DafnyMenuPackage.TryToLookupValueInCurrentModel(Variable.UniqueName);
+ if (value != null)
+ {
+ text = string.Format("{0} (value = {1})", text == null ? "" : text, value);
+ }
+ }
+ return text;
+ }
+ }
public DafnyTokenTag(DafnyTokenKind kind) {
this.Kind = kind;
}
- public DafnyTokenTag(DafnyTokenKind kind, string hoverText) {
+ public DafnyTokenTag(DafnyTokenKind kind, string fixedHoverText, Microsoft.Dafny.IVariable variable = null)
+ {
this.Kind = kind;
- this.HoverText = hoverText;
+ this.FixedHoverText = fixedHoverText;
+ this.Variable = variable;
}
}
|