`reset` doesn't even clear the scrollback buffer on all terminal emulators. In fact there's no formal specification for how scrollback buffers should behave because they're a modern incantation. Take iTerm2, this is what happens when I run `reset` and then scroll up:
lmorg ~ % reset
lmorg ~ % reset
lmorg ~ % which reset
/usr/bin/reset
lmorg ~ %
You might find the ANSI escape code for reset, {ESC}c, does what you need:
function reset {
printf '\033c'
}
The above code should work on sh, Bash, Zsh, Oil and Murex.