All of lore.kernel.org
 help / color / mirror / Atom feed
From: Jakub Narebski <jnareb@gmail.com>
To: Kevin Cernekee <cernekee@gmail.com>
Cc: git@vger.kernel.org
Subject: Re: [PATCH] gitweb: highlight: replace tabs with spaces
Date: Thu, 17 Mar 2011 03:04:15 -0700 (PDT)	[thread overview]
Message-ID: <m3pqpq5aiv.fsf@localhost.localdomain> (raw)
In-Reply-To: <6ac7d48cfdf4192c3240c1ecbd4e5522@localhost>

Kevin Cernekee <cernekee@gmail.com> writes:

> Consider the following code fragment:
> 
>         /*
>          * test
>          */
> 
> vim ":set list" mode shows that the first character on each line is a
> tab:
> 
> ^I/*$
> ^I * test$
> ^I */$
> 
> By default, the "highlight" program will retain the tabs in the HTML
> output:
> 
> $ highlight --fragment --syntax c test.c
>         <span class="hl com">/*</span>
> <span class="hl com">    * test</span>
> <span class="hl com">    */</span>
> 
> vim list mode:
> 
> ^I<span class="hl com">/*</span>$
> <span class="hl com">^I * test</span>$
> <span class="hl com">^I */</span>$
> 
> In gitweb, this winds up looking something like:
> 
>    1         /*
>    2     * test
>    3     */
> 
> I tried both Firefox and Opera and saw the same behavior.
> 
> The desired output is:
> 
>    1         /*
>    2          * test
>    3          */
> 
> This can be accomplished by specifying "--replace-tabs=8" on the
> highlight command line.

Very well written commit message.

> Signed-off-by: Kevin Cernekee <cernekee@gmail.com>

I was wondering if ancient highlight (2.4.5) that I use supports
--replace-tabs option... but it does.

So for what it is worth:

Acked-by: Jakub Narebski <jnareb@gmail.com>

> ---
>  gitweb/gitweb.perl |    2 +-
>  1 files changed, 1 insertions(+), 1 deletions(-)
> 
> diff --git a/gitweb/gitweb.perl b/gitweb/gitweb.perl
> index d171ad5..649e10a 100755
> --- a/gitweb/gitweb.perl
> +++ b/gitweb/gitweb.perl
> @@ -3485,7 +3485,7 @@ sub run_highlighter {
>  	close $fd;
>  	open $fd, quote_command(git_cmd(), "cat-file", "blob", $hash)." | ".
>  	          quote_command($highlight_bin).
> -	          " --fragment --syntax $syntax |"
> +	          " --replace-tabs=8 --fragment --syntax $syntax |"
>  		or die_error(500, "Couldn't open file or run syntax highlighter");
>  	return $fd;
>  }

I wonder if we should synchronize this value with '8' in untabify(),
but I think it is out of scope of this patch.

BTW., weren't there patch that made tab width customizable?  What
happened to it?
-- 
Jakub Narebski
Poland
ShadeHawk on #git

      parent reply	other threads:[~2011-03-17 10:04 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-03-16 22:34 [PATCH] gitweb: highlight: replace tabs with spaces Kevin Cernekee
2011-03-16 22:48 ` J.H.
2011-03-17 10:04 ` Jakub Narebski [this message]

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

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

  git send-email \
    --in-reply-to=m3pqpq5aiv.fsf@localhost.localdomain \
    --to=jnareb@gmail.com \
    --cc=cernekee@gmail.com \
    --cc=git@vger.kernel.org \
    /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.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.