diff kitten: Do not specify the default foreground color in formatting codes.
Fixes an issue with foreground color being incorrect after a highlighted segment if the syntax highlight does not specify a foreground color at the boundary.
This commit is contained in:
parent
709d19119d
commit
9cab8a2de5
@ -19,6 +19,11 @@ class Segment:
|
|||||||
self.start = start
|
self.start = start
|
||||||
self.start_code = start_code
|
self.start_code = start_code
|
||||||
|
|
||||||
|
def __repr__(self):
|
||||||
|
return 'Segment(start={!r}, start_code={!r}, end={!r}, end_code={!r})'.format(
|
||||||
|
self.start, self.start_code, getattr(self, 'end', None), getattr(self, 'end_code', None)
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
class Collection:
|
class Collection:
|
||||||
|
|
||||||
|
|||||||
@ -24,13 +24,13 @@ formats = {
|
|||||||
|
|
||||||
|
|
||||||
def set_formats(opts):
|
def set_formats(opts):
|
||||||
formats['text'] = '38' + color_as_sgr(opts.foreground) + ';48' + color_as_sgr(opts.background)
|
formats['text'] = '48' + color_as_sgr(opts.background)
|
||||||
formats['title'] = '38' + color_as_sgr(opts.title_fg) + ';48' + color_as_sgr(opts.title_bg) + ';1'
|
formats['title'] = '38' + color_as_sgr(opts.title_fg) + ';48' + color_as_sgr(opts.title_bg) + ';1'
|
||||||
formats['margin'] = '38' + color_as_sgr(opts.margin_fg) + ';48' + color_as_sgr(opts.margin_bg)
|
formats['margin'] = '38' + color_as_sgr(opts.margin_fg) + ';48' + color_as_sgr(opts.margin_bg)
|
||||||
formats['added_margin'] = '38' + color_as_sgr(opts.margin_fg) + ';48' + color_as_sgr(opts.added_margin_bg)
|
formats['added_margin'] = '38' + color_as_sgr(opts.margin_fg) + ';48' + color_as_sgr(opts.added_margin_bg)
|
||||||
formats['removed_margin'] = '38' + color_as_sgr(opts.margin_fg) + ';48' + color_as_sgr(opts.removed_margin_bg)
|
formats['removed_margin'] = '38' + color_as_sgr(opts.margin_fg) + ';48' + color_as_sgr(opts.removed_margin_bg)
|
||||||
formats['added'] = '38' + color_as_sgr(opts.foreground) + ';48' + color_as_sgr(opts.added_bg)
|
formats['added'] = '48' + color_as_sgr(opts.added_bg)
|
||||||
formats['removed'] = '38' + color_as_sgr(opts.foreground) + ';48' + color_as_sgr(opts.removed_bg)
|
formats['removed'] = '48' + color_as_sgr(opts.removed_bg)
|
||||||
formats['filler'] = '48' + color_as_sgr(opts.filler_bg)
|
formats['filler'] = '48' + color_as_sgr(opts.filler_bg)
|
||||||
formats['hunk_margin'] = '38' + color_as_sgr(opts.margin_fg) + ';48' + color_as_sgr(opts.hunk_margin_bg)
|
formats['hunk_margin'] = '38' + color_as_sgr(opts.margin_fg) + ';48' + color_as_sgr(opts.hunk_margin_bg)
|
||||||
formats['hunk'] = '38' + color_as_sgr(opts.margin_fg) + ';48' + color_as_sgr(opts.hunk_bg)
|
formats['hunk'] = '38' + color_as_sgr(opts.margin_fg) + ';48' + color_as_sgr(opts.hunk_bg)
|
||||||
|
|||||||
@ -69,7 +69,10 @@ class Chunk:
|
|||||||
|
|
||||||
def finalize(self):
|
def finalize(self):
|
||||||
if not self.is_context and self.left_count == self.right_count:
|
if not self.is_context and self.left_count == self.right_count:
|
||||||
self.centers = tuple(changed_center(left_lines[self.left_start + i], right_lines[self.right_start + i]) for i in range(self.left_count))
|
self.centers = tuple(
|
||||||
|
changed_center(left_lines[self.left_start + i], right_lines[self.right_start + i])
|
||||||
|
for i in range(self.left_count)
|
||||||
|
)
|
||||||
|
|
||||||
def __repr__(self):
|
def __repr__(self):
|
||||||
return 'Chunk(is_context={}, left_start={}, left_count={}, right_start={}, right_count={})'.format(
|
return 'Chunk(is_context={}, left_start={}, left_count={}, right_start={}, right_count={})'.format(
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user