Allow customizable commit decorations colors
Signed-off-by: Nazri Ramliy <ayiehere@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
		
				
					committed by
					
						
						Junio C Hamano
					
				
			
			
				
	
			
			
			
						parent
						
							67a4b5864f
						
					
				
				
					commit
					5e11bee65f
				
			
							
								
								
									
										36
									
								
								log-tree.c
									
									
									
									
									
								
							
							
						
						
									
										36
									
								
								log-tree.c
									
									
									
									
									
								
							@ -36,6 +36,42 @@ static const char *decorate_get_color(int decorate_use_color, enum decoration_ty
 | 
			
		||||
	return "";
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
static int parse_decorate_color_slot(const char *slot)
 | 
			
		||||
{
 | 
			
		||||
	/*
 | 
			
		||||
	 * We're comparing with 'ignore-case' on
 | 
			
		||||
	 * (because config.c sets them all tolower),
 | 
			
		||||
	 * but let's match the letters in the literal
 | 
			
		||||
	 * string values here with how they are
 | 
			
		||||
	 * documented in Documentation/config.txt, for
 | 
			
		||||
	 * consistency.
 | 
			
		||||
	 *
 | 
			
		||||
	 * We love being consistent, don't we?
 | 
			
		||||
	 */
 | 
			
		||||
	if (!strcasecmp(slot, "branch"))
 | 
			
		||||
		return DECORATION_REF_LOCAL;
 | 
			
		||||
	if (!strcasecmp(slot, "remoteBranch"))
 | 
			
		||||
		return DECORATION_REF_REMOTE;
 | 
			
		||||
	if (!strcasecmp(slot, "tag"))
 | 
			
		||||
		return DECORATION_REF_TAG;
 | 
			
		||||
	if (!strcasecmp(slot, "stash"))
 | 
			
		||||
		return DECORATION_REF_STASH;
 | 
			
		||||
	if (!strcasecmp(slot, "HEAD"))
 | 
			
		||||
		return DECORATION_REF_HEAD;
 | 
			
		||||
	return -1;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
int parse_decorate_color_config(const char *var, const int ofs, const char *value)
 | 
			
		||||
{
 | 
			
		||||
	int slot = parse_decorate_color_slot(var + ofs);
 | 
			
		||||
	if (slot < 0)
 | 
			
		||||
		return 0;
 | 
			
		||||
	if (!value)
 | 
			
		||||
		return config_error_nonbool(var);
 | 
			
		||||
	color_parse(value, var, decoration_colors[slot]);
 | 
			
		||||
	return 0;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
/*
 | 
			
		||||
 * log-tree.c uses DIFF_OPT_TST for determining whether to use color
 | 
			
		||||
 * for showing the commit sha1, use the same check for --decorate
 | 
			
		||||
 | 
			
		||||
		Reference in New Issue
	
	Block a user