Commit Graph

524 Commits

Author SHA1 Message Date
Arijit Basu
484b94a961
Add selection indicator in input and logs panel 2023-11-14 10:53:22 +05:30
Arijit Basu
22b5fca8d9 Update version 2023-08-07 23:40:19 +05:30
Arijit Basu
4a3f18100d Display current mode help menu on top
Also, add global key binding f1.
Also, update deps.

Closes: https://github.com/sayanarijit/xplr/issues/655
2023-08-07 23:28:37 +05:30
Lewis Cook
6df168f8c1 init: Fix error upon deleting file on non-GNU systems 2023-07-30 09:30:50 +05:30
Arijit Basu
9a7ff5846d
Fix android build (#657)
* Fix android build

Ref: https://github.com/khvzak/mlua/issues/267#issuecomment-1644559018

* Update docs

* Fix typos by cheating a bit

* Instruction first
2023-07-21 21:54:07 +05:30
Arijit Basu
1b2226512f
Imrove builds (#650)
- Add more build targets
- Allow cross compile (if you have the resources, I don't)
- Fix failing nixos tests
2023-07-19 04:14:00 +05:30
Arijit Basu
94ba22bbcc
Upgrade 2023-07-18 22:54:05 +05:30
Arijit Basu
54d6d19003
Also enter symlink dir 2023-07-17 22:06:54 +05:30
Dugan Chen
4aeb3dd7c8 Use built-in node method 2023-07-16 23:28:24 -07:00
Dugan Chen
5626422ba4 Silently fail to 'enter' regular files 2023-07-16 22:46:40 -07:00
Arijit Basu
1941355128
Imrove builds
- Add more build targets
- Allow cross compile (if you have the resources, I don't)
- Fix failing nixos tests
2023-07-16 16:38:09 +05:30
Arijit Basu
2f78691333
Update/upgrade deps 2023-07-16 01:18:23 +05:30
Arijit Basu
bc7f3cbbcf
Minor update 2023-07-16 01:01:12 +05:30
Arijit Basu
ad50342260
Fix focus on back 2023-07-16 01:01:12 +05:30
Arijit Basu
313c61db96
Optimize get_current_dir
Closes: https://github.com/sayanarijit/xplr/issues/628
2023-07-16 01:01:12 +05:30
Arijit Basu
255517c2a9
Also respect general.table.headers.cols[*].style 2023-07-16 01:01:11 +05:30
Arijit Basu
9844ae1476
Respect low priority styles
- xplr.config.general.selection.item.style
- xplr.config.general.table.row.style
- xplr.config.general.table.row.cols[*].style
- xplr.config.general.table.header.cols[*].style

Ref: https://github.com/sayanarijit/xplr/issues/640
2023-07-16 01:01:11 +05:30
Arijit Basu
d282032b3d
Fix symlink base again 2023-07-16 01:01:11 +05:30
Arijit Basu
ba26752f6c
Use correct base for symlink for alternate layouts 2023-07-16 01:01:11 +05:30
Arijit Basu
2f3c2ea0e4
Fix lint 2023-07-16 01:01:11 +05:30
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
2023-07-06 21:57:52 +05:30
Arijit Basu
33c5aa9f14
Bring back enqueue 2023-07-03 18:06:53 +05:30
Arijit Basu
cae50e4bcf
Remove unnecessary enqueue step 2023-07-03 10:24:58 +05:30
Arijit Basu
508f4b980b
Fix doc 2023-06-11 12:17:50 +05:30
Noah Mayr
4ccd9796c4
Use xdg-rust crate instead of dirs crate (#631)
* Use xdg-rust crate instead of dirs crate

* Fix clippy warning
2023-06-09 22:28:28 +05:30
Solitude
36a7f1dc17
Honor XDG_CONFIG_HOME (#629) 2023-06-05 20:51:38 +05:30
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
2023-05-22 09:44:05 +05:30
Arijit Basu
2a775371f6
Use sayanarijit/jf for xplr -m 2023-05-19 11:38:19 +05:30
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
2023-05-16 09:14:33 +05:30
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.
2023-05-15 18:51:38 +05:30
Arijit Basu
8aff0ba918
Clarify how to deal with init.lua 2023-04-26 18:29:01 +05:30
Arijit Basu
252a1f5c37
Documentation fixes and cli help improvement 2023-04-22 16:08:01 +05:30
Kian-Meng Ang
8cca2d3566 Fix typos
Found via `codespell -S target -L ratatui,crate,ser,enque,noice`
2023-04-08 09:14:39 +05:30
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).
2023-03-25 11:32:33 +05:30
Arijit Basu
c79175764b SelectAll: extend selection list rather than replacing (#603)
Also applies to ToggleSelectAll i.e. `ctrl-a`
2023-03-25 11:32:33 +05:30
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>
2023-03-20 01:07:04 +05:30
Arijit Basu
d80b1b4db8 Alternate theme 2023-01-13 13:08:25 +05:30
Arijit Basu
5f07e6143f Update v0.20.2 2023-01-13 11:33:48 +05:30
Arijit Basu
d52ccac8ba Fix file creation for mac's default bash 2023-01-12 16:54:49 +05:30
Arijit Basu
553b4ed3d6
Fix keeping input buffer 2023-01-09 16:48:00 +05:30
Arijit Basu
e9fc643bd9
Fix test 2023-01-09 16:46:27 +05:30
Arijit Basu
3afccf2a54
Doc fix 2023-01-09 16:42:15 +05:30
Arijit Basu
1d9d5f5145
Minor changes 2023-01-09 16:40:38 +05:30
Emanuel
0715e242ef fix: run cargo fmt 2023-01-09 16:34:58 +05:30
Emanuel
105e770f58 feat: complete last changes to add hooks 2023-01-09 16:34:58 +05:30
emanuel
d6e33e68e3 :feat: Add hooks for mode and layout changes 2023-01-09 16:34:58 +05:30
Arijit Basu
0cd5a9163d
Minor fixes 2022-12-19 23:50:28 +05:30
Arijit Basu
7fbcd18bb4
Update util.rs 2022-12-16 23:16:03 +05:30
Arijit Basu
d17489de8d Update version 2022-12-04 15:03:06 +05:30
Arijit Basu
57492b84c0
Show HelpMenu in intermediate modes
Also, use xplr.util api in xplr.fn.builtin.try_complete_path
2022-12-01 01:57:06 +05:30