Commit Graph

233 Commits

Author SHA1 Message Date
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
2021-04-09 12:07:19 +05:30
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.
2021-04-09 11:57:24 +05:30
Arijit Basu
a68fec0c11
No need to clone selection 2021-04-09 10:56:39 +05:30
Arijit Basu
b50ce48264
Revert "Optimize the main thread"
This reverts commit 097c9dd8c5.

Queued tasks might create unexpected issues. We need a test suit first.
2021-04-09 10:54:20 +05:30
Arijit Basu
097c9dd8c5 Optimize the main thread 2021-04-09 10:51:48 +05:30
Arijit Basu
b9e9601a71
Fix failed build and update version 2021-04-09 08:21:30 +05:30
Arijit Basu
b5986c59d6 Fix logs for being written in the pipe
Don't depend on `Refresh`, always write to the pipes.
2021-04-09 08:06:32 +05:30
Arijit Basu
2b0572228d
Draw once
Draw on the terminal only once i.e. when `Refresh`ing.
2021-04-09 07:18:47 +05:30
Arijit Basu
ededb49bd4
Fix the help menu
`esc` no longer exits from the `default` mode.
2021-04-09 07:00:56 +05:30
Maxim Baz
70a3794857 Fix symlink support
canonicalize() and metadata() both resolve symlinks, thus showing symlinks as regular files
2021-04-09 06:43:58 +05:30
Arijit Basu
c06a3cb51e
Update version 2021-04-09 04:19:26 +05:30
Arijit Basu
6d0ea06d7b Add pwd watcher
Also optimize the main thread.
2021-04-09 04:19:44 +05:30
Arijit Basu
0a3cf7b5c1
Update version 2021-04-09 01:29:38 +05:30
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.
2021-04-09 01:12:26 +05:30
Arijit Basu
1e7e2ecc2f Add :e for "open in editor" 2021-04-08 18:48:29 +05:30
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.
2021-04-08 14:44:10 +05:30
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.
2021-04-08 08:01:10 +05:30
Arijit Basu
e2b49ab4fd Display help menu using $PAGER
Also, use `open` to open files when `xdg-open` is missing.
2021-04-08 08:00:44 +05:30
Arijit Basu
45a95a792d Clear screen before exit 2021-04-08 07:42:31 +05:30
Arijit Basu
91a319fc80
Update version 2021-04-07 19:57:25 +05:30
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.
2021-04-07 19:22:33 +05:30
Arijit Basu
7661019fd9 Make dir colors cyan
Fixes: https://github.com/sayanarijit/xplr/issues/11
2021-04-07 18:43:22 +05:30
Arijit Basu
23b51cf8fe
Fix failed build and re-publish 2021-04-07 03:06:47 +05:30
Arijit Basu
2bd2b743fb
Fix renaming 2021-04-07 02:42:20 +05:30
Arijit Basu
a484c2fd39
Update default.nix 2021-04-07 02:14:43 +05:30
Arijit Basu
e34755b11b Update version
Also fix nix hash
2021-04-07 01:59:02 +05:30
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
2021-04-07 01:59:02 +05:30
Arijit Basu
65ddb0ee4b
Release 0.3.2 2021-04-06 18:55:57 +05:30
Arijit Basu
53fd92b680 Fix debug formatting 2021-04-06 18:33:59 +05:30
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`.
2021-04-06 18:23:19 +05:30
Arijit Basu
0272284f40
Fix print formatting 2021-04-06 17:40:16 +05:30
Quentin Guilloteau
a9309a52c0 add comment to remind to update the version in the default.nix file 2021-04-06 16:59:58 +05:30
Arijit Basu
175699ac63
Expose $XPLR_PIPE_MODE_OUT
Also, add new line character to `$XPLR_PIPE_MODE_OUT` and
`$XPLR_FOCUS_PATH` for consistency.
2021-04-06 07:52:37 +05:30
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.
2021-04-06 06:43:51 +05:30
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.
2021-04-05 20:28:35 +05:30
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.
2021-04-05 13:50:53 +05:30
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`]
2021-04-05 12:51:31 +05:30
Arijit Basu
dba8631911 Add CI/CD gh actions
Mostly stolen from https://github.com/Rigellute/spotify-tui.
2021-04-05 12:32:40 +05:30
Arijit Basu
8dae2fef4d
Add native support for renaming 2021-04-04 16:47:03 +05:30
Arijit Basu
2f409a2117
Add support for :{number} like vim 2021-04-04 15:47:14 +05:30
Arijit Basu
2432673483
Log error if command fails 2021-04-04 15:18:13 +05:30
Arijit Basu
b03618737c
Remove skim from dependency 2021-04-04 11:56:44 +05:30
Arijit Basu
4d2caf512e
Log explorer errors 2021-04-04 10:05:52 +05:30
Arijit Basu
e93e815bc4
Add upgrade instructions for incompatibility error 2021-04-04 09:17:53 +05:30
Arijit Basu
a11dca5a1c
Finish documenting the messages 2021-04-04 08:54:42 +05:30
Arijit Basu
b98812fe06
Fix "Input" case 2021-04-03 21:38:09 +05:30
Arijit Basu
500f15bd32
Make UI lowercase 2021-04-03 21:35:50 +05:30
Arijit Basu
1b1cd393bc
Document a little 2021-04-03 15:27:15 +05:30
Arijit Basu
af8a637030
Logging, testing and other improvements 2021-04-03 11:32:05 +05:30
Arijit Basu
71a23e1f64
Implement native search and filter 2021-04-03 06:49:59 +05:30
Arijit Basu
7cbb9d2baf
Saner key bindings 2021-04-02 19:56:18 +05:30
Arijit Basu
c0ca596539
Fix create mode, refactor readers, fix init focus 2021-04-02 18:03:56 +05:30
Arijit Basu
3990200232
Anyhow handle errors 2021-04-02 17:11:18 +05:30
Arijit Basu
56d63a2316
Move, Copy, Create, Delete 2021-04-02 16:12:10 +05:30
Arijit Basu
eb6bc6b6be
Minor buggy improvements 2021-04-02 09:28:20 +05:30
Arijit Basu
107211a69c
Add ctrl-c handler 2021-04-02 07:53:13 +05:30
Arijit Basu
f43ba87a2b
Finish Selected -> Selection renaming 2021-04-02 07:45:00 +05:30
Arijit Basu
8a6da63936
Rename selected -> selection 2021-04-02 07:40:51 +05:30
Arijit Basu
b70682ecb5
Fix term resize handler 2021-04-02 05:59:56 +05:30
Arijit Basu
54b6a8e4da
Minor fix 2021-04-01 22:39:29 +05:30
Arijit Basu
2c56b80fde
Minor fixes 2021-04-01 22:34:12 +05:30
Arijit Basu
f176655325
Some improvements and cleanup 2021-04-01 19:34:45 +05:30
Arijit Basu
341d11a0f3
Fix pipes config 2021-04-01 16:24:03 +05:30
Arijit Basu
c066201777
Read config from file 2021-04-01 15:28:32 +05:30
Arijit Basu
3572d26b95
Too big of a rewrite 2021-04-01 15:17:24 +05:30
Arijit Basu
98920637f9
Number input 2021-03-15 14:49:30 +05:30
Arijit Basu
53b18ae8f4
Use # instead of ? to debug app 2021-03-14 10:54:58 +05:30
Arijit Basu
d5bfe6630f
Use app.task instead of separate variables 2021-03-13 15:31:25 +05:30
Arijit Basu
21e4a178c7
Fix escaping relative path
Either escape or quote. Don't do both at once.
2021-03-09 14:43:43 +05:30
Arijit Basu
d3f88a1fa5
Display mode in help menu title 2021-03-06 10:11:59 +05:30
Arijit Basu
096489dee4
Use "esc" instead of "escape" 2021-03-04 20:50:33 +05:30
Arijit Basu
669151c70e
Show help menu 2021-03-04 20:12:47 +05:30
Arijit Basu
7beaec1763
Easier key handling 2021-03-04 11:42:32 +05:30
Arijit Basu
8221140756
Refresh after running command 2021-03-03 20:55:01 +05:30
Arijit Basu
044b7860a1
Fixed fzf search added pwd shell option
Now I can finally use it to replace nnn
2021-03-03 00:15:21 +05:30
Arijit Basu
980fb8728a
Editor fix 2021-03-02 16:16:55 +05:30
Arijit Basu
03fffd19e2
Minor fixes 2021-03-02 16:07:02 +05:30
Arijit Basu
df8c03ce2d
Add shell words escaper 2021-03-02 15:35:33 +05:30
Arijit Basu
2e551ce38d
Support for command action 2021-03-02 14:24:43 +05:30
Arijit Basu
758f362fee
Lazy programmer hack for key bindings 2021-03-02 09:07:48 +05:30
Arijit Basu
720ba38b4d
Some important fix (don't look) 2021-03-02 08:42:35 +05:30
Arijit Basu
41713f9aff
Basically working now. 2021-03-01 21:58:07 +05:30
Arijit Basu
f9c3edee06
Not yet doing what it's supposed to 2021-03-01 16:53:04 +05:30