Zsh Mailing List Archive
Messages sorted by:
Reverse Date,
Date,
Thread,
Author
separating functions, fpath, and autoload
- X-seq: zsh-users 23570
- From: TJ Luoma <luomat@xxxxxxxxx>
- To: Zsh-Users List <zsh-users@xxxxxxx>
- Subject: separating functions, fpath, and autoload
- Date: Mon, 13 Aug 2018 09:49:02 -0400
- Dkim-signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:from:date:message-id:subject:to; bh=4+Az+/mh2mUmEf3wXauIcaC/TVNRvfikMl8XN0w3Wnw=; b=ry/tLQ7GHO4o3fjWWEHz+BEUI18fg7/y43vOU/Gw+b0UGSl8a6PYzbviX7LtTS8sMw g4bWLNZkQ7qwhw1pL3nk+jtla0V9pgi0X2PE2jtDHSRpHPpV9B2M7rn8LR2nRUuuSCdV QQuglkzsrk358vIrYTBzCZZQEEkqjZ9LMLtpHQuFY3Uy6PMDLJRevRXpN1HLopihvmnR ZgMGU2SYA8L38sEo80viDozXd2AlBWNTiCrjDgSWpvstQ5Peu1zEcztzyUWFXpokaL2y yihN5wOXHSUnJ93LxMrll+yZgq6d5vsVtOyujgXsmlfcO0g27BeO6NGuYJ6Iqyc6+lFs 31PA==
- List-help: <mailto:zsh-users-help@zsh.org>
- List-id: Zsh Users List <zsh-users.zsh.org>
- List-post: <mailto:zsh-users@zsh.org>
- List-unsubscribe: <mailto:zsh-users-unsubscribe@zsh.org>
- Mailing-list: contact zsh-users-help@xxxxxxx; run by ezmlm
I'm in the midst of an effort to try to learn some of zsh's more powerful
features, since I've been using zsh forever and feel like I only use 1% of
what it can do.
One of the things that I've wanted to do for awhile is separate out some of
my more complex functions to remove them from my .zshrc file and put them
into their own files. This should make them easier to track/change/etc and
it makes things a lot easier to read and debug.
Unfortunately, I can't seem to get it to work right. I'm sure I'm doing
something wrong because I don't really know what I'm doing, so I'll explain
what I've tried, and hopefully someone can explain where I've gone wrong.
I added this to my .zshrc
if [ -d "$ZDOTDIR/functions" ]
then
fpath=($ZDOTDIR/functions $fpath)
fi
The goal there was to add '$ZDOTDIR/functions' to the functions list, which
I think is the right way to do this.
I can verify that works, I think, by using 'echo $fpath':
$ echo $fpath
/Users/luomat/Dropbox/dotfiles/zsh/completion
/Users/luomat/Dropbox/dotfiles/zsh/functions
/usr/local/share/zsh/site-functions /usr/share/zsh/site-functions
/usr/share/zsh/5.3/functions
/Users/luomat/Dropbox/dotfiles is my $ZDOTDIR
The first file in '/Users/luomat/Dropbox/dotfiles/zsh/functions' is called
'msg'. For simplicity's sake, let's assume the contents of 'msg' is simply
this:
function msg {
echo "$@"
}
(It's actually more complicated than that, but that's the overall idea.)
I tried that, and then I tried
autoload msg
and I didn't get an error, but when I check 'which msg' I get this:
msg () {
# undefined
builtin autoload -X
}
so I've messed up something along the line.
Any help would be appreciated.
Thanks!
Tj
--
TJ Luoma
TJ @ MacStories <http://www.macstories.net/author/tjluoma/>
Personal Website: luo.ma <http://luo.ma/> (aka RhymesWithDiploma.com
<http://rhymeswithdiploma.com/>)
Twitter: @tjluoma <http://twitter.com/tjluoma>
Messages sorted by:
Reverse Date,
Date,
Thread,
Author