From 973c92cd91d595fde37a4dbd5a6389072654252f Mon Sep 17 00:00:00 2001
From: Ash Furrow <ash@ashfurrow.com>
Date: Wed, 21 Sep 2016 11:55:58 -0400
Subject: [PATCH] Adds option for directory to Xcode xc function. (#5253)

---
 plugins/xcode/README.md        |  2 +-
 plugins/xcode/xcode.plugin.zsh | 13 +++++++++++--
 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]}"