2024-02-14 16:20:32 +00:00
breadcrumbs: [[Filter Step]]
2015-12-29 15:51:26 +00:00
created: 20140410103123179
2024-02-14 16:20:32 +00:00
modified: 20230410114132501
2015-12-29 15:51:26 +00:00
tags: Filters
title: Filter Operators
type: text/vnd.tiddlywiki
2015-01-24 21:18:44 +00:00
\define .operator-rows(filter)
<$list filter="$filter$"><tr>
2020-06-27 12:13:10 +00:00
<td><$link>{{!!caption}}</$link></td>
2016-01-10 09:13:23 +00:00
<td>{{!!op-purpose}}</td>
<td align="center"><$list filter="[all[current]tag[Common Operators]]">✓</$list></td>
2015-01-24 21:18:44 +00:00
<td align="center"><$list filter="[all[current]tag[Negatable Operators]]">`!`</$list></td>
2022-01-09 14:44:19 +00:00
<td align="center"><$list filter="[all[current]tag[Selection Constructors]!tag[Selection Constructors: Conditional]]">`C`</$list><$list filter="[all[current]tag[Selection Constructors]tag[Selection Constructors: Conditional]]">`C?`</$list></td>
2015-01-24 21:18:44 +00:00
</tr></$list>
\end
\define .group-heading(_)
2022-01-09 14:44:19 +00:00
<tr class="doc-table-subheading"><th colspan="5" align="center">$_$</th></tr>
2015-01-24 21:18:44 +00:00
\end
2024-02-14 16:20:32 +00:00
A <<.def "filter operator">> is a predefined keyword attached to an individual step of a [[filter|Filters]]. It defines the particular action of that step.
2014-09-10 23:06:19 +00:00
2024-02-14 16:20:32 +00:00
''Important:'' In general, each first [[filter step|Filter Step]] of a [[filter run|Filter Run]] not given any input titles receives the output of <$link to="all Operator">[all[tiddlers]]</$link> as its input.
2016-01-10 09:13:23 +00:00
2022-01-09 14:44:19 +00:00
2024-02-14 16:20:32 +00:00
''Table legend:''
|tc-table-no-border tc-first-col-min-width|k
|^ ✓|^... |,Used to mark the most common ones |
|^ `!`|^... |,The column indicates whether an operator allows ''negation'' using the <$link to="Filter Step"><code>!</code> prefix</$link>.<br>For specifics as to each operator's negated output please refer to its documentation |
|^ `C`|^... |,Most steps process the [[selection of titles|Title Selection]] that are supplied as their input, but a few [[construct an entirely new selection|Selection Constructors]] instead, as indicated by the last column.<br>A `C?` indicates it might construct a new selection, depending on usage. For specifics as to each operator's selection creation please refer to its documentation |
The following table lists all core operators:
2015-01-24 21:18:44 +00:00
<table>
2015-01-18 18:39:00 +00:00
<tr>
<th align="left">Operator</th>
<th align="left">Purpose</th>
2016-01-10 09:13:23 +00:00
<th align="center">✓</th>
<th align="center">`!`</th>
2022-01-09 14:44:19 +00:00
<th align="center">`C`</th>
2015-01-18 18:39:00 +00:00
</tr>
2019-02-07 11:19:06 +00:00
<<.operator-rows "[tag[Filter Operators]!tag[Order Operators]!tag[Mathematics Operators]!tag[String Operators]!tag[Tag Operators]!tag[Special Operators]sort[]]">>
2015-01-24 21:18:44 +00:00
<<.group-heading "Order Operators">>
2019-02-07 11:19:06 +00:00
<<.operator-rows "[tag[Filter Operators]tag[Order Operators]!tag[Listops Operators]!tag[Mathematics Operators]!tag[String Operators]!tag[Tag Operators]!tag[Special Operators]sort[]]">>
2015-11-08 08:02:28 +00:00
<<.group-heading "Listops Operators">>
2019-02-07 11:19:06 +00:00
<<.operator-rows "[tag[Filter Operators]tag[Listops Operators]tag[Order Operators]!tag[Mathematics Operators]!tag[String Operators]!tag[Tag Operators]!tag[Special Operators]sort[]]">>
2015-01-24 21:18:44 +00:00
<<.group-heading "String Operators">>
2021-08-30 07:58:26 +00:00
<<.operator-rows "[tag[Filter Operators]!tag[Order Operators]tag[String Operators]!tag[Tag Operators]!tag[Special Operators]sort[]]">>
2019-02-07 11:19:06 +00:00
<<.group-heading "Mathematics Operators">>
2021-08-30 07:58:26 +00:00
<<.operator-rows "[tag[Filter Operators]!tag[Order Operators]tag[Mathematics Operators]!tag[Tag Operators]!tag[Special Operators]sort[]]">>
2015-01-24 21:18:44 +00:00
<<.group-heading "Tag Operators">>
2019-02-07 11:19:06 +00:00
<<.operator-rows "[tag[Filter Operators]!tag[Order Operators]!tag[Mathematics Operators]!tag[String Operators]tag[Tag Operators]!tag[Special Operators]sort[]]">>
2015-01-24 21:18:44 +00:00
<<.group-heading "Special Operators">>
2019-02-07 11:19:06 +00:00
<<.operator-rows "[tag[Filter Operators]!tag[Order Operators]!tag[Mathematics Operators]!tag[String Operators]!tag[Tag Operators]tag[Special Operators]sort[]]">>
2015-01-18 18:39:00 +00:00
</table>
2014-04-10 18:56:51 +00:00
2024-02-14 16:20:32 +00:00
A typical step is written as `[operator[parameter]]`, although not all of the operators need a [[parameter|Filter Parameter]].
2015-01-11 19:09:35 +00:00
2022-01-09 14:44:19 +00:00
For the exact rules, see [[Filter Syntax]].