Commit Graph

102 Commits (233f6d44a59034f38a9debc559687613af86a8ec)
 

Author SHA1 Message Date
Arijit Basu 233f6d44a5
Update version 3 years ago
Arijit Basu 2af1b4c70a
Fix exit screen 3 years ago
Arijit Basu 2596c0c4c3 Remove task priority
Since we are now blocking on task inputs, the priority is no longer
required.
3 years ago
Arijit Basu 5030749ab1
Use `cp -vr` instead of `cp -v` 3 years ago
Arijit Basu 9f78a1fcff Ability to call commands silently
Some commands doesn't require to capture stdout and stderr.
They can be called without needing to reset the screen.

Add `CallSilently` and `BashExecSilently` to execute those commands
faster.

Also, some optimization.
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
3 years ago
Arijit Basu 588a50af7e Add support for custom metadata for table row UI
Example:

```yaml
filetypes:
  directory:
    custom:
      foo: bar
     ...
```

Where `foo` and `bar` can be anything string.

It can be accessed with the `{{{custom.foo}}}` variable.
3 years ago
Arijit Basu a68fec0c11
No need to clone selection 3 years ago
Arijit Basu b50ce48264
Revert "Optimize the main thread"
This reverts commit 097c9dd8c5.

Queued tasks might create unexpected issues. We need a test suit first.
3 years ago
Arijit Basu 097c9dd8c5 Optimize the main thread 3 years ago
Arijit Basu b9e9601a71
Fix failed build and update version 3 years ago
Arijit Basu b5986c59d6 Fix logs for being written in the pipe
Don't depend on `Refresh`, always write to the pipes.
3 years ago
Arijit Basu 2b0572228d
Draw once
Draw on the terminal only once i.e. when `Refresh`ing.
3 years ago
Arijit Basu ededb49bd4
Fix the help menu
`esc` no longer exits from the `default` mode.
3 years ago
Maxim Baz 70a3794857 Fix symlink support
canonicalize() and metadata() both resolve symlinks, thus showing symlinks as regular files
3 years ago
Arijit Basu c06a3cb51e
Update version 3 years ago
Arijit Basu 6d0ea06d7b Add pwd watcher
Also optimize the main thread.
3 years ago
Arijit Basu 0a3cf7b5c1
Update version 3 years ago
Arijit Basu 832016bb18 Stay in search mode when entering or leaving a directory
This might be a little counter intuitive to the `nnn` users, but I think
this will add to the productivity and should be the default.

Since we have a real-time mode indicator, users shouldn't face much of
an issue switching to the alternate default.
3 years ago
Arijit Basu 6bc079a3ed
Update README.md 3 years ago
Arijit Basu 1b35ba3d8d
Add backers 3 years ago
Arijit Basu 1e7e2ecc2f Add `:e` for "open in editor" 3 years ago
Arijit Basu fa4d4168cd Don't quit on esc
Issue:
`esc` is generally used to get back to the `default` mode and mistakenly
pressing `esc` while in `default` mode will annoyingly terminate the
session.

Fix:
Remove `esc` from the `default` mode's key bindings. Use `q` or `crtl-c`
instead.
3 years ago
Arijit Basu fa37cd1c10 Improve search and filter
Concern:
Using `ResetNodeFilters` to clear the filters while searching or exiting
from search unexpectedly resets the `show hidden` mode because the
action not only removes the target filter, it resets all the other
filters as well.

Solution:
Implement `RemoveNodeFilterFromInput` to be able to clear or remove
target filters without having to reset it.
3 years ago
Arijit Basu e2b49ab4fd Display help menu using $PAGER
Also, use `open` to open files when `xdg-open` is missing.
3 years ago
Arijit Basu 45a95a792d Clear screen before exit 3 years ago
Arijit Basu 91a319fc80
Update version 3 years ago
Arijit Basu 57494f8ebf Do not print command outputs to the main screen.
Print all the outputs of xplr commands on the alternate screen. Not on
the real stdout.
3 years ago
Arijit Basu 7661019fd9 Make dir colors cyan
Fixes: https://github.com/sayanarijit/xplr/issues/11
3 years ago
Arijit Basu 23b51cf8fe
Fix failed build and re-publish 3 years ago
Arijit Basu 2bd2b743fb
Fix renaming 3 years ago
Arijit Basu a484c2fd39
Update default.nix 3 years ago
Arijit Basu e34755b11b Update version
Also fix nix hash
3 years ago
Arijit Basu 09abda29a3 Several optimizations
- Write to pipes only when the value changes.
- Sleep when not reading key event or messages.

Fixes: https://github.com/sayanarijit/xplr/issues/10
3 years ago
Arijit Basu 65ddb0ee4b
Release 0.3.2 3 years ago
Arijit Basu 53fd92b680 Fix debug formatting 3 years ago
Arijit Basu 65b7412579 Add XPLR_APP_VERSION and XPLR_CONFIG_VERSION
Since users don't need to update config file version for minor app
releases, we have to differentiate between app and config version.

Also, expose them via `$XPLR_CONFIG_VERSION` and `$XPLR_APP_VERSION`.
3 years ago
Arijit Basu 0272284f40
Fix print formatting 3 years ago
Quentin Guilloteau a9309a52c0 add comment to remind to update the version in the default.nix file 3 years ago
Quentin Guilloteau 42ca66c0fd use release tarball 3 years ago
Quentin Guilloteau 73a492bd3a add default.nix 3 years ago
Christian Paul e034827f01 Update README.md: it's -> its 3 years ago
Arijit Basu 6dff9dbe65
Add donation button 3 years ago
Arijit Basu 175699ac63
Expose `$XPLR_PIPE_MODE_OUT`
Also, add new line character to `$XPLR_PIPE_MODE_OUT` and
`$XPLR_FOCUS_PATH` for consistency.
3 years ago
Arijit Basu eeee3394bc Improve version incompatibility error
With this change, `xplr` will only raise version incompatibility error
if the major version changes. Minor version updates are assumed to be
backwards compatible.

If the major version is `v0`, the minor version will be considered as
the major version and the security/patch version will be considered as
minor version and the same logic will apply.
3 years ago
Arijit Basu 981ead8c36 Fix large env vars breaking the subprocess
Bug:
When you call some command in a directory with a large number of hosts,
xplr will fail setting the environment vars as the command will become
too large to handle.

Fix:
Port the value of multi-line variables from env vars to pipes and set
the name of the pipe as env var instead. And deprecate the variables
that doesn't make much sense.

In other words,

- `$XPLR_APP_YAML` has been removed.
- `$XPLR_RESULT` has been ported to `$XPLR_PIPE_RESULT_OUT`.
- `$XPLR_GLOBAL_HELP_MENU` has been ported to
  `$XPLR_PIPE_GLOBAL_HELP_MENU_OUT`.
- `$XPLR_DIRECTORY_NODES` has been ported to
  `$XPLR_PIPE_DIRECTORY_NODES_OUT`.
- `$XPLR_LOGS` has been ported to `$XPLR_PIPE_LOGS_OUT`.
- `$XPLR_PIPE_RESULT` has been ported to `$XPLR_PIPE_RESULT_OUT`.

Hence, instead of `<<< $VAR`, `< $VAR_PIPE_OUT` should be used.
3 years ago
Arijit Basu 9747c8667b Autocomplete the relative path while renaming
By default, while renaming a file, autocomplete the relative path i.e.
the filename instead of the absolute path in the input buffer.
3 years ago
Arijit Basu 86c27d4eed
Try fixing CD pipeline 2 3 years ago
Arijit Basu 5f791406ce Try fixing CD pipeline 1 3 years ago
Arijit Basu 67f2094a4c Autorefresh, BashExec and basename
- Auto `Refresh` every second.
- Add alias `BashExec` to message `Call` with args [`-c`, `bash` ...].

Also, Create alias `BashExec` to message `Call` with arguments [`bash`, `-c`]
3 years ago