git@vger.kernel.org mailing list mirror (one of many)
 help / color / mirror / code / Atom feed
From: Jeff King <peff@peff.net>
To: Junio C Hamano <gitster@pobox.com>
Cc: git@vger.kernel.org
Subject: Re: What's in git.git (stable frozen)
Date: Sun, 6 Jan 2008 06:17:26 -0500	[thread overview]
Message-ID: <20080106111725.GA11603@coredump.intra.peff.net> (raw)
In-Reply-To: <7vejcv5is3.fsf@gitster.siamese.dyndns.org>

On Sun, Jan 06, 2008 at 02:51:24AM -0800, Junio C Hamano wrote:

> It may make more sense to:
> 
>  * unset $prompt_color and friends when color.interactive says
>    "not to color the menus";
> 
>  * unset $fraginfo_color and diff related ones when color.diff
>    says "diff is monochrome";
> 
> upfront, and then change "sub colored" to just check if $color
> is unset, instead of checking $use_color.

Something like this (instead of my last patch):

-- >8 --
add--interactive: fix "colored" function semantics

Since color.interactive is just for the menus, the "colored"
function can't use it to determine whether to show colors
(this was visible as a bug in which the headers of split
hunks were not colored if color.diff was set but
color.interactive was not).

The new semantics are:

  - colors which are unused are set to undef; the "colored"
    function knows not to do anything with them

  - menu colors are set only when color.interactive is true

  - diff colors are set only when color.diff is true

Signed-off-by: Jeff King <peff@peff.net>
---
 git-add--interactive.perl |   39 +++++++++++++++------------------------
 1 files changed, 15 insertions(+), 24 deletions(-)

diff --git a/git-add--interactive.perl b/git-add--interactive.perl
index 5bdcca8..17ca5b8 100755
--- a/git-add--interactive.perl
+++ b/git-add--interactive.perl
@@ -3,38 +3,29 @@
 use strict;
 use Git;
 
-# Prompt colors:
-my ($prompt_color, $header_color, $help_color, $normal_color);
-# Diff colors:
-my ($fraginfo_color);
-
-my ($use_color, $diff_use_color);
 my $repo = Git->repository();
 
-$use_color = $repo->get_colorbool('color.interactive');
-
-if ($use_color) {
-	# Set interactive colors:
+my $menu_use_color = $repo->get_colorbool('color.interactive');
+my ($prompt_color, $header_color, $help_color) =
+	$menu_use_color ? (
+		$repo->get_color('color.interactive.prompt', 'bold blue'),
+		$repo->get_color('color.interactive.header', 'bold'),
+		$repo->get_color('color.interactive.help', 'red bold'),
+	) : ();
 
-	# Grab the 3 main colors in git color string format, with sane
-	# (visible) defaults:
-	$prompt_color = $repo->get_color("color.interactive.prompt", "bold blue");
-	$header_color = $repo->get_color("color.interactive.header", "bold");
-	$help_color = $repo->get_color("color.interactive.help", "red bold");
-	$normal_color = $repo->get_color("", "reset");
-}
+my $diff_use_color = $repo->get_colorbool('color.diff');
+my ($fraginfo_color) =
+	$diff_use_color ? (
+		$repo->get_color('color.diff.frag', 'cyan'),
+	) : ();
 
-# Do we also set diff colors?
-$diff_use_color = $repo->get_colorbool('color.diff');
-if ($diff_use_color) {
-	$fraginfo_color = $repo->get_color("color.diff.frag", "cyan");
-}
+my $normal_color = $repo->get_color("", "reset");
 
 sub colored {
 	my $color = shift;
 	my $string = join("", @_);
 
-	if ($use_color) {
+	if (defined $color) {
 		# Put a color code at the beginning of each line, a reset at the end
 		# color after newlines that are not at the end of the string
 		$string =~ s/(\n+)(.)/$1$color$2/g;
@@ -300,7 +291,7 @@ sub highlight_prefix {
 		return "$prefix$remainder";
 	}
 
-	if (!$use_color) {
+	if (!$menu_use_color) {
 		return "[$prefix]$remainder";
 	}
 
-- 
1.5.4.rc2.1148.gf9fe3-dirty

  reply	other threads:[~2008-01-06 11:18 UTC|newest]

Thread overview: 78+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-10-22  6:11 What's in git/spearce.git (stable) Shawn O. Pearce
2007-11-01  5:39 ` What's in git.git (stable) Junio C Hamano
2007-11-04  3:52   ` Junio C Hamano
2007-11-08  8:06     ` Junio C Hamano
2007-11-08 11:38       ` Pierre Habouzit
2007-11-12  7:06       ` Junio C Hamano
2007-11-15  0:20         ` Junio C Hamano
2007-11-17 21:00           ` Junio C Hamano
2007-11-25 20:45             ` Junio C Hamano
2007-12-01  2:05               ` Junio C Hamano
2007-12-04  8:43                 ` Junio C Hamano
2007-12-05 10:57                   ` Junio C Hamano
2007-12-07  9:50                     ` Junio C Hamano
2007-12-09 10:32                       ` Junio C Hamano
2007-12-10 22:37                         ` v1.5.4 plans Junio C Hamano
2007-12-10 23:49                           ` Jeff King
2007-12-11  1:27                             ` Junio C Hamano
2007-12-11  5:02                               ` Junio C Hamano
2007-12-11  6:39                                 ` Jeff King
2007-12-11  6:47                                   ` Junio C Hamano
2007-12-11  6:54                                     ` Jeff King
2007-12-11  7:00                                       ` Junio C Hamano
2007-12-11  7:03                                         ` Jeff King
2007-12-11  6:17                               ` Jeff King
2007-12-11  6:27                                 ` Jeff King
2007-12-11  6:28                                 ` [PATCH 2/2] git-svn: get color config from --get-colorbool Jeff King
2007-12-12 18:27                                   ` Eric Wong
2007-12-11  7:01                               ` v1.5.4 plans Jeff King
2007-12-11  7:05                               ` Andreas Ericsson
2007-12-11 12:53                               ` Jeff King
2007-12-11  3:53                           ` Nicolas Pitre
2007-12-11 12:57                             ` Johannes Schindelin
2007-12-11 13:59                               ` Nicolas Pitre
2007-12-11 15:24                           ` Kristian Høgsberg
2007-12-11 19:13                             ` Junio C Hamano
2007-12-12 18:40                           ` Eric Wong
2007-12-12 19:50                             ` Junio C Hamano
2007-12-12 22:21                               ` David D. Kilzer
2007-12-31  3:56                             ` David D. Kilzer
2007-12-31 20:07                               ` [PATCH] Fix race condition in t9119-git-svn-info.sh David D. Kilzer
2007-12-31 22:29                                 ` Junio C Hamano
2007-12-31 23:33                                   ` [PATCH] Remove duplication " David D. Kilzer
2008-01-02  3:43                                     ` Eric Wong
2008-01-02  3:54                                       ` David D. Kilzer
2008-01-02  5:57                                       ` Junio C Hamano
2008-01-02 10:27                                       ` Junio C Hamano
2007-12-13  2:47                         ` What's in git.git (stable frozen) Junio C Hamano
2007-12-13  3:09                           ` [PATCH] git-commit: squelch needless message during an empty merge Junio C Hamano
2007-12-13  4:34                             ` Jeff King
2007-12-13  7:46                             ` Johannes Sixt
2007-12-17  8:40                           ` What's in git.git (stable frozen) Junio C Hamano
2007-12-23  9:21                             ` Junio C Hamano
2008-01-05 10:46                               ` Junio C Hamano
2008-01-05 21:21                                 ` Dan McGee
2008-01-06  2:56                                   ` Junio C Hamano
2008-01-06  3:06                                     ` Junio C Hamano
2008-01-06  3:08                                       ` Dan McGee
2008-01-06 10:33                                         ` Junio C Hamano
     [not found]                                 ` <e5bfff550801050507x369976b7sd5e112451bc90331@mail.gmail.com>
2008-01-05 22:11                                   ` Junio C Hamano
2008-01-06  4:24                                 ` Jeff King
2008-01-06  4:29                                   ` Jeff King
2008-01-06 10:51                                     ` Junio C Hamano
2008-01-06 11:17                                       ` Jeff King [this message]
2008-01-06 12:32                                         ` Junio C Hamano
2008-01-06 20:59                                           ` Jeff King
2008-01-06 21:22                                             ` Junio C Hamano
2008-01-07  1:48                                               ` Jeff King
2008-01-07  8:27                                 ` Junio C Hamano
2008-01-07 21:58                                   ` Paul Mackerras
2008-01-07 22:05                                     ` Christian Stimming
2008-01-07 22:14                                       ` Junio C Hamano
2007-12-17 21:52                           ` Steffen Prohaska
  -- strict thread matches above, loose matches on Subject: below --
2008-01-17  3:01 Junio C Hamano
2008-01-17 12:56 ` Johannes Sixt
2008-01-17 17:17 ` Brandon Casey
2008-01-17 17:57   ` Junio C Hamano
2008-01-18  3:01 ` Shawn O. Pearce
2008-01-30  8:32 Junio C Hamano

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: http://vger.kernel.org/majordomo-info.html

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20080106111725.GA11603@coredump.intra.peff.net \
    --to=peff@peff.net \
    --cc=git@vger.kernel.org \
    --cc=gitster@pobox.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://80x24.org/mirrors/git.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).