Arijit Basu
ba26752f6c
Use correct base for symlink for alternate layouts
10 months ago
Arijit Basu
2f3c2ea0e4
Fix lint
10 months ago
Arijit Basu
9d1bd99fd4
Implement on_selection_change
...
Also optimize navigation with selection items.
Refresh selection only when it's required.
Closes: https://github.com/sayanarijit/xplr/issues/635
11 months ago
Arijit Basu
33c5aa9f14
Bring back enqueue
11 months ago
Arijit Basu
cae50e4bcf
Remove unnecessary enqueue step
11 months ago
Arijit Basu
508f4b980b
Fix doc
12 months ago
Noah Mayr
4ccd9796c4
Use xdg-rust crate instead of dirs crate ( #631 )
...
* Use xdg-rust crate instead of dirs crate
* Fix clippy warning
12 months ago
Solitude
36a7f1dc17
Honor XDG_CONFIG_HOME ( #629 )
12 months ago
Arijit Basu
ab90381fda
Prompt when in doubt ( #623 )
...
* Update deps
* Prompt for user input when in doubt
- Ask before delete.
- For copy, move or symlink operations, ask what to do if a file with
the same name exists.
- Update version.
Closes: https://github.com/sayanarijit/xplr/issues/615
1 year ago
Arijit Basu
2a775371f6
Use sayanarijit/jf for xplr -m
1 year ago
Arijit Basu
3bee8060c7
Lower LS_COLORS priority ( #622 )
...
* Lower LS_COLORS priority
Fixes: https://github.com/sayanarijit/xplr/issues/620
* Remove default style
* Fix doc markdown
1 year ago
Arijit Basu
97e30e2a6f
Allow nesting layouts inside a custom layout ( #618 )
...
This adds `CustomLayout` panel for nesting a `Layout` inside the `Static` and
`Dynamic` layouts.
This will help switching between different layouts dynamically, without
having to switch modes.
1 year ago
Arijit Basu
8aff0ba918
Clarify how to deal with init.lua
1 year ago
Arijit Basu
252a1f5c37
Documentation fixes and cli help improvement
1 year ago
Kian-Meng Ang
8cca2d3566
Fix typos
...
Found via `codespell -S target -L ratatui,crate,ser,enque,noice`
1 year ago
Arijit Basu
b995be0089
Fix SelectAll and UI colors ( #604 )
...
- SelectAll will not unselect the existing paths. Same for
ToggleSelectAll.
- Fixed UI bug causing random bold characters (deps).
1 year ago
Arijit Basu
c79175764b
SelectAll: extend selection list rather than replacing ( #603 )
...
Also applies to ToggleSelectAll i.e. `ctrl-a`
1 year ago
Arijit Basu
e0d683b13a
Release 0.21.0 ( #602 )
...
* Add xplr.util.lscolor and xplr.util.paint (#569 )
* Add xplr.util.lscolor and xplr.util.style
* Fix formatting
* Fix clippy suggestions
* Remove redundant closures
* Optimize, support NO_COLOR, and rename style to paint
* Use xplr.util.paint and xplr.util.color in init.lua
Co-authored-by: Noah Mayr <dev@noahmayr.com>
* Add utility function xplr.util.textwrap (#567 )
* Add utility function xplr.util.wrap
* Cleanup and fix formatting
* Update src/lua/util.rs
Co-authored-by: Arijit Basu <sayanarijit@users.noreply.github.com>
* Update wrap to return lines instead
* Fix doc
* Rename wrap -> text wrap
Co-authored-by: Arijit Basu <sayanarijit@users.noreply.github.com>
Co-authored-by: Arijit Basu <sayanarijit@gmail.com>
* Add xplr.util.relative_to and xplr.util.path_shorthand (#568 )
* Add xplr.util.relative_to and xplr.util.path_shorthand
* Remove duplicate slash at end
* Use pwd from env and remove pathdiff package
* Some fixes and improvements
* Generate docs
* Some more improvements
* Improve selection rendering
* Improve functions with test cases
* Update docs
* Minor doc fix
* Rename path_shorthand -> shortened
* Handle homedir edgecase
Also fix init.lua
* Minor fix
* Use config argument for relative and shortened paths
* Prefix relative paths with "." and fix edge cases where we're not showing the file name
* Use and_then instead of map and flatten
* WIP: Move selection rendering to lua
* Make selection renderer function configurable on lua side
* Some improvements
* Some impovements
* Minor doc fix
* Remove symlink style
---------
Co-authored-by: Arijit Basu <sayanarijit@gmail.com>
* Add xplr.util.layout_replaced (#574 )
Closes: https://github.com/sayanarijit/xplr/issues/573
* Improve selection operations (#575 )
- `:sl` to list selection.
- `:ss` to softlink.
- `:sh` to hardlink.
- Avoid conflict by adding suffix.
- Unselect individual path only on operation success.
Closes:
- https://github.com/sayanarijit/xplr/issues/572
- https://github.com/sayanarijit/xplr/issues/571
- https://github.com/sayanarijit/xplr/issues/570
* Minor updates
* Add more features (#581 )
* Add more features
- Key binding ":se" to edit selection list in $EDITOR
- New utility functions:
- xplr.util.clone
- xplr.util.exists
- xplr.util.is_dir
- xplr.util.is_file
- xplr.util.is_symlink
- xplr.util.is_absolute
- xplr.util.path_split
- xplr.util.node
Closes: https://github.com/sayanarijit/xplr/issues/580
Closes: https://github.com/sayanarijit/xplr/issues/579
Closes: https://github.com/sayanarijit/xplr/issues/577
* Fix edit selection list
* Fix clippy lints
* Fix layout link in doc
* xplr.util.shortened -> xplr.util.shorten
* Fix more clippy lints
* Fix xplr.util.shorten name change
* More UI utilities and improvements (#582 )
* More UI utilities and improvements
- Apply style only to the file column in the table.
- Properly quote paths.
- Expose the applicable style from config in the table renderer argument.
- Add utility functions:
- xplr.util.node_type
- xplr.util.style_mix
- xplr.util.shell_escape
* Make escaping play nice with shorten
* Fix tests
* Fix doc
* Some fixes
* Fix selection editor
* Fix clear selection for selection editor
* Add selection navigation (#583 )
* Add selection navigation
- FocusNextSelection (ctrl-n)
- FocusPreviousSelection (ctrl-p)
Also improve batch operations
* Minor doc fixes
* Minor doc fix
* Remove tab -> ctrl-i binding
* Improve batch operation interaction
- More robust focus operation.
- Focus on failed to delete paths.
* Fix Rust compatibility
* Fix panic on permission denial
Also, improve the error messages.
* More logging improvements
* Fix layout_replace only working with table parameters (#586 )
* Improve builtin search mode (#585 )
* Improve builtin search mode
* Remove commented out code
* Make search ranking and algorithm more extensible
* Flatten messages
BREAKING: xplr.config.general.sort_and_filter_ui.search_identifier -> xplr.config.general.sort_and_filter_ui.search_identifiers
Messages:
- Search
- SearchFromInput
- SearchFuzzy
- SearchFuzzyUnranked
- SearchFuzzyUnrankedFromInput
- SearchRegexUnrankedFromInput
- SearchRegex
- SearchRegexUnranked
- SearchRegexUnrankedFromInput
- SearchRegexUnrankedFromInput
- CycleSearchAlgorithm
- EnableRankedSearch
- DisableRankedSearch
- ToggleRankedSearch
Static config:
xplr.config.general.search.algorithm = "Fuzzy"
* Handle search ranking in search algorithm
* Make CycleSearchAlgorithm only cycle between algorithms, without changing ranking
* Separate algorithm and ordering
* Minor doc updates
* Some cleanup
* Final touch
* Cycle -> Toggle
---------
Co-authored-by: Arijit Basu <sayanarijit@gmail.com>
* Fix layout replace for unit layouts (#588 )
* Allow custom title and ui config in custom layout. (#589 )
* Allow custom title and ui config in custom layout.
Adds the following layouts:
- Static
- Dynamic
Deprecates `CustomContent` (but won't be removed to maintain compatibility).
Closes: https://github.com/sayanarijit/xplr/issues/563
* Delete init.lua
* Update docs/en/src/layout.md
* Update docs/en/src/layout.md
* Rename
- Paragraph => CustomParagraph
- List => CustomList
- Table => CustomTable
Also update init.lua
* Fix clippy errs
* Fix doc links
* Fix search order
* Improve working with file permissions (#591 )
* Improve working with file permissions
Implements:
- xplr.util.permissions_rwx
- xplr.util.permissions_octal
* Edit permissions
* Add permissions in Resolved Node (#592 )
* Add permissions in Relolved Node
And handle application/x-executable mime type.
* Fix bench
* Improve permissions editor
* More permissions editor improvements
* Doc updates
* Remove ResolvedNode.permissions (#593 )
Reason: Too much serialization making lua calls slow.
* Add workaround for macos with legacy coreutils (#595 )
Refs:
- https://github.com/sayanarijit/xplr/issues/594
- https://github.com/sayanarijit/xplr/issues/559
* Use H:M:S format to display logs (#596 )
* Keep the selection list and clear manually (#597 )
* Keep the selection list and clear manually
Ref: https://github.com/sayanarijit/map.xplr/issues/4
* Fix linting err
* Fix broken history (#599 )
* Fix broken hostory
Fixes: https://github.com/sayanarijit/xplr/issues/598
* Minor cleanup
* Slightly optimize selection retention (#600 )
* Update deps
* chrono -> time
* update: 0.20.2 -> 0.21.1
* Update post-install.md
* Upgrade guide
* Minor fix
* Fix tests
* Add missing doc
* Fix clippy lints
---------
Co-authored-by: Noah Mayr <dev@noahmayr.com>
1 year ago
Arijit Basu
d80b1b4db8
Alternate theme
1 year ago
Arijit Basu
5f07e6143f
Update v0.20.2
1 year ago
Arijit Basu
d52ccac8ba
Fix file creation for mac's default bash
1 year ago
Arijit Basu
553b4ed3d6
Fix keeping input buffer
1 year ago
Arijit Basu
e9fc643bd9
Fix test
1 year ago
Arijit Basu
3afccf2a54
Doc fix
1 year ago
Arijit Basu
1d9d5f5145
Minor changes
1 year ago
Emanuel
0715e242ef
fix: run cargo fmt
1 year ago
Emanuel
105e770f58
feat: complete last changes to add hooks
1 year ago
emanuel
d6e33e68e3
:feat: Add hooks for mode and layout changes
1 year ago
Arijit Basu
0cd5a9163d
Minor fixes
1 year ago
Arijit Basu
7fbcd18bb4
Update util.rs
1 year ago
Arijit Basu
d17489de8d
Update version
1 year ago
Arijit Basu
57492b84c0
Show HelpMenu in intermediate modes
...
Also, use xplr.util api in xplr.fn.builtin.try_complete_path
1 year ago
Arijit Basu
d719700122
Launch $SHELL, fallback to bash
...
Closes : #499
1 year ago
Arijit Basu
011d3d4a68
Fix logs count
2 years ago
Arijit Basu
efb4d605c5
Fix doc
2 years ago
Arijit Basu
e559b96e31
Implement xplr.util.version
...
Closes: https://github.com/sayanarijit/xplr/issues/540
2 years ago
Arijit Basu
c382768f23
Implement xplr.util.to/from_json/yaml
...
Closes: https://github.com/sayanarijit/xplr/issues/541
2 years ago
Arijit Basu
6558ba8092
Hide counts if 0
...
Closes https://github.com/sayanarijit/xplr/issues/542
2 years ago
Arijit Basu
91c87a3901
Fix creating file with spaces
...
Fixes: https://github.com/sayanarijit/xplr/issues/544
2 years ago
Arijit Basu
25798009ad
Fix displaying multispace characters
...
Ref: https://github.com/sayanarijit/tui-input/pull/14
2 years ago
Arijit Basu
104dc0534b
Minor doc fixes
2 years ago
Arijit Basu
053615b041
Fix linting errors
2 years ago
Arijit Basu
7e70487511
Use default values for some fields
2 years ago
Arijit Basu
70cb745c9f
Implement and expose xplr.util
...
Closes: https://github.com/sayanarijit/xplr/issues/517
2 years ago
Arijit Basu
15979e4974
Release v0.20.0
2 years ago
Arijit Basu
49c4729047
Improve CLI errors
2 years ago
Arijit Basu
01060ed025
Add $XPLR_INITIAL_PWD and 'gi' key binding
...
This will allow enable workspace like features, without using vroot.
2 years ago
Arijit Basu
74318435e8
Update version
2 years ago
Arijit Basu
553f6b9bc6
Fix doc
2 years ago
Arijit Basu
71bd2e2776
Add more vroot options
...
- ToggleVroot
- UnsetVroot
Along with key bindings.
2 years ago
Arijit Basu
94154c56df
Consistent help text
2 years ago
Arijit Basu
5c4dec05ed
Don't restrict saving location outside vroot
2 years ago
Arijit Basu
289556f452
Add builtin vroot mode
...
Also fix ResetVroot
2 years ago
Arijit Basu
eba9de5a44
Improve vroot indicator
2 years ago
Arijit Basu
e3a5f3c044
Add messages SetVroot and ResetVroot
2 years ago
Arijit Basu
a62b72bf2a
Add support for --vroot
...
--vroot helps isolating navigation of an xplr session inside a specific
directory. However, interaction still requires passing full paths
(`/tmp/vroot`). Shell scripts and Lua functions can still access files
outside the virtual root.
This PR also fixes unwanted dot (.) and extra slash (//) issues in paths.
2 years ago
Arijit Basu
00ffd077aa
Upgarde version
2 years ago
Arijit Basu
bafe15e25e
Add more hooks
2 years ago
Arijit Basu
fc798aad97
Update version
2 years ago
Arijit Basu
deb28fa14a
Add initial support for hooks
...
A new optional section of the configuration defined using the lua return
statement, which can be used to define append only things, such as hooks
and callbacks, specific to each config file.
Example
```lua
version = "0.0.0"
return {
-- Adds messages to pass when xplr loads (similar to `--on-load`)
on_load = {
{ LogInfo = "Hello xplr user," },
{ LogSuccess = "Configuration successfully loaded!" },
}
}
```
2 years ago
Arijit Basu
723dd6ec2c
Even better error messages
2 years ago
Arijit Basu
4a34780eb4
Improve errors messages `-m` and `-M`
2 years ago
Arijit Basu
b05e702536
Actually validate the passed message
2 years ago
Arijit Basu
baa8759d68
Minor performance improvement
2 years ago
Arijit Basu
52c8e05a1e
Fix clippy error
2 years ago
Arijit Basu
65eee2dc90
Use serde_yaml::with::singleton_map_recursive
2 years ago
Arijit Basu
77852b435f
Error on missing *-msg-in arguments
2 years ago
Arijit Basu
060544a2b8
Minor fixes
2 years ago
Arijit Basu
f8b16a7ddd
Rebase main
2 years ago
Arijit Basu
85c4253782
Upgrade version
2 years ago
Arijit Basu
1d829c36e6
Implement -M, --print-msg-in
...
To help with creating safe arguments for --on-load.
e.g.
```
xplr --on-load $(xplr -M 'ChangeDirectory: %q' "${HOME:?}")
```
2 years ago
Arijit Basu
7c730557f2
Shell escape SRC and TARGET for logging
2 years ago
Arijit Basu
93e9b2b2ae
There's no end of arguments for -m
2 years ago
Arijit Basu
3fb174cdc0
Allow using -m outside of xplr shell for debugging
...
Also validate the message before passing.
2 years ago
Arijit Basu
111a648818
Shell escape file paths in logs
2 years ago
Arijit Basu
1e820030a0
Implement subcommand -m / --pipe-msg-in
2 years ago
Arijit Basu
bffe1d43ec
Escape newline in selection list
2 years ago
Arijit Basu
fbe6b2be10
Improve parsing CLI arguments
2 years ago
Arijit Basu
88fe71779b
Add best practices section
2 years ago
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