| 
									
										
										
										
											2021-02-24 16:02:00 +00:00
										 |  |  | # does the quickest output of brew --prefix possible for the basic cases: | 
					
						
							|  |  |  | # - `brew --prefix` (output HOMEBREW_PREFIX) | 
					
						
							|  |  |  | # - `brew --prefix <formula>` (output HOMEBREW_PREFIX/opt/<formula>) | 
					
						
							|  |  |  | # anything else? delegate to the slower cmd/--prefix.rb | 
					
						
							| 
									
										
										
										
											2021-04-20 20:32:01 +09:00
										 |  |  | # HOMEBREW_PREFIX and HOMEBREW_REPOSITORY are set by brew.sh | 
					
						
							|  |  |  | # shellcheck disable=SC2154 | 
					
						
							| 
									
										
										
										
											2021-02-24 16:02:00 +00:00
										 |  |  | homebrew-prefix() { | 
					
						
							|  |  |  |   while [[ "$#" -gt 0 ]]; do | 
					
						
							|  |  |  |       case $1 in | 
					
						
							|  |  |  |           # check we actually have --prefix and not e.g. --prefixsomething | 
					
						
							|  |  |  |           --prefix) local prefix="1"; shift ;; | 
					
						
							|  |  |  |           # reject all other flags | 
					
						
							|  |  |  |           -*) return 1 ;; | 
					
						
							| 
									
										
										
										
											2021-04-20 20:32:01 +09:00
										 |  |  |           *) [ -n "${formula}" ] && return 1; local formula="$1"; shift ;; | 
					
						
							| 
									
										
										
										
											2021-02-24 16:02:00 +00:00
										 |  |  |       esac | 
					
						
							|  |  |  |   done | 
					
						
							| 
									
										
										
										
											2021-04-20 20:32:01 +09:00
										 |  |  |   [ -z "${prefix}" ] && return 1 | 
					
						
							|  |  |  |   [ -z "${formula}" ] && echo "${HOMEBREW_PREFIX}" && return 0 | 
					
						
							| 
									
										
										
										
											2021-02-24 16:02:00 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  |   local formula_path | 
					
						
							| 
									
										
										
										
											2021-04-20 20:32:01 +09:00
										 |  |  |   if [ -f "${HOMEBREW_REPOSITORY}/Library/Taps/homebrew/homebrew-core/Formula/${formula}.rb" ]; then | 
					
						
							|  |  |  |     formula_path="${HOMEBREW_REPOSITORY}/Library/Taps/homebrew/homebrew-core/Formula/${formula}.rb" | 
					
						
							| 
									
										
										
										
											2021-02-24 16:02:00 +00:00
										 |  |  |   else | 
					
						
							| 
									
										
										
										
											2021-03-06 21:07:33 +08:00
										 |  |  |     formula_path="$( | 
					
						
							|  |  |  |       shopt -s nullglob | 
					
						
							| 
									
										
										
										
											2021-04-20 20:32:01 +09:00
										 |  |  |       echo "${HOMEBREW_REPOSITORY}/Library/Taps"/*/*/{Formula/,HomebrewFormula/,}"${formula}.rb" | 
					
						
							| 
									
										
										
										
											2021-03-06 21:07:33 +08:00
										 |  |  |     )"
 | 
					
						
							| 
									
										
										
										
											2021-02-24 16:02:00 +00:00
										 |  |  |   fi | 
					
						
							| 
									
										
										
										
											2021-04-20 20:32:01 +09:00
										 |  |  |   [ -z "${formula_path}" ] && return 1 | 
					
						
							| 
									
										
										
										
											2021-02-24 16:02:00 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2021-04-20 20:32:01 +09:00
										 |  |  |   echo "${HOMEBREW_PREFIX}/opt/${formula}" | 
					
						
							| 
									
										
										
										
											2021-02-24 16:02:00 +00:00
										 |  |  |   return 0 | 
					
						
							|  |  |  | } |