Looks good!<p>It would be nice if there wasn't an early exit when a matching directory is found in `def.config`. That way you could have multiple matches for a directory, and it would make simple stacking work for subdirectories too. The current behaviour makes subdirectory matches odd insofar as the behaviour is dependent on the order of entries in `def.config`.<p>A couple of <i>minor</i> notes in the spirit of helpful commentary:<p>• You're creating a global `line` variable while reading the config, using `setopt warn_create_global` is a great built-in feature to highlight these during development.<p>• You can perform tilde expansion with `${~var}` instead of needing to run sed(see GLOB_SUBST in the zsh docs). This would also make zsh's named directory support work in the config.<p>• There are shell constructs to remove the need for cut too: First word `${line%% *}`, other words `${line#* }`.