Hi all,
first of all, WOW! GREAT JOB!
I want to use cmder to use Git on windows. As my first test with original "git for windows", which had a very poor performance (very slow command execution) I found your solution and on the first look, it is pretty awesome! So thanks for this!
As I am new to git too, so I want to have a little help in my PS1. I found this PS1, which I really want to use in cmder:
Color_Off="\[\033[0m\]" # Text Reset
Black="\[\033[0;30m\]" # Black
Red="\[\033[0;31m\]" # Red
Green="\[\033[0;32m\]" # Green
Yellow="\[\033[0;33m\]" # Yellow
Blue="\[\033[0;34m\]" # Blue
Purple="\[\033[0;35m\]" # Purple
Cyan="\[\033[0;36m\]" # Cyan
White="\[\033[0;37m\]" # White
BBlack="\[\033[1;30m\]" # Black
BRed="\[\033[1;31m\]" # Red
BGreen="\[\033[1;32m\]" # Green
BYellow="\[\033[1;33m\]" # Yellow
BBlue="\[\033[1;34m\]" # Blue
BPurple="\[\033[1;35m\]" # Purple
BCyan="\[\033[1;36m\]" # Cyan
BWhite="\[\033[1;37m\]" # White
UBlack="\[\033[4;30m\]" # Black
URed="\[\033[4;31m\]" # Red
UGreen="\[\033[4;32m\]" # Green
UYellow="\[\033[4;33m\]" # Yellow
UBlue="\[\033[4;34m\]" # Blue
UPurple="\[\033[4;35m\]" # Purple
UCyan="\[\033[4;36m\]" # Cyan
UWhite="\[\033[4;37m\]" # White
On_Black="\[\033[40m\]" # Black
On_Red="\[\033[41m\]" # Red
On_Green="\[\033[42m\]" # Green
On_Yellow="\[\033[43m\]" # Yellow
On_Blue="\[\033[44m\]" # Blue
On_Purple="\[\033[45m\]" # Purple
On_Cyan="\[\033[46m\]" # Cyan
On_White="\[\033[47m\]" # White
IBlack="\[\033[0;90m\]" # Black
IRed="\[\033[0;91m\]" # Red
IGreen="\[\033[0;92m\]" # Green
IYellow="\[\033[0;93m\]" # Yellow
IBlue="\[\033[0;94m\]" # Blue
IPurple="\[\033[0;95m\]" # Purple
ICyan="\[\033[0;96m\]" # Cyan
IWhite="\[\033[0;97m\]" # White
BIBlack="\[\033[1;90m\]" # Black
BIRed="\[\033[1;91m\]" # Red
BIGreen="\[\033[1;92m\]" # Green
BIYellow="\[\033[1;93m\]" # Yellow
BIBlue="\[\033[1;94m\]" # Blue
BIPurple="\[\033[1;95m\]" # Purple
BICyan="\[\033[1;96m\]" # Cyan
BIWhite="\[\033[1;97m\]" # White
On_IBlack="\[\033[0;100m\]" # Black
On_IRed="\[\033[0;101m\]" # Red
On_IGreen="\[\033[0;102m\]" # Green
On_IYellow="\[\033[0;103m\]" # Yellow
On_IBlue="\[\033[0;104m\]" # Blue
On_IPurple="\[\033[10;95m\]" # Purple
On_ICyan="\[\033[0;106m\]" # Cyan
On_IWhite="\[\033[0;107m\]" # White
Time12h="\T"
Time12a="\@"
PathShort="\w"
PathFull="\W"
NewLine="\n"
Jobs="\j"
export PS1=$IBlack$Time12h$Color_Off'$(git branch &>/dev/null;\
if [ $? -eq 0 ]; then \
echo "$(echo `git status` | grep "nothing to commit" > /dev/null 2>&1; \
if [ "$?" -eq "0" ]; then \
# @4 - Clean repository - nothing to commit
echo "'$Green'"$(__git_ps1 " (%s)"); \
else \
# @5 - Changes to working tree
echo "'$IRed'"$(__git_ps1 " {%s}"); \
fi) '$BYellow$PathShort$Color_Off'\$ "; \
else \
# @2 - Prompt when not in GIT repo
echo " '$Yellow$PathShort$Color_Off'\$ "; \
fi)'
I want to use the default cmd::CMDER (because nice colors) which is set in the options. Can you please tell me, if and how it is possible to use the PS1 above instead of the default PS1 (but I want to keep the cmder icon, it is pretty awesome and remembers me to Half Life :D).
Thanks in Advance!
I was just looking for an answer for this as well.
As far as I can tell, the prompt is defined in \vendor\clink.lua.
At least for the cmd promt (no idea about bash), you wuld need to add you own lua file which duplicates https://github.com/cmderdev/cmder/blob/master/vendor/clink.lua#L20-L49 and then register it after the cmder supplied one (command like here: https://github.com/cmderdev/cmder/blob/master/vendor/clink.lua#L315-L316, eg.g use 2)
We might add this to Customization page someday.
Default Cmder sessions add *.lua files to the config folder. _Note: This is an advanced feature and requires knowledge of the lua language._
Bash sessions you could add code to config/user_profile.sh or add a file to config/profile.d/[filename].sh. _Note: This is an advanced feature and requires knowledge of bash language and prompt customization._
Poweshell sessions, Im not sure this is possible with existing cmder but if it is it would be similar to the Bash but instead of .sh extensions you would use the same locations with .ps1 extension.
Most helpful comment
I was just looking for an answer for this as well.
As far as I can tell, the prompt is defined in
\vendor\clink.lua.