summaryrefslogtreecommitdiff
path: root/doc
diff options
context:
space:
mode:
authordan sutton <danielsutton01@gmail.com>2018-06-01 10:47:09 -0500
committerBozhidar Batsov <bozhidar.batsov@gmail.com>2018-06-04 09:53:22 +0900
commit4ff5d3ae39c4d5bc821cd851bed94d3544eb99c6 (patch)
treec53952ef5991d8bdfa568e059d363f1dec4f79f6 /doc
parent89cb4a4130c662945956761e525ab150f5c9f29b (diff)
[Fix #2294] simplify stacktrace filter mechanism
previously there were two separate lists of positive and negative filters and complicated logic spread throughout of how these interacted. Now there is a single list that you can toggle flags on or off and their interaction is dictated inside of a single function `cider-stacktrace-apply-filters`. Since their interaction is here we no longer need to remember previous flags as they are just toggled on and off. Positive filters are 'all or 'project. These dictate that all frames should be shown or only any frame from a project namespace should be shown, despite other filters. Also, these two cannot exist at the same time, so we need to check which is most "recent". Since if 'project is selected, it hides all but project frames and if 'all is selected it must show all. We do what was most recently selected in this case then. So the frame filtering is quite simply a list of tags you want to filter by: '(java clj tooling repl dup project all). These are toggled on and off as desired.
Diffstat (limited to 'doc')
-rw-r--r--doc/navigating_stacktraces.md11
1 files changed, 8 insertions, 3 deletions
diff --git a/doc/navigating_stacktraces.md b/doc/navigating_stacktraces.md
index 9e71f3fa..924ead1e 100644
--- a/doc/navigating_stacktraces.md
+++ b/doc/navigating_stacktraces.md
@@ -64,12 +64,17 @@ There are two more selective strategies for the error buffer:
(setq cider-auto-select-error-buffer nil)
```
-* Error buffer stacktraces may be filtered by default. Valid filter types
-include `java`, `clj`, `repl`, `tooling`, and `dup`. Setting this to `nil` will
-show all stacktrace frames.
+* Error buffer stacktraces may be filtered by default. Valid filter
+types include `java`, `clj`, `repl`, `tooling`, and `dup`. There are
+also "positive" filtering types. The value `project` will cause only
+project frames to be shown or `all` will force all stackframes to be
+shown. Note that `project` and `all` are mutually exclusive. Whichever
+one is first will determine the behavior if they are both present.
```el
(setq cider-stacktrace-default-filters '(tooling dup))
+;; or
+(setq cider-stacktrace-default-filters '(project))
```
* Error messages may be wrapped for readability. If this value is nil, messages