@@ -577,11 +577,12 @@ def start_output_group(self, name: str, attributes: Dict[str, Any], type: Option
577
577
self ,
578
578
OutputEvent (
579
579
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 " ,
581
581
category = OutputCategory .CONSOLE ,
582
- group = OutputGroup .STARTCOLLAPSED ,
582
+ group = OutputGroup .START ,
583
583
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 ,
585
586
)
586
587
),
587
588
)
@@ -906,9 +907,21 @@ def yield_stack() -> Generator[StackFrame, None, None]:
906
907
907
908
return StackTraceResult (frames , len (self .stack_frames ))
908
909
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
+
909
919
def log_message (self , message : Dict [str , Any ]) -> None :
920
+ level = message ["level" ]
921
+ msg = message ["message" ]
922
+
910
923
if message ["level" ] == "FAIL" :
911
- self .last_fail_message = message [ "message" ]
924
+ self .last_fail_message = msg
912
925
913
926
current_frame = self .full_stack_frames [0 ] if self .full_stack_frames else None
914
927
source = Source (path = current_frame .source ) if current_frame else None
@@ -919,7 +932,8 @@ def log_message(self, message: Dict[str, Any]) -> None:
919
932
self ,
920
933
OutputEvent (
921
934
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 " ,
923
937
category = OutputCategory .CONSOLE ,
924
938
source = source ,
925
939
line = line if line is not None else 0 ,
@@ -930,11 +944,15 @@ def log_message(self, message: Dict[str, Any]) -> None:
930
944
931
945
def message (self , message : Dict [str , Any ]) -> None :
932
946
if self .output_messages :
947
+ level = message ["level" ]
948
+ msg = message ["message" ]
949
+
933
950
self .send_event (
934
951
self ,
935
952
OutputEvent (
936
953
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 " ,
938
956
category = "messages" ,
939
957
)
940
958
),
0 commit comments