Gitweb:我如何在树视图中看到带有颜色的源代码

时间:2010-03-30 20:53:53

标签: git gitweb

我使用gitweb。

在树视图中,我看到了我的源代码。但是这段代码都是黑色的,我喜欢配置为添加突出显示

5 个答案:

答案 0 :(得分:23)

要在现代gitweb的“blob”视图中启用语法高亮显示,您需要

  1. 安装了highlight程序(来自'highlight'包的程序,而不是'source-highlight'或'src-highlight';它们是不同的程序)。

  2. 配置gitweb以启用源突出显示。这可以通过添加以下行

    来完成
    $feature{'highlight'}{'default'} = [1];
    

    到你的安装的gitweb配置文件,通常是/etc/gitweb.conf

    请参阅gitweb.conf联机帮助页中的“配置gitweb功能”部分(以及一般说明的联机帮助页),有关“突出显示”功能的部分或gitweb源中的relevant lines部分。

    注意:如果你将gitweb用于持久的web服务器环境,比如mod_perl,FastCGI或PSGI,你可能需要重新启动gitweb脚本,如果它被配置为只读取一次配置。< /子>


  3. 原始回复(历史性)

    目前不支持,但请看一下gitweb/web branch of my git/jnareb-git.git repository - 将这两个提交添加到gitweb的语法高亮显示为sent to git mailing list(作为RFC = Request For Comments补丁)。这些补丁使用http://www.andre-simon.de/

    中的突出显示工具

    您可以尝试选择这两项提交:5f7b64614edcf10d

答案 1 :(得分:16)

如果您不想更改包文件,Todochangeusername过程的替代方法是安装突出显示,然后添加到文件/etc/gitweb.conf的底部:

$feature{'highlight'}{'default'} = [1];

(没有\ escape字符)。

答案 2 :(得分:3)

  1. 至少安装git版本1.7.5 Ubuntu:https://launchpad.net/~git-core/+archive/ppa
  2. 安装gitweb和programm,名为highlight Ubuntu:sudo apt-get install gitweb highlight
  3. 添加到文件中:sudo vim /usr/lib/git-core/git-instaweb
    第586行:\$feature{'highlight'}{'default'} = [1];

答案 3 :(得分:0)

我有一个类似的问题:语法突出显示仅在几种语言(C,Makefile等)上启用。即使在命令行中使用高亮显示时,它也无法用于verilog。

通过查看gitweb.cgi,我意识到gitweb仅支持一种语言。在第一个答案中提到的gitweb.conf手册页中也提到了它。 解决方案是将其添加到gitweb.conf

our %highlight_ext;
$highlight_ext{'v'} = 'verilog';
$highlight_ext{'ucf'} = 'verilog';

通过您要支持的语言更改verilog。可用语言的完整列表在/etc/highlight/filetypes.conf中。当然,您还必须根据情况调整文件扩展名。

答案 4 :(得分:-1)

使用Git 2.11 +(2016年第4季度),您可以根据shebang强制进行语法检测以进行语法突出显示(例如:#!/bin/perl

换句话说,语法突出显示不再依赖文件名或文件扩展名。如果被问到,它可以依赖于内容

commit 779a206commit c151aa3Ian Kelling (ian-kelling)(2016年9月24日) Junio C Hamano -- gitster --于2016年10月3日commit 3474084合并)

  

gitweb:使用突出显示的shebang检测

     

&#34;的GitWeb&#34;可以产生&#34;突出显示&#34;用(编程)语言特定的语法高亮显示blob内容,但仅在语言已知时才显示   &#34;突出&#34;然而,可以告诉他们通过给予它来猜测自己&#34; --force&#34;选项,已启用。

     

&#34;突出显示&#34;在某些情况下,二进制可以确定语言类型   通过文件内容的方式,例如第一行中的shebang   对于某些脚本语言。
  对gitweb不知道语法的文件使用此自动检测   在这种情况下,将blob内容传递给&#34;突出显示--force&#34 ;;需要该参数才能使其始终生成HTML输出(包括HTML转义)。