4040; ;; Code:
4141
4242(require 'cl-lib )
43+ (require 'pcase )
4344
4445(require 'sideline )
4546(require 'flycheck )
9192 " Indicate info operation."
9293 :group 'sideline-flycheck )
9394
95+ (defcustom sideline-flycheck-error-prefix " "
96+ " Prefix for error sideline."
97+ :type 'string
98+ :group 'sideline-flycheck )
99+
100+ (defcustom sideline-flycheck-warning-prefix " "
101+ " Prefix for warning sideline."
102+ :type 'string
103+ :group 'sideline-flycheck )
104+
105+ (defcustom sideline-flycheck-info-prefix " "
106+ " Prefix for info sideline."
107+ :type 'string
108+ :group 'sideline-flycheck )
109+
110+ ; ;
111+ ; ;; Core
112+
94113;;;### autoload
95114(defun sideline-flycheck (command )
96115 " Backend for sideline.
@@ -109,6 +128,13 @@ Argument COMMAND is required in sideline backend."
109128 (t (user-error " Invalid value of `sideline-flycheck-display-mode' : %s"
110129 sideline-flycheck-display-mode))))
111130
131+ ; ; XXX: Not sure if needed.
132+ (defun sideline-flycheck--get-level (level )
133+ " Return level symbol by LEVEL."
134+ (cond ((string-match-p " warning" level) 'warning )
135+ ((string-match-p " error" level) 'error )
136+ (t 'info )))
137+
112138(defun sideline-flycheck--show (&optional buffer )
113139 " Display ERRORS in BUFFER, using sideline library."
114140 (sideline--with-buffer-window (or buffer (current-buffer ))
@@ -120,14 +146,21 @@ Argument COMMAND is required in sideline backend."
120146 (let (msgs)
121147 (dolist (err errors)
122148 (let* ((level (sideline-2str (flycheck-error-level err)))
123- (face (cond
124- ((string-match-p " warning" level) 'sideline-flycheck-warning )
125- ((string-match-p " error" level) 'sideline-flycheck-error )
126- (t 'sideline-flycheck-info )))
149+ ; ; XXX: Safety guard; is this necessary?
150+ (level (sideline-flycheck--get-level level))
151+ (face (pcase level
152+ (`warning 'sideline-flycheck-warning )
153+ (`error 'sideline-flycheck-error )
154+ (`info 'sideline-flycheck-info )))
155+ (prefix (pcase level
156+ (`warning sideline-flycheck-warning-prefix)
157+ (`error sideline-flycheck-error-prefix)
158+ (`info sideline-flycheck-info-prefix)))
127159 (msg (flycheck-error-message err))
128160 (lines (split-string msg " \n " ))
129161 (lines (butlast lines (- (length lines) sideline-flycheck-max-lines)))
130162 (msg (mapconcat #'identity lines " \n " ))
163+ (msg (concat prefix msg))
131164 (checker (flycheck-error-checker err)))
132165 (when sideline-flycheck-show-checker-name
133166 (setq msg (format " %s (%s )" msg checker)))
0 commit comments