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 bgHost = C_L_CYAN;
|
||||||
int bgUser;
|
int bgUser;
|
||||||
int bgBranch = C_L_GRAY;
|
|
||||||
|
int bgBranchClean = C_L_GRAY;
|
||||||
|
int bgBranchNotClean = C_D_GRAY;
|
||||||
|
|
||||||
|
int bgBranch;
|
||||||
int bgEnd = C_CYAN;
|
int bgEnd = C_CYAN;
|
||||||
int bgFolder[] = { C_WHITE, C_CYAN };
|
int bgFolder[] = { C_WHITE, C_CYAN };
|
||||||
int numFolderColors = 2;
|
int numFolderColors = 2;
|
||||||
|
@ -70,8 +74,7 @@ void seperate(int col1, int col2) {
|
||||||
}
|
}
|
||||||
|
|
||||||
int main(void) {
|
int main(void) {
|
||||||
char path_buf[1024];
|
char* path_buf = getenv("PWD");
|
||||||
getcwd(path_buf, sizeof(path_buf));
|
|
||||||
|
|
||||||
char hostname_buf[1024];
|
char hostname_buf[1024];
|
||||||
gethostname(hostname_buf, sizeof(hostname_buf));
|
gethostname(hostname_buf, sizeof(hostname_buf));
|
||||||
|
@ -87,6 +90,17 @@ int main(void) {
|
||||||
if (fgets(branch, sizeof(branch), fp) == NULL) branch[0] = 0x00;
|
if (fgets(branch, sizeof(branch), fp) == NULL) branch[0] = 0x00;
|
||||||
fclose(fp);
|
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();
|
uid_t uid = getuid();
|
||||||
if (uid == 0) {
|
if (uid == 0) {
|
||||||
|
@ -142,6 +156,11 @@ int main(void) {
|
||||||
|
|
||||||
|
|
||||||
if (strlen(branch) > 0) {
|
if (strlen(branch) > 0) {
|
||||||
|
if (changes == 0) {
|
||||||
|
bgBranch = bgBranchClean;
|
||||||
|
} else {
|
||||||
|
bgBranch = bgBranchNotClean;
|
||||||
|
}
|
||||||
bgcol(bgBranch);
|
bgcol(bgBranch);
|
||||||
wprintf(L" ");
|
wprintf(L" ");
|
||||||
printGlyph(BRANCH);
|
printGlyph(BRANCH);
|
||||||
|
@ -150,6 +169,7 @@ int main(void) {
|
||||||
if (branch[i] == '\n') break;
|
if (branch[i] == '\n') break;
|
||||||
wprintf(L"%c", branch[i]);
|
wprintf(L"%c", branch[i]);
|
||||||
}
|
}
|
||||||
|
wprintf(L" ");
|
||||||
seperate(bgBranch, bgEnd);
|
seperate(bgBranch, bgEnd);
|
||||||
}
|
}
|
||||||
bgcol(bgEnd);
|
bgcol(bgEnd);
|
||||||
|
|
Reference in New Issue