@@ -534,6 +534,49 @@ alist specified in `display-buffer-alist'."
534
534
(set-window-buffer window buffer)
535
535
window))
536
536
537
+ (defun leetcode--show-submission-result (submission-detail )
538
+ " Show error info in `leetcode--result-buffer-name' based on status code.
539
+ Error info comes from SUBMISSION-DETAIL. STATUS_CODE has
540
+ following possible value:
541
+ - 10: Accepted
542
+ - 11: Wrong Anwser
543
+ - 14: Time Limit Exceeded
544
+ - 15: Runtime Error. full_runtime_error
545
+ - 20: Compile Error. full_compile_error"
546
+ (let ((buf (get-buffer-create leetcode--result-buffer-name))
547
+ (status-code (alist-get 'status_code submission-detail))
548
+ (runtime (alist-get 'status_runtime submission-detail))
549
+ (memory (alist-get 'status_memory submission-detail))
550
+ (runtime-perc (alist-get 'runtime_percentile submission-detail))
551
+ (memory-perc (alist-get 'memory_percentile submission-detail))
552
+ (total-correct (alist-get 'total_correct submission-detail))
553
+ (total-testcases (alist-get 'total_testcases submission-detail))
554
+ (status-msg (alist-get 'status_msg submission-detail))
555
+ (lang (alist-get 'pretty_lang submission-detail)))
556
+ (with-current-buffer buf
557
+ (erase-buffer )
558
+ (insert (format " Status: %s \n " status-msg))
559
+ (cond
560
+ ((eq status-code 10 )
561
+ (insert (format " %s /%s \n\n " total-testcases total-correct))
562
+ (insert (format " Runtime: %s , faster than %. 2f%% of %s submissions.\n\n "
563
+ runtime runtime-perc lang))
564
+ (insert (format " Memory Usage: %s , less than %. 2f%% of %s submissions. "
565
+ memory memory-perc lang)))
566
+ ((eq status-code 11 )
567
+ (insert (format " %s /%s \n\n " total-testcases total-correct)))
568
+ ((eq status-code 14 ) nil )
569
+ ((eq status-code 15 )
570
+ (insert " \n " )
571
+ (insert (format (alist-get 'full_runtime_error submission-detail))))
572
+ ((eq status-code 20 )
573
+ (insert " \n " )
574
+ (insert (format (alist-get 'full_compile_error submission-detail)))))
575
+ (display-buffer (current-buffer )
576
+ '((display-buffer-reuse-window
577
+ leetcode--display-result)
578
+ (reusable-frames . visible))))))
579
+
537
580
(defun leetcode-submit ()
538
581
" Asynchronously submit the code and show result."
539
582
(interactive )
@@ -568,27 +611,8 @@ alist specified in `display-buffer-alist'."
568
611
(leetcode--check-submission
569
612
submission-id slug-title
570
613
(lambda (res )
571
- (let ((runtime (alist-get 'status_runtime res))
572
- (memory (alist-get 'status_memory res))
573
- (runtime-perc (alist-get 'runtime_percentile res))
574
- (memory-perc (alist-get 'memory_percentile res))
575
- (total-correct (alist-get 'total_correct res))
576
- (total-testcases (alist-get 'total_testcases res))
577
- (status-msg (alist-get 'status_msg res))
578
- (lang (alist-get 'pretty_lang res)))
579
- (with-current-buffer (get-buffer-create leetcode--result-buffer-name)
580
- (erase-buffer )
581
- (insert (format " Status: %s \t %s /%s \n\n " status-msg total-testcases total-correct))
582
- (when (equal status-msg " Accepted" )
583
- (insert (format " Runtime: %s , faster than %. 2f%% of %s submissions.\n\n "
584
- runtime runtime-perc lang))
585
- (insert (format " Memory Usage: %s , less than %. 2f%% of %s submissions. "
586
- memory memory-perc lang)))
587
- (display-buffer (current-buffer )
588
- '((display-buffer-reuse-window
589
- leetcode--display-result)
590
- (reusable-frames . visible)))
591
- (leetcode--loading-mode -1 )))))))))))
614
+ (leetcode--show-submission-result res)
615
+ (leetcode--loading-mode -1 )))))))))
592
616
593
617
(defun leetcode-show-descri ()
594
618
" Show current entry problem description.
0 commit comments