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>
2 years ago
Arijit Basu
053615b041
Fix linting errors
2 years ago
Arijit Basu
f2713d9549
Fix support for readline keys
2 years ago
Arijit Basu
f10fad958d
Upgrade deps
2 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
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
Arijit Basu
5723acc21b
Fix input conversion logic
3 years ago
Arijit Basu
b3e6679b50
Add feature dynamic UI
...
Now, users can change the UI layout via the `SwitchLayout{Builtin|Custom}`
message, or by using key `ctrl-w`.
There are 3 default layout options -
- default
- no_help
- no_selection
- no_help_no_selection
Also, the initial mode and the initial layout can be specified in the
config.
Closes: https://github.com/sayanarijit/xplr/issues/107
3 years ago
Arijit Basu
9fce3b1d14
Fix space input
3 years ago
Arijit Basu
1bb2622f24
Improve key inputs
...
Add support proper implementations of -
- backspace
- ctrl-w
- ctrl-u
Also, improved sort and filter behavior.
Fixes: https://github.com/sayanarijit/xplr/issues/77
3 years ago
deadjakk
be2911e073
Fixed error preventing compilation
...
Removed comma.
Error was as follows:
error: no rules expected the token `,`
--> src/input.rs:373:29
|
373 | | Self::Num9,
| ^ no rules expected this token in macro call
error: aborting due to previous error
4 years ago
Arijit Basu
dba8631911
Add CI/CD gh actions
...
Mostly stolen from https://github.com/Rigellute/spotify-tui .
4 years ago
Arijit Basu
3572d26b95
Too big of a rewrite
4 years ago
Arijit Basu
98920637f9
Number input
4 years ago
Arijit Basu
53b18ae8f4
Use # instead of ? to debug app
4 years ago
Arijit Basu
096489dee4
Use "esc" instead of "escape"
4 years ago
Arijit Basu
669151c70e
Show help menu
4 years ago
Arijit Basu
720ba38b4d
Some important fix (don't look)
4 years ago
Arijit Basu
f9c3edee06
Not yet doing what it's supposed to
4 years ago