1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-07-25 13:07:46 +00:00

Utilities: Make 'less' act more like 'more' when emulating 'more' :^)

This commit is contained in:
Lennon Donaghy 2021-07-28 19:17:04 +01:00 committed by Andreas Kling
parent e9bd81a6a0
commit e426e15101

View file

@ -400,10 +400,12 @@ int main(int argc, char** argv)
if (sequence == "" || sequence == "q") { if (sequence == "" || sequence == "q") {
break; break;
} else if (sequence == "j" || sequence == "\e[B" || sequence == "\n") { } else if (sequence == "j" || sequence == "\e[B" || sequence == "\n") {
if (!modifier_buffer.is_empty()) if (!emulate_more) {
pager.down_n(modifier_buffer.build().to_uint().value_or(1)); if (!modifier_buffer.is_empty())
else pager.down_n(modifier_buffer.build().to_uint().value_or(1));
pager.down(); else
pager.down();
}
} else if (sequence == "k" || sequence == "\e[A") { } else if (sequence == "k" || sequence == "\e[A") {
if (!emulate_more) { if (!emulate_more) {
if (!modifier_buffer.is_empty()) if (!modifier_buffer.is_empty())
@ -412,22 +414,26 @@ int main(int argc, char** argv)
pager.up(); pager.up();
} }
} else if (sequence == "g") { } else if (sequence == "g") {
if (!modifier_buffer.is_empty()) if (!emulate_more) {
pager.go_to_line(modifier_buffer.build().to_uint().value()); if (!modifier_buffer.is_empty())
else pager.go_to_line(modifier_buffer.build().to_uint().value());
pager.top(); else
pager.top();
}
} else if (sequence == "G") { } else if (sequence == "G") {
if (!modifier_buffer.is_empty()) if (!emulate_more) {
pager.go_to_line(modifier_buffer.build().to_uint().value()); if (!modifier_buffer.is_empty())
else pager.go_to_line(modifier_buffer.build().to_uint().value());
pager.bottom(); else
pager.bottom();
}
} else if (sequence == " " || sequence == "\e[6~") { } else if (sequence == " " || sequence == "\e[6~") {
pager.down_page(); pager.down_page();
} else if (sequence == "\e[5~") { } else if (sequence == "\e[5~" && !emulate_more) {
pager.up_page(); pager.up_page();
} else if (sequence == "d") { } else if (sequence == "d") {
pager.down_half_page(); pager.down_half_page();
} else if (sequence == "u") { } else if (sequence == "u" && !emulate_more) {
pager.up_half_page(); pager.up_half_page();
} }