Skip to content

Commit dc76769

Browse files
committed
feat: Add prefix for levels
1 parent 8602950 commit dc76769

File tree

1 file changed

+37
-4
lines changed

1 file changed

+37
-4
lines changed

sideline-flycheck.el

Lines changed: 37 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,7 @@
4040
;;; Code:
4141

4242
(require 'cl-lib)
43+
(require 'pcase)
4344

4445
(require 'sideline)
4546
(require 'flycheck)
@@ -91,6 +92,24 @@
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

Comments
 (0)