fix(init): don't use digits in parameter modifiers for compatibility (#11598)
Digit modifiers were introduced in zsh 5.7.1 [1]. This commit uses readily available
alternatives for backwards compatibility.
[1] https://github.com/zsh-users/zsh/commit/b8dc5a7f6d
Fixes #11598
Diff
1diff --git a/oh-my-zsh.sh b/oh-my-zsh.sh
2index 20d2e354c02a35ab14dd2a6dec7375a624b0acc5..e047d4834c4891203c8e203b77e3133e415fb723 100644
3--- a/oh-my-zsh.sh
4+++ b/oh-my-zsh.sh
5@@ -151,8 +151,8 @@ _omz_source() {
6 7 # Construct zstyle context based on path
8 case "$filepath" in
9- lib/*) context="lib:${filepath:t:r}" ;; # :t = lib_name.zsh, :r = lib_name
10- plugins/*) context="plugins:${filepath:h2:t}" ;; # :h2 = plugins/plugin_name, :t = plugin_name
11+ lib/*) context="lib:${filepath:t:r}" ;; # :t = lib_name.zsh, :r = lib_name
12+ plugins/*) context="plugins:${filepath:h:t}" ;; # :h = plugins/plugin_name, :t = plugin_name
13 esac
1415 local disable_aliases=0
16@@ -184,7 +184,7 @@ _omz_source() {
17 # Load all of the config files in ~/oh-my-zsh that end in .zsh
18 # TIP: Add files you don't want in git to .gitignore
19 for config_file ("$ZSH"/lib/*.zsh); do
20- _omz_source "${config_file:t2}"
21+ _omz_source "lib/${config_file:t}"
22 done
23 unset custom_config_file
24