zopencommunity / powerlinegoport

A low-latency prompt for your shell
Apache License 2.0
0 stars 0 forks source link

Prompt doesn't render correctly #3

Open AnthonyGiorgio opened 8 months ago

AnthonyGiorgio commented 8 months ago

I tried out powerline-go on z/OS for the first time, and I found that the prompt doesn't render correctly in the terminal. The insertion cursor isn't on the right edge of the prompt, and it overtypes some of the characters during input. A blinking arrow is present in the non-git prompt, which seems like the wrong terminal attribute is set.

When changing to a git repository, the repo name wraps around the right side of the prompt to the left side. You can see this in the screenshot below.

image

IgorTodorovskiIBM commented 8 months ago

@v1gnesh are you experiencing similar issues?

For me, I don't see the blinking. However, as I'm typing, when my command wraps to a newline, it actually starts overwriting the prompt line. I tried it with this setup:

eval "$(powerline-go -error $? -shell bash -eval -modules-right git)"

and

export LANG=en_US.UTF-8
v1gnesh commented 8 months ago

Cursor is in the right place for me. When you type out a full line however, it does get wonky.

v1gnesh commented 8 months ago

This is what I have in a zopen instance:

function _update_ps1() {

  # PS1="$(powerline-go -git-disable-stats stashed -modules direnv,venv,cwd,git -shell bash)"
  PS1="$(powerline-go -git-disable-stats stashed -modules cwd,git -shell bash)"
}

if [ "$TERM" != "linux" ]; then
    PROMPT_COMMAND="_update_ps1; $PROMPT_COMMAND"
fi

The expensive & thorough way of getting a prompt would be to port libgit2, and then gitstatus. The latter is included in zsh's powerlevel10k, so z/OS 3.1 users can use that instead... if the above 2 are ported.