author | Jesse Glick <jesse.glick@sun.com> |
Thu, 20 Dec 2007 07:05:40 -0500 | |
changeset 5679 | 1d8ef9fb3e88 |
parent 5655 | fe38b0a3a928 |
child 5748 | 5957c7b5894a |
permissions | -rw-r--r-- |
5532
40a06e39f010
extension for synax highlighting in the hgweb file revision view
Adam Hupp <adam@hupp.org>
parents:
diff
changeset
|
1 |
""" |
40a06e39f010
extension for synax highlighting in the hgweb file revision view
Adam Hupp <adam@hupp.org>
parents:
diff
changeset
|
2 |
This is Mercurial extension for syntax highlighting in the file |
40a06e39f010
extension for synax highlighting in the hgweb file revision view
Adam Hupp <adam@hupp.org>
parents:
diff
changeset
|
3 |
revision view of hgweb. |
40a06e39f010
extension for synax highlighting in the hgweb file revision view
Adam Hupp <adam@hupp.org>
parents:
diff
changeset
|
4 |
|
40a06e39f010
extension for synax highlighting in the hgweb file revision view
Adam Hupp <adam@hupp.org>
parents:
diff
changeset
|
5 |
It depends on the pygments syntax highlighting library: |
40a06e39f010
extension for synax highlighting in the hgweb file revision view
Adam Hupp <adam@hupp.org>
parents:
diff
changeset
|
6 |
http://pygments.org/ |
40a06e39f010
extension for synax highlighting in the hgweb file revision view
Adam Hupp <adam@hupp.org>
parents:
diff
changeset
|
7 |
|
40a06e39f010
extension for synax highlighting in the hgweb file revision view
Adam Hupp <adam@hupp.org>
parents:
diff
changeset
|
8 |
To enable the extension add this to hgrc: |
40a06e39f010
extension for synax highlighting in the hgweb file revision view
Adam Hupp <adam@hupp.org>
parents:
diff
changeset
|
9 |
|
40a06e39f010
extension for synax highlighting in the hgweb file revision view
Adam Hupp <adam@hupp.org>
parents:
diff
changeset
|
10 |
[extensions] |
40a06e39f010
extension for synax highlighting in the hgweb file revision view
Adam Hupp <adam@hupp.org>
parents:
diff
changeset
|
11 |
hgext.highlight = |
40a06e39f010
extension for synax highlighting in the hgweb file revision view
Adam Hupp <adam@hupp.org>
parents:
diff
changeset
|
12 |
|
40a06e39f010
extension for synax highlighting in the hgweb file revision view
Adam Hupp <adam@hupp.org>
parents:
diff
changeset
|
13 |
There is a single configuration option: |
40a06e39f010
extension for synax highlighting in the hgweb file revision view
Adam Hupp <adam@hupp.org>
parents:
diff
changeset
|
14 |
|
40a06e39f010
extension for synax highlighting in the hgweb file revision view
Adam Hupp <adam@hupp.org>
parents:
diff
changeset
|
15 |
[web] |
40a06e39f010
extension for synax highlighting in the hgweb file revision view
Adam Hupp <adam@hupp.org>
parents:
diff
changeset
|
16 |
pygments_style = <style> |
40a06e39f010
extension for synax highlighting in the hgweb file revision view
Adam Hupp <adam@hupp.org>
parents:
diff
changeset
|
17 |
|
40a06e39f010
extension for synax highlighting in the hgweb file revision view
Adam Hupp <adam@hupp.org>
parents:
diff
changeset
|
18 |
The default is 'colorful'. If this is changed the corresponding CSS |
40a06e39f010
extension for synax highlighting in the hgweb file revision view
Adam Hupp <adam@hupp.org>
parents:
diff
changeset
|
19 |
file should be re-generated by running |
40a06e39f010
extension for synax highlighting in the hgweb file revision view
Adam Hupp <adam@hupp.org>
parents:
diff
changeset
|
20 |
|
40a06e39f010
extension for synax highlighting in the hgweb file revision view
Adam Hupp <adam@hupp.org>
parents:
diff
changeset
|
21 |
# pygmentize -f html -S <newstyle> |
40a06e39f010
extension for synax highlighting in the hgweb file revision view
Adam Hupp <adam@hupp.org>
parents:
diff
changeset
|
22 |
|
40a06e39f010
extension for synax highlighting in the hgweb file revision view
Adam Hupp <adam@hupp.org>
parents:
diff
changeset
|
23 |
|
40a06e39f010
extension for synax highlighting in the hgweb file revision view
Adam Hupp <adam@hupp.org>
parents:
diff
changeset
|
24 |
-- Adam Hupp <adam@hupp.org> |
40a06e39f010
extension for synax highlighting in the hgweb file revision view
Adam Hupp <adam@hupp.org>
parents:
diff
changeset
|
25 |
|
40a06e39f010
extension for synax highlighting in the hgweb file revision view
Adam Hupp <adam@hupp.org>
parents:
diff
changeset
|
26 |
|
40a06e39f010
extension for synax highlighting in the hgweb file revision view
Adam Hupp <adam@hupp.org>
parents:
diff
changeset
|
27 |
""" |
40a06e39f010
extension for synax highlighting in the hgweb file revision view
Adam Hupp <adam@hupp.org>
parents:
diff
changeset
|
28 |
|
40a06e39f010
extension for synax highlighting in the hgweb file revision view
Adam Hupp <adam@hupp.org>
parents:
diff
changeset
|
29 |
from mercurial import demandimport |
40a06e39f010
extension for synax highlighting in the hgweb file revision view
Adam Hupp <adam@hupp.org>
parents:
diff
changeset
|
30 |
demandimport.ignore.extend(['pkgutil', |
40a06e39f010
extension for synax highlighting in the hgweb file revision view
Adam Hupp <adam@hupp.org>
parents:
diff
changeset
|
31 |
'pkg_resources', |
40a06e39f010
extension for synax highlighting in the hgweb file revision view
Adam Hupp <adam@hupp.org>
parents:
diff
changeset
|
32 |
'__main__',]) |
40a06e39f010
extension for synax highlighting in the hgweb file revision view
Adam Hupp <adam@hupp.org>
parents:
diff
changeset
|
33 |
|
40a06e39f010
extension for synax highlighting in the hgweb file revision view
Adam Hupp <adam@hupp.org>
parents:
diff
changeset
|
34 |
import mimetypes |
40a06e39f010
extension for synax highlighting in the hgweb file revision view
Adam Hupp <adam@hupp.org>
parents:
diff
changeset
|
35 |
|
40a06e39f010
extension for synax highlighting in the hgweb file revision view
Adam Hupp <adam@hupp.org>
parents:
diff
changeset
|
36 |
from mercurial.hgweb import hgweb_mod |
40a06e39f010
extension for synax highlighting in the hgweb file revision view
Adam Hupp <adam@hupp.org>
parents:
diff
changeset
|
37 |
from mercurial.hgweb.hgweb_mod import hgweb |
40a06e39f010
extension for synax highlighting in the hgweb file revision view
Adam Hupp <adam@hupp.org>
parents:
diff
changeset
|
38 |
from mercurial import util |
40a06e39f010
extension for synax highlighting in the hgweb file revision view
Adam Hupp <adam@hupp.org>
parents:
diff
changeset
|
39 |
from mercurial.hgweb.common import paritygen |
40a06e39f010
extension for synax highlighting in the hgweb file revision view
Adam Hupp <adam@hupp.org>
parents:
diff
changeset
|
40 |
from mercurial.node import hex |
40a06e39f010
extension for synax highlighting in the hgweb file revision view
Adam Hupp <adam@hupp.org>
parents:
diff
changeset
|
41 |
|
40a06e39f010
extension for synax highlighting in the hgweb file revision view
Adam Hupp <adam@hupp.org>
parents:
diff
changeset
|
42 |
from pygments import highlight |
40a06e39f010
extension for synax highlighting in the hgweb file revision view
Adam Hupp <adam@hupp.org>
parents:
diff
changeset
|
43 |
from pygments.util import ClassNotFound |
40a06e39f010
extension for synax highlighting in the hgweb file revision view
Adam Hupp <adam@hupp.org>
parents:
diff
changeset
|
44 |
from pygments.lexers import guess_lexer_for_filename, TextLexer |
40a06e39f010
extension for synax highlighting in the hgweb file revision view
Adam Hupp <adam@hupp.org>
parents:
diff
changeset
|
45 |
from pygments.formatters import HtmlFormatter |
40a06e39f010
extension for synax highlighting in the hgweb file revision view
Adam Hupp <adam@hupp.org>
parents:
diff
changeset
|
46 |
|
5533
6cf7d7fe7d3d
highlight: clean up coding style a little
Bryan O'Sullivan <bos@serpentine.com>
parents:
5532
diff
changeset
|
47 |
SYNTAX_CSS = ('\n<link rel="stylesheet" href="#staticurl#highlight.css" ' |
6cf7d7fe7d3d
highlight: clean up coding style a little
Bryan O'Sullivan <bos@serpentine.com>
parents:
5532
diff
changeset
|
48 |
'type="text/css" />') |
5532
40a06e39f010
extension for synax highlighting in the hgweb file revision view
Adam Hupp <adam@hupp.org>
parents:
diff
changeset
|
49 |
|
40a06e39f010
extension for synax highlighting in the hgweb file revision view
Adam Hupp <adam@hupp.org>
parents:
diff
changeset
|
50 |
class StripedHtmlFormatter(HtmlFormatter): |
40a06e39f010
extension for synax highlighting in the hgweb file revision view
Adam Hupp <adam@hupp.org>
parents:
diff
changeset
|
51 |
def __init__(self, stripecount, *args, **kwargs): |
40a06e39f010
extension for synax highlighting in the hgweb file revision view
Adam Hupp <adam@hupp.org>
parents:
diff
changeset
|
52 |
super(StripedHtmlFormatter, self).__init__(*args, **kwargs) |
40a06e39f010
extension for synax highlighting in the hgweb file revision view
Adam Hupp <adam@hupp.org>
parents:
diff
changeset
|
53 |
self.stripecount = stripecount |
5533
6cf7d7fe7d3d
highlight: clean up coding style a little
Bryan O'Sullivan <bos@serpentine.com>
parents:
5532
diff
changeset
|
54 |
|
5532
40a06e39f010
extension for synax highlighting in the hgweb file revision view
Adam Hupp <adam@hupp.org>
parents:
diff
changeset
|
55 |
def wrap(self, source, outfile): |
40a06e39f010
extension for synax highlighting in the hgweb file revision view
Adam Hupp <adam@hupp.org>
parents:
diff
changeset
|
56 |
yield 0, "<div class='highlight'>" |
40a06e39f010
extension for synax highlighting in the hgweb file revision view
Adam Hupp <adam@hupp.org>
parents:
diff
changeset
|
57 |
yield 0, "<pre>" |
40a06e39f010
extension for synax highlighting in the hgweb file revision view
Adam Hupp <adam@hupp.org>
parents:
diff
changeset
|
58 |
parity = paritygen(self.stripecount) |
40a06e39f010
extension for synax highlighting in the hgweb file revision view
Adam Hupp <adam@hupp.org>
parents:
diff
changeset
|
59 |
|
40a06e39f010
extension for synax highlighting in the hgweb file revision view
Adam Hupp <adam@hupp.org>
parents:
diff
changeset
|
60 |
for n, i in source: |
40a06e39f010
extension for synax highlighting in the hgweb file revision view
Adam Hupp <adam@hupp.org>
parents:
diff
changeset
|
61 |
if n == 1: |
5533
6cf7d7fe7d3d
highlight: clean up coding style a little
Bryan O'Sullivan <bos@serpentine.com>
parents:
5532
diff
changeset
|
62 |
i = "<div class='parity%s'>%s</div>" % (parity.next(), i) |
5532
40a06e39f010
extension for synax highlighting in the hgweb file revision view
Adam Hupp <adam@hupp.org>
parents:
diff
changeset
|
63 |
yield n, i |
40a06e39f010
extension for synax highlighting in the hgweb file revision view
Adam Hupp <adam@hupp.org>
parents:
diff
changeset
|
64 |
|
40a06e39f010
extension for synax highlighting in the hgweb file revision view
Adam Hupp <adam@hupp.org>
parents:
diff
changeset
|
65 |
yield 0, "</pre>" |
40a06e39f010
extension for synax highlighting in the hgweb file revision view
Adam Hupp <adam@hupp.org>
parents:
diff
changeset
|
66 |
yield 0, "</div>" |
40a06e39f010
extension for synax highlighting in the hgweb file revision view
Adam Hupp <adam@hupp.org>
parents:
diff
changeset
|
67 |
|
40a06e39f010
extension for synax highlighting in the hgweb file revision view
Adam Hupp <adam@hupp.org>
parents:
diff
changeset
|
68 |
|
5655
fe38b0a3a928
highlight: pass encoding to lexers and formatter
Christian Ebert <blacktrash@gmx.net>
parents:
5654
diff
changeset
|
69 |
def pygments_format(filename, rawtext, forcetext, encoding, |
fe38b0a3a928
highlight: pass encoding to lexers and formatter
Christian Ebert <blacktrash@gmx.net>
parents:
5654
diff
changeset
|
70 |
stripecount, style): |
fe38b0a3a928
highlight: pass encoding to lexers and formatter
Christian Ebert <blacktrash@gmx.net>
parents:
5654
diff
changeset
|
71 |
etext = util.tolocal(rawtext) |
5532
40a06e39f010
extension for synax highlighting in the hgweb file revision view
Adam Hupp <adam@hupp.org>
parents:
diff
changeset
|
72 |
if not forcetext: |
40a06e39f010
extension for synax highlighting in the hgweb file revision view
Adam Hupp <adam@hupp.org>
parents:
diff
changeset
|
73 |
try: |
5655
fe38b0a3a928
highlight: pass encoding to lexers and formatter
Christian Ebert <blacktrash@gmx.net>
parents:
5654
diff
changeset
|
74 |
lexer = guess_lexer_for_filename(filename, etext, |
fe38b0a3a928
highlight: pass encoding to lexers and formatter
Christian Ebert <blacktrash@gmx.net>
parents:
5654
diff
changeset
|
75 |
encoding=util._encoding) |
5532
40a06e39f010
extension for synax highlighting in the hgweb file revision view
Adam Hupp <adam@hupp.org>
parents:
diff
changeset
|
76 |
except ClassNotFound: |
5655
fe38b0a3a928
highlight: pass encoding to lexers and formatter
Christian Ebert <blacktrash@gmx.net>
parents:
5654
diff
changeset
|
77 |
lexer = TextLexer(encoding=util._encoding) |
5532
40a06e39f010
extension for synax highlighting in the hgweb file revision view
Adam Hupp <adam@hupp.org>
parents:
diff
changeset
|
78 |
else: |
5655
fe38b0a3a928
highlight: pass encoding to lexers and formatter
Christian Ebert <blacktrash@gmx.net>
parents:
5654
diff
changeset
|
79 |
lexer = TextLexer(encoding=util._encoding) |
5533
6cf7d7fe7d3d
highlight: clean up coding style a little
Bryan O'Sullivan <bos@serpentine.com>
parents:
5532
diff
changeset
|
80 |
|
6cf7d7fe7d3d
highlight: clean up coding style a little
Bryan O'Sullivan <bos@serpentine.com>
parents:
5532
diff
changeset
|
81 |
formatter = StripedHtmlFormatter(stripecount, style=style, |
5655
fe38b0a3a928
highlight: pass encoding to lexers and formatter
Christian Ebert <blacktrash@gmx.net>
parents:
5654
diff
changeset
|
82 |
linenos='inline', encoding=encoding) |
5532
40a06e39f010
extension for synax highlighting in the hgweb file revision view
Adam Hupp <adam@hupp.org>
parents:
diff
changeset
|
83 |
|
5655
fe38b0a3a928
highlight: pass encoding to lexers and formatter
Christian Ebert <blacktrash@gmx.net>
parents:
5654
diff
changeset
|
84 |
return highlight(etext, lexer, formatter) |
5532
40a06e39f010
extension for synax highlighting in the hgweb file revision view
Adam Hupp <adam@hupp.org>
parents:
diff
changeset
|
85 |
|
40a06e39f010
extension for synax highlighting in the hgweb file revision view
Adam Hupp <adam@hupp.org>
parents:
diff
changeset
|
86 |
|
5616
88ca3e0fb6e5
highlight: adapt to hgweb_mode refactoring
Christian Ebert <blacktrash@gmx.net>
parents:
5533
diff
changeset
|
87 |
def filerevision_pygments(self, tmpl, fctx): |
5533
6cf7d7fe7d3d
highlight: clean up coding style a little
Bryan O'Sullivan <bos@serpentine.com>
parents:
5532
diff
changeset
|
88 |
"""Reimplement hgweb.filerevision to use syntax highlighting""" |
5616
88ca3e0fb6e5
highlight: adapt to hgweb_mode refactoring
Christian Ebert <blacktrash@gmx.net>
parents:
5533
diff
changeset
|
89 |
f = fctx.path() |
5532
40a06e39f010
extension for synax highlighting in the hgweb file revision view
Adam Hupp <adam@hupp.org>
parents:
diff
changeset
|
90 |
|
40a06e39f010
extension for synax highlighting in the hgweb file revision view
Adam Hupp <adam@hupp.org>
parents:
diff
changeset
|
91 |
rawtext = fctx.data() |
40a06e39f010
extension for synax highlighting in the hgweb file revision view
Adam Hupp <adam@hupp.org>
parents:
diff
changeset
|
92 |
text = rawtext |
40a06e39f010
extension for synax highlighting in the hgweb file revision view
Adam Hupp <adam@hupp.org>
parents:
diff
changeset
|
93 |
|
5616
88ca3e0fb6e5
highlight: adapt to hgweb_mode refactoring
Christian Ebert <blacktrash@gmx.net>
parents:
5533
diff
changeset
|
94 |
fl = fctx.filelog() |
88ca3e0fb6e5
highlight: adapt to hgweb_mode refactoring
Christian Ebert <blacktrash@gmx.net>
parents:
5533
diff
changeset
|
95 |
n = fctx.filenode() |
88ca3e0fb6e5
highlight: adapt to hgweb_mode refactoring
Christian Ebert <blacktrash@gmx.net>
parents:
5533
diff
changeset
|
96 |
|
88ca3e0fb6e5
highlight: adapt to hgweb_mode refactoring
Christian Ebert <blacktrash@gmx.net>
parents:
5533
diff
changeset
|
97 |
mt = mimetypes.guess_type(f)[0] |
5532
40a06e39f010
extension for synax highlighting in the hgweb file revision view
Adam Hupp <adam@hupp.org>
parents:
diff
changeset
|
98 |
|
40a06e39f010
extension for synax highlighting in the hgweb file revision view
Adam Hupp <adam@hupp.org>
parents:
diff
changeset
|
99 |
if util.binary(text): |
40a06e39f010
extension for synax highlighting in the hgweb file revision view
Adam Hupp <adam@hupp.org>
parents:
diff
changeset
|
100 |
mt = mt or 'application/octet-stream' |
40a06e39f010
extension for synax highlighting in the hgweb file revision view
Adam Hupp <adam@hupp.org>
parents:
diff
changeset
|
101 |
text = "(binary:%s)" % mt |
40a06e39f010
extension for synax highlighting in the hgweb file revision view
Adam Hupp <adam@hupp.org>
parents:
diff
changeset
|
102 |
|
40a06e39f010
extension for synax highlighting in the hgweb file revision view
Adam Hupp <adam@hupp.org>
parents:
diff
changeset
|
103 |
# don't parse (binary:...) as anything |
40a06e39f010
extension for synax highlighting in the hgweb file revision view
Adam Hupp <adam@hupp.org>
parents:
diff
changeset
|
104 |
forcetext = True |
40a06e39f010
extension for synax highlighting in the hgweb file revision view
Adam Hupp <adam@hupp.org>
parents:
diff
changeset
|
105 |
else: |
40a06e39f010
extension for synax highlighting in the hgweb file revision view
Adam Hupp <adam@hupp.org>
parents:
diff
changeset
|
106 |
mt = mt or 'text/plain' |
40a06e39f010
extension for synax highlighting in the hgweb file revision view
Adam Hupp <adam@hupp.org>
parents:
diff
changeset
|
107 |
forcetext = False |
40a06e39f010
extension for synax highlighting in the hgweb file revision view
Adam Hupp <adam@hupp.org>
parents:
diff
changeset
|
108 |
|
40a06e39f010
extension for synax highlighting in the hgweb file revision view
Adam Hupp <adam@hupp.org>
parents:
diff
changeset
|
109 |
def lines(text): |
40a06e39f010
extension for synax highlighting in the hgweb file revision view
Adam Hupp <adam@hupp.org>
parents:
diff
changeset
|
110 |
for line in text.splitlines(True): |
40a06e39f010
extension for synax highlighting in the hgweb file revision view
Adam Hupp <adam@hupp.org>
parents:
diff
changeset
|
111 |
yield {"line": line} |
40a06e39f010
extension for synax highlighting in the hgweb file revision view
Adam Hupp <adam@hupp.org>
parents:
diff
changeset
|
112 |
|
40a06e39f010
extension for synax highlighting in the hgweb file revision view
Adam Hupp <adam@hupp.org>
parents:
diff
changeset
|
113 |
style = self.config("web", "pygments_style", "colorful") |
40a06e39f010
extension for synax highlighting in the hgweb file revision view
Adam Hupp <adam@hupp.org>
parents:
diff
changeset
|
114 |
|
5655
fe38b0a3a928
highlight: pass encoding to lexers and formatter
Christian Ebert <blacktrash@gmx.net>
parents:
5654
diff
changeset
|
115 |
text_formatted = lines(pygments_format(f, text, forcetext, self.encoding, |
5654
831e34e17f4f
highlight: mandatory arguments where possible
Christian Ebert <blacktrash@gmx.net>
parents:
5616
diff
changeset
|
116 |
self.stripecount, style)) |
5532
40a06e39f010
extension for synax highlighting in the hgweb file revision view
Adam Hupp <adam@hupp.org>
parents:
diff
changeset
|
117 |
|
5533
6cf7d7fe7d3d
highlight: clean up coding style a little
Bryan O'Sullivan <bos@serpentine.com>
parents:
5532
diff
changeset
|
118 |
# override per-line template |
5616
88ca3e0fb6e5
highlight: adapt to hgweb_mode refactoring
Christian Ebert <blacktrash@gmx.net>
parents:
5533
diff
changeset
|
119 |
tmpl.cache['fileline'] = '#line#' |
5532
40a06e39f010
extension for synax highlighting in the hgweb file revision view
Adam Hupp <adam@hupp.org>
parents:
diff
changeset
|
120 |
|
40a06e39f010
extension for synax highlighting in the hgweb file revision view
Adam Hupp <adam@hupp.org>
parents:
diff
changeset
|
121 |
# append a <link ...> to the syntax highlighting css |
5616
88ca3e0fb6e5
highlight: adapt to hgweb_mode refactoring
Christian Ebert <blacktrash@gmx.net>
parents:
5533
diff
changeset
|
122 |
old_header = ''.join(tmpl('header')) |
5532
40a06e39f010
extension for synax highlighting in the hgweb file revision view
Adam Hupp <adam@hupp.org>
parents:
diff
changeset
|
123 |
if SYNTAX_CSS not in old_header: |
40a06e39f010
extension for synax highlighting in the hgweb file revision view
Adam Hupp <adam@hupp.org>
parents:
diff
changeset
|
124 |
new_header = old_header + SYNTAX_CSS |
5616
88ca3e0fb6e5
highlight: adapt to hgweb_mode refactoring
Christian Ebert <blacktrash@gmx.net>
parents:
5533
diff
changeset
|
125 |
tmpl.cache['header'] = new_header |
5532
40a06e39f010
extension for synax highlighting in the hgweb file revision view
Adam Hupp <adam@hupp.org>
parents:
diff
changeset
|
126 |
|
5616
88ca3e0fb6e5
highlight: adapt to hgweb_mode refactoring
Christian Ebert <blacktrash@gmx.net>
parents:
5533
diff
changeset
|
127 |
yield tmpl("filerevision", |
88ca3e0fb6e5
highlight: adapt to hgweb_mode refactoring
Christian Ebert <blacktrash@gmx.net>
parents:
5533
diff
changeset
|
128 |
file=f, |
88ca3e0fb6e5
highlight: adapt to hgweb_mode refactoring
Christian Ebert <blacktrash@gmx.net>
parents:
5533
diff
changeset
|
129 |
path=hgweb_mod._up(f), # fixme: make public |
88ca3e0fb6e5
highlight: adapt to hgweb_mode refactoring
Christian Ebert <blacktrash@gmx.net>
parents:
5533
diff
changeset
|
130 |
text=text_formatted, |
88ca3e0fb6e5
highlight: adapt to hgweb_mode refactoring
Christian Ebert <blacktrash@gmx.net>
parents:
5533
diff
changeset
|
131 |
raw=rawtext, |
88ca3e0fb6e5
highlight: adapt to hgweb_mode refactoring
Christian Ebert <blacktrash@gmx.net>
parents:
5533
diff
changeset
|
132 |
mimetype=mt, |
88ca3e0fb6e5
highlight: adapt to hgweb_mode refactoring
Christian Ebert <blacktrash@gmx.net>
parents:
5533
diff
changeset
|
133 |
rev=fctx.rev(), |
88ca3e0fb6e5
highlight: adapt to hgweb_mode refactoring
Christian Ebert <blacktrash@gmx.net>
parents:
5533
diff
changeset
|
134 |
node=hex(fctx.node()), |
88ca3e0fb6e5
highlight: adapt to hgweb_mode refactoring
Christian Ebert <blacktrash@gmx.net>
parents:
5533
diff
changeset
|
135 |
author=fctx.user(), |
88ca3e0fb6e5
highlight: adapt to hgweb_mode refactoring
Christian Ebert <blacktrash@gmx.net>
parents:
5533
diff
changeset
|
136 |
date=fctx.date(), |
88ca3e0fb6e5
highlight: adapt to hgweb_mode refactoring
Christian Ebert <blacktrash@gmx.net>
parents:
5533
diff
changeset
|
137 |
desc=fctx.description(), |
88ca3e0fb6e5
highlight: adapt to hgweb_mode refactoring
Christian Ebert <blacktrash@gmx.net>
parents:
5533
diff
changeset
|
138 |
parent=self.siblings(fctx.parents()), |
88ca3e0fb6e5
highlight: adapt to hgweb_mode refactoring
Christian Ebert <blacktrash@gmx.net>
parents:
5533
diff
changeset
|
139 |
child=self.siblings(fctx.children()), |
88ca3e0fb6e5
highlight: adapt to hgweb_mode refactoring
Christian Ebert <blacktrash@gmx.net>
parents:
5533
diff
changeset
|
140 |
rename=self.renamelink(fl, n), |
88ca3e0fb6e5
highlight: adapt to hgweb_mode refactoring
Christian Ebert <blacktrash@gmx.net>
parents:
5533
diff
changeset
|
141 |
permissions=fctx.manifest().flags(f)) |
5532
40a06e39f010
extension for synax highlighting in the hgweb file revision view
Adam Hupp <adam@hupp.org>
parents:
diff
changeset
|
142 |
|
5533
6cf7d7fe7d3d
highlight: clean up coding style a little
Bryan O'Sullivan <bos@serpentine.com>
parents:
5532
diff
changeset
|
143 |
|
5532
40a06e39f010
extension for synax highlighting in the hgweb file revision view
Adam Hupp <adam@hupp.org>
parents:
diff
changeset
|
144 |
# monkeypatch in the new version |
40a06e39f010
extension for synax highlighting in the hgweb file revision view
Adam Hupp <adam@hupp.org>
parents:
diff
changeset
|
145 |
# should be safer than overriding the method in a derived class |
40a06e39f010
extension for synax highlighting in the hgweb file revision view
Adam Hupp <adam@hupp.org>
parents:
diff
changeset
|
146 |
# and then patching the class |
40a06e39f010
extension for synax highlighting in the hgweb file revision view
Adam Hupp <adam@hupp.org>
parents:
diff
changeset
|
147 |
hgweb.filerevision = filerevision_pygments |