Skip to content

Commit 35af452

Browse files
author
Daniel Kroening
authored
Merge pull request #3209 from diffblue/show-vcc-colors
show-vcc: colors
2 parents 68a0b70 + 5e7a1dd commit 35af452

File tree

1 file changed

+18
-9
lines changed

1 file changed

+18
-9
lines changed

src/goto-symex/show_vcc.cpp

Lines changed: 18 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ Author: Daniel Kroening, [email protected]
2525
#include <util/ui_message.h>
2626

2727
void show_vcc_plain(
28-
std::ostream &out,
28+
messaget::mstreamt &out,
2929
const namespacet &ns,
3030
const symex_target_equationt &equation)
3131
{
@@ -63,7 +63,8 @@ void show_vcc_plain(
6363
{
6464
if(!p_it->ignore)
6565
{
66-
out << "{-" << count << "} " << format(p_it->cond_expr) << '\n';
66+
out << messaget::faint << "{-" << count << "} " << messaget::reset
67+
<< format(p_it->cond_expr) << '\n';
6768

6869
#ifdef DEBUG
6970
out << "GUARD: " << format(p_it->guard) << '\n';
@@ -75,10 +76,10 @@ void show_vcc_plain(
7576
}
7677

7778
// Unicode equivalent of "|--------------------------"
78-
out << u8"\u251c";
79+
out << messaget::faint << u8"\u251c";
7980
for(unsigned i = 0; i < 26; i++)
8081
out << u8"\u2500";
81-
out << '\n';
82+
out << messaget::reset << '\n';
8283

8384
// split property into multiple disjunts, if applicable
8485
exprt::operandst disjuncts;
@@ -91,9 +92,12 @@ void show_vcc_plain(
9192
std::size_t count = 1;
9293
for(const auto &disjunct : disjuncts)
9394
{
94-
out << '{' << count << "} " << format(disjunct) << '\n';
95+
out << messaget::faint << '{' << count << "} " << messaget::reset
96+
<< format(disjunct) << '\n';
9597
count++;
9698
}
99+
100+
out << messaget::eom;
97101
}
98102
}
99103

@@ -174,7 +178,7 @@ void show_vcc(
174178
of.open(filename);
175179
if(!of)
176180
throw invalid_command_line_argument_exceptiont(
177-
"invalid file to read trace from: " + filename, "--outfile");
181+
"failed to open output file: " + filename, "--outfile");
178182
}
179183

180184
std::ostream &out = have_file ? of : std::cout;
@@ -190,13 +194,18 @@ void show_vcc(
190194
break;
191195

192196
case ui_message_handlert::uit::PLAIN:
193-
msg.status() << "VERIFICATION CONDITIONS:\n" << messaget::eom;
194197
if(have_file)
195-
show_vcc_plain(out, ns, equation);
198+
{
199+
msg.status() << "Verification conditions written to file"
200+
<< messaget::eom;
201+
stream_message_handlert mout_handler(out);
202+
messaget mout(mout_handler);
203+
show_vcc_plain(mout.status(), ns, equation);
204+
}
196205
else
197206
{
207+
msg.status() << "VERIFICATION CONDITIONS:\n" << messaget::eom;
198208
show_vcc_plain(msg.status(), ns, equation);
199-
msg.status() << messaget::eom;
200209
}
201210
break;
202211
}

0 commit comments

Comments
 (0)