Commit Graph

25 Commits (27bc1217b3aa64df7607295d7f92a198ea070d20)

Author SHA1 Message Date
Arijit Basu 27bc1217b3
Document jf syntax 1 year ago
Arijit Basu 3cfed5aa6f
Improve docs 2 years ago
Arijit Basu 3d81a49cec Auto generate messages docs
- Huge refactor.
- Run `python docs/script/generate.py` to generate `docs/en/src/messages.md`.
2 years ago
Arijit Basu ca211bb073 Auto generate some API docs from init.lua
This is the beginning of the xplr documentation revolution.

Closes: https://github.com/sayanarijit/xplr/issues/445
2 years ago
Arijit Basu 26a363c7b1
Update message.md 2 years ago
Arijit Basu 7b9e4deff5 Support passing argument to `LuaEval` and `LuaEvalSilently`
If the argument of `LuaEval` evaluates to a function, xplr will try to
pass Lua Context to it.

Example:

```lua
{ LuaEval = [[function(app) return { { LogInfo = app.pwd } } end]] }
```

Closes: https://github.com/sayanarijit/xplr/issues/394
3 years ago
Arijit Basu 8f5e5491f2 Optimize change directory performance
This PR breaks the custom layout renderer API by deprecating the
following heavyweight fields in the Lua Context passed to the renderer
functions.

The following fields are being deprecated:

- app.directory_buffer
- app.history
- app.last_modes

However, there's no change in the Lua Context passed to the functions
called via `CallLua*` messages.

Closes: https://github.com/sayanarijit/xplr/issues/418
3 years ago
Arijit Basu 6a3b26cc18 Add support for LuaEval(Silently) messages
This PR adds support for quickly executing arbitrary lua functions,
without needing to define a function.

Example:

```lua
xplr.config.modes.builtin.default.key_bindings.on_key["#"] = {
  help = "test",
  messages = {
    { LuaEvalSilently = [[return { { LogInfo = "foo" } }]] },
    { LuaEval = [[return { { LogInfo = io.read() } }]] },
  },
}
```

Partly closes: https://github.com/sayanarijit/xplr/issues/394
3 years ago
Arijit Basu 05c2f7aa68 Support more control over input buffer
This PR adds a new message: `UpdateInputBuffer: InputOperation`

This makes it possible to perform cursor based input operations without
needing input from the keyboard.
3 years ago
Arijit Basu b45a553a0c Add more keyboard input handlers
This PR adds 3 more keyboard input handlers:

- on_alphanumeric
- on_character
- on_navigation

Also updates documentation.
3 years ago
Arijit Basu dd73220ec8 Support switching modes keeping input buffer.
Closes: https://github.com/sayanarijit/xplr/issues/303
3 years ago
Arijit Basu a7f7fa0012
Fix link 3 years ago
Arijit Basu f1c417063d
Improve documentation
Remove some TODO, add more links.
3 years ago
Arijit Basu a5607a8186
Improve doc
Add related links to "Writing Plugins".
3 years ago
Arijit Basu 5626335e0e
More docs 3 years ago
Arijit Basu 9070cd9e17 Add more docs 3 years ago
Arijit Basu 1e13fdacda Use footer links
Tool used: https://github.com/sayanarijit/md-footer
3 years ago
Arijit Basu e37752d41e
Document keys and fix links 3 years ago
Arijit Basu bc140c165b
More doc fixes 3 years ago
Arijit Basu 6056dbc0df
Fix typo 3 years ago
Arijit Basu f42285f459
Fix doc formatting 3 years ago
Arijit Basu 659d2db075
Document all the messages for human 3 years ago
Arijit Basu cdc1e6825b
Update message.md 3 years ago
Arijit Basu cb38ca048d Typos and documentation fixes 3 years ago
Arijit Basu 3e646b063b Publish xplr book with intensive documentation
Closes: https://github.com/sayanarijit/xplr/issues/263
3 years ago