Skip to content

Commit 954c337

Browse files
authored
Merge pull request #4647 from nrenvo/fix/read-line-numbers-tab
fix(read): separate line numbers with a tab
2 parents 41e6912 + 931571a commit 954c337

3 files changed

Lines changed: 19 additions & 7 deletions

File tree

‎scripts/benchmark.sh‎

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -187,10 +187,11 @@ fi
187187
# read
188188
# ===================
189189
section "read"
190-
bench "read" "cat src/main.rs" "$RTK read src/main.rs"
191-
bench "read -l minimal" "cat src/main.rs" "$RTK read src/main.rs -l minimal"
192-
bench "read -l aggressive" "cat src/main.rs" "$RTK read src/main.rs -l aggressive"
193-
bench "read -n" "cat -n src/main.rs" "$RTK read src/main.rs -n"
190+
# The CLI lives in src/lib.rs; src/main.rs is a 3-line shim.
191+
bench "read" "cat src/lib.rs" "$RTK read src/lib.rs"
192+
bench "read -l minimal" "cat src/lib.rs" "$RTK read src/lib.rs -l minimal"
193+
bench "read -l aggressive" "cat src/lib.rs" "$RTK read src/lib.rs -l aggressive"
194+
bench "read -n" "cat -n src/lib.rs" "$RTK read src/lib.rs -n"
194195

195196
# ===================
196197
# find

‎src/cmds/system/read.rs‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -234,7 +234,7 @@ fn format_with_line_numbers(content: &str) -> String {
234234
let width = lines.len().to_string().len();
235235
let mut out = String::new();
236236
for (i, line) in lines.iter().enumerate() {
237-
out.push_str(&format!("{:>width$} │ {}\n", i + 1, line, width = width));
237+
out.push_str(&format!("{:>width$}\t{}\n", i + 1, line, width = width));
238238
}
239239
out
240240
}

‎tests/read_window_bytes_test.rs‎

Lines changed: 13 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -111,11 +111,11 @@ fn read_windows_still_apply_text_filtering_and_line_numbers() {
111111
),
112112
(
113113
["--head-lines", "1", "--line-numbers"].as_slice(),
114-
"1 │ // comment\n",
114+
"1\t// comment\n",
115115
),
116116
(
117117
["--tail-lines", "1", "--line-numbers"].as_slice(),
118-
"1 │ fn gamma() {}\n",
118+
"1\tfn gamma() {}\n",
119119
),
120120
] {
121121
let output = read_stdin(input, args);
@@ -124,6 +124,17 @@ fn read_windows_still_apply_text_filtering_and_line_numbers() {
124124
}
125125
}
126126

127+
#[test]
128+
fn read_line_numbers_align_multi_digit_widths_with_a_tab() {
129+
let input = b"a\nb\nc\nd\ne\nf\ng\nh\ni\nj\nk\nl\n";
130+
let output = read_stdin(input, &["--line-numbers"]);
131+
assert!(output.status.success(), "{:?}", output.stderr);
132+
assert_eq!(
133+
output.stdout,
134+
b" 1\ta\n 2\tb\n 3\tc\n 4\td\n 5\te\n 6\tf\n 7\tg\n 8\th\n 9\ti\n10\tj\n11\tk\n12\tl\n"
135+
);
136+
}
137+
127138
#[cfg(unix)]
128139
#[test]
129140
fn rewritten_head_spellings_match_native_on_non_utf8_files() {

0 commit comments

Comments
 (0)