Skip to content

Commit 3f9556a

Browse files
oSoMoNsylvestre
authored andcommitted
Add comments to ease readability and maintainability
1 parent a94c6a6 commit 3f9556a

File tree

1 file changed

+11
-1
lines changed

1 file changed

+11
-1
lines changed

src/normal_diff.rs

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -111,6 +111,8 @@ fn make_diff(expected: &[u8], actual: &[u8]) -> Vec<Mismatch> {
111111

112112
#[must_use]
113113
pub fn diff(expected: &[u8], actual: &[u8]) -> Vec<u8> {
114+
// See https://www.gnu.org/software/diffutils/manual/html_node/Detailed-Normal.html
115+
// for details on the syntax of the normal format.
114116
let mut output = Vec::new();
115117
let diff_results = make_diff(expected, actual);
116118
for result in diff_results {
@@ -121,6 +123,7 @@ pub fn diff(expected: &[u8], actual: &[u8]) -> Vec<u8> {
121123
match (expected_count, actual_count) {
122124
(0, 0) => unreachable!(),
123125
(0, _) => writeln!(
126+
// 'a' stands for "Add lines"
124127
&mut output,
125128
"{}a{},{}",
126129
line_number_expected - 1,
@@ -129,6 +132,7 @@ pub fn diff(expected: &[u8], actual: &[u8]) -> Vec<u8> {
129132
)
130133
.unwrap(),
131134
(_, 0) => writeln!(
135+
// 'd' stands for "Delete lines"
132136
&mut output,
133137
"{},{}d{}",
134138
line_number_expected,
@@ -137,12 +141,16 @@ pub fn diff(expected: &[u8], actual: &[u8]) -> Vec<u8> {
137141
)
138142
.unwrap(),
139143
(1, 1) => writeln!(
144+
// 'c' stands for "Change lines"
145+
// exactly one line replaced by one line
140146
&mut output,
141147
"{}c{}",
142-
line_number_expected, line_number_actual
148+
line_number_expected,
149+
line_number_actual
143150
)
144151
.unwrap(),
145152
(1, _) => writeln!(
153+
// one line replaced by multiple lines
146154
&mut output,
147155
"{}c{},{}",
148156
line_number_expected,
@@ -151,6 +159,7 @@ pub fn diff(expected: &[u8], actual: &[u8]) -> Vec<u8> {
151159
)
152160
.unwrap(),
153161
(_, 1) => writeln!(
162+
// multiple lines replaced by one line
154163
&mut output,
155164
"{},{}c{}",
156165
line_number_expected,
@@ -159,6 +168,7 @@ pub fn diff(expected: &[u8], actual: &[u8]) -> Vec<u8> {
159168
)
160169
.unwrap(),
161170
_ => writeln!(
171+
// general case: multiple lines replaced by multiple lines
162172
&mut output,
163173
"{},{}c{},{}",
164174
line_number_expected,

0 commit comments

Comments
 (0)