我使用gitweb。
在树视图中,我看到了我的源代码。但是这段代码都是黑色的,我喜欢配置为添加突出显示
答案 0 :(得分:23)
要在现代gitweb的“blob”视图中启用语法高亮显示,您需要
安装了highlight
程序(来自'highlight'包的程序,而不是'source-highlight'或'src-highlight';它们是不同的程序)。
配置gitweb以启用源突出显示。这可以通过添加以下行
来完成$feature{'highlight'}{'default'} = [1];
到你的安装的gitweb配置文件,通常是/etc/gitweb.conf
。
请参阅gitweb.conf联机帮助页中的“配置gitweb功能”部分(以及一般说明的联机帮助页),有关“突出显示”功能的部分或gitweb源中的relevant lines部分。
注意:如果你将gitweb用于持久的web服务器环境,比如mod_perl,FastCGI或PSGI,你可能需要重新启动gitweb脚本,如果它被配置为只读取一次配置。< /子>
目前不支持,但请看一下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/
中的突出显示工具答案 1 :(得分:16)
如果您不想更改包文件,Todochangeusername过程的替代方法是安装突出显示,然后添加到文件/etc/gitweb.conf
的底部:
$feature{'highlight'}{'default'} = [1];
(没有\ escape字符)。
答案 2 :(得分:3)
sudo apt-get install gitweb highlight
sudo vim /usr/lib/git-core/git-instaweb
\$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 779a206见commit c151aa3,Ian 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转义)。