Skip to content

Commit 28af958

Browse files
committed
Update formatter.py
Initial implementation of hyperlinks, set BETTER_EXCEPTIONS_HYPERLINKS=1 to activate.
1 parent 4dab3e2 commit 28af958

File tree

1 file changed

+8
-1
lines changed

1 file changed

+8
-1
lines changed

better_exceptions/formatter.py

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,12 @@
3434

3535
MAX_LENGTH = 128
3636

37+
if os.environ.get("BETTER_EXCEPTIONS_HYPERLINKS") == "1":
38+
HOSTNAME = os.uname()[1]
39+
FORMAT_FILENAME = "\033]8;;file://{hostname}{filename}\033\\{filename}\033]8;;\033\\"
40+
else:
41+
FORMAT_FILENAME = "{filename}"
42+
3743

3844
def isast(v):
3945
return inspect.isclass(v) and issubclass(v, ast.AST)
@@ -250,7 +256,8 @@ def format_traceback_frame(self, tb):
250256
lines.append(self._theme['inspect'](line) if self._colored else line)
251257
formatted = u'\n '.join([to_unicode(x) for x in lines])
252258

253-
return (filename, lineno, function, formatted), color_source
259+
formatted_filename = FORMAT_FILENAME.format(hostname=HOSTNAME, filename=filename, lineno=lineno)
260+
return (formatted_filename, lineno, function, formatted), color_source
254261

255262

256263
def format_traceback(self, tb=None):

0 commit comments

Comments
 (0)