Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

How to edit prompt for {cmd::CMDER}} ??? #1425

Closed
MarcusCaepio opened this issue Jun 30, 2017 · 4 comments
Closed

How to edit prompt for {cmd::CMDER}} ??? #1425

MarcusCaepio opened this issue Jun 30, 2017 · 4 comments

Comments

@MarcusCaepio
Copy link

MarcusCaepio commented Jun 30, 2017

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!

@dcastro
Copy link

dcastro commented Jul 21, 2017

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.

@jankatins
Copy link
Contributor

jankatins commented Jul 21, 2017

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)

@DRSDavidSoft
Copy link
Contributor

We might add this to Customization page someday.

@daxgames
Copy link
Member

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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

5 participants