Message
You can think of xplr as a server. Just like web servers listen to HTTP requests, xplr listens to messages.
You can send these messages to an xplr session in the following ways:
- Via command-line (currently during start-up only, using
--on-load
) - Via key bindings
- Via Lua function calls
- Via shell command using the input pipe
- Via socket (coming soon)
Format
To send messages using the key bindings or Lua function calls, messages are represented in Lua syntax. For example:
"Quit"
{ FocusPath = "/path/to/file" }
{ Call = { command = "bash", args = { "-c", "read -p test" } } }
However, to send messages using the input pipe, they need to be represented using YAML (or JSON) syntax. For example:
Quit
FocusPath: "/path/to/file"
Call: { command: bash, args: ["-c", "read -p test"] }