Skip to content

Escape sequences in description does not work. #369

@zbigniew-polito

Description

@zbigniew-polito

When I put valid OSC-8 escape sequence into Description text field. It does not get displayed correctly.

To Reproduce
~/.vit/formatters/description.py :

from functools import reduce

from vit.formatter import String
from vit.util import unicode_len

jira_url='https://someurl.com/browse/'

#echo -e '\e]8;;http://example.com\e\\This is a link\e]8;;\e\\

class Description(String):
  def format(self, description, task):
        if not description:
            return self.empty()
        try:
            jiraid, description = description.split(":",1)
            link = f"\x1b]8;;{jira_url}{jiraid}\x07{jiraid}\x1b]8;;\x07"
            print(link)
        except:
            pass

        width = unicode_len(description)
        colorized_description = self.colorize_description(description)
        if task['annotations']:
            annotation_width, colorized_description = self.format_combined(colorized_description, task)
            if annotation_width > width:
                width = annotation_width

        try:
            colorized_description[0]= (colorized_description[0][0],link+":"+colorized_description[0][1])
            return (width+len(jiraid), colorized_description)
        except:
            return (width, colorized_description)


    ...rest of missing Description methods copied from oryginal Description class ...

Expected behavior

Inside of vit, on the main screen with tasks list, a task with description:

SOME-ID: Some task description

should get printed as:

SOME-ID: Some task description

where SOME-ID is due to being OSC-8 escaped a clickable element within terminal making it a working valid hyperlink that opens web-browser at specified address when clicked with mouse pointer.

now the observed behavior is :

?]8;;https://someurl.com/browse/SOME-ID?SOME-ID?]8;;?: Some task description

gets printed while description string outputted with print(link) gets parsed by terminal correctly and is a valid hyperlink

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions