diff options
| -rw-r--r-- | continuedev/src/continuedev/steps/core/core.py | 24 | 
1 files changed, 20 insertions, 4 deletions
| diff --git a/continuedev/src/continuedev/steps/core/core.py b/continuedev/src/continuedev/steps/core/core.py index eb367ca9..aee5bc1d 100644 --- a/continuedev/src/continuedev/steps/core/core.py +++ b/continuedev/src/continuedev/steps/core/core.py @@ -198,13 +198,13 @@ class DefaultModelEditCodeStep(Step):              diff = list(difflib.ndiff(rif.contents.splitlines(                  keepends=True), completion.splitlines(keepends=True))) -            lines_to_highlight = [] +            lines_to_highlight = set()              index = 0              for line in diff:                  if line.startswith("-"):                      pass                  elif line.startswith("+"): -                    lines_to_highlight.append(index + rif.range.start.line) +                    lines_to_highlight.add(index + rif.range.start.line)                      index += 1                  elif line.startswith(" "):                      index += 1 @@ -215,8 +215,24 @@ class DefaultModelEditCodeStep(Step):                  replacement=completion              )) -            for line in lines_to_highlight: -                await sdk.ide.highlightCode(RangeInFile(filepath=rif.filepath, range=Range.from_shorthand(line, 0, line, 0))) +            current_hl_start = None +            last_hl = None +            rifs_to_highlight = [] +            for line in sorted(list(lines_to_highlight)): +                if current_hl_start is None: +                    current_hl_start = line +                elif line != last_hl + 1: +                    rifs_to_highlight.append(RangeInFile( +                        filepath=rif.filepath, range=Range.from_shorthand(current_hl_start, 0, last_hl, 0))) +                    current_hl_start = line +                last_hl = line + +            if current_hl_start is not None: +                rifs_to_highlight.append(RangeInFile( +                    filepath=rif.filepath, range=Range.from_shorthand(current_hl_start, 0, last_hl, 0))) + +            for rif_to_hl in rifs_to_highlight: +                await sdk.ide.highlightCode(rif_to_hl)              await sdk.ide.saveFile(rif.filepath) | 
