git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: [PATCH] Fix wrong xhtml option to highlight

From
Jakub Narebski <jnareb@gmail.com>
Date
Jan 28, 2011, 12:35 UTC
Message-ID
<201101281335.41554.jnareb@gmail.com>
In-Reply-To
<7vvd1agoii.fsf@alter.siamese.dyndns.org>
On Thu, 27 Jan 2011, Junio C Hamano wrote:
Show 46 quoted lines
> Drew Northup <drew.northup@maine.edu> writes:
> 
>>>> diff --git a/gitweb/gitweb.perl b/gitweb/gitweb.perl
>>>> index 1025c2f..b662420 100755
>>>> --- a/gitweb/gitweb.perl
>>>> +++ b/gitweb/gitweb.perl
>>>> @@ -3468,7 +3468,7 @@ sub run_highlighter {
>>>>  	close $fd;
>>>>  	open $fd, quote_command(git_cmd(), "cat-file", "blob", $hash)." | ".
>>>>  	          quote_command($highlight_bin).
>>>> -	          " --xhtml --fragment --syntax $syntax |"
>>>> +	          " -xhtml --fragment --syntax $syntax |"
>>> 
>>> Curious.
>>> 
>>> Does the command take double-dash for the fragment and syntax options but
>>> a single dash for the xhtml option?  Really...
>>> 
>>> A few top hits returned by Google for "highlight manual page" tells me
>>> otherwise.
>>
>> Certainly appears to be the case that "--xhtml" is the option in Ubuntu
>> 10.04.1 LTS. 
>>
>> Jochen,
>> Did you mean "-X" (which sets the same option)?
> 
> The current proposal is to drop --xhtml and let highlight default to HTML.
> 
> Honestly speaking, I don't like the approach very much; it would have been
> much better if highlight had a single way that is supported throughout its
> versions to specify the output format.  But it appears that there isn't,
> and relying on and hoping for its default to stay HTML is the best we
> could do, if we plan to support highlight 2.4.something or older.
> 
> The copy of U10.04 I have has highlight 2.12, and according to its manual
> pages, -X, --xhtml, and --out-format=xhtml mean the same thing.  HTML is
> the default.
> 
> The change-log at www.andre-simon.de indicates that --out-format has
> become the preferred method and the short options like -X and -H are not
> supported in recent versions (3.0 beta and newer).
> 
> But as Jakub mentioned, 2.4.5 did not have --output-format; it was only in
> 3.0 beta that -O was redefined to mean --output-format and in old versions
> the short option meant something else.

Well, we can always require highlight >= 2.12, or whatever version introduced --out-format option.

Show 6 quoted lines
> 
> What a mess...
> 
> The next time we introduce a new dependency, we really should try hard to
> assess the stability and maturity of that dependency.  In hindsight, I
> think "highlight" was probably a bit too premature to be depended upon.

By the way, the idea was to make it possible to configure other highlighter, but I went with what I known to work, i.e. with Andre Simon's "highlight". I think it could be fairly easy to make it configurable via existing $highlight_bin and to be introduced @highlight_args gitweb configuration variables.

There are three possible ways to do syntax highlighting in gitweb: filter, Perl module, or via JavaScript. An alternative to "highlight" as a filter could be GNU source-highlight... if not for the fact that it doesn't seem to support equivalent of "highlight" --fragment option, i.e. exclude prolog and <pre><tt> wrappers.

-- 
Jakub Narebski
Poland
Previous: Junio C Hamano
Message 5 of 5 in “Fix wrong xhtml option to highlight”
  1. Fix wrong xhtml option to highlightJochen Schmitt, Jan 24, 2011
  2. Junio C HamanoJan 24, 2011
  3. Drew NorthupJan 27, 2011
  4. Junio C HamanoJan 27, 2011
  5. Jakub NarebskiJan 28, 2011

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.