Skip to content

Commit 4845250

Browse files
committed
add colors to debug console
1 parent ed79fea commit 4845250

File tree

1 file changed

+24
-6
lines changed

1 file changed

+24
-6
lines changed

robotcode/debugger/debugger.py

Lines changed: 24 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -577,11 +577,12 @@ def start_output_group(self, name: str, attributes: Dict[str, Any], type: Option
577577
self,
578578
OutputEvent(
579579
body=OutputEventBody(
580-
output=f"{(type +' ') if type else ''}{name}\n",
580+
output=f"\u001b[38;5;14m{(type +' ') if type else ''}\u001b[0m{name}\n",
581581
category=OutputCategory.CONSOLE,
582-
group=OutputGroup.STARTCOLLAPSED,
582+
group=OutputGroup.START,
583583
source=Source(path=source) if source else None,
584-
line=line_no,
584+
line=line_no if source is not None else None,
585+
column=0 if source is not None else None,
585586
)
586587
),
587588
)
@@ -906,9 +907,21 @@ def yield_stack() -> Generator[StackFrame, None, None]:
906907

907908
return StackTraceResult(frames, len(self.stack_frames))
908909

910+
MESSAGE_COLORS = {
911+
"INFO": "\u001b[38;5;2m",
912+
"WARN": "\u001b[38;5;3m",
913+
"ERROR": "\u001b[38;5;1m",
914+
"TRACE": "\u001b[38;5;4m",
915+
"FAIL": "\u001b[38;5;5m\u001b[1m",
916+
"DEBUG": "\u001b[38;5;8m",
917+
}
918+
909919
def log_message(self, message: Dict[str, Any]) -> None:
920+
level = message["level"]
921+
msg = message["message"]
922+
910923
if message["level"] == "FAIL":
911-
self.last_fail_message = message["message"]
924+
self.last_fail_message = msg
912925

913926
current_frame = self.full_stack_frames[0] if self.full_stack_frames else None
914927
source = Source(path=current_frame.source) if current_frame else None
@@ -919,7 +932,8 @@ def log_message(self, message: Dict[str, Any]) -> None:
919932
self,
920933
OutputEvent(
921934
body=OutputEventBody(
922-
output="LOG> {timestamp} {level}: {message}\n".format(**message),
935+
output=f"\u001b[38;5;237m{message['timestamp'].split(' ', 1)[1]}"
936+
f" {self.MESSAGE_COLORS.get(level, '')}{level}\u001b[0m: {msg}\n",
923937
category=OutputCategory.CONSOLE,
924938
source=source,
925939
line=line if line is not None else 0,
@@ -930,11 +944,15 @@ def log_message(self, message: Dict[str, Any]) -> None:
930944

931945
def message(self, message: Dict[str, Any]) -> None:
932946
if self.output_messages:
947+
level = message["level"]
948+
msg = message["message"]
949+
933950
self.send_event(
934951
self,
935952
OutputEvent(
936953
body=OutputEventBody(
937-
output="MSG> {timestamp} {level}: {message}\n".format(**message),
954+
output=f"\u001b[38;5;237m{message['timestamp'].split(' ', 1)[1]}"
955+
f" {self.MESSAGE_COLORS.get(level, '')}{level}\u001b[0m: {msg}\n",
938956
category="messages",
939957
)
940958
),

0 commit comments

Comments
 (0)