@@ -117,24 +117,18 @@ The error types are represented as strings."
117
117
:group 'cider-stacktrace
118
118
:package-version '(cider . " 0.7.0" ))
119
119
120
- (defface cider-stacktrace-filter-shown -face
120
+ (defface cider-stacktrace-filter-active -face
121
121
'((t (:inherit button :underline t :weight normal)))
122
122
" Face for filter buttons representing frames currently visible"
123
123
:group 'cider-stacktrace
124
124
:package-version '(cider . " 0.6.0" ))
125
125
126
- (defface cider-stacktrace-filter-hidden -face
126
+ (defface cider-stacktrace-filter-inactive -face
127
127
'((t (:inherit button :underline nil :weight normal)))
128
128
" Face for filter buttons representing frames currently filtered out"
129
129
:group 'cider-stacktrace
130
130
:package-version '(cider . " 0.6.0" ))
131
131
132
- (defface cider-stacktrace-filter-positive-face
133
- '((t (:inherit button :underline t :weight normal)))
134
- " Face for filter buttons representing frames currently filtered out"
135
- :group 'cider-stacktrace
136
- :package-version '(cider . " 0.15.0" ))
137
-
138
132
(defface cider-stacktrace-face
139
133
'((t (:inherit default )))
140
134
" Face for stack frame text"
@@ -252,11 +246,18 @@ The error types are represented as strings."
252
246
253
247
(defun cider-stacktrace--face-for-filter (filter neg-filters pos-filters )
254
248
" Return whether we should mark the filter is active or not."
255
- (cond ((member filter neg-filters) 'cider-stacktrace-filter-hidden-face )
256
- ((member filter pos-filters) 'cider-stacktrace-filter-positive-face )
257
- ((member filter '(project)) 'cider-stacktrace-filter-hidden-face )
258
- ((null filter) 'cider-stacktrace-filter-hidden-face )
259
- (t 'cider-stacktrace-filter-shown-face )))
249
+ (cond ((member filter '(clj java repl tooling dup)) ; negative filter
250
+ (if (member filter neg-filters)
251
+ 'cider-stacktrace-filter-active-face
252
+ 'cider-stacktrace-filter-inactive-face ))
253
+ ((member filter '(project)) ; positive filter
254
+ (if (member filter pos-filters)
255
+ 'cider-stacktrace-filter-active-face
256
+ 'cider-stacktrace-filter-inactive-face ))
257
+ ((null filter) ; "all" filter
258
+ (if (null neg-filters)
259
+ 'cider-stacktrace-filter-active-face
260
+ 'cider-stacktrace-filter-inactive-face ))))
260
261
261
262
(defun cider-stacktrace-indicate-filters (filters pos-filters )
262
263
" Update enabled state of filter buttons.
@@ -594,17 +595,20 @@ prompt and whether to use a new window. Similar to `cider-find-var'."
594
595
(setq-local fill-prefix indent)
595
596
(fill-region beg (point )))))
596
597
597
- (defun cider-stacktrace-render-filters (buffer filters )
598
+ (defun cider-stacktrace-render-filters (buffer special-filters filters )
598
599
" Emit into BUFFER toggle buttons for each of the FILTERS."
599
600
(with-current-buffer buffer
600
601
(insert " Show: " )
601
- (insert-text-button " Project-Only"
602
- 'filter 'project
603
- 'follow-link t
604
- 'action 'cider-stacktrace-show-only-project
605
- 'help-echo " Project frames only" )
606
- (insert " " ) ; ; if you put the space after project-only the button
607
- ; ; highlighting spills into the next button
602
+ (dolist (filter special-filters)
603
+ (insert-text-button (car filter)
604
+ 'filter (cadr filter)
605
+ 'follow-link t
606
+ 'action (or (nth 3 filter) 'cider-stacktrace-filter )
607
+ 'help-echo (format " Toggle %s stack frames "
608
+ (car filter)))
609
+ (insert " " ))
610
+ (insert " \n " )
611
+ (insert " Hide: " )
608
612
(dolist (filter filters)
609
613
(insert-text-button (car filter)
610
614
'filter (cadr filter)
@@ -768,8 +772,9 @@ through the `cider-stacktrace-suppressed-errors' variable."
768
772
; ; Stacktrace filters
769
773
(cider-stacktrace-render-filters
770
774
buffer
775
+ `((" Project-Only" project cider-stacktrace-show-only-project) (" All" , nil ))
771
776
`((" Clojure" clj) (" Java" java) (" REPL" repl)
772
- (" Tooling" tooling) (" Duplicates" dup) ( " All " , nil ) ))
777
+ (" Tooling" tooling) (" Duplicates" dup)))
773
778
(insert " \n " )
774
779
; ; Option to suppress internal/middleware errors
775
780
(when error-types
0 commit comments