Skip to content

Commit 7cd26e9

Browse files
committed
chore: optimize default binary file check
1 parent 7a38f81 commit 7cd26e9

File tree

1 file changed

+9
-1
lines changed

1 file changed

+9
-1
lines changed

file_type/src/file_types.rs

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -108,7 +108,15 @@ fn cmp_file_type_extensions(a: &FileType, b: &FileType) -> Ordering {
108108

109109
/// Determines if a byte slice is binary or text data.
110110
fn is_binary(bytes: &[u8]) -> bool {
111-
bytes.is_empty()
111+
if bytes.is_empty() {
112+
return true;
113+
}
114+
115+
// Check only the first portion of the file for performance
116+
let check_length = bytes.len().min(8192);
117+
let bytes_to_check = &bytes[..check_length];
118+
119+
bytes_to_check.is_empty()
112120
|| bytes
113121
.iter()
114122
.any(|&byte| matches!(byte, 0..=31 if !matches!(byte, b'\n' | b'\r' | b'\t')))

0 commit comments

Comments
 (0)