Filtering

xplr supports filtering paths by different properties. The filtering mechanism works like a pipeline, which in visible in the Sort & filter panel.

Example:

rel!^. › [i]abs=~abc › [i]rel!~xyz

This line means that the nodes visible on the table will first be filtered by the condition: relative path does not start with ., then by the condition: absolute path contains abc (case insensitive), and finally by the condition: relative path does not contain xyz (case insensitive).

Each part of this pipeline is called Node Filter Applicable.

Node Filter Applicable

It contains the following information:

filter

A filter is a sum type that can be one of the following:

  • "RelativePathIs"
  • "RelativePathIsNot"
  • "IRelativePathIs"
  • "IRelativePathIsNot"
  • "RelativePathDoesStartWith"
  • "RelativePathDoesNotStartWith"
  • "IRelativePathDoesStartWith"
  • "IRelativePathDoesNotStartWith"
  • "RelativePathDoesContain"
  • "RelativePathDoesNotContain"
  • "IRelativePathDoesContain"
  • "IRelativePathDoesNotContain"
  • "RelativePathDoesEndWith"
  • "RelativePathDoesNotEndWith"
  • "IRelativePathDoesEndWith"
  • "IRelativePathDoesNotEndWith"
  • "RelativePathDoesMatchRegex"
  • "RelativePathDoesNotMatchRegex"
  • "IRelativePathDoesMatchRegex"
  • "IRelativePathDoesNotMatchRegex"
  • "AbsolutePathIs"
  • "AbsolutePathIsNot"
  • "IAbsolutePathIs"
  • "IAbsolutePathIsNot"
  • "AbsolutePathDoesStartWith"
  • "AbsolutePathDoesNotStartWith"
  • "IAbsolutePathDoesStartWith"
  • "IAbsolutePathDoesNotStartWith"
  • "AbsolutePathDoesContain"
  • "AbsolutePathDoesNotContain"
  • "IAbsolutePathDoesContain"
  • "IAbsolutePathDoesNotContain"
  • "AbsolutePathDoesEndWith"
  • "AbsolutePathDoesNotEndWith"
  • "IAbsolutePathDoesEndWith"
  • "IAbsolutePathDoesNotEndWith"
  • "AbsolutePathDoesMatchRegex"
  • "AbsolutePathDoesNotMatchRegex"
  • "IAbsolutePathDoesMatchRegex"
  • "IAbsolutePathDoesNotMatchRegex"

input

Type: string

The input for the condition.

Example:

ToggleNodeFilter = {
  filter = "RelativePathDoesNotStartWith",
  input = "."
}

Here, ToggleNodeFilter is a message that adds or removes (toggles) the filter applied.