Commit Graph

160 Commits

Author SHA1 Message Date
Ajeet D'Souza
1075ba5a50
Speed up imports (#203) 2021-05-04 11:45:28 +05:30
Ajeet D'Souza
6d3cb4bc99 Rename variables 2021-05-04 02:42:43 +05:30
XyLyXyRR
ef63b555a0
Add shell completions (#200) 2021-05-04 02:33:23 +05:30
Ajeet D'Souza
027ae1df47
Multi-select for zoxide remove -i (#192) 2021-04-29 01:31:00 +05:30
Ajeet D'Souza
0eb4418fd6
_ZO_EXCLUDE_DIRS should default to "$HOME" (#194) 2021-04-29 01:24:25 +05:30
Ajeet D'Souza
697afe7ba6
Fix return values in Bash hook (#196) 2021-04-29 01:23:43 +05:30
Ajeet D'Souza
5cb091d30a
Performance improvements for queries (#185) 2021-04-16 15:31:11 +05:30
Ajeet D'Souza
1828414f21
Add manpage (#183) 2021-04-15 19:17:15 +05:30
Ajeet D'Souza
acc9059177
Fix cd - on fish (#179) 2021-04-13 01:57:36 +05:30
Ajeet D'Souza
6248f539db
Add support for Elvish (#174) 2021-04-09 00:05:42 +05:30
Ajeet D'Souza
0b7b29e0e8
Make z exclude current directory (#173) 2021-04-04 20:06:44 +05:30
Ajeet D'Souza
d9c0584aac
Add support for Nushell (#164) 2021-03-31 22:15:43 +05:30
Ajeet D'Souza
a9a8948d3b
Fix CI (#161) 2021-03-29 21:14:30 +05:30
Ajeet D'Souza
22d19a74b2
Use /dev/null on Unix shells (#152) 2021-03-01 11:40:10 +05:30
Ajeet D'Souza
1a5d14a825
Handle write errors gracefully (#143) 2021-01-30 03:06:18 +05:30
Ajeet D'Souza
dcdcec4a78
Use zero copy deserialization (#138) 2021-01-08 20:45:47 +05:30
Ajeet D'Souza
eeaf8af202
Forcibly disable backtraces (#130) 2020-12-13 11:15:01 +05:30
Ajeet D'Souza
418b82524b
Start fish in an isolated env (#128) 2020-12-13 10:56:51 +05:30
Ajeet D'Souza
14b150c1f7 Run shell tests in a clean env 2020-12-10 12:00:10 +05:30
Ajeet D'Souza
e6e67b16bc Use Nix for testing 2020-11-14 11:35:47 +05:30
Ajeet D'Souza
58bcbef7aa Split tests 2020-11-11 01:06:40 +05:30
Ajeet D'Souza
c82ef66fac Release v0.5.0 2020-10-31 00:22:09 +05:30
Ajeet D'Souza
9dd1679e5a Run CI on Windows 2020-10-27 01:47:10 +05:30
Ajeet D'Souza
5c3af59ba6 Add interactive query/remove and import 2020-10-27 00:11:40 +05:30
Ajeet D'Souza
bc17c25cf6 Clobber conflicting definitions in shells 2020-10-25 01:01:18 +05:30
Cole Helbling
c0a1a78c29
fix init script generation (#112) 2020-10-20 23:33:38 +05:30
Ajeet D'Souza
20d62524bf Improve error handling on Xonsh 2020-10-20 23:29:28 +05:30
Ajeet D'Souza
314050f090 Use u64 for Epoch 2020-10-20 11:46:39 +05:30
Ajeet D'Souza
aca2477b68 Split crates 2020-10-18 14:52:13 +05:30
Ajeet D'Souza
eaf63bcc69 Fix clippy lints 2020-10-02 10:35:33 +05:30
Ajeet D'Souza
f230e75559 Avoid removing currently inaccessible directories 2020-09-18 01:00:37 +05:30
Ajeet D'Souza
5cfcd79c39 Support globs in _ZO_EXCLUDE_DIRS 2020-09-16 02:50:58 +05:30
Ajeet D'Souza
f4525db02f Rewrite init commands 2020-09-16 02:21:28 +05:30
Ajeet D'Souza
45b8ddb714 Call _zoxide_hook last in function list 2020-08-15 02:20:50 +05:30
Tom Moulard
abe049d5f4
Prevent zoxide from changing $? in $PROMPT_COMMAND 2020-08-14 22:26:25 +05:30
Greedwolf DSS
f6522d1cf8
fix: fish pwd usage (#92) 2020-07-04 13:28:42 +05:30
Ajeet D'Souza
1bc0454f84 Update dependencies 2020-07-03 23:06:24 +05:30
Anthony Ruhier
d49a2c1495 Add _ZO_RESOLVE_SYMLINKS to resolve or not symlinks (#85)
Fixes #80.

Disable by default the symlinks resolution, making a symlink and its
target 2 different entries in the database. Adds the
_ZO_RESOLVE_SYMLINKS env variable to re-enable it.

Example:
  /tmp/foo-target is a directory
  /tmp/foo symlinks to /tmp/foo-target

With _ZO_RESOLVE_SYMLINKS=1, `z add /tmp/foo` adds `/tmp/foo-target` in the database.

With _ZO_RESOLVE_SYMLINKS=0 or unset, `z add /tmp/foo` adds `/tmp/foo` in the database.
2020-07-03 12:12:47 +05:30
Ajeet D'Souza
c5bc49884d Fix imports 2020-07-03 12:12:47 +05:30
Ajeet D'Souza
11ba2af20e Rename $result to $_zoxide_result 2020-07-03 12:12:05 +05:30
Ajeet D'Souza
ba13b45940 Add --score flag to show score with query result 2020-06-28 00:12:49 +05:30
Ajeet D'Souza
19bac0b31a Add option to list all query results 2020-06-28 00:11:43 +05:30
Ajeet D'Souza
e8eb685e58 Add _ZO_FZF_OPTS to specify fzf options 2020-06-28 00:11:43 +05:30
Ajeet D'Souza
d8a29f4367 Fix zi function 2020-06-28 00:11:42 +05:30
Ajeet D'Souza
9b056fb58c Removed help menus for z and zri functions 2020-06-28 00:10:35 +05:30
Ajeet D'Souza
e1c1570174 Change zri to a shell function 2020-06-28 00:03:36 +05:30
Louis Feuvrier
5c107c23cf
Rename $result to $_zoxide_result to avoid conflicts (#87) 2020-06-27 14:27:39 +05:30
Stavros Korokithakis
1ce74baf3b
Increase the _ZO_MAXAGE default (#84) 2020-06-08 13:14:36 +05:30
Ajeet D'Souza
eaf6ef5900 Minor refactor 2020-05-25 00:39:27 +05:30
Ajeet D'Souza
edf3c68a7c Avoid long variable names 2020-05-16 18:23:38 +05:30
Ajeet D'Souza
dad0f60b28 Use util::path_to_str for path conversions 2020-05-16 17:59:21 +05:30
Ajeet D'Souza
208a6a9eb8 Convert paths to String 2020-05-16 17:31:11 +05:30
Ajeet D'Souza
efd615b910 Optimize query algorithm 2020-05-15 19:40:54 +05:30
Ajeet D'Souza
0c1143fe34 Remove streaming serde for database 2020-05-15 18:13:24 +05:30
Jason Shirk
5cdd8fd599
Add support for PowerShell (#65) 2020-05-06 11:33:06 +05:30
Ajeet D'Souza
0c3a8a79c3 Remove compatibility with v0.2.x databases 2020-05-04 01:09:01 +05:30
Ajeet D'Souza
0e936fede1 Rename --no-define-aliases flag to --no-aliases 2020-05-03 18:09:54 +05:30
Ajeet D'Souza
e0572a4569 Rename --z-cmd flag to --cmd 2020-05-03 15:15:40 +05:30
Fredrik Sommar
f19aa07145
Aliases respect the z-cmd arg (#70)
When changing the z-cmd to something like `j` instead, the aliases will also use `j` as a prefix, e.g. `ji`, `ja`.
2020-05-03 14:58:01 +05:30
Ajeet D'Souza
4731533352 $_ZO_ECHO must be set to 1 to be enabled 2020-05-03 02:42:42 +05:30
Ajeet D'Souza
e4dae1dd54 Improve interactive mode in zoxide remove 2020-05-03 02:12:58 +05:30
Ajeet D'Souza
f94d1375a8 Properly quote paths in POSIX 2020-05-02 21:57:46 +05:30
Ajeet D'Souza
7532fe98d8 Add PWD hook for POSIX shells 2020-05-02 16:31:53 +05:30
Ajeet D'Souza
7eed1ed9c3 Switch default hook to PWD. 2020-05-02 01:25:57 +05:30
Cole Helbling
58969e22a2
Fix cding home when no matching directory in fish (#64)
Fix `cd`ing into `$HOME` when no match is found in `fish` shell
2020-04-11 10:09:34 +05:30
Ajeet D'Souza
0d860503ae Remove unnecessary derive 2020-04-11 03:00:50 +05:30
Jason Shirk
a4b202f9da
Canonicalize to regular paths instead of UNC paths on Windows 2020-04-10 00:13:16 +05:30
Ajeet D'Souza
56218f35d3 Interactive mode for zoxide remove 2020-04-06 08:41:28 +05:30
Ajeet D'Souza
b21dbefa22 Don't show error if fzf exits gracefully 2020-04-05 22:31:32 +05:30
Ajeet D'Souza
2f73465d8d Saving DB should clear the modified flag 2020-04-05 21:39:21 +05:30
Ajeet D'Souza
342954cda0 Performance improvements 2020-04-05 20:44:23 +05:30
Ajeet D'Souza
ede121ef8b Add flag to change z command 2020-04-03 12:03:38 +05:30
Ajeet D'Souza
d3e49bde66 Remove 'query: ' prefix from 'zoxide query' 2020-04-03 02:22:50 +05:30
Ajeet D'Souza
fdf46d34b9 Check for top-level directory match 2020-04-03 02:20:59 +05:30
Cole Helbling
1e333dfb33
Show commit hash in version number 2020-04-01 03:24:45 +05:30
Ajeet D'Souza
9d0222383f Style nits 2020-03-30 06:49:41 +05:30
Ajeet D'Souza
3c7d100ab1 Guarantee unique file names for temporary database 2020-03-30 03:32:21 +05:30
Ajeet D'Souza
78a3d0a3d9 Remove indoc dependency 2020-03-30 03:32:21 +05:30
Cole Helbling
9af0251bd6 Rework database fallback for v0.3 (#47)
Support migration from old database
2020-03-30 03:32:21 +05:30
Ajeet D'Souza
d4c8297f9b Use UUID4 for temporary database file name 2020-03-30 03:32:21 +05:30
Ajeet D'Souza
057ed96c0a Refactor DB architecture 2020-03-30 03:32:21 +05:30
Cole Helbling
1190106849 Implement _ZO_EXCLUDE_DIRS
_ZO_EXCLUDE_DIRS is a list of paths (separated by colons, `:`, on
Unix-based systems, and semicolons, `;`, on Windows) that should be
excluded from the database. Example:

    _ZO_EXCLUDE_DIRS="$HOME:$HOME/something/super/secret:$HOME/caused/by/background/cds"
2020-03-30 03:32:21 +05:30
Ajeet D'Souza
f29b642ffc Remove FIXME 2020-03-30 03:32:21 +05:30
Ajeet D'Souza
d4fb1a05cf Manually parse environment variables 2020-03-30 03:32:21 +05:30
Ajeet D'Souza
5547fb4b80 Rename migrate command to import 2020-03-30 03:31:22 +05:30
Ajeet D'Souza
76dfaad9a1 Set max DB size to 8 MiB 2020-03-30 03:30:12 +05:30
Ajeet D'Souza
890185176e Store paths as PathBuf rather than String 2020-03-30 03:30:12 +05:30
Ajeet D'Souza
857e15c65f Remove conversion to i64 when sorting 2020-03-30 03:30:12 +05:30
Ajeet D'Souza
5d709bded5 Remove i32 conversion from fzf helper 2020-03-30 03:30:12 +05:30
Cole Helbling
dc5f965b0c
Add POSIX shell support (#43)
Add POSIX shell support

Any users of a shell that adheres to the POSIX standard should now be
supported. Shells that were tested while this feature was in development
include `mrsh`, `dash`, busybox `ash`, and `bash --posix`.

The hook works by defining a `_zoxide_hook` function and adding it to
the shell's `PS1` (causing it to be evaluated every time the prompt is
redrawn).

The PWD hook has been removed, because it is impossible to implement in
a POSIX-compliant and satisfactory way.
2020-03-30 03:24:37 +05:30
Ajeet D'Souza
b3470de799 Remove flock 2020-03-17 13:05:10 +05:30
Ajeet D'Souza
03e8cd47a2 Fix exit codes in z and fzf 2020-03-17 12:34:53 +05:30
Ajeet D'Souza
146e5709fb Fix exit codes in 'z' command 2020-03-16 14:26:59 +05:30
Ajeet D'Souza
a5369beaa4 Prepare for release v0.2.1 2020-03-16 00:08:28 +05:30
Cole Helbling
083a834310
Allow merging when migrating from z (#33)
If the user passes the `--merge` flag to the `migrate` subcommand, all
duplicate entries will have their ranks and epochs updated: the rank
will be the sum of the stored rank and the newly-parsed rank, while the
epoch will be the maximum of the stored epoch and the newly-parsed
epoch.

This allows one to import from the `z` database even after having used
`zoxide` for any amount of time. This also permits a user who has
already sourced the init script to import their old database without
needing to do something like `rm ~/.zo && zoxide migrate ~/.z`.
2020-03-15 23:48:59 +05:30
Ajeet D'Souza
f4cd1159c5 Add $_ZO_ECHO to echo match before navigating 2020-03-15 17:55:54 +05:30
Ajeet D'Souza
eb21727868 Use envy to parse environment variables 2020-03-13 14:12:20 +05:30
Ajeet D'Souza
41aabccb8f Add PWD hook for bash + fish 2020-03-13 07:09:21 +05:30
Ajeet D'Souza
9c8e8da71a Refactor + support PWD hook for zsh 2020-03-13 06:19:37 +05:30
Cole Helbling
4596716cc8
Migrate from z database (#29)
Migrate from `z` database

The new `migrate` subcommand takes in a path to the old `z` database and
naively parses it to add to the database. The command will fail if the user already has a database, so as to prevent tainting it in any way.
2020-03-13 05:15:06 +05:30