There's no need to call zle reset-prompt in precmd since the prompt has yet to be rendered. This commit separates the widget functionality (reset prompt) and restoring the prompt symbol.