Skip to content

Commit

Permalink
fix(zsh): Disable wildcard prefix of special ZSH rc files
Browse files Browse the repository at this point in the history
  • Loading branch information
Derek Michael Frank committed May 27, 2018
1 parent b00f261 commit 051b85c
Show file tree
Hide file tree
Showing 7 changed files with 31 additions and 33 deletions.
48 changes: 23 additions & 25 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -34,48 +34,46 @@ There's a few special files in the hierarchy.
- **bin/**: Anything in `bin/` will get added to your `$PATH` and be made
available everywhere.
- **Brewfile**: This is a list of applications for
[Homebrew Cask](http://caskroom.io) to install: things like Chrome and
1Password and Adium and stuff. Might want to edit this file before
running any initial setup.
[Homebrew Cask](http://caskroom.io) to install: things like Chrome
and 1Password and Adium and stuff. Might want to edit this file
before running any initial setup.
- **topic/\*.zsh**: configuration files
- Environment configuration (i.e., `.zshenv`)
- **topic/\*path.zsh**: Any file ending with `path.zsh` (except
those ending with `fpath.zsh`) is loaded first and is expected
to setup `$PATH` or similar.
- **topic/\*env.zsh**: Any file ending with `env.zsh` is loaded
- **topic/path.zsh**: Any `path.zsh` file is loaded first and
is expected to setup `$PATH` or similar.
- **topic/env.zsh**: Any `env.zsh` file is loaded
second and is expected to setup any additional environment
(e.g., shell options).
- Interactive configuration (i.e., `.zshrc`)
- **topic/\*fpath.zsh**: Any file ending with `fpath.zsh` is
- **topic/fpath.zsh**: Any file ending with `fpath.zsh` is
loaded for interactive shells only. They are expected to
populate `$fpath`.
- **topic/\*.zsh**: Any files ending in `.zsh` (except those
specified elsewhere) are loaded for interactive shells only.
Interactive configuration can include aliases, color output,
prompt configuration, or anything else that should only be
loaded when a user is interacting with Zsh.
- **topic/\*completion.zsh**: Any file ending with
`completion.zsh` is loaded last for interactive shells only.
They are expected to setup autocomplete.
- **topic/*completion.zsh**: Any `completion.zsh` file is
loaded last for interactive shells only. They are expected
to setup autocomplete.
- Login configuration (i.e., `.zprofile`, `.zlogin`, `.zlogout`)
- **topic/\*profile.zsh**: Any file ending with `profile.zsh` is
loaded for login shells only. Unlike `.zlogin`, these files
are loaded before the interactive files above are loaded.
- **topic/\*login.zsh**: Any file ending in `login.zsh` is
loaded for login shells only. Unlike `.zprofile`, they are
loaded after your interactive files are loaded above. This is
the ideal place to put anything you want to see when you start
up a new login shell (e.g., cowsay, date, todo, fortune).
- **topic/\*logout.zsh**: Any file ending in `logout.zsh` is
loaded for login shells only and only when you exit/logout the
shell.
- **topic/profile.zsh**: Any `profile.zsh` file is loaded for
login shells only. Unlike `.zlogin`, these files are loaded
before the interactive files above are loaded.
- **topic/login.zsh**: Any `login.zsh` file is loaded for login
shells only. Unlike `.zprofile`, they are loaded after your
interactive files are loaded above. This is the ideal place
to put anything you want to see when you start up a new login
shell (e.g., cowsay, date, todo, fortune).
- **topic/logout.zsh**: Any `logout.zsh` file is loaded for
login shells only and only when you exit/logout the shell.
- **topic/install.sh**: Any file named `install.sh` is executed when you
run `script/install`. To avoid being loaded automatically, its
extension is `.sh`, not `.zsh`.
- **topic/\*.symlink**: Any files ending in `*.symlink` get symlinked into
your `$HOME`. This is so you can keep all of those versioned in your dotfiles
but still keep those autoloaded files in your home directory. These get
symlinked in when you run `script/bootstrap`.
your `$HOME`. This is so you can keep all of those versioned in your
dotfiles but still keep those autoloaded files in your home
directory. These get symlinked in when you run `script/bootstrap`.

## install

Expand Down
File renamed without changes.
2 changes: 1 addition & 1 deletion zsh/zlogin.symlink
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ setopt nullglob

# all of our login zsh files
typeset -U login_files
login_files=($DOTFILES/**/*login.zsh)
login_files=($DOTFILES/**/login.zsh)

# run all login files
for file in ${login_files}; do
Expand Down
2 changes: 1 addition & 1 deletion zsh/zlogout.symlink
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ setopt nullglob

# all of our logout zsh files
typeset -U logout_files
logout_files=($DOTFILES/**/*logout.zsh)
logout_files=($DOTFILES/**/logout.zsh)

# run all logout files
for file in ${logout_files}; do
Expand Down
2 changes: 1 addition & 1 deletion zsh/zprofile.symlink
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ setopt nullglob

# all of our profile zsh files
typeset -U profile_files
profile_files=($DOTFILES/**/*profile.zsh)
profile_files=($DOTFILES/**/profile.zsh)

# run all profile files
for file in ${profile_files}; do
Expand Down
4 changes: 2 additions & 2 deletions zsh/zshenv.symlink
Original file line number Diff line number Diff line change
Expand Up @@ -9,8 +9,8 @@ export PROJECTS="$HOME/Code"

# path and env zsh files
typeset -U path_files env_files
path_files=($DOTFILES/**/*path.zsh~**/*fpath.zsh)
env_files=($DOTFILES/**/*env.zsh)
path_files=($DOTFILES/**/path.zsh~**/fpath.zsh)
env_files=($DOTFILES/**/env.zsh)

# load the path files
for file in ${path_files}; do
Expand Down
6 changes: 3 additions & 3 deletions zsh/zshrc.symlink
Original file line number Diff line number Diff line change
Expand Up @@ -11,9 +11,9 @@ fi

# all of our non-path/env/profile/login/logout zsh files
typeset -U fpath_files interactive_files completion_files
fpath_files=($DOTFILES/**/*fpath.zsh)
interactive_files=($DOTFILES/**/*.zsh~**/*completion.zsh~**/*path.zsh~**/*env.zsh~**/*profile.zsh~**/*login.zsh~**/*logout.zsh)
completion_files=($DOTFILES/**/*completion.zsh)
fpath_files=($DOTFILES/**/fpath.zsh)
interactive_files=($DOTFILES/**/*.zsh~**/completion.zsh~**/path.zsh~**/env.zsh~**/profile.zsh~**/fpath.zsh~**/login.zsh~**/logout.zsh)
completion_files=($DOTFILES/**/completion.zsh)

# load fpath config files
for file in ${fpath_files}; do
Expand Down

0 comments on commit 051b85c

Please sign in to comment.