xplr/docs/en/src/messages.md

1255 lines
25 KiB
Markdown
Raw Normal View History

# Full List of Messages
xplr messages categorized based on their purpose.
## Categories
- [Exploring](#exploring)
- [Screen](#screen)
- [Navigation](#navigation)
- [Virtual Root](#virtual-root)
- [Reading Input](#reading-input)
- [Switching Mode](#switching-mode)
- [Switching Layout](#switching-layout)
- [Executing Commands](#executing-commands)
- [Calling Lua Functions](#calling-lua-functions)
- [Select Operations](#select-operations)
- [Filter Operations](#filter-operations)
- [Sort Operations](#sort-operations)
- [Search Operations](#search-operations)
- [Mouse Operations](#mouse-operations)
- [Fifo Operations](#fifo-operations)
- [Logging](#logging)
- [Debugging](#debugging)
- [Quit Options](#quit-options)
### Exploring
#### ExplorePwd
Explore the present working directory and register the filtered nodes.
This operation is expensive. So, try to avoid using it too often.
Example:
2022-05-16 11:54:32 +00:00
- Lua: `"ExplorePwd"`
- YAML: `ExplorePwd`
#### ExplorePwdAsync
Explore the present working directory and register the filtered nodes
asynchronously. This operation happens asynchronously. That means, the
xplr directory buffers won't be updated immediately. Hence, it needs to
be used with care and probably with special checks in place. To explore
$PWD synchronously, use `ExplorePwd` instead.
Example:
2022-05-16 11:54:32 +00:00
- Lua: `"ExplorePwdAsync"`
- YAML: `ExplorePwdAsync`
#### ExploreParentsAsync
Explore the present working directory along with its parents and
register the filtered nodes. This operation happens asynchronously.
That means, the xplr directory buffers won't be updated immediately.
Hence, it needs to be used with care and probably with special checks
in place. To explore just the `$PWD` synchronously, use `ExplorePwd`
instead.
Example:
2022-05-16 11:54:32 +00:00
- Lua: `"ExploreParentsAsync"`
- YAML: `ExploreParentsAsync`
### Screen
#### ClearScreen
Clear the screen.
Example:
2022-05-20 12:22:58 +00:00
- Lua: `"ClearScreen"`
- YAML: `ClearScreen`
#### Refresh
Refresh the screen.
But it will not re-explore the directory if the working directory is
the same. If there is some change in the working directory and you want
to re-explore it, use the `Explore` message instead.
Also, it will not clear the screen. Use `ClearScreen` for that.
Example:
2022-05-16 11:54:32 +00:00
- Lua: `"Refresh"`
- YAML: `Refresh`
### Navigation
#### FocusNext
Focus next node.
Example:
2022-05-16 11:54:32 +00:00
- Lua: `"FocusNext"`
- YAML: `FocusNext`
#### FocusNextByRelativeIndex
Focus on the `n`th node relative to the current focus where `n` is a
given value.
Type: { FocusNextByRelativeIndex = int }
Example:
2022-05-16 11:54:32 +00:00
- Lua: `{ FocusNextByRelativeIndex = 2 }`
- YAML: `FocusNextByRelativeIndex: 2`
#### FocusNextByRelativeIndexFromInput
Focus on the `n`th node relative to the current focus where `n` is read
from the input buffer.
Example:
2022-05-16 11:54:32 +00:00
- Lua: `"FocusNextByRelativeIndexFromInput"`
- YAML: `FocusNextByRelativeIndexFromInput`
#### FocusPrevious
Focus on the previous item.
Example:
2022-05-16 11:54:32 +00:00
- Lua: `"FocusPrevious"`
- YAML: `FocusPrevious`
#### FocusPreviousByRelativeIndex
Focus on the `-n`th node relative to the current focus where `n` is a
given value.
Type: { FocusPreviousByRelativeIndex = int }
Example:
- Lua: `{ FocusPreviousByRelativeIndex = 2 }`
- YAML: `FocusPreviousByRelativeIndex: 2`
#### FocusPreviousByRelativeIndexFromInput
Focus on the `-n`th node relative to the current focus where `n` is
read from the input buffer.
Example:
2022-05-16 11:54:32 +00:00
- Lua: `"FocusPreviousByRelativeIndexFromInput"`
- YAML: `FocusPreviousByRelativeIndexFromInput`
#### FocusFirst
Focus on the first node.
Example:
2022-05-16 11:54:32 +00:00
- Lua: `"FocusFirst"`
- YAML: `FocusFirst`
#### FocusLast
Focus on the last node.
Example:
2022-04-09 09:15:39 +00:00
2022-05-16 11:54:32 +00:00
- Lua: `"FocusLast"`
- YAML: `FocusLast`
#### FocusPath
Focus on the given path.
Type: { FocusPath = "string" }
Example:
- Lua: `{ FocusPath = "/path/to/file" }`
- YAML: `FocusPath: /path/to/file`
#### FocusPathFromInput
Focus on the path read from input buffer.
Example:
2022-05-16 11:54:32 +00:00
- Lua: `"FocusPathFromInput"`
- YAML: `FocusPathFromInput`
#### FocusByIndex
Focus on the absolute `n`th node where `n` is a given value.
Type: { FocusByIndex = int }
Example:
2022-05-16 11:54:32 +00:00
- Lua: `{ FocusByIndex = 2 }`
- YAML: `FocusByIndex: 2`
#### FocusByIndexFromInput
Focus on the absolute `n`th node where `n` is read from the input buffer.
Example:
2022-05-16 11:54:32 +00:00
- Lua: `"FocusByIndexFromInput"`
- YAML: `FocusByIndexFromInput`
#### FocusByFileName
Focus on the file by name from the present working directory.
Type: { FocusByFileName = "string" }
Example:
2022-05-16 11:54:32 +00:00
- Lua: `{ FocusByFileName = "filename.ext" }`
- YAML: `FocusByFileName: filename.ext`
#### ScrollUp
Scroll up by terminal height.
Example:
- Lua: `"ScrollUp"`
- YAML: `ScrollUp`
#### ScrollDown
Scroll down by terminal height.
Example:
- Lua: `"ScrollDown"`
- YAML: `ScrollDown`
#### ScrollUpHalf
Scroll up by half of terminal height.
Example:
- Lua: `"ScrollUpHalf"`
- YAML: `ScrollUpHalf`
#### ScrollDownHalf
Scroll down by half of terminal height.
Example:
- Lua: `"ScrollDownHalf"`
- YAML: `ScrollDownHalf`
#### ChangeDirectory
Change the present working directory ($PWD)
Type: { ChangeDirectory = "string" }
Example:
2022-05-16 11:54:32 +00:00
- Lua: `{ ChangeDirectory = "/path/to/directory" }`
- YAML: `ChangeDirectory: /path/to/directory`
#### Enter
Enter into the currently focused path if it's a directory.
Example:
2022-05-16 11:54:32 +00:00
- Lua: `"Enter"`
- YAML: `Enter`
#### Back
Go back to the parent directory.
Example:
2022-05-16 11:54:32 +00:00
- Lua: `"Back"`
- YAML: `Back`
#### LastVisitedPath
Go to the last path visited.
Example:
2022-05-16 11:54:32 +00:00
- Lua: `"LastVisitedPath"`
- YAML: `LastVisitedPath`
#### NextVisitedPath
Go to the next path visited.
Example:
2022-05-16 11:54:32 +00:00
- Lua: `"NextVisitedPath"`
- YAML: `NextVisitedPath`
#### FollowSymlink
Follow the symlink under focus to its actual location.
Example:
2022-10-27 17:35:48 +00:00
- Lua: `"FollowSymlink"`
- YAML: `FollowSymlink`
### Virtual Root
2022-10-27 10:44:56 +00:00
#### SetVroot
Sets the virtual root for isolating xplr navigation, similar to
`--vroot`, but temporary (can be reset back to initial value).
2022-10-27 10:44:56 +00:00
If the $PWD is outside the vroot, xplr will automatically enter vroot.
Type: { SetVroot = "string" }
Example:
2022-10-27 17:35:48 +00:00
- Lua: `{ SetVroot = "/tmp" }`
- YAML: `SetVroot: /tmp`
2022-10-27 10:44:56 +00:00
#### UnsetVroot
Unset the virtual root temporarily (can be reset back to the initial
value).
Example:
- Lua: `"UnsetVroot"`
- YAML: `UnsetVroot`
#### ToggleVroot
Toggle virtual root between unset, initial value and $PWD.
Example:
- Lua: `"ToggleVroot"`
- YAML: `ToggleVroot`
2022-10-27 10:44:56 +00:00
#### ResetVroot
Reset the virtual root back to the initial value.
2022-10-27 10:44:56 +00:00
Example:
- Lua: `"ResetVroot"`
- YAML: `ResetVroot`
### Reading Input
#### SetInputPrompt
Set the input prompt temporarily, until the input buffer is reset.
2022-05-20 17:53:39 +00:00
Type: { SetInputPrompt = string }
Example:
- Lua: `{ SetInputPrompt = "→" }`
- YAML: `SetInputPrompt: →`
#### UpdateInputBuffer
Update the input buffer using cursor based operations.
Type: { UpdateInputBuffer = [Input Opertaion](https://xplr.dev/en/input-operation) }
Example:
2022-05-16 11:54:32 +00:00
- Lua: `{ UpdateInputBuffer = "GoToPreviousWord" }`
- YAML: `UpdateInputBuffer: GoToPreviousWord`
#### UpdateInputBufferFromKey
Update the input buffer from the key read from keyboard input.
Example:
2022-05-16 11:54:32 +00:00
- Lua: `"UpdateInputBufferFromKey"`
- YAML: `UpdateInputBufferFromKey`
#### BufferInput
Append/buffer the given string into the input buffer.
Type: { BufferInput = "string" }
Example:
2022-05-16 11:54:32 +00:00
- Lua: `{ BufferInput = "foo" }`
- YAML: `BufferInput: foo`
#### BufferInputFromKey
Append/buffer the characted read from a keyboard input into the
input buffer.
Example:
2022-05-16 11:54:32 +00:00
- Lua: `"BufferInputFromKey"`
- YAML: `BufferInputFromKey`
#### SetInputBuffer
Set/rewrite the input buffer with the given string.
When the input buffer is not-null (even if empty string)
it will show in the UI.
Type: { SetInputBuffer = "string" }
Example:
2022-05-16 11:54:32 +00:00
- Lua: `{ SetInputBuffer = "foo" }`
- YAML: `SetInputBuffer: foo`
#### RemoveInputBufferLastCharacter
Remove input buffer's last character.
Example:
2022-05-16 11:54:32 +00:00
- Lua: `"RemoveInputBufferLastCharacter"`
- YAML: `RemoveInputBufferLastCharacter`
#### RemoveInputBufferLastWord
Remove input buffer's last word.
Example:
2022-05-16 11:54:32 +00:00
- Lua: `"RemoveInputBufferLastWord"`
- YAML: `RemoveInputBufferLastWord`
#### ResetInputBuffer
Reset the input buffer back to null. It will not show in the UI.
Example:
2022-05-16 11:54:32 +00:00
- Lua: `"ResetInputBuffer"`
- YAML: `ResetInputBuffer`
### Switching Mode
#### SwitchMode
Switch input [mode](https://xplr.dev/en/modes).
Type : { SwitchMode = "string" }
Example:
2022-05-16 11:54:32 +00:00
- Lua: `{ SwitchMode = "default" }`
- YAML: SwitchMode: default
> **NOTE:** To be specific about which mode to switch to, use
> `SwitchModeBuiltinKeepingInputBuffer` or
> `SwitchModeCustomKeepingInputBuffer` instead.
#### SwitchModeKeepingInputBuffer
Switch input [mode](https://xplr.dev/en/modes).
It keeps the input buffer.
Type: { SwitchModeKeepingInputBuffer = "string" }
Example:
2022-05-16 11:54:32 +00:00
- Lua: `{ SwitchModeKeepingInputBuffer = "default" }`
- YAML: `SwitchModeKeepingInputBuffer: default`
> **NOTE:** To be specific about which mode to switch to, use
> `SwitchModeBuiltinKeepingInputBuffer` or
> `SwitchModeCustomKeepingInputBuffer` instead.
#### SwitchModeBuiltin
Switch to a [builtin mode](https://xplr.dev/en/modes#builtin).
It clears the input buffer.
Type: { SwitchModeBuiltin = "string" }
Example:
2022-05-16 11:54:32 +00:00
- Lua: `{ SwitchModeBuiltin = "default" }`
- YAML: `SwitchModeBuiltin: default`
#### SwitchModeBuiltinKeepingInputBuffer
Switch to a [builtin mode](https://xplr.dev/en/modes#builtin).
It keeps the input buffer.
Type: { SwitchModeBuiltinKeepingInputBuffer = "string" }
Example:
2022-05-16 11:54:32 +00:00
- Lua: `{ SwitchModeBuiltinKeepingInputBuffer = "default" }`
- YAML: `SwitchModeBuiltinKeepingInputBuffer: default`
#### SwitchModeCustom
Switch to a [custom mode](https://xplr.dev/en/modes#custom).
It clears the input buffer.
Type: { SwitchModeCustom = "string" }
Example:
2022-05-16 11:54:32 +00:00
- Lua: `{ SwitchModeCustom = "my_custom_mode" }`
- YAML: `SwitchModeCustom: my_custom_mode`
#### SwitchModeCustomKeepingInputBuffer
Switch to a [custom mode](https://xplr.dev/en/modes#custom).
It keeps the input buffer.
Type: { SwitchModeCustomKeepingInputBuffer = "string" }
Example:
2022-05-16 11:54:32 +00:00
- Lua: `{ SwitchModeCustomKeepingInputBuffer = "my_custom_mode" }`
- YAML: `SwitchModeCustomKeepingInputBuffer: my_custom_mode`
#### PopMode
Pop the last mode from the history and switch to it.
It clears the input buffer.
Example:
2022-05-16 11:54:32 +00:00
- Lua: `"PopMode"`
- YAML: `PopMode`
#### PopModeKeepingInputBuffer
Pop the last mode from the history and switch to it.
It keeps the input buffer.
Example:
2022-05-16 11:54:32 +00:00
- Lua: `PopModeKeepingInputBuffer`
- YAML: `PopModeKeepingInputBuffer`
### Switching Layout
#### SwitchLayout
Switch [layout](https://xplr.dev/en/layouts).
Type: { SwitchLayout = "string" }
Example:
2022-05-16 11:54:32 +00:00
- Lua: `{ SwitchLayout = "default" }`
- YAML: `SwitchLayout: default`
> **NOTE:** To be specific about which layout to switch to, use `SwitchLayoutBuiltin` or
> `SwitchLayoutCustom` instead.
#### SwitchLayoutBuiltin
Switch to a [builtin layout](https://xplr.dev/en/layouts#builtin).
Type: { SwitchLayoutBuiltin = "string" }
Example:
2022-05-16 11:54:32 +00:00
- Lua: `{ SwitchLayoutBuiltin = "default" }`
- YAML: `SwitchLayoutBuiltin: default`
#### SwitchLayoutCustom
Switch to a [custom layout](https://xplr.dev/en/layouts#custom).
Type: { SwitchLayoutCustom = "string" }
Example:
2022-05-16 11:54:32 +00:00
- Lua: `{ SwitchLayoutCustom = "my_custom_layout" }`
- YAML: `SwitchLayoutCustom: my_custom_layout`
### Executing Commands
#### Call
2022-10-24 13:30:06 +00:00
Like `Call0`, but it uses `\n` as the delimiter in input/output pipes,
hence it cannot handle files with `\n` in the name.
You may want to use `Call0` instead.
#### Call0
Call a shell command with the given arguments.
Note that the arguments will be shell-escaped.
So to read the variables, the `-c` option of the shell
can be used.
2022-10-24 13:30:06 +00:00
You may need to pass `ExplorePwd` depending on the expectation.
2022-10-24 13:30:06 +00:00
Type: { Call0 = { command = "string", args = { "list", "of", "string" } }
Example:
2022-10-24 13:30:06 +00:00
- Lua: `{ Call0 = { command = "bash", args = { "-c", "read -p test" } } }`
- YAML: `Call0: { command: bash, args: ["-c", "read -p test"] }`
#### CallSilently
2022-10-24 13:30:06 +00:00
Like `CallSilently0`, but it uses `\n` as the delimiter in input/output
pipes, hence it cannot handle files with `\n` in the name.
2022-10-24 18:56:53 +00:00
You may want to use `CallSilently0` instead.
2022-10-24 13:30:06 +00:00
#### CallSilently0
Like `Call0` but without the flicker. The stdin, stdout
stderr will be piped to null. So it's non-interactive.
2022-10-24 13:30:06 +00:00
Type: { CallSilently0 = { command = "string", args = {"list", "of", "string"} } }
Example:
2022-10-24 13:30:06 +00:00
- Lua: `{ CallSilently0 = { command = "tput", args = { "bell" } } }`
- YAML: `CallSilently0: { command: tput, args: ["bell"] }`
#### BashExec
2022-10-24 13:30:06 +00:00
Like `BashExec0`, but it uses `\n` as the delimiter in input/output
pipes, hence it cannot handle files with `\n` in the name.
You may want to use `BashExec0` instead.
#### BashExec0
An alias to `Call: {command: bash, args: ["-c", "{string}"], silent: false}`
where `{string}` is the given value.
2022-10-24 13:30:06 +00:00
Type: { BashExec0 = "string" }
Example:
2022-10-24 13:30:06 +00:00
- Lua: `{ BashExec0 = "read -p test" }`
- YAML: `BashExec0: "read -p test"`
#### BashExecSilently
2022-10-24 13:30:06 +00:00
Like `BashExecSilently0`, but it uses `\n` as the delimiter in
input/output pipes, hence it cannot handle files with `\n` in the name.
2022-10-24 18:56:53 +00:00
You may want to use `BashExecSilently0` instead.
2022-10-24 13:30:06 +00:00
#### BashExecSilently0
Like `BashExec0` but without the flicker. The stdin, stdout
stderr will be piped to null. So it's non-interactive.
2022-10-24 18:56:53 +00:00
Type: { BashExecSilently0 = "string" }
Example:
2022-10-24 13:30:06 +00:00
- Lua: `{ BashExecSilently0 = "tput bell" }`
- YAML: `BashExecSilently0: "tput bell"`
### Calling Lua Functions
#### CallLua
Call a Lua function.
A [Lua Context](https://xplr.dev/en/lua-function-calls#lua-context)
object will be passed to the function as argument.
The function can optionally return a list of messages for xplr to
handle after the executing the function.
Type: { CallLua = "string" }
Example:
2022-05-16 11:54:32 +00:00
- Lua: `{ CallLua = "custom.some_custom_funtion" }`
- YAML: `CallLua: custom.some_custom_funtion`
#### CallLuaSilently
Like `CallLua` but without the flicker. The stdin, stdout
stderr will be piped to null. So it's non-interactive.
Type: { CallLuaSilently = "string" }
Example:
2022-05-16 11:54:32 +00:00
- Lua: `{ CallLuaSilently = "custom.some_custom_function" }`
- YAML: `CallLuaSilently: custom.some_custom_function`
#### LuaEval
Execute Lua code without needing to define a function.
If the `string` is a callable, xplr will try to call it with with the
[Lua Context](https://xplr.dev/en/lua-function-calls#lua-context)
argument.
Type: { LuaEval = "string" }
Example:
2022-05-16 11:54:32 +00:00
- Lua: `{ LuaEval = [[return { { LogInfo = io.read() } }]] }`
- Lua: `{ LuaEval = [[function(app) return { { LogInfo = app.pwd } } end]] }`
- YAML: `LuaEval: "return { { LogInfo = io.read() } }"`
- YAML: `LuaEval: "function(app) return { { LogInfo = app.pwd } } end"`
#### LuaEvalSilently
Like `LuaEval` but without the flicker. The stdin, stdout
stderr will be piped to null. So it's non-interactive.
Type: { LuaEvalSilently = "string" }
Example:
2022-05-16 11:54:32 +00:00
- Lua: `{ LuaEvalSilently = [[return { { LogInfo = "foo" } }]] }`
- YAML: `LuaEvalSilently: "return { { LogInfo = 'foo' } }"`
### Select Operations
#### Select
Select the focused node.
Example:
2022-05-16 11:54:32 +00:00
- Lua: `"Select"`
- YAML: `Select`
#### SelectAll
Select all the visible nodes.
Example:
2022-05-16 11:54:32 +00:00
- Lua: `"SelectAll"`
- YAML: `SelectAll`
#### SelectPath
Select the given path.
Type: { SelectPath = "string" }
Example:
2022-05-16 11:54:32 +00:00
- Lua: `{ SelectPath = "/path/to/file" }`
- YAML: `SelectPath: /path/to/file`
#### UnSelect
Unselect the focused node.
Example:
2022-05-16 11:54:32 +00:00
- Lua: `"UnSelect"`
- YAML: `UnSelect`
#### UnSelectAll
Unselect all the visible nodes.
Example:
2022-05-16 11:54:32 +00:00
- Lua: `"UnSelectAll"`
- YAML: `UnSelectAll`
#### UnSelectPath
UnSelect the given path.
Type: { UnSelectPath = "string)" }
Example:
2022-05-16 11:54:32 +00:00
- Lua: `{ UnSelectPath = "/path/to/file" }`
- YAML: `UnSelectPath: /path/to/file`
#### ToggleSelection
Toggle selection on the focused node.
Example:
2022-05-16 11:54:32 +00:00
- Lua: `"ToggleSelection"`
- YAML `ToggleSelection`
#### ToggleSelectAll
Toggle between select all and unselect all.
Example:
2022-05-16 11:54:32 +00:00
- Lua: `"ToggleSelectAll"`
- YAML: `ToggleSelectAll`
#### ToggleSelectionByPath
Toggle selection by file path.
Type: { ToggleSelectionByPath = "string" }
Example:
2022-05-16 11:54:32 +00:00
- Lua: `{ ToggleSelectionByPath = "/path/to/file" }`
- YAML: `ToggleSelectionByPath: /path/to/file`
#### ClearSelection
Clear the selection.
Example:
2022-05-16 11:54:32 +00:00
- Lua: `"ClearSelection"`
- YAML: `ClearSelection`
### Filter Operations
#### AddNodeFilter
Add a [filter](https://xplr.dev/en/filtering#filter) to exclude nodes
while exploring directories.
You need to call `ExplorePwd` or `ExplorePwdAsync` explicitely.
Filters get automatically cleared when changing directories.
Type: { AddNodeFilter = { filter = [Filter](https://xplr.dev/en/filtering#filter), input = "string" }
Example:
2022-05-16 11:54:32 +00:00
- Lua: `{ AddNodeFilter = { filter = "RelativePathDoesStartWith", input = "foo" } }`
- YAML: `AddNodeFilter: { filter: RelativePathDoesStartWith, input: foo }`
#### RemoveNodeFilter
Remove an existing [filter](https://xplr.dev/en/filtering#filter).
You need to call `ExplorePwd` or `ExplorePwdAsync` explicitely.
Type: { RemoveNodeFilter = { filter = [Filter](https://xplr.dev/en/filtering), input = "string" }
Example:
2022-05-16 11:54:32 +00:00
- Lua: `{ RemoveNodeFilter: { filter: "RelativePathDoesStartWith", input: "foo" } }`
- YAML: `RemoveNodeFilter: { filter: RelativePathDoesStartWith, input: foo }`
#### ToggleNodeFilter
Remove a [filter](https://xplr.dev/en/filtering#filter) if it exists,
else, add a it.
You need to call `ExplorePwd` or `ExplorePwdAsync` explicitely.
Type: { ToggleNodeFilter = { filter = [Filter](https://xplr.dev/en/filtering), input = "string" }
Example:
2022-05-16 11:54:32 +00:00
- Lua: `{ ToggleNodeFilter = { filter = "RelativePathDoesStartWith", input = "foo" } }`
- YAML: `ToggleNodeFilter: { filter: RelativePathDoesStartWith, input: foo }`
#### AddNodeFilterFromInput
Add a node [filter](https://xplr.dev/en/filtering#filter) reading the
input from the buffer.
You need to call `ExplorePwd` or `ExplorePwdAsync` explicitely.
Type: { AddNodeFilterFromInput = [Filter](https://xplr.dev/en/filtering) }
Example:
2022-05-16 11:54:32 +00:00
- Lua: `{ AddNodeFilterFromInput = "RelativePathDoesStartWith" }`
- YAML: `AddNodeFilterFromInput: RelativePathDoesStartWith`
#### RemoveNodeFilterFromInput
Remove a node [filter](https://xplr.dev/en/filtering#filter) reading
the input from the buffer.
You need to call `ExplorePwd` or `ExplorePwdAsync` explicitely.
Type: { RemoveNodeFilterFromInput = [Filter](https://xplr.dev/en/filtering) }
Example:
2022-05-16 11:54:32 +00:00
- Lua: `{ RemoveNodeFilterFromInput = "RelativePathDoesStartWith" }`
- YAML: `RemoveNodeFilterFromInput: RelativePathDoesStartWith`
#### RemoveLastNodeFilter
Remove the last node [filter](https://xplr.dev/en/filtering).
You need to call `ExplorePwd` or `ExplorePwdAsync` explicitely.
Example:
2022-05-16 11:54:32 +00:00
- Lua: `"RemoveLastNodeFilter"`
- YAML: `RemoveLastNodeFilter`
#### ResetNodeFilters
Reset the node [filters](https://xplr.dev/en/filtering) back to the
default configuration.
You need to call `ExplorePwd` or `ExplorePwdAsync` explicitely.
Example:
2022-05-16 11:54:32 +00:00
- Lua: `"ResetNodeFilters"`
- YAML: `ResetNodeFilters`
#### ClearNodeFilters
Clear all the node [filters](https://xplr.dev/en/filtering).
You need to call `ExplorePwd` or `ExplorePwdAsync` explicitely.
Example:
2022-05-16 11:54:32 +00:00
- Lua: `"ClearNodeFilters"`
- YAML: `ClearNodeFilters`
### Sort Operations
#### AddNodeSorter
Add a [sorter](https://xplr.dev/en/sorting#sorter) to sort nodes while
exploring directories.
You need to call `ExplorePwd` or `ExplorePwdAsync` explicitely.
Type: { AddNodeSorter = { sorter = [Sorter](https://xplr.dev/en/sorting#sorter), reverse = bool } }
Example:
2022-05-16 11:54:32 +00:00
- Lua: `{ AddNodeSorter = { sorter = "ByRelativePath", reverse = false } }`
- YAML: `AddNodeSorter: { sorter: ByRelativePath, reverse: false }`
#### RemoveNodeSorter
Remove an existing [sorter](https://xplr.dev/en/sorting#sorter).
You need to call `ExplorePwd` or `ExplorePwdAsync` explicitely.
Type: { RemoveNodeSorter = [Sorter](https://xplr.dev/en/sorting#sorter) }
Example:
2022-05-16 11:54:32 +00:00
- Lua: `{ RemoveNodeSorter = "ByRelativePath" }`
- YAML: `RemoveNodeSorter: ByRelativePath`
#### ReverseNodeSorter
Reverse a node [sorter](https://xplr.dev/en/sorting#sorter).
You need to call `ExplorePwd` or `ExplorePwdAsync` explicitely.
Type: { ReverseNodeSorter = [Sorter](https://xplr.dev/en/sorting#sorter) }
Example:
2022-05-16 11:54:32 +00:00
- Lua: `{ ReverseNodeSorter = "ByRelativePath" }`
- YAML: `ReverseNodeSorter: ByRelativePath`
#### ToggleNodeSorter
Remove a [sorter](https://xplr.dev/en/sorting#sorter) if it exists,
else, add a it.
You need to call `ExplorePwd` or `ExplorePwdAsync` explicitely.
Type: { ToggleNodeSorter = { sorter = [Sorter](https://xplr.dev/en/sorting#sorter), reverse = bool } }
Example:
2022-05-16 11:54:32 +00:00
- Lua: `{ ToggleSorterSorter: { sorter = "ByRelativePath", reverse = false } }`
- YAML: `ToggleSorterSorter: {sorter: ByRelativePath, reverse: false }`
#### ReverseNodeSorters
Reverse the node [sorters](https://xplr.dev/en/sorting#sorter).
You need to call `ExplorePwd` or `ExplorePwdAsync` explicitely.
Example:
2022-05-16 11:54:32 +00:00
- Lua: `"ReverseNodeSorters"`
- YAML: `ReverseNodeSorters`
#### RemoveLastNodeSorter
Remove the last node [sorter](https://xplr.dev/en/sorting#sorter).
You need to call `ExplorePwd` or `ExplorePwdAsync` explicitely.
Example:
2022-05-16 11:54:32 +00:00
- Lua: `"RemoveLastNodeSorter"`
- YAML: `RemoveLastNodeSorter`
#### ResetNodeSorters
Reset the node [sorters](https://xplr.dev/en/sorting#sorter) back to
the default configuration.
You need to call `ExplorePwd` or `ExplorePwdAsync` explicitely.
Example:
2022-05-16 11:54:32 +00:00
- Lua: `"ResetNodeSorters"`
- YAML: `ResetNodeSorters`
#### ClearNodeSorters
Clear all the node [sorters](https://xplr.dev/en/sorting#sorter).
You need to call `ExplorePwd` or `ExplorePwdAsync` explicitely.
Example:
2022-05-16 11:54:32 +00:00
- Lua: `"ClearNodeSorters"`
- YAML: `ClearNodeSorters`
### Search Operations
#### SearchFuzzy
Search files using fuzzy match algorithm.
It keeps the filters, but overrides the sorters.
You need to call `ExplorePwd` or `ExplorePwdAsync` explicitely.
It gets reset automatically when changing directory.
Type: { SearchFuzzy = "string" }
Example:
- Lua: `{ SearchFuzzy = "pattern" }`
- YAML: `SearchFuzzy: pattern`
#### SearchFuzzyFromInput
Calls `SearchFuzzy` with the input taken from the input buffer.
You need to call `ExplorePwd` or `ExplorePwdAsync` explicitely.
Example:
- Lua: `"SearchFuzzyFromInput"`
- YAML: `SearchFuzzyFromInput`
#### AcceptSearch
Accepts the search by keeping the latest focus while in search mode.
Automatically calls `ExplorePwd`.
Example:
- Lua: `"AcceptSearch"`
- YAML: `AcceptSearch`
#### CancelSearch
Cancels the search by discarding the latest focus and recovering
the focus before search.
Automatically calls `ExplorePwd`.
Example:
- Lua: `"CancelSearch"`
- YAML: `CancelSearch`
### Mouse Operations
#### EnableMouse
Enable mouse
Example:
2022-05-16 11:54:32 +00:00
- Lua: `"EnableMouse"`
- YAML: `EnableMouse`
#### DisableMouse
Disable mouse
Example:
2022-05-16 11:54:32 +00:00
- Lua: `"DisableMouse"`
- YAML: `DisableMouse`
#### ToggleMouse
Toggle mouse
Example:
2022-05-16 11:54:32 +00:00
- Lua: `"ToggleMouse"`
- YAML: `ToggleMouse`
### Fifo Operations
#### StartFifo
Start piping the focused path to the given fifo path
Type: { StartFifo = "string" }
Example:
2022-05-16 11:54:32 +00:00
- Lua: `{ StartFifo = "/tmp/xplr.fifo }`
- YAML: `StartFifo: /tmp/xplr.fifo`
#### StopFifo
Close the active fifo and stop piping.
Example:
2022-05-16 11:54:32 +00:00
- Lua: `"StopFifo"`
- YAML: `StopFifo`
#### ToggleFifo
Toggle betwen {Start|Stop}Fifo
Type: { ToggleFifo = "string" }
Example:
2022-05-16 11:54:32 +00:00
- Lua: `{ ToggleFifo = "/path/to/fifo" }`
- YAML: `ToggleFifo: /path/to/fifo`
### Logging
#### LogInfo
Log information message.
Type: { LogInfo = "string" }
Example:
2022-05-16 11:54:32 +00:00
- Lua: `{ LogInfo = "launching satellite" }`
- YAML: `LogInfo: launching satellite`
#### LogSuccess
Log a success message.
Type: { LogSuccess = "String" }
Example:
2022-05-16 11:54:32 +00:00
- Lua: `{ LogSuccess = "satellite reached destination" }`
- YAML: `LogSuccess: satellite reached destination`
#### LogWarning
Log an warning message.
Type: { LogWarning = "string" }
Example:
2022-05-16 11:54:32 +00:00
- Lua: `{ LogWarning = "satellite is heating" }`
- YAML: `LogWarning: satellite is heating`
#### LogError
Log an error message.
Type: { LogError = "string" }
Example:
2022-05-16 11:54:32 +00:00
- Lua: `{ LogError = "satellite crashed" }`
- YAML: `LogError: satellite crashed`
### Debugging
#### Debug
Write the application state to a file, without quitting. Also helpful
for debugging.
Type: { Debug = "string" }
Example:
2022-05-16 11:54:32 +00:00
- Lua: `{ Debug = "/path/to/file" }`
- YAML: `Debug: /path/to/file`
### Quit Options
#### Quit
Example:
2022-05-16 11:54:32 +00:00
- Lua: `"Quit"`
- YAML: `Quit`
Quit with returncode zero (success).
#### PrintPwdAndQuit
Print $PWD and quit.
Example:
2022-05-16 11:54:32 +00:00
- Lua: `"PrintPwdAndQuit"`
- YAML: `PrintPwdAndQuit`
#### PrintFocusPathAndQuit
Print the path under focus and quit. It can be empty string if there's
nothing to focus.
Example:
2022-05-16 11:54:32 +00:00
- Lua: `"PrintFocusPathAndQuit"`
- YAML: `PrintFocusPathAndQuit`
#### PrintSelectionAndQuit
Print the selected paths and quit. It can be empty is no path is
selected.
Example:
2022-05-16 11:54:32 +00:00
- Lua: `"PrintSelectionAndQuit"`
- YAML: `PrintSelectionAndQuit`
#### PrintResultAndQuit
Print the selected paths if it's not empty, else, print the focused
node's path.
Example:
2022-05-16 11:54:32 +00:00
- Lua: `"PrintResultAndQuit"`
- YAML: `PrintResultAndQuit`
#### PrintAppStateAndQuit
Print the state of application in YAML format. Helpful for debugging or
generating the default configuration file.
Example:
2022-05-16 11:54:32 +00:00
- Lua: `"PrintAppStateAndQuit"`
- YAML: `PrintAppStateAndQuit`
#### Terminate
Terminate the application with a non-zero return code.
Example:
2022-05-16 11:54:32 +00:00
- Lua: `"Terminate"`
- YAML: `Terminate`
## Also See:
- [Message](message.md)