Commit Graph

182 Commits

Author SHA1 Message Date
Daniel Hahler b92462ff2d tests: simplify ZDOTDIR setup, remove base
This makes it easier to run tests without providing ZDOTDIR.
2017-12-16 00:22:26 +01:00
Daniel Hahler 016426207c Add requirements to README
Zsh version 4.3.10 introduced the `:a` and `:A` modifiers that are used.

[ci skip]
2017-12-15 23:34:53 +01:00
Daniel Hahler f9112d7459
tests: cleanup test_full (#86)
Changes tests/varstash_export.t to use `$TESTSHELL` provided by cram.
2017-12-15 23:24:12 +01:00
Daniel Hahler 76e387c766
Travis: actually use different ZDOTDIRs (#83) 2017-12-15 23:11:20 +01:00
Daniel Hahler 51c7421f10
_autoenv_hash_pair: do not use a subshell (#81)
As a side-effect this should fix
https://github.com/Tarrasch/zsh-autoenv/issues/39 in case it was still
an issue after all.
2017-12-15 15:59:11 +01:00
Rob Speed 84bb32a403 FIX: Compatibility with macOS/FreeBSD (#82)
Removed use of `sed` due to its behavior differing between GNU Coreutils and FreeBSD.
2017-12-15 15:58:39 +01:00
Daniel Hahler f542734c08
Travis: sudo=false, language=generic (#74) 2017-12-14 01:19:50 +01:00
Daniel Hahler bba8f04258
minor: fix doc / improve debug logging (#80) 2017-12-14 01:18:44 +01:00
Daniel Hahler 468fa71d15
Fix tests: match $CRAMTMP more losely (#78)
Fixes https://github.com/Tarrasch/zsh-autoenv/issues/76.
2017-12-14 00:53:53 +01:00
Daniel Hahler d6bfdff968
Fix (auto)unstashing when being sourced from a subdir (#79)
Fixes https://github.com/Tarrasch/zsh-autoenv/issues/77.
2017-12-14 00:53:25 +01:00
Daniel Hahler 9074633a29 README: recipes: fix "Environment file for all project" to use :a
Ref: https://github.com/Tarrasch/zsh-autoenv/pull/73
2017-11-02 02:42:26 +01:00
Rob Speed 7e0d027b21 _autoenv_get_file_upwards: do not dereference symlinks (#73)
This prevents issues where autoenv scripts use $0. When a shell enters the directory holding the autoenv scripts, it works as expected with $0 being the path to the symlink. However, if the shell enters one of its child directories the path to the script is dereferenced, and $0 is instead the path to the symlink's target.

From `man 1 zshexpn`:

> A – Turn a file name into an absolute path as the 'a' modifier does, and then pass  the  result  through  the  realpath(3) library function to resolve symbolic links.

Note: Symlinks are dereferenced elsewhere for authorization, so that behavior is unchanged.
2017-11-02 02:40:45 +01:00
Daniel Hahler 2db6d69774 Merge pull request #71 from blueyed/minor
Minor code cleanup/optimization
2017-10-18 00:32:08 +02:00
Daniel Hahler bdc6967fc9 Set varstash_dir for "leave" event (#72)
Fixes https://github.com/Tarrasch/zsh-autoenv/issues/45.
2017-10-18 00:31:43 +02:00
Daniel Hahler 3258f584ec Cleanup README (#70)
Fix issues reported by mdl and remove the unnecessary bitdeli badge.
2017-10-18 00:29:43 +02:00
Daniel Hahler bcfdd75382 _autoenv_source: grep for unstash also
Just for consistency.
2017-08-19 15:39:59 +02:00
Daniel Hahler e0fc4bb58a Better fix for return value of _autoenv_source
Follow up to 8763a5b.
2017-08-19 14:50:20 +02:00
Daniel Hahler 4b1cae055d Minor code cleanup/optimization 2017-08-19 14:28:03 +02:00
Daniel Hahler c3afdc151f Improve debug logging in _autoenv_chpwd_handler (#57) 2017-08-19 13:55:35 +02:00
Daniel Hahler b0d5ff456f minor: doc; improve autostash check 2017-08-18 16:20:51 +02:00
Daniel Hahler 32598b5850 Minor cleanup 2017-08-18 15:27:32 +02:00
Daniel Hahler 0f92983d1e Add autoenv-edit function to edit current env files (#68) 2017-08-11 14:15:46 +02:00
Daniel Hahler aa140ac2a0 _autoenv_get_file_upwards: handle relative paths (#67)
If `$look_from` is `.` the resulting file path will be relative.
2017-08-11 10:33:40 +02:00
Daniel Hahler b90d2c4f80 _autoenv_get_file_upwards: handle relative paths
If `$look_from` is `.` the resulting file patch will be relative.
2017-08-11 10:27:20 +02:00
Daniel Hahler 9ecb91480d README: improve recipe for virtualenv auto-activation
- check that VIRTUAL_ENV is non-empty, which might happen when
`deactivate` was called already.
- perform directory name abbreviation on the virtualenv path.
2017-05-24 18:02:49 +02:00
Daniel Hahler 4aeb48a02e Fix use of local in while loop. (#66)
For some reason it did not fail on Travis when only pushing the test
first?!

Also adds punctuation to already-stashed msg.
2017-05-16 22:58:25 +02:00
Daniel Hahler 738e6e965d AUTOENV_DEBUG=3 sets xtrace while sourcing; doc (#65) 2017-04-30 14:14:25 +02:00
Daniel Hahler 3a19a22140 Fix recipe: ensure that extendedglob is set (#64) 2017-04-27 22:39:52 +02:00
Daniel Hahler 435f54761b Merge pull request #63 from blueyed/varstash-fixes
Varstash fixes
2017-04-27 20:19:17 +02:00
Daniel Hahler e454d1af37 minor: sync lib/varstash 2017-04-26 21:51:26 +02:00
Daniel Hahler d09b85cc0a lib/varstash: simplify stash for Zsh 2017-04-26 21:51:11 +02:00
Daniel Hahler c018ad8e66 lib/varstash: fix handling of exported vars with Zsh 5.3+
Upstream PR: https://github.com/cxreg/smartcd/pull/51
2017-04-26 21:50:11 +02:00
Daniel Hahler 3fc024eced README: add Recipes section with .venv activation (#58) 2017-04-24 00:41:27 +02:00
Daniel Hahler 0169704cdb tests: fixes for noclobber (#62) 2017-04-23 22:11:55 +02:00
Daniel Hahler e4f63b1271 Makefile: allow to pass in TEST_SHELL (#60) 2017-04-23 14:26:22 +02:00
Daniel Hahler 41e0daa35f tests: test_autoenv_add_to_env: create auth file parent dir (#59)
This is required when running single test files, e.g. only cwd.t.
2017-04-23 14:24:17 +02:00
Rob Speed dfb5648505 Automatically upgrade v1 hashes (SHA-1) to v2 (`cksum`) (#55)
A new parameter is added to `_autoenv_hash_pair` to specify the version, defaulting to the latest (2). It outputs a `cksum`-based hash for version 2 and `shasum`-based for version 1.
Moves logic to check for an entry in `$AUTOENV_AUTH_FILE` into its own function (`_autoenv_authorized_pair`), as it may need to be called twice.
Modifies `_autoenv_authorized_env_file` to check for v1 entries when v2 fails.

Fixes #53. Alternative implementation to #54.
2017-01-10 12:07:39 +01:00
Daniel Hahler 398b6f4f54 Use cksum instead of sha1sum for checksums (#54)
This provides better performance, but requires you to re-authenticate all files.

Fixes https://github.com/Tarrasch/zsh-autoenv/issues/53.
2017-01-05 01:16:21 +01:00
Daniel Hahler 448ceefd3a _autoenv_hash_pair: use sha1sum (C) instead of shasum (Perl) (#52)
This improves performance.
2016-12-15 16:36:35 +07:00
Arash Rouhani 0ad53b6ee6 Better ~/.env_auth deprecation hint (#51)
Don't print the dot so it's easier to copy and paste.
2016-11-29 16:50:32 +01:00
Daniel Hahler d51b8ecccc Add a test for autostashing aliases (#44)
Ref: https://github.com/Tarrasch/zsh-autoenv/issues/43
2016-11-29 21:46:50 +07:00
Daniel Hahler 998c09addd Create path to non-existing auth file (#49)
This changes the tests to have the auth file in a non-existing subdir
always, as with `$HOME/.local/share` not being there already.

Fixes https://github.com/Tarrasch/zsh-autoenv/issues/48.
2016-06-16 01:45:25 +02:00
wikibootup 0e878b9913 add zplug usage (#46) 2016-05-27 09:33:06 +07:00
Daniel Hahler ecf2b2961f Only source varstash lib if it's being used
I have noticed that `autostash` called an (accidentally)
defined/overwritten `stash` function.

While it's not possible to put this into a local scope, this will at
least make it less polluting by default (when autostashing is not used).

Additionally we could source it always (not just once), but then it
would only re-overwrite the function.

A better fix would be to prefix the functions explicitly, e.g.
`autoenv_autostash` etc.

Closes https://github.com/Tarrasch/zsh-autoenv/pull/42.
2016-04-28 20:44:05 +02:00
Daniel Hahler f021750e89 _autoenv_ask_for_yes: handle/catch Ctrl-C and return 2016-03-06 20:27:15 +01:00
Daniel Hahler 8a80ba7f02 Quote assignments to pair/parent_file 2016-03-06 20:26:48 +01:00
Daniel Hahler 20046b46ba Add comment for "autoenv_debug: fix error with Zsh 5.0.5" 2015-11-18 19:28:37 +01:00
Daniel Hahler 6a91336b01 Makefile: test_full: use exit instead of return 2015-11-18 19:25:34 +01:00
Daniel Hahler b68bedc562 Add tests/ZDOTDIR.shwordsplit 2015-11-18 19:25:07 +01:00
Daniel Hahler 1220d246b0 _autoenv_debug: fix error with Zsh 5.0.5
> _autoenv_debug:local:1: not valid in this context: handler:

Fixes https://github.com/Tarrasch/zsh-autoenv/issues/38.
2015-11-18 19:23:05 +01:00