ignore utf-8 bom (#1317)

This commit is contained in:
Naim A 2023-05-29 21:13:11 +03:00 committed by GitHub
parent eab267bef0
commit 6db4c39cd9
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -557,7 +557,13 @@ impl World for SystemWorld {
.source
.get_or_init(|| {
let buf = read(path)?;
let text = String::from_utf8(buf)?;
let text = if buf.starts_with(b"\xef\xbb\xbf") {
// remove UTF-8 BOM
std::str::from_utf8(&buf[3..])?.to_owned()
} else {
// Assume UTF-8
String::from_utf8(buf)?
};
Ok(self.insert(path, text))
})
.clone()