add different color if git branch is clean, change getcwd to getenv(pwd)
This commit is contained in:
parent
1772a54d75
commit
1ae6da3678
26
main.c
26
main.c
|
@ -46,7 +46,11 @@ int bgUserOther = C_L_YELLOW;
|
|||
|
||||
int bgHost = C_L_CYAN;
|
||||
int bgUser;
|
||||
int bgBranch = C_L_GRAY;
|
||||
|
||||
int bgBranchClean = C_L_GRAY;
|
||||
int bgBranchNotClean = C_D_GRAY;
|
||||
|
||||
int bgBranch;
|
||||
int bgEnd = C_CYAN;
|
||||
int bgFolder[] = { C_WHITE, C_CYAN };
|
||||
int numFolderColors = 2;
|
||||
|
@ -70,8 +74,7 @@ void seperate(int col1, int col2) {
|
|||
}
|
||||
|
||||
int main(void) {
|
||||
char path_buf[1024];
|
||||
getcwd(path_buf, sizeof(path_buf));
|
||||
char* path_buf = getenv("PWD");
|
||||
|
||||
char hostname_buf[1024];
|
||||
gethostname(hostname_buf, sizeof(hostname_buf));
|
||||
|
@ -87,6 +90,17 @@ int main(void) {
|
|||
if (fgets(branch, sizeof(branch), fp) == NULL) branch[0] = 0x00;
|
||||
fclose(fp);
|
||||
|
||||
int changes = 1;
|
||||
if (strlen(branch) > 0) {
|
||||
fp = popen("/usr/bin/git status --porcelain 2>/dev/null", "r");
|
||||
if (fp == NULL) exit(1);
|
||||
char dummy[2];
|
||||
if (fgets(dummy, 2, fp) == NULL) {
|
||||
changes = 0;
|
||||
}
|
||||
fclose(fp);
|
||||
|
||||
}
|
||||
|
||||
uid_t uid = getuid();
|
||||
if (uid == 0) {
|
||||
|
@ -142,6 +156,11 @@ int main(void) {
|
|||
|
||||
|
||||
if (strlen(branch) > 0) {
|
||||
if (changes == 0) {
|
||||
bgBranch = bgBranchClean;
|
||||
} else {
|
||||
bgBranch = bgBranchNotClean;
|
||||
}
|
||||
bgcol(bgBranch);
|
||||
wprintf(L" ");
|
||||
printGlyph(BRANCH);
|
||||
|
@ -150,6 +169,7 @@ int main(void) {
|
|||
if (branch[i] == '\n') break;
|
||||
wprintf(L"%c", branch[i]);
|
||||
}
|
||||
wprintf(L" ");
|
||||
seperate(bgBranch, bgEnd);
|
||||
}
|
||||
bgcol(bgEnd);
|
||||
|
|
Reference in New Issue