This page is part of a static HTML representation of the TiddlyWiki at https://tiddlywiki.com/

Interchangeable Filter Run Prefixes

27th March 2023 at 1:06pm

Interchangeable Filter Run Prefixes

In technical / logical terms:

RunEquivalent named prefixInterpretationOutput
[run]:or[run]de-duplicated union of sets... OR run
+[run]:and[run]accumulation of filter steps... AND run
-[run]:except[run]difference of sets... AND NOT run
~[run]:else[run]else... ELSE run
=[run]:all[run]union of sets without de-duplication... OR run

The input of a run is normally a list of all the non-shadow tiddler titles in the wiki (in no particular order).
But the + prefix can change this:

PrefixInput
-, ~, =, :intersection or none[all[]] tiddler titles, unless otherwise determined by the first filter operator
+, :filter, :map, :reduce,:sortthe filter output of all previous runs so far

Precisely because of varying inputs, be aware that both prefixes - and + do not behave inverse to one another!

For example, in both of the following, $:/baz will only be removed if it actually exists:

To understand why, consider the input for both final runs with their - prefix.

In order to remove $:/baz in any case, existing or not, simply use the + prefix with negated filter operators:

Difference between + and intersection

For the difference between + and :intersection, see Intersection Filter Run Prefix (Examples).

For Developers

To create a new filter run prefix, create a Javascript module with a module-type of filterrunprefix.