Commit Graph

157 Commits

Author SHA1 Message Date
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
Daniel Hahler 489bbb46fd README: add direnv to 'Related projects' 2015-11-12 22:30:55 +01:00
Daniel Hahler aee9baa418 Merge pull request #36 from blueyed/fix-api-vars-scope
Cleanup API/vars for enter/leave events
2015-10-10 22:35:41 +02:00
Daniel Hahler 42d8bc9db6 Merge pull request #37 from blueyed/limit-autoenv_source_parent
Allow to limit `autoenv_source_parent`'s upward recursion
2015-10-10 22:35:28 +02:00
Daniel Hahler eebdce22df Allow to limit `autoenv_source_parent`'s upward recursion
This allows to use `autoenv_source_parent ..` to only look in the parent
directory.
2015-10-09 22:16:07 +02:00
Daniel Hahler 961190678e Cleanup API/vars for enter/leave events
The variables are local now, which makes them being handled correctly
when calling `autoenv_source_parent`.
Without this, a call to `autoenv_source_parent` overwrites the values in
the current scope.
2015-10-09 22:04:55 +02:00
Daniel Hahler 58268b8da3 doc: fix appearance of AUTOENV_DEBUG in README 2015-09-18 14:48:57 +02:00
Daniel Hahler fadddf6502 Use shorter echo for newlines 2015-08-27 22:58:35 +02:00
Daniel Hahler 54b89914ff Use 'command cat'
Ref: https://github.com/Tarrasch/zsh-autoenv/pull/35#discussion_r38145031
2015-08-27 22:57:58 +02:00
Daniel Hahler 90d3b53505 Write _autoenv_check_authorized_env_file to stderr
stdout might be redirected, e.g. with "cd - >/dev/null", and this
message should appear in stderr probably anyway.

I've tried to add a test for this, by redirecting stdout in .zshenv, but
cram does not handle this well (and appears to redirect stderr to stdout
anyway).
2015-08-27 20:50:52 +02:00
Daniel Hahler 9a2660f939 Remove globals: _autoenv_source_dir, _autoenv_chpwd_prev_dir
The globals are not necessary and can cause problems with
AUTO_NAME_DIRS.

 - Use funcsourcetrace[1] instead of _autoenv_source_dir.
 - Use OLDPWD instead of _autoenv_chpwd_prev_dir.

Fixes #33.
2015-05-25 17:03:05 +02:00
Daniel Hahler e68a914487 Change default values: .env => .autoenv.zsh etc
This changes the defaults:
 - AUTOENV_FILE_ENTER:   .env       => .autoenv.zsh
 - AUTOENV_FILE_LEAVE:   .env_leave => .autoenv_leave.zsh

`.env` is usually used only for key-value pairs for environment
settings, e.g. with foreman.  We do not want to interfere with this.

This also renames the setting/variable AUTOENV_ENV_FILENAME to
AUTOENV_AUTH_FILE, and uses the [XDG
spec](http://standards.freedesktop.org/basedir-spec/basedir-spec-latest.html#variables)
for the default location.

The new default location for the auth file will be
~/.local/share/autoenv_auth.

When the old setting is used, or the previous default exists, a warning
is given with instructions.

Fixes https://github.com/Tarrasch/zsh-autoenv/issues/31.
Closes https://github.com/Tarrasch/zsh-autoenv/pull/32.
2015-05-22 17:20:06 +02:00
Daniel Hahler 631ea30440 README: clarify that it won't load any .env file 2015-05-14 01:36:33 +02:00
Daniel Hahler d6f37dbeb6 minor: doc for _autoenv_hash_pair 2015-05-09 18:25:32 +02:00
Arash Rouhani 12cfed6d3f Update README.md
blueyed: fixed some punctuation/grammar.

Closes https://github.com/Tarrasch/zsh-autoenv/pull/28.
2015-05-06 23:05:24 +02:00
Arash Rouhani 928a945e99 Merge pull request #27 from blueyed/add-doc
Huge update of the README (finally)
2015-05-06 21:24:28 +02:00
Arash Rouhani 335b71d58e Merge pull request #26 from blueyed/rename-env-leave
Change default for AUTOENV_FILE_LEAVE to .env_leave
2015-05-06 21:19:06 +02:00
Daniel Hahler 362c7fe00f Huge update of the README (finally) 2015-05-06 20:53:41 +02:00
Daniel Hahler b0e23d29fe Change default for AUTOENV_FILE_LEAVE to .env_leave
This does not use a fake file extension (`.leave`) like with
`.env.leave`.
2015-05-06 20:28:23 +02:00
Daniel Hahler 470841ac3c Unset $autoenv_env_file when leaving
This allows to use $autoenv_env_file e.g. in your prompt to see what
.env is being used.
2015-04-24 17:36:41 +02:00
Daniel Hahler fd54606830 tests: streamline ZDOTDIR layout, AUTOENV_ENV_FILENAME via setup
Without this, a new subshell would reset the env authentication file.
2015-04-24 17:33:09 +02:00
Daniel Hahler d62fbffad3 Do not export AUTOENV_ENV_FILENAME, and use existing value 2015-04-24 17:28:09 +02:00
Daniel Hahler bf1376fd8f travis: fix tests
- set SHELL=zsh
 - cd back for ZSH=5
 - fix/improve autoenv.plugin.zsh: no dirname, use ${0:h}
2015-04-23 21:52:25 +02:00
Daniel Hahler 473a0a32df travis: use 'sudo make' to fix zsh test
Build: https://travis-ci.org/Tarrasch/zsh-autoenv/jobs/59762278

Error:

   ./A04redirect.ztst: starting.
   *** /tmp/zsh.ztst.err.16143	Thu Apr 23 18:06:09 2015
   --- /tmp/zsh.ztst.terr.16143	Thu Apr 23 18:06:09 2015
   ***************
   *** 1 ****
   ! zsh:1: no such file or directory: /nonexistent/nonexistent
   --- 1 ----
   ! zsh:1: permission denied: /nonexistent/nonexistent
   Test ./A04redirect.ztst failed: error output differs from expected as shown above for:
     $ZTST_testdir/../Src/zsh -fc 'exec >/nonexistent/nonexistent
     echo output'
   Was testing: failed exec redir, no POSIX_BUILTINS
2015-04-23 20:24:30 +02:00
Daniel Hahler e6e906e6b9 Fix _autoenv_get_file_mtime for zsh 4 (no pipefail option) 2015-04-23 19:55:21 +02:00
Daniel Hahler b725b5da9b make test_full: use zsh 4 (/opt/zsh4/bin/zsh) and zsh 5 2015-04-23 19:54:44 +02:00