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
next prev parent 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).