95
95
# ... or use the token's name when nothing apropriate
96
96
# return str(ttype).replace(".", " ")
98
def add_next_line(self, line_parts):
101
self.result.append(fmt.code_line(1))
102
self.result.append(fmt.line_anchordef(self.lineno))
103
self.result += line_parts
104
self.result.append(fmt.code_line(0))
98
106
def format(self, tokensource, outfile):
100
107
fmt = self.formatter
102
108
self.lineno = self.start_line
104
for lineno in range(1, self.start_line + 1):
105
result.append(fmt.line_anchordef(lineno))
107
110
for ttype, value in tokensource:
108
111
class_ = self.get_class(ttype)
110
113
for line in self.line_re.split(value):
113
result.append(fmt.code_line(1))
114
result.append(fmt.line_anchordef(self.lineno))
117
result.append(fmt.code_line(0))
121
result.append(fmt.code_token(1, class_))
122
result.append(fmt.text(line))
124
result.append(fmt.code_token(0, class_))
128
# result.append(fmt.code_line(0))
115
self.add_next_line(line_parts)
119
line_parts.append(fmt.code_token(1, class_))
120
line_parts.append(fmt.text(line))
122
line_parts.append(fmt.code_token(0, class_))
123
if line_parts and line_parts != [u'']: # Don't output an empty line at the end.
124
self.add_next_line(line_parts)
136
132
def __init__(self, raw, request, filename=None, format_args='', **kw):
137
133
self.request = request
138
self.raw = raw.strip('\n')
139
135
self.filename = filename
140
136
self.start_line = kw.get('start_line', 0)
159
155
def format(self, formatter):
160
156
_ = self.request.getText
161
157
fmt = PygmentsFormatter(formatter, start_line=self.start_line)
159
# adding line number anchors for process instruction lines
160
for lineno in range(1, self.num_start + 1):
161
fmt.result.append(formatter.line_anchordef(lineno))
162
163
fmt.result.append(formatter.div(1, css_class="highlight %s" % self.syntax))
163
164
self._code_id = hash_new('sha1', self.raw.encode(config.charset)).hexdigest()
181
182
"highlight_help_page": url
183
184
lexer = pygments.lexers.TextLexer()
184
186
fmt.result.append(formatter.code_area(1, self._code_id, self.parsername, self.show_nums, self.num_start, self.num_step, msg))
185
187
pygments.highlight(self.raw, lexer, fmt)
186
188
fmt.result.append(formatter.code_area(0, self._code_id))