Commit Graph

155 Commits

Author SHA1 Message Date
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 `cd`ing 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
Ajeet D'Souza 65b37082b6 Add DB save to Drop trait 2020-03-12 23:07:50 +05:30
Ajeet D'Souza e847847713 Fix spacing in z output 2020-03-12 01:04:52 +05:30
Ajeet D'Souza ba5efffd24 Merge branch 'master' into v0.2.0 2020-03-11 04:42:28 +05:30
Ajeet D'Souza 15b30206df Add 'z -' capability to bash and zsh 2020-03-11 01:58:40 +05:30
Ajeet D'Souza 34ab8f3f8b Add --no-define-aliases flag to zoxide init 2020-03-11 01:23:49 +05:30