Skip to content

Commit f87308f

Browse files
committed
A fix for snippet formatting
1 parent 69761c8 commit f87308f

File tree

2 files changed

+16
-4
lines changed

2 files changed

+16
-4
lines changed

src/formatting.cpp

Lines changed: 12 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -144,12 +144,21 @@ namespace cpptrace {
144144
continue;
145145
}
146146
print_frame_internal(stream, frame, color, frame_number_width, counter);
147+
if(frame.line.has_value() && !frame.filename.empty() && options.snippets) {
148+
auto snippet = detail::get_snippet(
149+
frame.filename,
150+
frame.line.value(),
151+
options.context_lines,
152+
color
153+
);
154+
if(!snippet.empty()) {
155+
stream << '\n';
156+
stream << snippet;
157+
}
158+
}
147159
if(newline_at_end || &frame != &frames.back()) {
148160
stream << '\n';
149161
}
150-
if(frame.line.has_value() && !frame.filename.empty() && options.snippets) {
151-
stream << detail::get_snippet(frame.filename, frame.line.value(), options.context_lines, color);
152-
}
153162
counter++;
154163
}
155164
}

src/snippets/snippet.cpp

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -135,7 +135,10 @@ namespace detail {
135135
if(color && line == target_line) {
136136
snippet += RESET;
137137
}
138-
snippet += lines[line - original_begin] + "\n";
138+
snippet += lines[line - original_begin];
139+
if(line != end) {
140+
snippet += '\n';
141+
}
139142
}
140143
return snippet;
141144
}

0 commit comments

Comments
 (0)