You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Implement conjunction and negation over glob terms (#3926)
This change allows us to write the following filter:
```
kore|booster>!(kore-term|detail).
```
i.e. log everything from kore and booster except for the innermost
`kore-term` or `detail` contexts, which contain the pretty printed terms
and extra details about e.g. rule locations which may be too noisy. This
was previously not possible because we couldn't apply `!` over a
bracketed expression. I've added conjunction `&` for good measure, so we
could also write the above filter as `kore|booster>!kore-term&!detail.`
Copy file name to clipboardExpand all lines: docs/logging.md
+7-1Lines changed: 7 additions & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -142,15 +142,21 @@ To turn on context logging, use the `--log-context` flag to select which of the
142
142
*`*foo*` - match context with the infix `foo`
143
143
*`!foo*` - don't match `foo`
144
144
*`foo|bar` - match `foo` or `bar` context, e.g. `kore|booster`
145
+
*`foo&bar` - match `foo` and `bar` context, most likely used with negation e.g. `!kore&!proxy`
145
146
*`foo,bar` - match a context `foo` with an immediately nested context `bar`
146
147
*`foo>bar` - match a context `foo` with a child context `bar`
147
148
*`foo>bar.` - match a context `foo` with a child context `bar` which is the last context, e.g. the context `[foo][baz][bar]` would match but `[foo][bar][baz]` does not.
148
149
150
+
Other allowed expressions:
151
+
152
+
*`(foo|bar)&!baz`
153
+
*`!(foo|bar)`
154
+
149
155
150
156
Here are some common patterns we may want to use:
151
157
152
158
*`kore|booster` - log everything from kore and booster
153
-
*`kore|booster>!kore-term.` - log everything from kore and booster except for the innermost `kore-term` contexts, which contain the pretty printed terms
159
+
*`kore|booster>!(kore-term|detail).` - log everything from kore and booster except for the innermost `kore-term`or `detail`contexts, which contain the pretty printed terms and extra details about e.g. rule locations which may be too noisy.
154
160
*`kore|booster>simplification*` - log every simplification rule attempt from kore and booster
155
161
*`kore|booster>simplification*|equation*` - log every simplification and function application attempt from kore and booster
156
162
*`ceil>partial-symbols.` - log a minimal ceil analysis showing all the rules which contain partial symbols on the RHS and aren't marked as preserving definedness
0 commit comments