use unwrap_or_else to prevent unnecessary alloc

This commit is contained in:
Cengiz Can 2017-06-29 17:57:54 +03:00
parent 1beeb5a277
commit 08b6bebbad

View File

@ -365,13 +365,12 @@ fn handle_explain(code: &str,
if dedented_line.starts_with("```") {
is_in_code_block = !is_in_code_block;
text.push_str(&line[..(indent_level+3)]);
text.push('\n');
} else if is_in_code_block && dedented_line.starts_with("# ") {
continue;
} else {
text.push_str(line);
text.push('\n');
}
text.push('\n');
}
show_content_with_pager(&text);
@ -383,7 +382,7 @@ fn handle_explain(code: &str,
}
fn show_content_with_pager(content: &String) {
let pager_name = env::var_os("PAGER").unwrap_or(if cfg!(windows) {
let pager_name = env::var_os("PAGER").unwrap_or_else(|| if cfg!(windows) {
OsString::from("more.com")
} else {
OsString::from("less")