You are not logged in.

#1 2009-09-03 23:33:25

ugkbunb
Member
Registered: 2009-02-26
Posts: 227

[SOLVED] help converting bash PS1 prompt to zsh PS1 prompt

I guess they don't use the same syntax because simply copying it over to my zshrc does not work... it literally changes my prompt to the exact string of backlslashes etc

If anyone can help me convert the following to zsh syntax I would be much in their debt:

    PS1="$TITLEBAR [\[\e[37m\]\u\[\e[31m\]@\[\e[37m\]\h\[\e[0m\]:\[\e[33m\]\w\[\e[0m\]] \$ ${NONE}"

full bit copied from some thread in this forums... it had served me well

bash_prompt() {
    case $TERM in
     xterm*|rxvt*)
         local TITLEBAR='\[\033]0;\u:${NEW_PWD}\007\]'
          ;;
     *)
         local TITLEBAR=""
          ;;
    esac
    local NONE="\[\033[0m\]"    # unsets color to term's fg color

    # regular colors
    local K="\[\033[0;30m\]"    # black
    local R="\[\033[0;31m\]"    # red
    local G="\[\033[0;32m\]"    # green
    local Y="\[\033[0;33m\]"    # yellow
    local B="\[\033[0;34m\]"    # blue
    local M="\[\033[0;35m\]"    # magenta
    local C="\[\033[0;36m\]"    # cyan
    local O="\[\033[0;37m\]"    # orange
    local W="\[\033[0;38m\]"    # white

    # emphasized (bolded) colors
    local EMK="\[\033[1;30m\]"
    local EMR="\[\033[1;31m\]"
    local EMG="\[\033[1;32m\]"
    local EMY="\[\033[1;33m\]"
    local EMB="\[\033[1;34m\]"
    local EMM="\[\033[1;35m\]"
    local EMC="\[\033[1;36m\]"
    local EMW="\[\033[1;37m\]"

    # background colors
    local BGK="\[\033[40m\]"
    local BGR="\[\033[41m\]"
    local BGG="\[\033[42m\]"
    local BGY="\[\033[43m\]"
    local BGB="\[\033[44m\]"
    local BGM="\[\033[45m\]"
    local BGC="\[\033[46m\]"
    local BGW="\[\033[47m\]"

    local UC=$W                 # user's color
    [ $UID -eq "0" ] && UC=$R   # root's color

    PS1="$TITLEBAR [\[\e[37m\]\u\[\e[31m\]@\[\e[37m\]\h\[\e[0m\]:\[\e[33m\]\w\[\e[0m\]] \$ ${NONE}"
    #PS1="$TITLEBAR ${EMK}[${UC}\u${EMK}@${UC}\h ${EMB}\${NEW_PWD}${EMK}]${UC}\\$ ${NONE}"
    # without colors: PS1="[\u@\h \${NEW_PWD}]\\$ "
    # extra backslash in front of \$ to make bash colorize the prompt
}

PROMPT_COMMAND=bash_prompt_command
bash_prompt
unset bash_prompt

Last edited by ugkbunb (2009-09-04 17:56:55)

Offline

#2 2009-09-04 00:31:57

drtoki
Member
From: {x ∈ A | p(x) = 1}
Registered: 2009-07-22
Posts: 95

Re: [SOLVED] help converting bash PS1 prompt to zsh PS1 prompt

perl script to do the dirty work for you lazy bums smile
http://zsh.cvs.sourceforge.net/*checkou … 2zshprompt

Last edited by drtoki (2009-09-04 00:33:06)

Offline

#3 2009-09-04 02:54:11

ugkbunb
Member
Registered: 2009-02-26
Posts: 227

Re: [SOLVED] help converting bash PS1 prompt to zsh PS1 prompt

Thanks! I am a bit confused on how you use it though... I saved it and chmod +x... if I attempt to pass it [\[\e[37m\]\u\[\e[31m\]@\[\e[37m\]\h\[\e[0m\]:\[\e[33m\]\w\[\e[0m\]] \ -- it just spits out errors... do I pass it a file or what?

Offline

#4 2009-09-04 15:45:09

drtoki
Member
From: {x ∈ A | p(x) = 1}
Registered: 2009-07-22
Posts: 95

Re: [SOLVED] help converting bash PS1 prompt to zsh PS1 prompt

If it spits out errors you should read them.. They generally tell you what the script expects. I saved your prompt in test and passed it to the script:

$ perl tozsh.pl test && rm test
# Converted to zsh prompt theme by bash2zshprompt, written by <adam@spiers.net>
[%{$fg[white]%}%n%{$fg[red]%}@%{$fg[white]%}%m%{$reset_color%}:%{$fg[yellow]%}%~%{$reset_color%}] \

Offline

#5 2009-09-04 17:56:39

ugkbunb
Member
Registered: 2009-02-26
Posts: 227

Re: [SOLVED] help converting bash PS1 prompt to zsh PS1 prompt

I did try and read them... I couldn't make any sense of it though. Thanks for spoon feeding me. I much appreciate it.

Offline

Board footer

Powered by FluxBB