Arijit Basu
91e3990df1
Rename messages
2 years ago
Arijit Basu
7b8f38df5b
Update is_readonly
2 years ago
Jeremy Cantrell
2b5755aa8a
An attempt at safer message passing.
2 years ago
Arijit Basu
895d55ca23
Minor improvement
2 years ago
Arijit Basu
1d20039fae
Improve log rendering
2 years ago
Arijit Basu
c93202b649
Minor improvements
2 years ago
Arijit Basu
89b3731b56
Fix serialization error
2 years ago
Arijit Basu
bd478ff64b
Update serde_yaml to 0.9
2 years ago
Arijit Basu
57483bef41
Use fuzzy search instead of regex search
...
Ref: https://github.com/sayanarijit/xplr/issues/496
2 years ago
Arijit Basu
93bd53bbcb
Add quick scrolling
...
Not ideal, but better than nothing.
Closes: https://github.com/sayanarijit/xplr/issues/509
2 years ago
Arijit Basu
58c572d77a
Fix directory explore scheduling
...
Fixes https://github.com/sayanarijit/xplr/issues/503
2 years ago
Arijit Basu
f2713d9549
Fix support for readline keys
2 years ago
Arijit Basu
d579832c69
Update version
2 years ago
Arijit Basu
4e9c056a10
Custom input prompts for different modes without SetInputPrompt
...
Closes: https://github.com/sayanarijit/xplr/issues/502
2 years ago
Arijit Basu
b4ba56aa72
Fix regex deserialization
...
Fixes https://github.com/sayanarijit/xplr/issues/503
2 years ago
Arijit Basu
096e520a2b
Fix clippy err
2 years ago
Arijit Basu
f10fad958d
Upgrade deps
2 years ago
Arijit Basu
9f9a6f9d73
Parse file UID and GID
...
Closes https://github.com/sayanarijit/xplr/pull/494
2 years ago
Arijit Basu
d8ff70bcaa
Fix typo
2 years ago
Arijit Basu
c42c4dc69d
Fix doc
2 years ago
Arijit Basu
95f1f45375
Reduce the selection pane height
2 years ago
Arijit Basu
bf354352d5
Upgrade version
2 years ago
Arijit Basu
bea0f277bc
Add global key bindings that can be overwritten.
...
- Use `xplr.config.general.global_key_bindings` to define a set of
key bindings that are available by default in every mode. e.g `esc`
and `ctrl-c`.
- Remove boilerplate config from `init.lua`.
- Update docs.
2 years ago
Arijit Basu
4c4d3843e9
Avoid using unnecessary prompts
...
Problem with long paths.
2 years ago
Arijit Basu
a2f246f61e
Improve the "duplicate as" prompt
2 years ago
Arijit Basu
27394dd177
Tab completion for "duplicate_as" mode
2 years ago
Arijit Basu
88416d862e
Minor improvement
2 years ago
Arijit Basu
5370cc2e8c
Go to path and native auto completion on tab
...
- BREAKING: Rename mode `create directory` and `create file` to
`create_directory` and `create_file`.
- Add key binding `gp` to go to a given path from input.
- Add function `fn.builtin.try_complete_path` to auto complete the path
in input buffer.
- Use `tab` to auto complete path in `rename`, `create_file`,
`create_directory` and `go_to_path` modes.
- Show different prompts in different modes.
And some cleanup.
2 years ago
Arijit Basu
e5576e2990
Fix typo
2 years ago
Arijit Basu
e04b0964ae
Use 89 chars line length
2 years ago
Arijit Basu
21b8c3e807
Make clippy happy
2 years ago
Arijit Basu
744b68197d
Some optimizations
2 years ago
Arijit Basu
02b631bf83
Strict NO_COLOR compliance and some cleanups
2 years ago
Arijit Basu
61d3b1635e
Use NO_COLOR to disable OSC 7
2 years ago
Arijit Basu
d35a4c58cb
Write OSC 7 escaped codes on a the tui backend
2 years ago
Arijit Basu
47f7d51e46
Cleanups
2 years ago
Arijit Basu
de856b7870
Implement Write
2 years ago
Arijit Basu
2f9992bf8b
OSC 7 fixes
...
Co-authored-by: Wez Furlong <wez@wezfurlong.org>
2 years ago
Arijit Basu
3c8f6e1b08
Experiment with OSC 7
...
Ref: https://github.com/wez/wezterm/issues/2054
2 years ago
Arijit Basu
07b2374616
Make the table a little compact
2 years ago
Arijit Basu
e655c245c5
Optimize regex search further
...
No need to compile both regex and iregex.
2 years ago
Arijit Basu
f324e976da
Compile regex only when required
2 years ago
Arijit Basu
95248ae6d1
Cleanup
2 years ago
Arijit Basu
e2cf313ee2
Optimize regex search
...
Compile regex once and reuse it.
2 years ago
Arijit Basu
cb2851875c
Fix mime_essence doc - again
2 years ago
Arijit Basu
dc8cb30eb3
Fix mime_essence docs
2 years ago
Arijit Basu
cf052d2691
Fix doc
2 years ago
Arijit Basu
6f626d1ba0
Clarify metadata API
2 years ago
Arijit Basu
3da8140bb1
Fix printing unicode
2 years ago
Arijit Basu
e006152066
Upgrade version
2 years ago
Arijit Basu
2179be473f
Fix docs
2 years ago
Arijit Basu
cc5b996db9
Add remove last filter
2 years ago
Arijit Basu
d9465f1a57
Display in the table
2 years ago
Arijit Basu
8e1d16b751
Remove merge conflicts
2 years ago
Arijit Basu
37e660e0a6
Improve timestamp support
2 years ago
Shunsuke Mie
626a48cf88
Update init.lua to show a last modification column
2 years ago
Shunsuke Mie
57c29d47c5
Support a column shows time of modification
2 years ago
Arijit Basu
09002d0e65
Add support for null characters as separator
...
- Use `--read0 -` to read `\0` separated paths from stdin.
- Use `--write0` to write `\0` separated paths to stdout.
- Use `-0` or `--null` to combine `--read0` and `--write0`.
2 years ago
Arijit Basu
86f56cc051
Fix search navigation
2 years ago
Arijit Basu
5f598648a8
Make the prompt not null
2 years ago
Arijit Basu
d2390285fb
Fix doc
2 years ago
Arijit Basu
1de737cefa
Add regex support and dynamic input prompt
...
- Add new regex filters
- `RelativePathDoesMatchRegex`
- `RelativePathDoesNotMatchRegex`
- `IRelativePathDoesMatchRegex`
- `IRelativePathDoesNotMatchRegex`
- `AbsolutePathDoesMatchRegex`
- `AbsolutePathDoesNotMatchRegex`
- `IAbsolutePathDoesMatchRegex`
- `IAbsolutePathDoesNotMatchRegex`
- Search mode now defaults to regex
- Added new message `SetInputPrompt` to set the input prompt
dynamically.
2 years ago
Arijit Basu
3cfed5aa6f
Improve docs
2 years ago
Arijit Basu
0d12762c1d
Upgrade tui-input to 0.4.0
2 years ago
Arijit Basu
a66d5e05d5
Upgrade to tui-input 0.3
2 years ago
Arijit Basu
2bd4346156
Improve CLI help menu
2 years ago
Arijit Basu
6d9d324a7d
Upgrade version
2 years ago
Arijit Basu
171c93dbb1
Fix ansi colors
...
Also upgrade deps and do some cleanup.
2 years ago
Arijit Basu
6c775d72dc
Bold directories
2 years ago
Arijit Basu
f6364b5403
Try a new UI
2 years ago
Arijit Basu
9673eba89c
Upgrade version
...
- Upgrade rust to 1.58.1
- Upgrade rust edition to 2021
- Upgrade xplr packages
2 years ago
Arijit Basu
583f685627
Minor line gap
3 years ago
Arijit Basu
aca6127166
Minor fixes
3 years ago
Arijit Basu
0472bc3e66
Auto generate docs
3 years ago
Arijit Basu
dfb4854f01
Set cursor position based on prompt
3 years ago
Arijit Basu
bfd403c894
Upgrade version
3 years ago
Arijit Basu
3d81a49cec
Auto generate messages docs
...
- Huge refactor.
- Run `python docs/script/generate.py` to generate `docs/en/src/messages.md`.
3 years ago
Arijit Basu
67eca1ecdf
More doc fixes
3 years ago
Arijit Basu
8385b92661
Minor doc improvements
3 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
3 years ago
Arijit Basu
ecc59b1d9d
Option to configure wrapping on move
...
Closes: https://github.com/sayanarijit/xplr/issues/441
3 years ago
Arijit Basu
618ade53ec
Document init.lua
...
Ref: https://github.com/sayanarijit/xplr/issues/445
3 years ago
Arijit Basu
721ffd0216
Support custom `border_type` and `border_style`
...
This adds support for defining custom border types and border styles.
Example:
```
xplr.config.general.panel_ui.default.border_type = "Thick"
xplr.config.general.panel_ui.default.border_style.fg = "Black"
xplr.config.general.panel_ui.default.border_style.bg = "Gray"
```
Closes: https://github.com/sayanarijit/xplr/issues/448
3 years ago
Arijit Basu
087f3b0d52
Version 0.17.2
3 years ago
Arijit Basu
bb65870ee0
CLI for a better "cd on quit"
...
Use `--print-pwd-as-result` to print the last working directory instead
of the focused or selected nodes, when you quit using the `PrintResultAndQuit`
message (i.e. by pressing `enter`).
This helps with implementing the "cd on quit" functionality using a plain shell
alias.
Example:
```
alias xcd='cd "$(xplr --print-pwd-as-result)"'
```
With this alias set, you can navigate directories using xplr by entering
`xcd` command, and when you quit by pressing enter, you will enter the
directory.
You can of course, quit with plain `Quit` (i.e. by pressing `esc`) to
gracefully cancel "cd on quit".
3 years ago
Arijit Basu
e6ea983a8a
Add "duplicate as"
...
Closes https://github.com/sayanarijit/xplr/issues/434
3 years ago
Arijit Basu
e2c3251736
Fix focus when creating files in non-$PWD location
3 years ago
Arijit Basu
4ff11c2ef4
Upgrade version
3 years ago
Arijit Basu
24bd6d9f00
Merge the pending changes from #429
3 years ago
Arijit Basu
729b51d674
Create parent directories before creating the file
3 years ago
Tom van Dijk
17f3893198
Debug mode
...
Features:
- Display debug menu on configuration error
- Configure wether xplr should show the debug menu
(through `debug_on_error`)
- Open logs in editor
- Redirect people to the issues page on Github.
3 years ago
Arijit Basu
cdd60eef4c
Format init.lua consistently
3 years ago
Arijit Basu
c89d5a45f1
Fix NixOS tests
3 years ago
Arijit Basu
3142cdd3ec
Upgrade version
3 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
b7d86ae1ec
Serialize None to nil
...
Fixes: https://github.com/sayanarijit/xplr/issues/417
3 years ago
Tom van Dijk
b1ac4944ab
`help_hide_remaps` -> `hide_remaps_in_help_menu`
3 years ago
Tom van Dijk
263eb5943a
Introduce `general.help_hide_remaps` config entry.
3 years ago
Arijit Basu
def98de9b3
Upgrade version
3 years ago
Arijit Basu
5b710070a3
Optimize more
3 years ago
Arijit Basu
41c387542f
Fix auto jumping on cursor when visiting large dir
3 years ago
Arijit Basu
7c7351c2e8
Optimize optimization hack
3 years ago
Arijit Basu
5211e4fa40
Fix Lua API performance by caching
...
Fixes: https://github.com/sayanarijit/xplr/issues/412
3 years ago
Arijit Basu
132b528a5d
Remove trailing `.` in the CLI help menu
3 years ago
Arijit Basu
d2c5f49835
Fix CD (try again)
3 years ago
Arijit Basu
296d93a81a
Fix linux gnu bin release
3 years ago
Arijit Basu
605b2bc391
Fix CD for musl
3 years ago
Arijit Basu
9d088239ea
Upgrade to 0.16.0
3 years ago
Arijit Basu
24637449a3
Improve CLI help
3 years ago
Arijit Basu
f78d9e99fd
Remove debug statement and add tests
3 years ago
Arijit Basu
8e00b3e658
Add scroll for the input buffer
3 years ago
Arijit Basu
b0c91a954e
Improve update_input_buffer
3 years ago
Arijit Basu
074217f21e
Fix issue with input buffer
3 years ago
Arijit Basu
48ab6eac21
Add on_function key handler
...
This adds `on_function` handler to handle F1-F12 keys.
This also fixes issues with previously added handlers and adds a
checklist for future additions.
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
165d992b75
Fix logs UI
...
Fixes: https://github.com/sayanarijit/xplr/issues/396
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
ca6cefb1c1
Use tui-input to handle input buffer
...
New message: `UpdateInputBufferFromKey` to replace most
`BufferInputFromKey` usage.
This adds more functionalities to the input buffer and reduces
boilerplate code.
This commit also deprecates `config.general.cursor` as the cursor will
be set by the terminal from now.
Repo: https://github.com/sayanarijit/tui-input
3 years ago
Shunsuke Mie
f5131b08ab
Change to use `PWD` env vairable to get current dir
...
Fixes 285.
3 years ago
Arijit Basu
00030e44ff
Fail if path doesn't exist
3 years ago
Arijit Basu
de6f54f9bd
Fix bug with selection
3 years ago
Arijit Basu
a797d7b1c7
Format & lint code
3 years ago
Arijit Basu
2d7158afc0
Implement support path selection and force focus
...
Examples:
```bash
xplr $PWD /path/to/select1 path/to/select2
xplr -- $PWD /path/to/select1 path/to/select2
echo -e "$PWD\n/path/to/select1\npath/to/select2" | xplr -
ls -d /path/to/select1 path/to/select2 | xplr $PWD -
```
3 years ago
Arijit Basu
91675e28af
Some cleanup
3 years ago
Tom van Dijk
102832c65c
Fix suggestions and run clippy
3 years ago
Tom van Dijk
44f05c6e4b
Implement --force-focus
3 years ago
Tom van Dijk
3c8de699ca
Fix everything @sayanarijit fed back.
3 years ago
Tom van Dijk
cbb244f9a0
Implement --select
3 years ago
Shunsuke Mie
05fb583f98
Add a test for pwd_watcher
3 years ago
Shunsuke Mie
c5f60951f7
Add tests for explorer
...
The comment outed test fails randomly. Change the recusive function
before enableing the test.
3 years ago
Shunsuke Mie
1947d77a33
Change mods name for tests
...
There are two mod names for test, `test` and `tests`. This commit unites
the name to `tests`. It is commonly used.
3 years ago
Arijit Basu
4e1580e91f
Some cleanups
3 years ago
Shunsuke Mie
41d1385020
Fix a Node type of directory
...
Fix a issue #364 .
3 years ago
Arijit Basu
66f5acc482
Fix criterion test
3 years ago
Arijit Basu
3ec870739c
Bump version
3 years ago
Arijit Basu
0328eb63c7
Fix selection count
...
Fixes https://github.com/sayanarijit/xplr/issues/363
3 years ago
Shunsuke Mie
13d046e6ad
Move definitions runner related functions
...
fn runner() and fn from_cli(cli: Cli) util functions are located to
app.rs. However, those are utils for runner. So this commit change the
functions to runner.rs.
3 years ago
Arijit Basu
347b9625aa
Add padding to custom content titles
3 years ago
Gilad Woloch
402715cdcd
Remove trivial `ResolvedNode` methods
3 years ago
Gilad Woloch
95b580203f
Introduce `xor` helper
3 years ago
Gilad Woloch
18b784f054
Correct typo
3 years ago
Gilad Woloch
2ef7523bb0
Derive `PartialEq`
3 years ago
Gilad Woloch
46287f6373
Use `Result::is_ok`
3 years ago
Gilad Woloch
45ad449eb3
Avoid unnecessary lambda
3 years ago
Gilad Woloch
a2343c05ca
Correct `clippy` error
3 years ago
Gilad Woloch
cc022e85ff
Fix `cargo clippy` warnings and reformat
3 years ago
Gilad Woloch
c399236fd3
Reformat
3 years ago
Gilad Woloch
3f0e479f56
Remove trivial methods
3 years ago