diff options
author | Andrew Janke <andrew@apjanke.net> | 2015-09-04 17:17:16 -0400 |
---|---|---|
committer | Marc Cornellà <marc.cornella@live.com> | 2015-09-07 11:50:45 +0200 |
commit | 5584aa05c7c94949665f024ad0d88b8162654cb9 (patch) | |
tree | 9be06e93437d2968d50cb04829cec9a4eaf8d3d3 /plugins/xcode | |
parent | d95589d4e43d3a6288b8a66492c17d12c4e4eca0 (diff) | |
download | zsh-5584aa05c7c94949665f024ad0d88b8162654cb9.tar.gz zsh-5584aa05c7c94949665f024ad0d88b8162654cb9.tar.bz2 zsh-5584aa05c7c94949665f024ad0d88b8162654cb9.zip |
xcode: add version-based xcselv()
Diffstat (limited to 'plugins/xcode')
-rw-r--r-- | plugins/xcode/xcode.plugin.zsh | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/plugins/xcode/xcode.plugin.zsh b/plugins/xcode/xcode.plugin.zsh index f80de36d5..b3058ceff 100644 --- a/plugins/xcode/xcode.plugin.zsh +++ b/plugins/xcode/xcode.plugin.zsh @@ -17,6 +17,35 @@ alias xcb='xcodebuild' alias xcp='xcode-select --print-path' alias xcdd='rm -rf ~/Library/Developer/Xcode/DerivedData/*' + +# "XCode-SELect by Version" - select Xcode by just version number +# Uses naming convention: +# - different versions of Xcode are named Xcode-<version>.app or stored +# in a folder named Xcode-<version> +# - the special version name "-" refers to the "default" Xcode.app with no suffix +function xcselv { + emulate -L zsh + local version=$1 + local apps_dirs apps_dir apps app + apps_dirs=( $HOME/Applications /Applications ) + for apps_dir ($apps_dirs); do + if [[ $version == "-" ]]; then + apps=( $apps_dir/Xcode.app $apps_dir/Xcode/Xcode.app ) + else + apps=( $apps_dir/Xcode-$version.app $apps_dir/Xcode-$version/Xcode.app ) + fi + for app ($apps); do + if [[ -e "$app" ]]; then + echo "selecting Xcode $version: $app" + xcsel "$app" + return + fi + done + done + echo "xcselv: Xcode version $version not found" + return 1 +} + function simulator { local devfolder devfolder="$(xcode-select -p)" |