cmd/shellenv: use Bash.
This speeds up execution by 3x on my machine and the script is simple enough to warrant this.
This commit is contained in:
		
							parent
							
								
									73e8bf68c7
								
							
						
					
					
						commit
						44bcf69d1f
					
				@ -1,16 +0,0 @@
 | 
			
		||||
#:  * `shellenv`:
 | 
			
		||||
#:    Prints export statements - run them in a shell and this installation of
 | 
			
		||||
#:    Homebrew will be included into your PATH, MANPATH, and INFOPATH.
 | 
			
		||||
#:    Tip: have your dotfiles eval the output of this command
 | 
			
		||||
 | 
			
		||||
module Homebrew
 | 
			
		||||
  module_function
 | 
			
		||||
 | 
			
		||||
  def shellenv
 | 
			
		||||
    puts <<~EOS
 | 
			
		||||
      export PATH="#{HOMEBREW_PREFIX}/bin:#{HOMEBREW_PREFIX}/sbin:$PATH"
 | 
			
		||||
      export MANPATH="#{HOMEBREW_PREFIX}/share/man:$MANPATH"
 | 
			
		||||
      export INFOPATH="#{HOMEBREW_PREFIX}/share/info:$INFOPATH"
 | 
			
		||||
    EOS
 | 
			
		||||
  end
 | 
			
		||||
end
 | 
			
		||||
							
								
								
									
										18
									
								
								Library/Homebrew/cmd/shellenv.sh
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										18
									
								
								Library/Homebrew/cmd/shellenv.sh
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,18 @@
 | 
			
		||||
#:  * `shellenv`:
 | 
			
		||||
#:    Prints export statements - run them in a shell and this installation of
 | 
			
		||||
#:    Homebrew will be included into your PATH, MANPATH, and INFOPATH.
 | 
			
		||||
#:
 | 
			
		||||
#:    HOMEBREW_PREFIX, HOMEBREW_CELLAR and HOMEBREW_REPOSITORY are also exported
 | 
			
		||||
#:    to save multiple queries of those variables.
 | 
			
		||||
#:
 | 
			
		||||
#:    Consider adding evaluating the output in your dotfiles (e.g. `~/.profile`)
 | 
			
		||||
#:    with `eval $(brew shellenv)`
 | 
			
		||||
 | 
			
		||||
homebrew-shellenv() {
 | 
			
		||||
  echo "export HOMEBREW_PREFIX=\"$HOMEBREW_PREFIX\""
 | 
			
		||||
  echo "export HOMEBREW_CELLAR=\"$HOMEBREW_CELLAR\""
 | 
			
		||||
  echo "export HOMEBREW_REPOSITORY=\"$HOMEBREW_REPOSITORY\""
 | 
			
		||||
  echo "export PATH=\"$HOMEBREW_PREFIX/bin:$HOMEBREW_PREFIX/sbin:\$PATH\""
 | 
			
		||||
  echo "export MANPATH=\"$HOMEBREW_PREFIX/share/man:\$MANPATH\""
 | 
			
		||||
  echo "export INFOPATH=\"$HOMEBREW_PREFIX/share/info:\$INFOPATH\""
 | 
			
		||||
}
 | 
			
		||||
@ -1,8 +0,0 @@
 | 
			
		||||
describe "brew shellenv", :integration_test do
 | 
			
		||||
  it "doesn't fail" do
 | 
			
		||||
    expect { brew "shellenv" }
 | 
			
		||||
      .to output(%r{#{HOMEBREW_PREFIX}/bin}).to_stdout
 | 
			
		||||
      .and not_to_output.to_stderr
 | 
			
		||||
      .and be_a_success
 | 
			
		||||
  end
 | 
			
		||||
end
 | 
			
		||||
@ -444,7 +444,12 @@ With `--verbose` or `-v`, many commands print extra debugging information. Note
 | 
			
		||||
  * `shellenv`:
 | 
			
		||||
    Prints export statements - run them in a shell and this installation of
 | 
			
		||||
    Homebrew will be included into your PATH, MANPATH, and INFOPATH.
 | 
			
		||||
    Tip: have your dotfiles eval the output of this command
 | 
			
		||||
 | 
			
		||||
    HOMEBREW_PREFIX, HOMEBREW_CELLAR and HOMEBREW_REPOSITORY are also exported
 | 
			
		||||
    to save multiple queries of those variables.
 | 
			
		||||
 | 
			
		||||
    Consider adding evaluating the output in your dotfiles (e.g. `~/.profile`)
 | 
			
		||||
    with `eval $(brew shellenv)`
 | 
			
		||||
 | 
			
		||||
  * `style` [`--fix`] [`--display-cop-names`] [`--only-cops=``cops`|`--except-cops=``cops`] [`files`|`taps`|`formulae`]:
 | 
			
		||||
    Check formulae or files for conformance to Homebrew style guidelines.
 | 
			
		||||
 | 
			
		||||
@ -404,7 +404,13 @@ If \fB\-\-desc\fR is passed, search formulae with a description matching \fItext
 | 
			
		||||
If \fB\-\-env=std\fR is passed, use the standard \fBPATH\fR instead of superenv\'s\.
 | 
			
		||||
.
 | 
			
		||||
.IP "\(bu" 4
 | 
			
		||||
\fBshellenv\fR: Prints export statements \- run them in a shell and this installation of Homebrew will be included into your PATH, MANPATH, and INFOPATH\. Tip: have your dotfiles eval the output of this command
 | 
			
		||||
\fBshellenv\fR: Prints export statements \- run them in a shell and this installation of Homebrew will be included into your PATH, MANPATH, and INFOPATH\.
 | 
			
		||||
.
 | 
			
		||||
.IP
 | 
			
		||||
HOMEBREW_PREFIX, HOMEBREW_CELLAR and HOMEBREW_REPOSITORY are also exported to save multiple queries of those variables\.
 | 
			
		||||
.
 | 
			
		||||
.IP
 | 
			
		||||
Consider adding evaluating the output in your dotfiles (e\.g\. \fB~/\.profile\fR) with \fBeval $(brew shellenv)\fR
 | 
			
		||||
.
 | 
			
		||||
.IP "\(bu" 4
 | 
			
		||||
\fBstyle\fR [\fB\-\-fix\fR] [\fB\-\-display\-cop\-names\fR] [\fB\-\-only\-cops=\fR\fIcops\fR|\fB\-\-except\-cops=\fR\fIcops\fR] [\fIfiles\fR|\fItaps\fR|\fIformulae\fR]: Check formulae or files for conformance to Homebrew style guidelines\.
 | 
			
		||||
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user