Make git-prompt also work in a bash promtp
This commit is contained in:
		
							parent
							
								
									5a33d2b5ac
								
							
						
					
					
						commit
						9618713542
					
				
							
								
								
									
										19
									
								
								git-prompt.c
									
									
									
									
									
								
							
							
						
						
									
										19
									
								
								git-prompt.c
									
									
									
									
									
								
							@ -21,6 +21,11 @@
 | 
			
		||||
  }
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
#define color8(CODE) "\e[3" #CODE "m"
 | 
			
		||||
#define color256(CODE) "\e[38;5;" #CODE "m"
 | 
			
		||||
#define bold "\e[1m"
 | 
			
		||||
#define reset "\e[0m"
 | 
			
		||||
 | 
			
		||||
typedef struct process {
 | 
			
		||||
  pid_t pid;
 | 
			
		||||
  FILE* out;
 | 
			
		||||
@ -104,7 +109,7 @@ int main() {
 | 
			
		||||
  }
 | 
			
		||||
  char* branch = trim(branch_buf);
 | 
			
		||||
  char prompt[1024] = {};
 | 
			
		||||
  append(prompt, 3, " %{%F{66}%}", branch, "%{%f%}");
 | 
			
		||||
  append(prompt, 3, " " color256(66), branch, reset);
 | 
			
		||||
 | 
			
		||||
  // get the upstream remote if one exists
 | 
			
		||||
  char command[1024] = {};
 | 
			
		||||
@ -178,22 +183,22 @@ int main() {
 | 
			
		||||
  if (indexed || modified || deleted || unmerged || untracked) {  // modified
 | 
			
		||||
    char int_buf[32];
 | 
			
		||||
    if (indexed) {
 | 
			
		||||
      append(prompt, 3, "%{%F{2}%}*", inttostr(int_buf, indexed), "%{%f%}");
 | 
			
		||||
      append(prompt, 3, color8(2) "*", inttostr(int_buf, indexed), reset);
 | 
			
		||||
    }
 | 
			
		||||
    if (modified) {
 | 
			
		||||
      append(prompt, 3, "%{%F{1}%}+", inttostr(int_buf, modified), "%{%f%}");
 | 
			
		||||
      append(prompt, 3, color8(1) "+", inttostr(int_buf, modified), reset);
 | 
			
		||||
    }
 | 
			
		||||
    if (deleted) {
 | 
			
		||||
      append(prompt, 3, "%{%F{1}%}-", inttostr(int_buf, deleted), "%{%f%}");
 | 
			
		||||
      append(prompt, 3, color8(1) "-", inttostr(int_buf, deleted), reset);
 | 
			
		||||
    }
 | 
			
		||||
    if (unmerged) {
 | 
			
		||||
      append(prompt, 3, "%{%B%F{1}%}×", inttostr(int_buf, unmerged), "%{%f%b%}");
 | 
			
		||||
      append(prompt, 3, bold color8(1) "×", inttostr(int_buf, unmerged), reset);
 | 
			
		||||
    }
 | 
			
		||||
    if (untracked) {
 | 
			
		||||
      append(prompt, 1, "%{%F{1}%}…%{%f%}");
 | 
			
		||||
      append(prompt, 1, color8(1) "…" reset);
 | 
			
		||||
    }
 | 
			
		||||
  } else {  // clean
 | 
			
		||||
    append(prompt, 1, "%{%B%F{2}%}✓%{%f%b%}");
 | 
			
		||||
    append(prompt, 1, bold color8(2) "✓" reset);
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  // print the prompt
 | 
			
		||||
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user