summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAsh Furrow <ash@ashfurrow.com>2016-09-21 11:55:58 -0400
committerMarc Cornellà <marc.cornella@live.com>2016-09-21 17:55:58 +0200
commit973c92cd91d595fde37a4dbd5a6389072654252f (patch)
tree88c03f4c8fd13f123563397e0b07c6fc0e654a66
parentf39dcfda8d287bdfeda2bc1e0a7ab3785c6e4a73 (diff)
downloadzsh-973c92cd91d595fde37a4dbd5a6389072654252f.tar.gz
zsh-973c92cd91d595fde37a4dbd5a6389072654252f.tar.bz2
zsh-973c92cd91d595fde37a4dbd5a6389072654252f.zip
Adds option for directory to Xcode xc function. (#5253)
-rw-r--r--plugins/xcode/README.md2
-rw-r--r--plugins/xcode/xcode.plugin.zsh13
2 files changed, 12 insertions, 3 deletions
diff --git a/plugins/xcode/README.md b/plugins/xcode/README.md
index 15e657859..c12ce047f 100644
--- a/plugins/xcode/README.md
+++ b/plugins/xcode/README.md
@@ -26,7 +26,7 @@ plugins=(... xcode)
### `xc`
-Opens the current directory in Xcode as an Xcode project. This will open one of the `.xcworkspace` and `.xcodeproj` files that it can find in the current working directory.
+Opens the current directory in Xcode as an Xcode project. This will open one of the `.xcworkspace` and `.xcodeproj` files that it can find in the current working directory. You can also specify a directory to look in for the Xcode files.
Returns 1 if it didn't find any relevant files.
### `simulator`
diff --git a/plugins/xcode/xcode.plugin.zsh b/plugins/xcode/xcode.plugin.zsh
index 0a2fa0839..f711c39fb 100644
--- a/plugins/xcode/xcode.plugin.zsh
+++ b/plugins/xcode/xcode.plugin.zsh
@@ -7,10 +7,19 @@ alias xcsel='sudo xcode-select --switch'
# source: http://gist.github.com/subdigital/5420709
function xc {
local xcode_proj
- xcode_proj=(*.{xcworkspace,xcodeproj}(N))
+ if [[ $# == 0 ]]; then
+ xcode_proj=(*.{xcworkspace,xcodeproj}(N))
+ else
+ xcode_proj=($1/*.{xcworkspace,xcodeproj}(N))
+ fi
+
if [[ ${#xcode_proj} -eq 0 ]]; then
- echo "No xcworkspace/xcodeproj file found in the current directory."
+ if [[ $# == 0 ]]; then
+ echo "No xcworkspace/xcodeproj file found in the current directory."
+ else
+ echo "No xcworkspace/xcodeproj file found in $1."
+ fi
return 1
else
echo "Found ${xcode_proj[1]}"