Arijit Basu
14b14bba42
Let's get a hew home - xplr.dev
...
Thanks to your continued support we're getting a new homepage https://xplr.dev
3 years ago
Arijit Basu
696549e2e5
Remove `config` from CallLuaArg
...
The `Config` object is globally available as `xplr.config`, and thus
it's redundant. Config is read only once, when xplr loads.
Closes https://github.com/sayanarijit/xplr/issues/321
3 years ago
Arijit Basu
69d3b3af46
Add focus selection UI
...
Closes: https://github.com/sayanarijit/xplr/issues/322
3 years ago
Arijit Basu
3f668c2d04
Improve runner API
...
Some API improvements on top of #324
3 years ago
Tom van Dijk
671d1b11fd
Refactored parts of `runner::Runner` to take a Cli struct, instead of putting everything manually in `Runner`.
3 years ago
Arijit Basu
1756332e5b
Fallback to tempdir if runtime is inaccessible
...
Fixes: https://github.com/sayanarijit/xplr/issues/319
3 years ago
Arijit Basu
1b1032d0bd
Fix missing config error
...
Do not report error when config file is missing and it's not specified
via CLI args.
3 years ago
Arijit Basu
abc7011f56
Test upgrade guild is up to date.
...
Never miss updating the upgrade guide again
3 years ago
Arijit Basu
7cc8c621ef
Update version
3 years ago
Arijit Basu
61657a70c7
Add support for loading extra config files
...
Use `-C` / `--extra-config` to load Lua files to overwrite the default
or user defined config.
This helps with integration, where integrating xplr with another tool
requires xplr to overwrite some config, without requiring the users to
install an xplr plugin or update the xplr config.
Example:
```bash
xplr -C one.lua two.lua
# Or
xplr -C one.lua -C two.lua
```
> **WARNING:**
>
> Extra config doesn't require specifying the `version`, hence, it's the
> integration author or the user's responsibility to assert
> compatibility using the globally exposed `version` in the extra config
> files, similar to xplr plugins.
Ref: https://github.com/sayanarijit/xplr/issues/316
3 years ago
Arijit Basu
7b2b29b27d
Cleanup - Format Lua code
3 years ago
Arijit Basu
af5a99328f
Update version
3 years ago
Arijit Basu
35c18a25dc
Remove per directory buffer
...
Closes: https://github.com/sayanarijit/xplr/issues/289
3 years ago
Arijit Basu
7d0605479e
Allow dynamic linking to load Lua modules using C
...
Also upgrade packages.
Closes: https://github.com/sayanarijit/xplr/issues/309
3 years ago
Arijit Basu
865d6930db
Use unsafe lua to allow c modules
...
Closes: https://github.com/sayanarijit/xplr/issues/309
3 years ago
Arijit Basu
f1e75caf89
Remove termion dependency
...
Termion is only used to get TTY which is simple enough to implement.
3 years ago
Arijit Basu
9070cd9e17
Add more docs
3 years ago
Arijit Basu
6162744bef
Minor improvements
...
Closes: https://github.com/sayanarijit/xplr/issues/305
3 years ago
Arijit Basu
f5aceb1e66
Make the number of visible logs dynamic
...
It helps to see all the logs when switching to a bigger InputAndLogs
layout.
3 years ago
Arijit Basu
db9c926b0c
Update version
3 years ago
Arijit Basu
b1ce57d68b
Recursively clean session path
...
Fixes: https://github.com/sayanarijit/xplr/issues/293
3 years ago
Arijit Basu
6babfeb3d6
Minor improvements
...
Fixes: https://github.com/sayanarijit/xplr/issues/284
Closes: https://github.com/sayanarijit/xplr/issues/286
Partially fixes: https://github.com/sayanarijit/xplr/issues/285
3 years ago
Arijit Basu
4307ba657a
Fix ToggleSelectionByPath
...
Fixes: https://github.com/sayanarijit/xplr/issues/295
3 years ago
Arijit Basu
d29f6aed6d
Fix StartFifo and ToggleFifo
...
Also add `xplr.config.general.start_fifo`.
Closes: https://github.com/sayanarijit/xplr/issues/280
3 years ago
Arijit Basu
b61bf9dcf2
Increase poll timeout
...
Ref: https://github.com/sayanarijit/xplr/issues/10
3 years ago
Arijit Basu
ed65d85568
Remove auto refresh service
...
Ref: https://github.com/sayanarijit/xplr/issues/10
3 years ago
Arijit Basu
5c6fd1ef63
Update version
3 years ago
Arijit Basu
329821ca1b
Improve FocusNext and FocusPrevious behavior
...
Closes: https://github.com/sayanarijit/xplr/issues/253
3 years ago
Arijit Basu
4d8f1ef2ef
Fix handling of relative paths
...
Closes: https://github.com/sayanarijit/xplr/issues/255
3 years ago
Arijit Basu
f6d1be61d5
Add quit mode and key bindings
...
`:q<enter>` -> Just quit.
`:qp` -> quit printing pwd.
`:qf` -> quit printing focus.
`:qs` -> quit printing selection.
`:qr` -> quit printing result.
Ref: https://github.com/sayanarijit/xplr/issues/257
3 years ago
Arijit Basu
6b03598b5d
Add more quit options
...
Adds the following messages.
- PrintPwdAndQuit
- PrintFocusPathAndQuit
- PrintSelectionAndQuit
Closed: https://github.com/sayanarijit/xplr/issues/257
3 years ago
Arijit Basu
6a70b568bf
Fix FocusPath issue
...
Fixes: https://github.com/sayanarijit/xplr/issues/249
3 years ago
Arijit Basu
f1ffc551fc
Minor addition
3 years ago
Arijit Basu
844480204c
Support specifying read-only mode via CLI argument
...
Closes: https://github.com/sayanarijit/xplr/issues/22
3 years ago
Arijit Basu
f12e1e5290
Fix config path on macOS
...
Also, add `-c` / `--config` CLI option to specify custom config file.
Priority is:
`-c <PATH>` > `~/.config/xplr/init.lua` > `/etc/xplr/init.lua`.
Fixes: https://github.com/sayanarijit/xplr/issues/230
3 years ago
Arijit Basu
1513c325d6
Add option to disable recover mode
...
Use `config.general.disable_recover_mode = true` to disable the recover
mode.
Closes: https://github.com/sayanarijit/xplr/issues/232
3 years ago
Arijit Basu
a2f42ac6fc
Add support for FIFO based previewer
...
Adds basic support for nnn-like FIFO based previewer.
The FIFO can be manager with the following messages:
- StartFifo: /path/to/fifo
- StopFifo
- ToggleFifo: /path/to/fifo
A basic nnn plugin wrapper example:
```lua
-- Usage Example:
--
-- require("nnn_preview_wrapper").setup{
-- plugin_path = os.getenv("HOME") .. "/.config/nnn/plugins/preview-tabbed",
-- fifo_path = "/tmp/xplr.fifo",
-- mode = "action",
-- key = "p",
-- }
--
-- Press `:p` to toggle preview mode.
local function setup(o)
if o.fifo_path == nil then
o.fifo_path = os.getenv("NNN_FIFO")
end
if o.mode == nil then
o.mode = "action"
end
if o.key == nil then
o.key = "p"
end
local enabled = false
local message = nil
os.execute('[ ! -p "' .. o.fifo_path ..'" ] && mkfifo "' .. o.fifo_path .. '"')
xplr.fn.custom.preview_toggle = function(app)
if enabled then
enabled = false
message = "StopFifo"
else
os.execute('NNN_FIFO="' .. o.fifo_path .. '" "'.. o.plugin_path .. '" & ')
enabled = true
message = { StartFifo = o.fifo_path }
end
return { message }
end
xplr.config.modes.builtin[o.mode].key_bindings.on_key[o.key] = {
help = "search with preview",
messages = {
"PopMode",
{ CallLuaSilently = "custom.preview_toggle" },
},
}
end
return { setup = setup }
```
Press `:p` to toggle preview mode.
Closes: https://github.com/sayanarijit/xplr/issues/205
3 years ago
Arijit Basu
2962a8d52d
Further improve the API.
...
This improves the compatibility and adds the ability to introduce
non-breaking changes by using a builder pattern.
Example:
```rust
fn main() {
match xplr::runner(None).and_then(|a| a.run()) {
Ok(Some(out)) => print!("{}", out),
Ok(None) => {}
Err(err) => {
if !err.to_string().is_empty() {
eprintln!("error: {}", err);
};
std::process::exit(1);
}
}
}
```
3 years ago
Arijit Basu
fabcc8e865
Implement CLI arguments
...
Going with custom CLI parsing for minimalism and flexibility.
Closes: https://github.com/sayanarijit/xplr/issues/228
3 years ago
Arijit Basu
a1a1dee4af
Remove --locked
...
Many crates are outdated. One is even yanked. IMO failing build is
better than running with insecure/bad dependencies.
Ref: https://github.com/sayanarijit/xplr/issues/212#issuecomment-855175144
3 years ago
Arijit Basu
9a22c8b423
Fix pgp publishing attempt 4
3 years ago
Arijit Basu
7e35ff42fc
Fix pgp publishing attempt 3
3 years ago
Arijit Basu
6991db8c33
Fix gpg publishing attempt 2
3 years ago
Arijit Basu
c5e97d5bae
Sign releases with pgp
...
Closes: https://github.com/sayanarijit/xplr/issues/131
3 years ago
Arijit Basu
902f20aa83
Fix focus jumping
...
Fixes: https://github.com/sayanarijit/xplr/issues/211
3 years ago
Arijit Basu
36ab821d2c
Upgrade dependencies
...
Closes: https://github.com/sayanarijit/xplr/issues/187
3 years ago
Arijit Basu
7496f5bf8f
Disable mouse by default and bind `:m` to toggle
...
- Make mouse disabled by default.
- Add key binding `:m` to toggle mouse.
Closes: https://github.com/sayanarijit/xplr/issues/206
3 years ago
Arijit Basu
7de0811eaf
No need to "Refresh" explicitly
...
Closes: https://github.com/sayanarijit/xplr/issues/207
3 years ago
Arijit Basu
72a86f8e0e
Polish xplr library API
...
Minor improvements to the xplr library API.
Closes: https://github.com/sayanarijit/xplr/issues/213
3 years ago
Arijit Basu
6412856d73
Improve docs
3 years ago