@@ -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