]>
Sergey Matveev's repositories - zsh-autoenv.git/log
Daniel Hahler [Sun, 23 Apr 2017 19:55:34 +0000 (21:55 +0200)]
lib/varstash: simplify stash for Zsh
Daniel Hahler [Sun, 23 Apr 2017 19:49:06 +0000 (21:49 +0200)]
lib/varstash: fix handling of exported vars with Zsh 5.3+
Upstream PR: https://github.com/cxreg/smartcd/pull/51
Daniel Hahler [Sun, 23 Apr 2017 22:41:27 +0000 (00:41 +0200)]
README: add Recipes section with .venv activation (#58)
Daniel Hahler [Sun, 23 Apr 2017 20:11:55 +0000 (22:11 +0200)]
tests: fixes for noclobber (#62)
Daniel Hahler [Sun, 23 Apr 2017 12:26:22 +0000 (14:26 +0200)]
Makefile: allow to pass in TEST_SHELL (#60)
Daniel Hahler [Sun, 23 Apr 2017 12:24:17 +0000 (14:24 +0200)]
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.
Rob Speed [Tue, 10 Jan 2017 11:07:39 +0000 (06:07 -0500)]
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.
Daniel Hahler [Thu, 5 Jan 2017 00:16:21 +0000 (01:16 +0100)]
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.
Daniel Hahler [Thu, 15 Dec 2016 09:36:35 +0000 (10:36 +0100)]
_autoenv_hash_pair: use sha1sum (C) instead of shasum (Perl) (#52)
This improves performance.
Arash Rouhani [Tue, 29 Nov 2016 15:50:32 +0000 (22:50 +0700)]
Better ~/.env_auth deprecation hint (#51)
Don't print the dot so it's easier to copy and paste.
Daniel Hahler [Tue, 29 Nov 2016 14:46:50 +0000 (15:46 +0100)]
Add a test for autostashing aliases (#44)
Ref: https://github.com/Tarrasch/zsh-autoenv/issues/43
Daniel Hahler [Wed, 15 Jun 2016 23:45:25 +0000 (01:45 +0200)]
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.
wikibootup [Fri, 27 May 2016 02:33:06 +0000 (11:33 +0900)]
add zplug usage (#46)
Daniel Hahler [Tue, 26 Apr 2016 18:07:33 +0000 (20:07 +0200)]
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.
Daniel Hahler [Sun, 6 Mar 2016 19:27:15 +0000 (20:27 +0100)]
_autoenv_ask_for_yes: handle/catch Ctrl-C and return
Daniel Hahler [Sun, 6 Mar 2016 19:26:48 +0000 (20:26 +0100)]
Quote assignments to pair/parent_file
Daniel Hahler [Wed, 18 Nov 2015 18:28:33 +0000 (19:28 +0100)]
Add comment for "autoenv_debug: fix error with Zsh 5.0.5"
Daniel Hahler [Wed, 18 Nov 2015 18:25:34 +0000 (19:25 +0100)]
Makefile: test_full: use exit instead of return
Daniel Hahler [Wed, 18 Nov 2015 18:25:07 +0000 (19:25 +0100)]
Add tests/ZDOTDIR.shwordsplit
Daniel Hahler [Wed, 18 Nov 2015 18:23:05 +0000 (19:23 +0100)]
_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.
Daniel Hahler [Thu, 12 Nov 2015 21:30:55 +0000 (22:30 +0100)]
README: add direnv to 'Related projects'
Daniel Hahler [Sat, 10 Oct 2015 20:35:41 +0000 (22:35 +0200)]
Merge pull request #36 from blueyed/fix-api-vars-scope
Cleanup API/vars for enter/leave events
Daniel Hahler [Sat, 10 Oct 2015 20:35:28 +0000 (22:35 +0200)]
Merge pull request #37 from blueyed/limit-autoenv_source_parent
Allow to limit `autoenv_source_parent`'s upward recursion
Daniel Hahler [Fri, 9 Oct 2015 20:13:36 +0000 (22:13 +0200)]
Allow to limit `autoenv_source_parent`'s upward recursion
This allows to use `autoenv_source_parent ..` to only look in the parent
directory.
Daniel Hahler [Fri, 9 Oct 2015 20:04:55 +0000 (22:04 +0200)]
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.
Daniel Hahler [Fri, 18 Sep 2015 12:48:57 +0000 (14:48 +0200)]
doc: fix appearance of AUTOENV_DEBUG in README
Daniel Hahler [Thu, 27 Aug 2015 20:58:35 +0000 (22:58 +0200)]
Use shorter echo for newlines
Daniel Hahler [Thu, 27 Aug 2015 20:57:56 +0000 (22:57 +0200)]
Use 'command cat'
Ref: https://github.com/Tarrasch/zsh-autoenv/pull/35#discussion_r38145031
Daniel Hahler [Thu, 27 Aug 2015 18:50:52 +0000 (20:50 +0200)]
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).
Daniel Hahler [Mon, 25 May 2015 15:01:43 +0000 (17:01 +0200)]
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.
Daniel Hahler [Thu, 21 May 2015 21:58:26 +0000 (23:58 +0200)]
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.
Daniel Hahler [Wed, 13 May 2015 23:36:33 +0000 (01:36 +0200)]
README: clarify that it won't load any .env file
Daniel Hahler [Sat, 9 May 2015 16:25:32 +0000 (18:25 +0200)]
minor: doc for _autoenv_hash_pair
Arash Rouhani [Wed, 6 May 2015 19:33:40 +0000 (21:33 +0200)]
Update README.md
blueyed: fixed some punctuation/grammar.
Closes https://github.com/Tarrasch/zsh-autoenv/pull/28.
Arash Rouhani [Wed, 6 May 2015 19:24:28 +0000 (21:24 +0200)]
Merge pull request #27 from blueyed/add-doc
Huge update of the README (finally)
Arash Rouhani [Wed, 6 May 2015 19:19:06 +0000 (21:19 +0200)]
Merge pull request #26 from blueyed/rename-env-leave
Change default for AUTOENV_FILE_LEAVE to .env_leave
Daniel Hahler [Wed, 6 May 2015 18:42:42 +0000 (20:42 +0200)]
Huge update of the README (finally)
Daniel Hahler [Wed, 6 May 2015 18:28:23 +0000 (20:28 +0200)]
Change default for AUTOENV_FILE_LEAVE to .env_leave
This does not use a fake file extension (`.leave`) like with
`.env.leave`.
Daniel Hahler [Fri, 24 Apr 2015 15:36:37 +0000 (17:36 +0200)]
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.
Daniel Hahler [Fri, 24 Apr 2015 15:33:09 +0000 (17:33 +0200)]
tests: streamline ZDOTDIR layout, AUTOENV_ENV_FILENAME via setup
Without this, a new subshell would reset the env authentication file.
Daniel Hahler [Fri, 24 Apr 2015 15:28:09 +0000 (17:28 +0200)]
Do not export AUTOENV_ENV_FILENAME, and use existing value
Daniel Hahler [Thu, 23 Apr 2015 19:52:25 +0000 (21:52 +0200)]
travis: fix tests
- set SHELL=zsh
- cd back for ZSH=5
- fix/improve autoenv.plugin.zsh: no dirname, use ${0:h}
Daniel Hahler [Thu, 23 Apr 2015 18:24:29 +0000 (20:24 +0200)]
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
Daniel Hahler [Thu, 23 Apr 2015 17:55:21 +0000 (19:55 +0200)]
Fix _autoenv_get_file_mtime for zsh 4 (no pipefail option)
Daniel Hahler [Thu, 23 Apr 2015 17:54:44 +0000 (19:54 +0200)]
make test_full: use zsh 4 (/opt/zsh4/bin/zsh) and zsh 5
Daniel Hahler [Thu, 23 Apr 2015 17:24:21 +0000 (19:24 +0200)]
travis: add zsh 4/5 to matrix
Daniel Hahler [Thu, 23 Apr 2015 15:58:53 +0000 (17:58 +0200)]
travis: fix env matrix (use a list)
Daniel Hahler [Thu, 23 Apr 2015 15:57:56 +0000 (17:57 +0200)]
Cleanup tests/varstash_export.t
Daniel Hahler [Thu, 23 Apr 2015 15:57:46 +0000 (17:57 +0200)]
varstash: fix get_autostash_array_name for Zsh 4.3.17 (Travis)
Daniel Hahler [Thu, 23 Apr 2015 15:38:01 +0000 (17:38 +0200)]
travis: use env test matrix for ZDOTDIR
Daniel Hahler [Thu, 23 Apr 2015 15:34:59 +0000 (17:34 +0200)]
travis: cleanup, output zsh version
Daniel Hahler [Thu, 23 Apr 2015 14:03:21 +0000 (16:03 +0200)]
tests: rename setup.sh to setup.zsh
Daniel Hahler [Thu, 23 Apr 2015 14:00:12 +0000 (16:00 +0200)]
tests: define/use $TEST_SOURCE_AUTOENV
This handled (re)loading autoenv for
ZDOTDIR=tests/ZDOTDIR.loadviafunction.
Daniel Hahler [Thu, 23 Apr 2015 13:30:42 +0000 (15:30 +0200)]
make test_full: handle error return code from cram
Daniel Hahler [Thu, 23 Apr 2015 13:27:39 +0000 (15:27 +0200)]
varstash: remove lib functions, use zsh functions
Daniel Hahler [Thu, 23 Apr 2015 13:11:40 +0000 (15:11 +0200)]
varstash: add support for exported variables in subshells
Daniel Hahler [Thu, 23 Apr 2015 13:11:05 +0000 (15:11 +0200)]
minor: doc
Daniel Hahler [Thu, 23 Apr 2015 12:40:26 +0000 (14:40 +0200)]
tests: setup.sh: export TEST_AUTOENV_PLUGIN_FILE
Daniel Hahler [Thu, 23 Apr 2015 12:39:36 +0000 (14:39 +0200)]
Fix return value of _autoenv_source; use ': $(( .. ))'
`(( foo++ ))` returns an error in case $foo is not defined.
Daniel Hahler [Sun, 15 Mar 2015 21:10:50 +0000 (22:10 +0100)]
Do not reset the stack variables when (re)sourcing the plugin
This is meant to keep the current state when re-sourcing the shell
config (`. ~/.zshrc`).
Closes https://github.com/Tarrasch/zsh-autoenv/pull/24
Arash Rouhani [Sun, 29 Mar 2015 10:46:43 +0000 (12:46 +0200)]
Merge pull request #25 from blueyed/set-errexit-during-setup
tests: setopt errexit during setup
Daniel Hahler [Sun, 15 Mar 2015 21:16:12 +0000 (22:16 +0100)]
tests: setopt errexit during setup
This is meant to prevent accidentally overwriting your auth file when
running / changing the tests.
Joe Block [Wed, 18 Feb 2015 15:30:43 +0000 (07:30 -0800)]
Add zgen instructions
Daniel Hahler [Mon, 26 Jan 2015 13:08:25 +0000 (14:08 +0100)]
Merge pull request #22 from Tarrasch/improve-and-test-zstat-integration
Improve and test zstat integration
Daniel Hahler [Sun, 25 Jan 2015 22:51:41 +0000 (23:51 +0100)]
Makefile: add clean target
Daniel Hahler [Sun, 25 Jan 2015 18:50:27 +0000 (19:50 +0100)]
tests: setup.sh: doc / more verbose
Daniel Hahler [Sun, 25 Jan 2015 18:48:25 +0000 (19:48 +0100)]
tests: abort if setup fails!
Otherwise the user's auth file might get removed.
Daniel Hahler [Sun, 25 Jan 2015 18:19:11 +0000 (19:19 +0100)]
Test env for invalid zsh module_path, where zsh/zstat fails
Daniel Hahler [Sun, 25 Jan 2015 18:18:25 +0000 (19:18 +0100)]
Improve zsh/zstat integration; also make it handle dirs
Daniel Hahler [Sun, 25 Jan 2015 18:16:30 +0000 (19:16 +0100)]
Improve ZDOTDIR setting in Makefile
Daniel Hahler [Tue, 20 Jan 2015 10:16:37 +0000 (11:16 +0100)]
Merge branch 'allow-disable'
Closes: #20
Daniel Hahler [Mon, 19 Jan 2015 18:01:20 +0000 (19:01 +0100)]
Add support for $AUTOENV_DISABLED, which skips the chpwd hook
Daniel Hahler [Tue, 20 Jan 2015 07:58:56 +0000 (08:58 +0100)]
Merge pull request #19 from Tarrasch/fix-symlink-handling
Fix symlink handling
Daniel Hahler [Mon, 19 Jan 2015 17:57:47 +0000 (18:57 +0100)]
Fix symlink handling, especially for symlinks not below "env_dir"
Daniel Hahler [Mon, 19 Jan 2015 17:54:41 +0000 (18:54 +0100)]
make: fix calling tests files directly
Arash Rouhani [Mon, 19 Jan 2015 14:49:47 +0000 (15:49 +0100)]
Merge pull request #18 from qur2/master
Create init.zsh to make it compatible with prezto
Aurélien Scoubeau [Mon, 19 Jan 2015 14:25:42 +0000 (15:25 +0100)]
Create init.zsh to make compatible with prezto
Daniel Hahler [Sat, 17 Jan 2015 19:43:59 +0000 (20:43 +0100)]
Makefile: use CURDIR instead of PWD; used with 'make -C ..'
Daniel Hahler [Sat, 17 Jan 2015 19:39:06 +0000 (20:39 +0100)]
Merge pull request #17 from Tarrasch/dont-cd-in-chpwd
Do not `cd` in the `chpwd` hook: changes $PWD behavior in .env files!
Daniel Hahler [Sat, 17 Jan 2015 16:03:02 +0000 (17:03 +0100)]
Do not `cd` in the `chpwd` hook
This is not really necessary, except for the convenience of being in the
.env file's directory during the hook.
But it messes around with the "cd history", e.g. `cd -`!
To reference the .env file or its directory, `$autoenv_env_file` and
`${autoenv_env_file:h}` can be used instead.
Daniel Hahler [Sat, 17 Jan 2015 15:39:04 +0000 (16:39 +0100)]
Set autoenv_env_file in _autoenv_source
Daniel Hahler [Sat, 17 Jan 2015 15:38:40 +0000 (16:38 +0100)]
Minor cleanup: centralize call to _autoenv_stack_entered_add
Daniel Hahler [Thu, 18 Dec 2014 19:52:52 +0000 (20:52 +0100)]
varstash: use '==' for consistency
Daniel Hahler [Thu, 18 Dec 2014 19:52:36 +0000 (20:52 +0100)]
test_full: output extra newline between suites/variants
Daniel Hahler [Thu, 18 Dec 2014 19:36:54 +0000 (20:36 +0100)]
varstash: fix pattern in stash
Daniel Hahler [Thu, 18 Dec 2014 19:08:51 +0000 (20:08 +0100)]
varstash: remove all usages of =~
Daniel Hahler [Thu, 18 Dec 2014 18:45:48 +0000 (19:45 +0100)]
Handle failure of loading zsh/stat
Daniel Hahler [Thu, 18 Dec 2014 18:45:19 +0000 (19:45 +0100)]
varstash: no need to use regex, avoids 'failed to load module: zsh/regex' error
Daniel Hahler [Thu, 11 Dec 2014 15:31:41 +0000 (16:31 +0100)]
README: add section about manual installation
Daniel Hahler [Thu, 11 Dec 2014 15:22:54 +0000 (16:22 +0100)]
Fix being loaded from a function (antigen)
Fixes https://github.com/Tarrasch/zsh-autoenv/issues/14
Daniel Hahler [Tue, 9 Dec 2014 23:09:04 +0000 (00:09 +0100)]
Fix autoloading of colors; just once
Daniel Hahler [Tue, 9 Dec 2014 22:12:38 +0000 (23:12 +0100)]
Init arrays (see #14)
Daniel Hahler [Tue, 9 Dec 2014 22:10:54 +0000 (23:10 +0100)]
minor: fix debug message ordering
Daniel Hahler [Mon, 8 Dec 2014 21:29:06 +0000 (22:29 +0100)]
Merge pull request #16 from Tarrasch/tests-with-clobber
tests: setup for multiple ZDOTDIRs, fix/add "setopt clobber"
Daniel Hahler [Mon, 8 Dec 2014 21:12:30 +0000 (22:12 +0100)]
tests: setup for multiple ZDOTDIRs, fix/add "setopt clobber"
Srijan R Shetty [Mon, 8 Dec 2014 17:46:27 +0000 (23:16 +0530)]
Create $AUTHENV_ENV_FILENAME if it does not exist
Daniel Hahler [Mon, 8 Dec 2014 20:37:25 +0000 (21:37 +0100)]
Fixes after using `setopt nounset` during tests
Also add tests for unset variable with varstash.
Daniel Hahler [Thu, 4 Dec 2014 12:31:56 +0000 (13:31 +0100)]
Merge pull request #12 from Tarrasch/autounstash-on-leave
Call `autounstash` automatically/always when leaving a directory
Daniel Hahler [Thu, 4 Dec 2014 12:31:26 +0000 (13:31 +0100)]
Merge pull request #13 from Tarrasch/fix-newline-handling-in-auth-file
Fix newline handling in auth file
Daniel Hahler [Thu, 4 Dec 2014 04:36:12 +0000 (05:36 +0100)]
Call `autounstash` automatically/always when leaving a directory