This version is out of date, covering development from v9.5.0 to v9.7.3. It is maintained here only for inbound reference links from elsewhere. It is no longer actively updated.

Jump to the current version of aTbRef

Tinderbox v9 Icon

Querying for aliases - find()

The find() operator can be used to run a query, and produces a list of Paths ($Path data). Being a list it is thus not de-duped like an agent's results.

It is important to note this method does not use an agent query but instead its output must be passed to a list attribute or formatted into a string. Thus matches cannot be seen in a Map or Outline view as with an agent. The most likely form of use is thus as a Rule in a note (though an agent Rule will work just as well).

Thus for note 'Test', this will return a list of the paths to each alias of Test:

find($IsAlias & $Name=="Test") 

Want the aliases of all notes whose name contains the string "Test"?

find($IsAlias & $Name.contains("Test")) 

The above will match names like "Test", "My Test" as well a "Tester" but not "Intestate". By using .icontains() for case insensitive matching, "intestate" would be found.

find($IsAlias & $Name.icontains("Test")) 

Want to exclude aliases that have 'Exam' in their path?

find(!$Path.contains("Exam") & $IsAlias & $Name.contains("Test")) 

Want the original find to exclude aliases that are agents' contents?

find($IsAlias & $Name.contains("Test") & !$AgentQuery(parent)) 

Want to display the resulting list as line-by-line entries in $Text?

$Text = find($IsAlias & $Name.contains("Test")).format("\n")