zsh-users
 help / color / mirror / code / Atom feed
* Fwd: Re: Loading functions
@ 2012-04-19 23:33 Paul Hoffman
  0 siblings, 0 replies; only message in thread
From: Paul Hoffman @ 2012-04-19 23:33 UTC (permalink / raw)
  To: zsh-users

[Sorry for the duplicate, Mark; I accidentally replied to you privately 
and not to the list.]

On Thu, Apr 19, 2012 at 11:03:11PM +0000, Mark wrote:
> Hello again fellow zshians,
> 
> For a particular git repository I created some helper functions.
> Usually I cd to the gitroot and then I load these functions (and env
> variables) by sourcing './zsh.env.' 
> 
> Often I forget to source the file and I also just dislike to source it
> manually. I probably got irritated by this irritating pattern of first
> forgetting to source the file, then forgetting to preface it with it's
> path by typing ". zsh.env" and only then getting it right by typing
> ".  ./zsh.env".
> 
> After being properly annoyed in today's fourth or fifth terminal screen
> i started to search for alternative ways. At first I thought I could
> execute some script instead of sourcing it. But I couldn't find ways in
> which my shell would remember specified functions after the script had
> been executed. Is this even possible?
> 
> Then I realised that ideally my shell would "do something" (e.g.
> automatically load functions, set env vars) when I go into a directory
> or any subdirectory and "undo" it (unload these functions, unset the
> variables) upon leaving the directory. Which ultimately leads to my next
> question: can zsh be instructed to have a particular environment that is
> local to certain directories?

I just started doing this sort of thing recently.  Here's a snippet from 
my ~/.zshrc:

cd() {
    if [[ -x .autodir/exit ]]; then
        print -- '(-autodir)' >&2
        source .autodir/exit
    fi
    builtin cd $@ || return $?
    if [[ -x .autodir/enter ]]; then
        print -- '(+autodir)' >&2
        source .autodir/enter
    fi
}

HTH,

Paul.

-- 
Paul Hoffman <nkuitse@nkuitse.com>


^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2012-04-20 14:53 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2012-04-19 23:33 Fwd: Re: Loading functions Paul Hoffman

Code repositories for project(s) associated with this public inbox

	https://git.vuxu.org/mirror/zsh/

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).