diff --git a/.gitignore b/.gitignore
index 0c9eaffa43..8eb0cb3d45 100644
--- a/.gitignore
+++ b/.gitignore
@@ -82,16 +82,15 @@
**/vendor/bundle/ruby/*/gems/erubi-*/
**/vendor/bundle/ruby/*/gems/hana-*/
**/vendor/bundle/ruby/*/gems/highline-*/
-**/vendor/bundle/ruby/*/gems/hpricot-*/
**/vendor/bundle/ruby/*/gems/jaro_winkler-*/
**/vendor/bundle/ruby/*/gems/json-*/
**/vendor/bundle/ruby/*/gems/json_schemer-*/
+**/vendor/bundle/ruby/*/gems/kramdown-*/
**/vendor/bundle/ruby/*/gems/language_server-protocol-*/
**/vendor/bundle/ruby/*/gems/method_source-*/
**/vendor/bundle/ruby/*/gems/mini_portile2-*/
**/vendor/bundle/ruby/*/gems/minitest-*/
**/vendor/bundle/ruby/*/gems/msgpack-*/
-**/vendor/bundle/ruby/*/gems/mustache-*/
**/vendor/bundle/ruby/*/gems/netrc-*/
**/vendor/bundle/ruby/*/gems/ntlm-http-*/
**/vendor/bundle/ruby/*/gems/parallel-*/
@@ -106,10 +105,8 @@
**/vendor/bundle/ruby/*/gems/racc-*/
**/vendor/bundle/ruby/*/gems/rainbow-*/
**/vendor/bundle/ruby/*/gems/rbi-*/
-**/vendor/bundle/ruby/*/gems/rdiscount-*/
**/vendor/bundle/ruby/*/gems/regexp_parser-*/
**/vendor/bundle/ruby/*/gems/rexml-*/
-**/vendor/bundle/ruby/*/gems/ronn-*/
**/vendor/bundle/ruby/*/gems/rspec-*/
**/vendor/bundle/ruby/*/gems/rspec-core-*/
**/vendor/bundle/ruby/*/gems/rspec-expectations-*/
diff --git a/Library/Homebrew/Gemfile b/Library/Homebrew/Gemfile
index 01d1fb91c4..fb1e87df96 100644
--- a/Library/Homebrew/Gemfile
+++ b/Library/Homebrew/Gemfile
@@ -28,7 +28,7 @@ group :livecheck, optional: true do
gem "ruby-progressbar", require: false
end
group :man, optional: true do
- gem "ronn", require: false
+ gem "kramdown", require: false
end
group :pr_upload, optional: true do
gem "json_schemer", require: false
diff --git a/Library/Homebrew/Gemfile.lock b/Library/Homebrew/Gemfile.lock
index 15c594ac7d..03dbd151f4 100644
--- a/Library/Homebrew/Gemfile.lock
+++ b/Library/Homebrew/Gemfile.lock
@@ -18,17 +18,17 @@ GEM
erubi (1.12.0)
hana (1.3.7)
highline (2.0.3)
- hpricot (0.8.6)
json (2.7.1)
json_schemer (2.1.1)
hana (~> 1.3)
regexp_parser (~> 2.0)
simpleidn (~> 0.2)
+ kramdown (2.4.0)
+ rexml
language_server-protocol (3.17.0.3)
method_source (1.0.0)
minitest (5.22.2)
msgpack (1.7.2)
- mustache (1.1.1)
netrc (0.11.0)
parallel (1.24.0)
parallel_tests (4.5.2)
@@ -55,13 +55,8 @@ GEM
rbi (0.1.9)
prism (>= 0.18.0, < 0.25)
sorbet-runtime (>= 0.5.9204)
- rdiscount (2.2.7.3)
regexp_parser (2.9.0)
rexml (3.2.6)
- ronn (0.7.3)
- hpricot (>= 0.8.2)
- mustache (>= 0.7.0)
- rdiscount (>= 1.5.8)
rspec (3.13.0)
rspec-core (~> 3.13.0)
rspec-expectations (~> 3.13.0)
@@ -177,6 +172,7 @@ DEPENDENCIES
bootsnap
byebug
json_schemer
+ kramdown
method_source
minitest
parallel_tests
@@ -185,7 +181,6 @@ DEPENDENCIES
plist
pry
rexml
- ronn
rspec
rspec-github
rspec-its
diff --git a/Library/Homebrew/manpages.rb b/Library/Homebrew/manpages.rb
index 56aff20311..9e05bb8151 100644
--- a/Library/Homebrew/manpages.rb
+++ b/Library/Homebrew/manpages.rb
@@ -3,6 +3,10 @@
require "cli/parser"
require "erb"
+require "kramdown"
+require "manpages/parser/ronn"
+require "manpages/converter/kramdown"
+require "manpages/converter/roff"
SOURCE_PATH = (HOMEBREW_LIBRARY_PATH/"manpages").freeze
TARGET_MAN_PATH = (HOMEBREW_REPOSITORY/"manpages").freeze
@@ -31,8 +35,16 @@ module Homebrew
Homebrew.install_bundler_gems!(groups: ["man"])
markup = build_man_page(quiet:)
- convert_man_page(markup, TARGET_DOC_PATH/"Manpage.md")
- convert_man_page(markup, TARGET_MAN_PATH/"brew.1")
+ root, warnings = Parser::Ronn.parse(markup)
+ $stderr.puts(warnings)
+
+ roff, warnings = Converter::Kramdown.convert(root)
+ $stderr.puts(warnings)
+ File.write(TARGET_DOC_PATH/"Manpage.md", roff)
+
+ roff, warnings = Converter::Roff.convert(root)
+ $stderr.puts(warnings)
+ File.write(TARGET_MAN_PATH/"brew.1", roff)
end
def self.build_man_page(quiet:)
@@ -65,59 +77,6 @@ module Homebrew
path.basename.to_s.sub(/\.(rb|sh)$/, "").sub(/^--/, "~~")
end
- def self.convert_man_page(markup, target)
- manual = target.basename(".1")
- organisation = "Homebrew"
-
- # Set the manpage date to the existing one if we're updating.
- # This avoids the only change being e.g. a new date.
- date = if target.extname == ".1" && target.exist?
- /"(\d{1,2})" "([A-Z][a-z]+) (\d{4})" "#{organisation}" "#{manual}"/ =~ target.read
- Date.parse("#{Regexp.last_match(1)} #{Regexp.last_match(2)} #{Regexp.last_match(3)}")
- else
- Date.today
- end
- date = date.strftime("%Y-%m-%d")
-
- shared_args = %W[
- --pipe
- --organization=#{organisation}
- --manual=#{target.basename(".1")}
- --date=#{date}
- ]
-
- format_flag, format_desc = target_path_to_format(target)
-
- puts "Writing #{format_desc} to #{target}"
- Utils.popen(["ronn", format_flag] + shared_args, "rb+") do |ronn|
- ronn.write markup
- ronn.close_write
- ronn_output = ronn.read
- odie "Got no output from ronn!" if ronn_output.blank?
- ronn_output = case format_flag
- when "--markdown"
- ronn_output.gsub(%r{(.*?)}, "*`\\1`*")
- .gsub(/\n\n\n+/, "\n\n")
- .gsub(/^(- `[^`]+`):/, "\\1") # drop trailing colons from definition lists
- .gsub(/(?<=\n\n)([\[`].+):\n/, "\\1\n
") # replace colons with
on subcommands
- when "--roff"
- ronn_output.gsub(%r{(.*?)
}, "\\fB\\1\\fR")
- .gsub(%r{(.*?)}, "\\fI\\1\\fR")
- .gsub(/(^\[?\\fB.+): /, "\\1\n ")
- end
- target.atomic_write ronn_output
- end
- end
-
- def self.target_path_to_format(target)
- case target.basename
- when /\.md$/ then ["--markdown", "markdown"]
- when /\.\d$/ then ["--roff", "man page"]
- else
- odie "Failed to infer output format from '#{target.basename}'."
- end
- end
-
def self.generate_cmd_manpages(cmd_paths)
man_page_lines = []
@@ -129,8 +88,10 @@ module Homebrew
cmd_parser_manpage_lines(cmd_parser).join
else
- cmd_comment_manpage_lines(cmd_path)
+ cmd_comment_manpage_lines(cmd_path)&.join("\n")
end
+ # Convert subcommands to definition lists
+ cmd_man_page_lines&.gsub!(/(?<=\n\n)([\\?\[`].+):\n/, "\\1\n\n: ")
man_page_lines << cmd_man_page_lines
end
@@ -173,8 +134,10 @@ module Homebrew
next if line.match?(/--(debug|help|quiet|verbose) /)
# Format one option or a comma-separated pair of short and long options.
- lines << line.gsub(/^ +(-+[a-z-]+), (-+[a-z-]+) +/, "* `\\1`, `\\2`:\n ")
- .gsub(/^ +(-+[a-z-]+) +/, "* `\\1`:\n ")
+ line.gsub!(/^ +(-+[a-z-]+), (-+[a-z-]+) +(.*)$/, "`\\1`, `\\2`\n\n: \\3\n")
+ line.gsub!(/^ +(-+[a-z-]+) +(.*)$/, "`\\1`\n\n: \\2\n")
+
+ lines << line
end
lines.last << "\n"
lines
@@ -202,10 +165,10 @@ module Homebrew
sig { returns(String) }
def self.env_vars_manpage
lines = Homebrew::EnvConfig::ENVS.flat_map do |env, hash|
- entry = "- `#{env}`:\n
#{hash[:description]}\n"
+ entry = "`#{env}`\n\n: #{hash[:description]}\n"
default = hash[:default_text]
default ||= "`#{hash[:default]}`." if hash[:default]
- entry += "\n\n *Default:* #{default}\n" if default
+ entry += "\n\n *Default:* #{default}\n" if default
entry
end
@@ -219,13 +182,16 @@ module Homebrew
def self.generate_option_doc(short, long, desc)
comma = (short && long) ? ", " : ""
<<~EOS
- * #{format_opt(short)}#{comma}#{format_opt(long)}:
- #{desc}
+ #{format_opt(short)}#{comma}#{format_opt(long)}
+
+ : #{desc}
+
EOS
end
def self.format_usage_banner(usage_banner)
usage_banner&.sub(/^(#: *\* )?/, "### ")
+ &.gsub(/(?
-`brew` [`--verbose`|`-v`] [] [] ...
+`brew` \[`--verbose`\|`-v`\] \[\] \[\] ...
## DESCRIPTION
@@ -30,29 +30,53 @@ Linux distribution without requiring `sudo`.
## TERMINOLOGY
-**formula**: Homebrew package definition that builds from upstream sources
+**formula**
-**cask**: Homebrew package definition that installs macOS native applications
+: Homebrew package definition that builds from upstream sources
-**prefix**: path in which Homebrew is installed, e.g. `/usr/local`
+**cask**
-**keg**: installation destination directory of a given **formula** version, e.g. `/usr/local/Cellar/foo/0.1`
+: Homebrew package definition that installs macOS native applications
-**rack**: directory containing one or more versioned **kegs**, e.g. `/usr/local/Cellar/foo`
+**prefix**
-**keg-only**: a **formula** is *keg-only* if it is not symlinked into Homebrew's prefix
+: path in which Homebrew is installed, e.g. `/usr/local`
-**opt prefix**: a symlink to the active version of a **keg**, e.g. `/usr/local/opt/foo`
+**keg**
-**Cellar**: directory containing one or more named **racks**, e.g. `/usr/local/Cellar`
+: installation destination directory of a given **formula** version, e.g. `/usr/local/Cellar/foo/0.1`
-**Caskroom**: directory containing one or more named **casks**, e.g. `/usr/local/Caskroom`
+**rack**
-**external command**: `brew` subcommand defined outside of the Homebrew/brew GitHub repository
+: directory containing one or more versioned **kegs**, e.g. `/usr/local/Cellar/foo`
-**tap**: directory (and usually Git repository) of **formulae**, **casks** and/or **external commands**
+**keg-only**
-**bottle**: pre-built **keg** poured into a **rack** of the **Cellar** instead of building from upstream sources
+: a **formula** is *keg-only* if it is not symlinked into Homebrew's prefix
+
+**opt prefix**
+
+: a symlink to the active version of a **keg**, e.g. `/usr/local/opt/foo`
+
+**Cellar**
+
+: directory containing one or more named **racks**, e.g. `/usr/local/Cellar`
+
+**Caskroom**
+
+: directory containing one or more named **casks**, e.g. `/usr/local/Caskroom`
+
+**external command**
+
+: `brew` subcommand defined outside of the Homebrew/brew GitHub repository
+
+**tap**
+
+: directory (and usually Git repository) of **formulae**, **casks** and/or **external commands**
+
+**bottle**
+
+: pre-built **keg** poured into a **rack** of the **Cellar** instead of building from upstream sources
## ESSENTIAL COMMANDS
@@ -79,11 +103,11 @@ Uninstall .
List all installed formulae.
-### `search` [|`/``/`]
+### `search` \[\|`/``/`\]
Perform a substring search of cask tokens and formula names for . If
- is flanked by slashes, it is interpreted as a regular expression.
-The search for is extended online to `homebrew/core` and `homebrew/cask`.
+ is flanked by slashes, it is interpreted as a regular expression. The
+search for is extended online to `homebrew/core` and `homebrew/cask`.
If no search term is provided, all locally available formulae are listed.
## COMMANDS
@@ -110,8 +134,8 @@ If no search term is provided, all locally available formulae are listed.
Homebrew, like `git`(1), supports external commands. These are executable
scripts that reside somewhere in the `PATH`, named `brew-` or
-`brew-``.rb`, which can be invoked like `brew` . This allows
-you to create your own commands without modifying Homebrew's internals.
+`brew-``.rb`, which can be invoked like `brew` . This
+allows you to create your own commands without modifying Homebrew's internals.
Instructions for creating your own commands can be found in the docs:
@@ -206,11 +230,14 @@ Homebrew API:
See our issues on GitHub:
- * **Homebrew/brew**:
-
+**Homebrew/brew**
- * **Homebrew/homebrew-core**:
-
+:
- * **Homebrew/homebrew-cask**:
-
+**Homebrew/homebrew-core**
+
+:
+
+**Homebrew/homebrew-cask**
+
+:
diff --git a/Library/Homebrew/manpages/converter/kramdown.rb b/Library/Homebrew/manpages/converter/kramdown.rb
new file mode 100644
index 0000000000..ebd407cf3d
--- /dev/null
+++ b/Library/Homebrew/manpages/converter/kramdown.rb
@@ -0,0 +1,33 @@
+# typed: true
+# frozen_string_literal: true
+
+require "kramdown/converter/kramdown"
+
+module Homebrew
+ module Manpages
+ module Converter
+ # Converts our Kramdown-like input to pure Kramdown.
+ #
+ # @api private
+ class Kramdown < ::Kramdown::Converter::Kramdown
+ def initialize(root, options)
+ super(root, options.merge(line_width: 80))
+ end
+
+ def convert_variable(element, _options)
+ "*`#{element.value}`*"
+ end
+
+ def convert_a(element, options)
+ text = inner(element, options)
+ if element.attr["href"] == text
+ # Don't duplicate the URL if the link text is the same as the URL.
+ "<#{text}>"
+ else
+ super(element, options)
+ end
+ end
+ end
+ end
+ end
+end
diff --git a/Library/Homebrew/manpages/converter/roff.rb b/Library/Homebrew/manpages/converter/roff.rb
new file mode 100644
index 0000000000..3f59c7f617
--- /dev/null
+++ b/Library/Homebrew/manpages/converter/roff.rb
@@ -0,0 +1,56 @@
+# typed: true
+# frozen_string_literal: true
+
+require "kramdown/converter/man"
+
+module Homebrew
+ module Manpages
+ module Converter
+ # Converts our Kramdown-like input to roff.
+ #
+ # @api private
+ class Roff < ::Kramdown::Converter::Man
+ # Override that adds Homebrew metadata for the top level header
+ # and doesn't escape the text inside subheaders.
+ def convert_header(element, options)
+ if element.options[:level] == 1
+ element.attr["data-date"] = Date.today.strftime("%B %Y")
+ element.attr["data-extra"] = "Homebrew"
+ return super
+ end
+
+ result = +""
+ inner(element, options.merge(result:))
+ result.gsub!(" [", ' \fR[') # make args not bold
+
+ options[:result] << if element.options[:level] == 2
+ macro("SH", quote(result))
+ else
+ macro("SS", quote(result))
+ end
+ end
+
+ def convert_variable(element, options)
+ options[:result] << "\\fI#{escape(element.value)}\\fP"
+ end
+
+ def convert_a(element, options)
+ if element.attr["href"].chr == "#"
+ # Hide internal links - just make them italicised
+ convert_em(element, options)
+ else
+ super
+ # Remove the space after links if the next character is not a space
+ if options[:result].end_with?(".UE\n") &&
+ (next_element = options[:next]) &&
+ next_element.type == :text &&
+ next_element.value.chr.present? # i.e. not a space character
+ options[:result].chomp!
+ options[:result] << " "
+ end
+ end
+ end
+ end
+ end
+ end
+end
diff --git a/Library/Homebrew/manpages/parser/ronn.rb b/Library/Homebrew/manpages/parser/ronn.rb
new file mode 100644
index 0000000000..673347d5d6
--- /dev/null
+++ b/Library/Homebrew/manpages/parser/ronn.rb
@@ -0,0 +1,43 @@
+# typed: true
+# frozen_string_literal: true
+
+require "kramdown/parser/kramdown"
+
+module Homebrew
+ module Manpages
+ module Parser
+ # Kramdown parser with compatiblity for ronn variable syntax.
+ #
+ # @api private
+ class Ronn < ::Kramdown::Parser::Kramdown
+ def initialize(*)
+ super
+ # Disable HTML parsing and replace it with variable parsing.
+ # Also disable table parsing too because it depends on HTML parsing
+ # and existing command descriptions may get misinterpreted as tables.
+ # Typographic symbols is disabled as it detects `--` as en-dash.
+ @block_parsers.delete(:block_html)
+ @block_parsers.delete(:table)
+ @span_parsers.delete(:span_html)
+ @span_parsers.delete(:typographic_syms)
+ @span_parsers << :variable
+ end
+
+ # HTML-like tags denote variables instead, except
.
+ VARIABLE_REGEX = /<([\w\-\|]+)>/
+ def parse_variable
+ start_line_number = @src.current_line_number
+ @src.scan(VARIABLE_REGEX)
+ variable = @src[1]
+ if variable == "br"
+ @src.skip(/\n/)
+ @tree.children << Element.new(:br, nil, nil, location: start_line_number)
+ else
+ @tree.children << Element.new(:variable, variable, nil, location: start_line_number)
+ end
+ end
+ define_parser(:variable, VARIABLE_REGEX, "<")
+ end
+ end
+ end
+end
diff --git a/Library/Homebrew/sorbet/rbi/gems/kramdown@2.4.0.rbi b/Library/Homebrew/sorbet/rbi/gems/kramdown@2.4.0.rbi
new file mode 100644
index 0000000000..9b2edd5252
--- /dev/null
+++ b/Library/Homebrew/sorbet/rbi/gems/kramdown@2.4.0.rbi
@@ -0,0 +1,3271 @@
+# typed: true
+
+# DO NOT EDIT MANUALLY
+# This is an autogenerated file for types exported from the `kramdown` gem.
+# Please instead update this file by running `bin/tapioca gem kramdown`.
+
+# source://kramdown//lib/kramdown/version.rb#10
+module Kramdown
+ class << self
+ # Return the data directory for kramdown.
+ #
+ # source://kramdown//lib/kramdown/document.rb#49
+ def data_dir; end
+ end
+end
+
+# This module contains all available converters, i.e. classes that take a root Element and convert
+# it to a specific output format. The result is normally a string. For example, the
+# Converter::Html module converts an element tree into valid HTML.
+#
+# Converters use the Base class for common functionality (like applying a template to the output)
+# \- see its API documentation for how to create a custom converter class.
+#
+# source://kramdown//lib/kramdown/converter.rb#20
+module Kramdown::Converter
+ extend ::Kramdown::Utils::Configurable
+
+ class << self
+ # source://kramdown//lib/kramdown/utils/configurable.rb#37
+ def add_math_engine(data, *args, &block); end
+
+ # source://kramdown//lib/kramdown/utils/configurable.rb#37
+ def add_syntax_highlighter(data, *args, &block); end
+
+ # source://kramdown//lib/kramdown/utils/configurable.rb#30
+ def configurables; end
+
+ # source://kramdown//lib/kramdown/utils/configurable.rb#34
+ def math_engine(data); end
+
+ # source://kramdown//lib/kramdown/utils/configurable.rb#34
+ def syntax_highlighter(data); end
+ end
+end
+
+# == \Base class for converters
+#
+# This class serves as base class for all converters. It provides methods that can/should be
+# used by all converters (like #generate_id) as well as common functionality that is
+# automatically applied to the result (for example, embedding the output into a template).
+#
+# A converter object is used as a throw-away object, i.e. it is only used for storing the needed
+# state information during conversion. Therefore one can't instantiate a converter object
+# directly but only use the Base::convert method.
+#
+# == Implementing a converter
+#
+# Implementing a new converter is rather easy: just derive a new class from this class and put
+# it in the Kramdown::Converter module (the latter is only needed if auto-detection should work
+# properly). Then you need to implement the #convert method which has to contain the conversion
+# code for converting an element and has to return the conversion result.
+#
+# The actual transformation of the document tree can be done in any way. However, writing one
+# method per element type is a straight forward way to do it - this is how the Html and Latex
+# converters do the transformation.
+#
+# Have a look at the Base::convert method for additional information!
+#
+# source://kramdown//lib/kramdown/converter/base.rb#40
+class Kramdown::Converter::Base
+ # Initialize the converter with the given +root+ element and +options+ hash.
+ #
+ # @return [Base] a new instance of Base
+ #
+ # source://kramdown//lib/kramdown/converter/base.rb#55
+ def initialize(root, options); end
+
+ # Returns whether the template should be applied after the conversion of the tree.
+ #
+ # Defaults to true.
+ #
+ # @return [Boolean]
+ #
+ # source://kramdown//lib/kramdown/converter/base.rb#73
+ def apply_template_after?; end
+
+ # Returns whether the template should be applied before the conversion of the tree.
+ #
+ # Defaults to false.
+ #
+ # @return [Boolean]
+ #
+ # source://kramdown//lib/kramdown/converter/base.rb#66
+ def apply_template_before?; end
+
+ # The basic version of the ID generator, without any special provisions for empty or unique
+ # IDs.
+ #
+ # source://kramdown//lib/kramdown/converter/base.rb#237
+ def basic_generate_id(str); end
+
+ # Convert the element +el+ and return the resulting object.
+ #
+ # This is the only method that has to be implemented by sub-classes!
+ #
+ # @raise [NotImplementedError]
+ #
+ # source://kramdown//lib/kramdown/converter/base.rb#122
+ def convert(_el); end
+
+ # Can be used by a converter for storing arbitrary information during the conversion process.
+ #
+ # source://kramdown//lib/kramdown/converter/base.rb#43
+ def data; end
+
+ # Extract the code block/span language from the attributes.
+ #
+ # source://kramdown//lib/kramdown/converter/base.rb#174
+ def extract_code_language(attr); end
+
+ # See #extract_code_language
+ #
+ # *Warning*: This version will modify the given attributes if a language is present.
+ #
+ # source://kramdown//lib/kramdown/converter/base.rb#183
+ def extract_code_language!(attr); end
+
+ # Format the given math element with the math engine configured through the option
+ # 'math_engine'.
+ #
+ # source://kramdown//lib/kramdown/converter/base.rb#206
+ def format_math(el, opts = T.unsafe(nil)); end
+
+ # Generate an unique alpha-numeric ID from the the string +str+ for use as a header ID.
+ #
+ # Uses the option +auto_id_prefix+: the value of this option is prepended to every generated
+ # ID.
+ #
+ # source://kramdown//lib/kramdown/converter/base.rb#222
+ def generate_id(str); end
+
+ # Highlight the given +text+ in the language +lang+ with the syntax highlighter configured
+ # through the option 'syntax_highlighter'.
+ #
+ # source://kramdown//lib/kramdown/converter/base.rb#192
+ def highlight_code(text, lang, type, opts = T.unsafe(nil)); end
+
+ # Return +true+ if the header element +el+ should be used for the table of contents (as
+ # specified by the +toc_levels+ option).
+ #
+ # @return [Boolean]
+ #
+ # source://kramdown//lib/kramdown/converter/base.rb#162
+ def in_toc?(el); end
+
+ # The hash with the conversion options.
+ #
+ # source://kramdown//lib/kramdown/converter/base.rb#46
+ def options; end
+
+ # Return the output header level given a level.
+ #
+ # Uses the +header_offset+ option for adjusting the header level.
+ #
+ # source://kramdown//lib/kramdown/converter/base.rb#169
+ def output_header_level(level); end
+
+ # The root element that is converted.
+ #
+ # source://kramdown//lib/kramdown/converter/base.rb#49
+ def root; end
+
+ # Return the entity that represents the given smart_quote element.
+ #
+ # source://kramdown//lib/kramdown/converter/base.rb#248
+ def smart_quote_entity(el); end
+
+ # Add the given warning +text+ to the warning array.
+ #
+ # source://kramdown//lib/kramdown/converter/base.rb#156
+ def warning(text); end
+
+ # The warnings array.
+ #
+ # source://kramdown//lib/kramdown/converter/base.rb#52
+ def warnings; end
+
+ class << self
+ # Apply the +template+ using +body+ as the body string.
+ #
+ # The template is evaluated using ERB and the body is available in the @body instance variable
+ # and the converter object in the @converter instance variable.
+ #
+ # source://kramdown//lib/kramdown/converter/base.rb#130
+ def apply_template(converter, body); end
+
+ # Convert the element tree +tree+ and return the resulting conversion object (normally a
+ # string) and an array with warning messages. The parameter +options+ specifies the conversion
+ # options that should be used.
+ #
+ # Initializes a new instance of the calling class and then calls the #convert method with
+ # +tree+ as parameter.
+ #
+ # If the +template+ option is specified and non-empty, the template is evaluate with ERB
+ # before and/or after the tree conversion depending on the result of #apply_template_before?
+ # and #apply_template_after?. If the template is evaluated before, an empty string is used for
+ # the body; if evaluated after, the result is used as body. See ::apply_template.
+ #
+ # The template resolution is done in the following way (for the converter ConverterName):
+ #
+ # 1. Look in the current working directory for the template.
+ #
+ # 2. Append +.converter_name+ (e.g. +.html+) to the template name and look for the resulting
+ # file in the current working directory (the form +.convertername+ is deprecated).
+ #
+ # 3. Append +.converter_name+ to the template name and look for it in the kramdown data
+ # directory (the form +.convertername+ is deprecated).
+ #
+ # 4. Check if the template name starts with 'string://' and if so, strip this prefix away and
+ # use the rest as template.
+ #
+ # source://kramdown//lib/kramdown/converter/base.rb#101
+ def convert(tree, options = T.unsafe(nil)); end
+
+ # Return the template specified by +template+.
+ #
+ # source://kramdown//lib/kramdown/converter/base.rb#139
+ def get_template(template); end
+
+ private
+
+ def allocate; end
+ def new(*_arg0); end
+ end
+end
+
+# source://kramdown//lib/kramdown/converter/base.rb#245
+Kramdown::Converter::Base::SMART_QUOTE_INDICES = T.let(T.unsafe(nil), Hash)
+
+# Converts a Kramdown::Document to a nested hash for further processing or debug output.
+#
+# source://kramdown//lib/kramdown/converter/hash_ast.rb#19
+class Kramdown::Converter::HashAST < ::Kramdown::Converter::Base
+ # source://kramdown//lib/kramdown/converter/hash_ast.rb#21
+ def convert(el); end
+end
+
+# source://kramdown//lib/kramdown/converter/hash_ast.rb#35
+Kramdown::Converter::HashAst = Kramdown::Converter::HashAST
+
+# Converts a Kramdown::Document to HTML.
+#
+# You can customize the HTML converter by sub-classing it and overriding the +convert_NAME+
+# methods. Each such method takes the following parameters:
+#
+# [+el+] The element of type +NAME+ to be converted.
+#
+# [+indent+] A number representing the current amount of spaces for indent (only used for
+# block-level elements).
+#
+# The return value of such a method has to be a string containing the element +el+ formatted as
+# HTML element.
+#
+# source://kramdown//lib/kramdown/converter/html.rb#30
+class Kramdown::Converter::Html < ::Kramdown::Converter::Base
+ include ::Kramdown::Utils::Html
+ include ::Kramdown::Parser::Html::Constants
+
+ # Initialize the HTML converter with the given Kramdown document +doc+.
+ #
+ # @return [Html] a new instance of Html
+ #
+ # source://kramdown//lib/kramdown/converter/html.rb#39
+ def initialize(root, options); end
+
+ # Add the syntax highlighter name to the 'class' attribute of the given attribute hash. And
+ # overwrites or add a "language-LANG" part using the +lang+ parameter if +lang+ is not nil.
+ #
+ # source://kramdown//lib/kramdown/converter/html.rb#409
+ def add_syntax_highlighter_to_class_attr(attr, lang = T.unsafe(nil)); end
+
+ # Dispatch the conversion of the element +el+ to a +convert_TYPE+ method using the +type+ of
+ # the element.
+ #
+ # source://kramdown//lib/kramdown/converter/html.rb#57
+ def convert(el, indent = T.unsafe(nil)); end
+
+ # source://kramdown//lib/kramdown/converter/html.rb#272
+ def convert_a(el, indent); end
+
+ # source://kramdown//lib/kramdown/converter/html.rb#365
+ def convert_abbreviation(el, _indent); end
+
+ # source://kramdown//lib/kramdown/converter/html.rb#77
+ def convert_blank(_el, _indent); end
+
+ # source://kramdown//lib/kramdown/converter/html.rb#141
+ def convert_blockquote(el, indent); end
+
+ # source://kramdown//lib/kramdown/converter/html.rb#268
+ def convert_br(_el, _indent); end
+
+ # source://kramdown//lib/kramdown/converter/html.rb#111
+ def convert_codeblock(el, indent); end
+
+ # source://kramdown//lib/kramdown/converter/html.rb#280
+ def convert_codespan(el, _indent); end
+
+ # source://kramdown//lib/kramdown/converter/html.rb#260
+ def convert_comment(el, indent); end
+
+ # source://kramdown//lib/kramdown/converter/html.rb#178
+ def convert_dd(el, indent); end
+
+ # source://kramdown//lib/kramdown/converter/html.rb#174
+ def convert_dl(el, indent); end
+
+ # source://kramdown//lib/kramdown/converter/html.rb#190
+ def convert_dt(el, indent); end
+
+ # source://kramdown//lib/kramdown/converter/html.rb#319
+ def convert_em(el, indent); end
+
+ # source://kramdown//lib/kramdown/converter/html.rb#324
+ def convert_entity(el, _indent); end
+
+ # source://kramdown//lib/kramdown/converter/html.rb#294
+ def convert_footnote(el, _indent); end
+
+ # source://kramdown//lib/kramdown/converter/html.rb#145
+ def convert_header(el, indent); end
+
+ # source://kramdown//lib/kramdown/converter/html.rb#155
+ def convert_hr(el, indent); end
+
+ # source://kramdown//lib/kramdown/converter/html.rb#201
+ def convert_html_element(el, indent); end
+
+ # source://kramdown//lib/kramdown/converter/html.rb#276
+ def convert_img(el, _indent); end
+
+ # source://kramdown//lib/kramdown/converter/html.rb#178
+ def convert_li(el, indent); end
+
+ # source://kramdown//lib/kramdown/converter/html.rb#351
+ def convert_math(el, indent); end
+
+ # source://kramdown//lib/kramdown/converter/html.rb#162
+ def convert_ol(el, indent); end
+
+ # source://kramdown//lib/kramdown/converter/html.rb#86
+ def convert_p(el, indent); end
+
+ # source://kramdown//lib/kramdown/converter/html.rb#311
+ def convert_raw(el, _indent); end
+
+ # source://kramdown//lib/kramdown/converter/html.rb#372
+ def convert_root(el, indent); end
+
+ # source://kramdown//lib/kramdown/converter/html.rb#347
+ def convert_smart_quote(el, _indent); end
+
+ # Helper method used by +convert_p+ to convert a paragraph that only contains a single :img
+ # element.
+ #
+ # source://kramdown//lib/kramdown/converter/html.rb#99
+ def convert_standalone_image(el, indent); end
+
+ # source://kramdown//lib/kramdown/converter/html.rb#319
+ def convert_strong(el, indent); end
+
+ # source://kramdown//lib/kramdown/converter/html.rb#238
+ def convert_table(el, indent); end
+
+ # source://kramdown//lib/kramdown/converter/html.rb#238
+ def convert_tbody(el, indent); end
+
+ # source://kramdown//lib/kramdown/converter/html.rb#248
+ def convert_td(el, indent); end
+
+ # source://kramdown//lib/kramdown/converter/html.rb#81
+ def convert_text(el, _indent); end
+
+ # source://kramdown//lib/kramdown/converter/html.rb#238
+ def convert_tfoot(el, indent); end
+
+ # source://kramdown//lib/kramdown/converter/html.rb#238
+ def convert_thead(el, indent); end
+
+ # source://kramdown//lib/kramdown/converter/html.rb#238
+ def convert_tr(el, indent); end
+
+ # source://kramdown//lib/kramdown/converter/html.rb#339
+ def convert_typographic_sym(el, _indent); end
+
+ # source://kramdown//lib/kramdown/converter/html.rb#162
+ def convert_ul(el, indent); end
+
+ # source://kramdown//lib/kramdown/converter/html.rb#228
+ def convert_xml_comment(el, indent); end
+
+ # source://kramdown//lib/kramdown/converter/html.rb#228
+ def convert_xml_pi(el, indent); end
+
+ # Fixes the elements for use in a TOC entry.
+ #
+ # source://kramdown//lib/kramdown/converter/html.rb#453
+ def fix_for_toc_entry(elements); end
+
+ # Return an HTML ordered list with the footnote content for the used footnotes.
+ #
+ # source://kramdown//lib/kramdown/converter/html.rb#488
+ def footnote_content; end
+
+ # Format the given element as block HTML.
+ #
+ # source://kramdown//lib/kramdown/converter/html.rb#397
+ def format_as_block_html(name, attr, body, indent); end
+
+ # Format the given element as block HTML with a newline after the start tag and indentation
+ # before the end tag.
+ #
+ # source://kramdown//lib/kramdown/converter/html.rb#403
+ def format_as_indented_block_html(name, attr, body, indent); end
+
+ # Format the given element as span HTML.
+ #
+ # source://kramdown//lib/kramdown/converter/html.rb#392
+ def format_as_span_html(name, attr, body); end
+
+ # Generate and return an element tree for the table of contents.
+ #
+ # source://kramdown//lib/kramdown/converter/html.rb#415
+ def generate_toc_tree(toc, type, attr); end
+
+ # The amount of indentation used when nesting HTML tags.
+ #
+ # source://kramdown//lib/kramdown/converter/html.rb#36
+ def indent; end
+
+ # The amount of indentation used when nesting HTML tags.
+ #
+ # source://kramdown//lib/kramdown/converter/html.rb#36
+ def indent=(_arg0); end
+
+ # Return the converted content of the children of +el+ as a string. The parameter +indent+ has
+ # to be the amount of indentation used for the element +el+.
+ #
+ # Pushes +el+ onto the @stack before converting the child elements and pops it from the stack
+ # afterwards.
+ #
+ # source://kramdown//lib/kramdown/converter/html.rb#66
+ def inner(el, indent); end
+
+ # Obfuscate the +text+ by using HTML entities.
+ #
+ # source://kramdown//lib/kramdown/converter/html.rb#476
+ def obfuscate(text); end
+
+ # Remove all footnotes from the given elements.
+ #
+ # source://kramdown//lib/kramdown/converter/html.rb#468
+ def remove_footnotes(elements); end
+
+ # Remove all link elements by unwrapping them.
+ #
+ # source://kramdown//lib/kramdown/converter/html.rb#460
+ def unwrap_links(elements); end
+end
+
+# source://kramdown//lib/kramdown/converter/html.rb#246
+Kramdown::Converter::Html::ENTITY_NBSP = T.let(T.unsafe(nil), Kramdown::Utils::Entities::Entity)
+
+# source://kramdown//lib/kramdown/converter/html.rb#485
+Kramdown::Converter::Html::FOOTNOTE_BACKLINK_FMT = T.let(T.unsafe(nil), String)
+
+# source://kramdown//lib/kramdown/converter/html.rb#328
+Kramdown::Converter::Html::TYPOGRAPHIC_SYMS = T.let(T.unsafe(nil), Hash)
+
+# source://kramdown//lib/kramdown/converter/html.rb#159
+Kramdown::Converter::Html::ZERO_TO_ONETWENTYEIGHT = T.let(T.unsafe(nil), Array)
+
+# Converts an element tree to the kramdown format.
+#
+# source://kramdown//lib/kramdown/converter/kramdown.rb#18
+class Kramdown::Converter::Kramdown < ::Kramdown::Converter::Base
+ include ::Kramdown::Utils::Html
+
+ # @return [Kramdown] a new instance of Kramdown
+ #
+ # source://kramdown//lib/kramdown/converter/kramdown.rb#24
+ def initialize(root, options); end
+
+ # source://kramdown//lib/kramdown/converter/kramdown.rb#34
+ def convert(el, opts = T.unsafe(nil)); end
+
+ # source://kramdown//lib/kramdown/converter/kramdown.rb#291
+ def convert_a(el, opts); end
+
+ # source://kramdown//lib/kramdown/converter/kramdown.rb#377
+ def convert_abbreviation(el, _opts); end
+
+ # source://kramdown//lib/kramdown/converter/kramdown.rb#70
+ def convert_blank(_el, _opts); end
+
+ # source://kramdown//lib/kramdown/converter/kramdown.rb#107
+ def convert_blockquote(el, opts); end
+
+ # source://kramdown//lib/kramdown/converter/kramdown.rb#287
+ def convert_br(_el, _opts); end
+
+ # source://kramdown//lib/kramdown/converter/kramdown.rb#103
+ def convert_codeblock(el, _opts); end
+
+ # source://kramdown//lib/kramdown/converter/kramdown.rb#324
+ def convert_codespan(el, _opts); end
+
+ # source://kramdown//lib/kramdown/converter/kramdown.rb#279
+ def convert_comment(el, _opts); end
+
+ # source://kramdown//lib/kramdown/converter/kramdown.rb#158
+ def convert_dd(el, opts); end
+
+ # source://kramdown//lib/kramdown/converter/kramdown.rb#124
+ def convert_dl(el, opts); end
+
+ # source://kramdown//lib/kramdown/converter/kramdown.rb#182
+ def convert_dt(el, opts); end
+
+ # source://kramdown//lib/kramdown/converter/kramdown.rb#346
+ def convert_em(el, opts); end
+
+ # source://kramdown//lib/kramdown/converter/kramdown.rb#356
+ def convert_entity(el, _opts); end
+
+ # source://kramdown//lib/kramdown/converter/kramdown.rb#329
+ def convert_footnote(el, _opts); end
+
+ # source://kramdown//lib/kramdown/converter/kramdown.rb#112
+ def convert_header(el, opts); end
+
+ # source://kramdown//lib/kramdown/converter/kramdown.rb#120
+ def convert_hr(_el, _opts); end
+
+ # source://kramdown//lib/kramdown/converter/kramdown.rb#195
+ def convert_html_element(el, opts); end
+
+ # source://kramdown//lib/kramdown/converter/kramdown.rb#308
+ def convert_img(el, _opts); end
+
+ # source://kramdown//lib/kramdown/converter/kramdown.rb#130
+ def convert_li(el, opts); end
+
+ # source://kramdown//lib/kramdown/converter/kramdown.rb#373
+ def convert_math(el, _opts); end
+
+ # source://kramdown//lib/kramdown/converter/kramdown.rb#124
+ def convert_ol(el, opts); end
+
+ # source://kramdown//lib/kramdown/converter/kramdown.rb#88
+ def convert_p(el, opts); end
+
+ # source://kramdown//lib/kramdown/converter/kramdown.rb#334
+ def convert_raw(el, _opts); end
+
+ # source://kramdown//lib/kramdown/converter/kramdown.rb#381
+ def convert_root(el, opts); end
+
+ # source://kramdown//lib/kramdown/converter/kramdown.rb#369
+ def convert_smart_quote(el, _opts); end
+
+ # source://kramdown//lib/kramdown/converter/kramdown.rb#351
+ def convert_strong(el, opts); end
+
+ # source://kramdown//lib/kramdown/converter/kramdown.rb#239
+ def convert_table(el, opts); end
+
+ # source://kramdown//lib/kramdown/converter/kramdown.rb#260
+ def convert_tbody(el, opts); end
+
+ # source://kramdown//lib/kramdown/converter/kramdown.rb#275
+ def convert_td(el, opts); end
+
+ # source://kramdown//lib/kramdown/converter/kramdown.rb#76
+ def convert_text(el, opts); end
+
+ # source://kramdown//lib/kramdown/converter/kramdown.rb#267
+ def convert_tfoot(el, opts); end
+
+ # source://kramdown//lib/kramdown/converter/kramdown.rb#244
+ def convert_thead(el, opts); end
+
+ # source://kramdown//lib/kramdown/converter/kramdown.rb#271
+ def convert_tr(el, opts); end
+
+ # source://kramdown//lib/kramdown/converter/kramdown.rb#365
+ def convert_typographic_sym(el, _opts); end
+
+ # source://kramdown//lib/kramdown/converter/kramdown.rb#124
+ def convert_ul(el, opts); end
+
+ # source://kramdown//lib/kramdown/converter/kramdown.rb#229
+ def convert_xml_comment(el, _opts); end
+
+ # source://kramdown//lib/kramdown/converter/kramdown.rb#229
+ def convert_xml_pi(el, _opts); end
+
+ # source://kramdown//lib/kramdown/converter/kramdown.rb#408
+ def create_abbrev_defs; end
+
+ # source://kramdown//lib/kramdown/converter/kramdown.rb#399
+ def create_footnote_defs; end
+
+ # source://kramdown//lib/kramdown/converter/kramdown.rb#389
+ def create_link_defs; end
+
+ # Return the IAL containing the attributes of the element +el+.
+ #
+ # source://kramdown//lib/kramdown/converter/kramdown.rb#419
+ def ial_for_element(el); end
+
+ # source://kramdown//lib/kramdown/converter/kramdown.rb#54
+ def inner(el, opts = T.unsafe(nil)); end
+
+ # source://kramdown//lib/kramdown/converter/kramdown.rb#444
+ def parse_title(attr); end
+end
+
+# source://kramdown//lib/kramdown/converter/kramdown.rb#74
+Kramdown::Converter::Kramdown::ESCAPED_CHAR_RE = T.let(T.unsafe(nil), Regexp)
+
+# source://kramdown//lib/kramdown/converter/kramdown.rb#192
+Kramdown::Converter::Kramdown::HTML_ELEMENT_TYPES = T.let(T.unsafe(nil), Array)
+
+# source://kramdown//lib/kramdown/converter/kramdown.rb#190
+Kramdown::Converter::Kramdown::HTML_TAGS_WITH_BODY = T.let(T.unsafe(nil), Array)
+
+# source://kramdown//lib/kramdown/converter/kramdown.rb#360
+Kramdown::Converter::Kramdown::TYPOGRAPHIC_SYMS = T.let(T.unsafe(nil), Hash)
+
+# Converts an element tree to LaTeX.
+#
+# This converter uses ideas from other Markdown-to-LaTeX converters like Pandoc and Maruku.
+#
+# You can customize this converter by sub-classing it and overriding the +convert_NAME+ methods.
+# Each such method takes the following parameters:
+#
+# [+el+] The element of type +NAME+ to be converted.
+#
+# [+opts+] A hash containing processing options that are passed down from parent elements. The
+# key :parent is always set and contains the parent element as value.
+#
+# The return value of such a method has to be a string containing the element +el+ formatted
+# correctly as LaTeX markup.
+#
+# source://kramdown//lib/kramdown/converter/latex.rb#31
+class Kramdown::Converter::Latex < ::Kramdown::Converter::Base
+ # Initialize the LaTeX converter with the +root+ element and the conversion +options+.
+ #
+ # @return [Latex] a new instance of Latex
+ #
+ # source://kramdown//lib/kramdown/converter/latex.rb#34
+ def initialize(root, options); end
+
+ # Return a LaTeX comment containing all attributes as 'key="value"' pairs.
+ #
+ # source://kramdown//lib/kramdown/converter/latex.rb#599
+ def attribute_list(el); end
+
+ # Dispatch the conversion of the element +el+ to a +convert_TYPE+ method using the +type+ of
+ # the element.
+ #
+ # source://kramdown//lib/kramdown/converter/latex.rb#41
+ def convert(el, opts = T.unsafe(nil)); end
+
+ # source://kramdown//lib/kramdown/converter/latex.rb#216
+ def convert_a(el, opts); end
+
+ # source://kramdown//lib/kramdown/converter/latex.rb#569
+ def convert_abbreviation(el, _opts); end
+
+ # source://kramdown//lib/kramdown/converter/latex.rb#61
+ def convert_blank(_el, opts); end
+
+ # source://kramdown//lib/kramdown/converter/latex.rb#110
+ def convert_blockquote(el, opts); end
+
+ # source://kramdown//lib/kramdown/converter/latex.rb#209
+ def convert_br(_el, opts); end
+
+ # source://kramdown//lib/kramdown/converter/latex.rb#87
+ def convert_codeblock(el, _opts); end
+
+ # source://kramdown//lib/kramdown/converter/latex.rb#239
+ def convert_codespan(el, _opts); end
+
+ # source://kramdown//lib/kramdown/converter/latex.rb#205
+ def convert_comment(el, _opts); end
+
+ # source://kramdown//lib/kramdown/converter/latex.rb#151
+ def convert_dd(el, opts); end
+
+ # source://kramdown//lib/kramdown/converter/latex.rb#139
+ def convert_dl(el, opts); end
+
+ # source://kramdown//lib/kramdown/converter/latex.rb#147
+ def convert_dt(el, opts); end
+
+ # source://kramdown//lib/kramdown/converter/latex.rb#263
+ def convert_em(el, opts); end
+
+ # source://kramdown//lib/kramdown/converter/latex.rb#533
+ def convert_entity(el, _opts); end
+
+ # source://kramdown//lib/kramdown/converter/latex.rb#250
+ def convert_footnote(el, opts); end
+
+ # source://kramdown//lib/kramdown/converter/latex.rb#114
+ def convert_header(el, opts); end
+
+ # source://kramdown//lib/kramdown/converter/latex.rb#124
+ def convert_hr(el, _opts); end
+
+ # source://kramdown//lib/kramdown/converter/latex.rb#155
+ def convert_html_element(el, opts); end
+
+ # source://kramdown//lib/kramdown/converter/latex.rb#225
+ def convert_img(el, _opts); end
+
+ # source://kramdown//lib/kramdown/converter/latex.rb#143
+ def convert_li(el, opts); end
+
+ # source://kramdown//lib/kramdown/converter/latex.rb#556
+ def convert_math(el, _opts); end
+
+ # source://kramdown//lib/kramdown/converter/latex.rb#129
+ def convert_ol(el, opts); end
+
+ # source://kramdown//lib/kramdown/converter/latex.rb#69
+ def convert_p(el, opts); end
+
+ # source://kramdown//lib/kramdown/converter/latex.rb#255
+ def convert_raw(el, _opts); end
+
+ # source://kramdown//lib/kramdown/converter/latex.rb#57
+ def convert_root(el, opts); end
+
+ # source://kramdown//lib/kramdown/converter/latex.rb#550
+ def convert_smart_quote(el, opts); end
+
+ # Helper method used by +convert_p+ to convert a paragraph that only contains a single :img
+ # element.
+ #
+ # source://kramdown//lib/kramdown/converter/latex.rb#80
+ def convert_standalone_image(el, _opts, img); end
+
+ # source://kramdown//lib/kramdown/converter/latex.rb#267
+ def convert_strong(el, opts); end
+
+ # source://kramdown//lib/kramdown/converter/latex.rb#177
+ def convert_table(el, opts); end
+
+ # source://kramdown//lib/kramdown/converter/latex.rb#189
+ def convert_tbody(el, opts); end
+
+ # source://kramdown//lib/kramdown/converter/latex.rb#201
+ def convert_td(el, opts); end
+
+ # source://kramdown//lib/kramdown/converter/latex.rb#65
+ def convert_text(el, _opts); end
+
+ # source://kramdown//lib/kramdown/converter/latex.rb#193
+ def convert_tfoot(el, opts); end
+
+ # source://kramdown//lib/kramdown/converter/latex.rb#185
+ def convert_thead(el, opts); end
+
+ # source://kramdown//lib/kramdown/converter/latex.rb#197
+ def convert_tr(el, opts); end
+
+ # source://kramdown//lib/kramdown/converter/latex.rb#542
+ def convert_typographic_sym(el, _opts); end
+
+ # source://kramdown//lib/kramdown/converter/latex.rb#129
+ def convert_ul(el, opts); end
+
+ # source://kramdown//lib/kramdown/converter/latex.rb#166
+ def convert_xml_comment(el, _opts); end
+
+ # source://kramdown//lib/kramdown/converter/latex.rb#170
+ def convert_xml_pi(_el, _opts); end
+
+ # source://kramdown//lib/kramdown/converter/latex.rb#522
+ def entity_to_latex(entity); end
+
+ # Escape the special LaTeX characters in the string +str+.
+ #
+ # source://kramdown//lib/kramdown/converter/latex.rb#618
+ def escape(str); end
+
+ # Return the converted content of the children of +el+ as a string.
+ #
+ # source://kramdown//lib/kramdown/converter/latex.rb#46
+ def inner(el, opts); end
+
+ # Wrap the +text+ inside a LaTeX environment of type +type+. The element +el+ is passed on to
+ # the method #attribute_list -- the resulting string is appended to both the \\begin and the
+ # \\end lines of the LaTeX environment for easier post-processing of LaTeX environments.
+ #
+ # source://kramdown//lib/kramdown/converter/latex.rb#582
+ def latex_environment(type, el, text); end
+
+ # Return a string containing a valid \hypertarget command if the element has an ID defined, or
+ # +nil+ otherwise. If the parameter +add_label+ is +true+, a \label command will also be used
+ # additionally to the \hypertarget command.
+ #
+ # source://kramdown//lib/kramdown/converter/latex.rb#590
+ def latex_link_target(el, add_label = T.unsafe(nil)); end
+
+ # Normalize the abbreviation key so that it only contains allowed ASCII character
+ #
+ # source://kramdown//lib/kramdown/converter/latex.rb#575
+ def normalize_abbreviation_key(key); end
+end
+
+# Inspired by Maruku: entity conversion table based on the one from htmltolatex
+# (http://sourceforge.net/projects/htmltolatex/), with some small adjustments/additions
+#
+# source://kramdown//lib/kramdown/converter/latex.rb#273
+Kramdown::Converter::Latex::ENTITY_CONV_TABLE = T.let(T.unsafe(nil), Hash)
+
+# source://kramdown//lib/kramdown/converter/latex.rb#605
+Kramdown::Converter::Latex::ESCAPE_MAP = T.let(T.unsafe(nil), Hash)
+
+# source://kramdown//lib/kramdown/converter/latex.rb#615
+Kramdown::Converter::Latex::ESCAPE_RE = T.let(T.unsafe(nil), Regexp)
+
+# source://kramdown//lib/kramdown/converter/latex.rb#175
+Kramdown::Converter::Latex::TABLE_ALIGNMENT_CHAR = T.let(T.unsafe(nil), Hash)
+
+# source://kramdown//lib/kramdown/converter/latex.rb#537
+Kramdown::Converter::Latex::TYPOGRAPHIC_SYMS = T.let(T.unsafe(nil), Hash)
+
+# Converts a Kramdown::Document to a manpage in groff format. See man(7), groff_man(7) and
+# man-pages(7) for information regarding the output.
+#
+# source://kramdown//lib/kramdown/converter/man.rb#18
+class Kramdown::Converter::Man < ::Kramdown::Converter::Base
+ # source://kramdown//lib/kramdown/converter/man.rb#20
+ def convert(el, opts = T.unsafe(nil)); end
+
+ private
+
+ # source://kramdown//lib/kramdown/converter/man.rb#191
+ def convert_a(el, opts); end
+
+ # source://kramdown//lib/kramdown/converter/man.rb#229
+ def convert_abbreviation(el, opts); end
+
+ # source://kramdown//lib/kramdown/converter/man.rb#47
+ def convert_blank(*_arg0); end
+
+ # source://kramdown//lib/kramdown/converter/man.rb#95
+ def convert_blockquote(el, opts); end
+
+ # source://kramdown//lib/kramdown/converter/man.rb#225
+ def convert_br(_el, opts); end
+
+ # source://kramdown//lib/kramdown/converter/man.rb#89
+ def convert_codeblock(el, opts); end
+
+ # source://kramdown//lib/kramdown/converter/man.rb#221
+ def convert_codespan(el, opts); end
+
+ # source://kramdown//lib/kramdown/converter/man.rb#186
+ def convert_comment(el, opts); end
+
+ # source://kramdown//lib/kramdown/converter/man.rb#127
+ def convert_dd(el, opts); end
+
+ # source://kramdown//lib/kramdown/converter/man.rb#101
+ def convert_dl(el, opts); end
+
+ # source://kramdown//lib/kramdown/converter/man.rb#121
+ def convert_dt(el, opts); end
+
+ # source://kramdown//lib/kramdown/converter/man.rb#209
+ def convert_em(el, opts); end
+
+ # source://kramdown//lib/kramdown/converter/man.rb#255
+ def convert_entity(el, opts); end
+
+ # source://kramdown//lib/kramdown/converter/man.rb#241
+ def convert_footnote(*_arg0); end
+
+ # source://kramdown//lib/kramdown/converter/man.rb#61
+ def convert_header(el, opts); end
+
+ # source://kramdown//lib/kramdown/converter/man.rb#47
+ def convert_hr(*_arg0); end
+
+ # source://kramdown//lib/kramdown/converter/man.rb#182
+ def convert_html_element(*_arg0); end
+
+ # source://kramdown//lib/kramdown/converter/man.rb#205
+ def convert_img(_el, _opts); end
+
+ # source://kramdown//lib/kramdown/converter/man.rb#110
+ def convert_li(el, opts); end
+
+ # source://kramdown//lib/kramdown/converter/man.rb#233
+ def convert_math(el, opts); end
+
+ # source://kramdown//lib/kramdown/converter/man.rb#101
+ def convert_ol(el, opts); end
+
+ # source://kramdown//lib/kramdown/converter/man.rb#52
+ def convert_p(el, opts); end
+
+ # source://kramdown//lib/kramdown/converter/man.rb#245
+ def convert_raw(*_arg0); end
+
+ # source://kramdown//lib/kramdown/converter/man.rb#40
+ def convert_root(el, opts); end
+
+ # source://kramdown//lib/kramdown/converter/man.rb#259
+ def convert_smart_quote(el, opts); end
+
+ # source://kramdown//lib/kramdown/converter/man.rb#215
+ def convert_strong(el, opts); end
+
+ # source://kramdown//lib/kramdown/converter/man.rb#139
+ def convert_table(el, opts); end
+
+ # source://kramdown//lib/kramdown/converter/man.rb#154
+ def convert_tbody(el, opts); end
+
+ # source://kramdown//lib/kramdown/converter/man.rb#170
+ def convert_td(el, opts); end
+
+ # source://kramdown//lib/kramdown/converter/man.rb#249
+ def convert_text(el, opts); end
+
+ # source://kramdown//lib/kramdown/converter/man.rb#161
+ def convert_tfoot(el, opts); end
+
+ # source://kramdown//lib/kramdown/converter/man.rb#148
+ def convert_thead(el, opts); end
+
+ # source://kramdown//lib/kramdown/converter/man.rb#165
+ def convert_tr(el, opts); end
+
+ # source://kramdown//lib/kramdown/converter/man.rb#268
+ def convert_typographic_sym(el, opts); end
+
+ # source://kramdown//lib/kramdown/converter/man.rb#101
+ def convert_ul(el, opts); end
+
+ # source://kramdown//lib/kramdown/converter/man.rb#186
+ def convert_xml_comment(el, opts); end
+
+ # source://kramdown//lib/kramdown/converter/man.rb#47
+ def convert_xml_pi(*_arg0); end
+
+ # source://kramdown//lib/kramdown/converter/man.rb#285
+ def escape(text, preserve_whitespace = T.unsafe(nil)); end
+
+ # source://kramdown//lib/kramdown/converter/man.rb#26
+ def inner(el, opts, use = T.unsafe(nil)); end
+
+ # source://kramdown//lib/kramdown/converter/man.rb#272
+ def macro(name, *args); end
+
+ # source://kramdown//lib/kramdown/converter/man.rb#276
+ def newline(text); end
+
+ # source://kramdown//lib/kramdown/converter/man.rb#281
+ def quote(text); end
+
+ # source://kramdown//lib/kramdown/converter/man.rb#293
+ def unicode_char(codepoint); end
+end
+
+# source://kramdown//lib/kramdown/converter/man.rb#137
+Kramdown::Converter::Man::TABLE_CELL_ALIGNMENT = T.let(T.unsafe(nil), Hash)
+
+# source://kramdown//lib/kramdown/converter/man.rb#263
+Kramdown::Converter::Man::TYPOGRAPHIC_SYMS_MAP = T.let(T.unsafe(nil), Hash)
+
+# Removes all block (and optionally span) level HTML tags from the element tree.
+#
+# This converter can be used on parsed HTML documents to get an element tree that will only
+# contain native kramdown elements.
+#
+# *Note* that the returned element tree may not be fully conformant (i.e. the content models of
+# *some elements may be violated)!
+#
+# This converter modifies the given tree in-place and returns it.
+#
+# source://kramdown//lib/kramdown/converter/remove_html_tags.rb#25
+class Kramdown::Converter::RemoveHtmlTags < ::Kramdown::Converter::Base
+ # @return [RemoveHtmlTags] a new instance of RemoveHtmlTags
+ #
+ # source://kramdown//lib/kramdown/converter/remove_html_tags.rb#27
+ def initialize(root, options); end
+
+ # source://kramdown//lib/kramdown/converter/remove_html_tags.rb#32
+ def convert(el); end
+end
+
+# Converts a Kramdown::Document to an element tree that represents the table of contents.
+#
+# The returned tree consists of Element objects of type :toc where the root element is just used
+# as container object. Each :toc element contains as value the wrapped :header element and under
+# the attribute key :id the header ID that should be used (note that this ID may not exist in
+# the wrapped element).
+#
+# Since the TOC tree consists of special :toc elements, one cannot directly feed this tree to
+# other converters!
+#
+# source://kramdown//lib/kramdown/converter/toc.rb#25
+class Kramdown::Converter::Toc < ::Kramdown::Converter::Base
+ # @return [Toc] a new instance of Toc
+ #
+ # source://kramdown//lib/kramdown/converter/toc.rb#27
+ def initialize(root, options); end
+
+ # source://kramdown//lib/kramdown/converter/toc.rb#34
+ def convert(el); end
+
+ private
+
+ # source://kramdown//lib/kramdown/converter/toc.rb#47
+ def add_to_toc(el, id); end
+end
+
+# The main interface to kramdown.
+#
+# This class provides a one-stop-shop for using kramdown to convert text into various output
+# formats. Use it like this:
+#
+# require 'kramdown'
+# doc = Kramdown::Document.new('This *is* some kramdown text')
+# puts doc.to_html
+#
+# The #to_html method is a shortcut for using the Converter::Html class. See #method_missing for
+# more information.
+#
+# The second argument to the ::new method is an options hash for customizing the behaviour of the
+# used parser and the converter. See ::new for more information!
+#
+# source://kramdown//lib/kramdown/document.rb#73
+class Kramdown::Document
+ # Create a new Kramdown document from the string +source+ and use the provided +options+. The
+ # options that can be used are defined in the Options module.
+ #
+ # The special options key :input can be used to select the parser that should parse the
+ # +source+. It has to be the name of a class in the Kramdown::Parser module. For example, to
+ # select the kramdown parser, one would set the :input key to +Kramdown+. If this key is not
+ # set, it defaults to +Kramdown+.
+ #
+ # The +source+ is immediately parsed by the selected parser so that the root element is
+ # immediately available and the output can be generated.
+ #
+ # @return [Document] a new instance of Document
+ #
+ # source://kramdown//lib/kramdown/document.rb#96
+ def initialize(source, options = T.unsafe(nil)); end
+
+ # source://kramdown//lib/kramdown/document.rb#124
+ def inspect; end
+
+ # Check if a method is invoked that begins with +to_+ and if so, try to instantiate a converter
+ # class (i.e. a class in the Kramdown::Converter module) and use it for converting the document.
+ #
+ # For example, +to_html+ would instantiate the Kramdown::Converter::Html class.
+ #
+ # source://kramdown//lib/kramdown/document.rb#113
+ def method_missing(id, *attr, &block); end
+
+ # The options hash which holds the options for parsing/converting the Kramdown document.
+ #
+ # source://kramdown//lib/kramdown/document.rb#80
+ def options; end
+
+ # The root Element of the element tree. It is immediately available after the ::new method has
+ # been called.
+ #
+ # source://kramdown//lib/kramdown/document.rb#77
+ def root; end
+
+ # The root Element of the element tree. It is immediately available after the ::new method has
+ # been called.
+ #
+ # source://kramdown//lib/kramdown/document.rb#77
+ def root=(_arg0); end
+
+ # An array of warning messages. It is filled with warnings during the parsing phase (i.e. in
+ # ::new) and the conversion phase.
+ #
+ # source://kramdown//lib/kramdown/document.rb#84
+ def warnings; end
+
+ protected
+
+ # Try requiring a parser or converter class and don't raise an error if the file is not found.
+ #
+ # source://kramdown//lib/kramdown/document.rb#129
+ def try_require(type, name); end
+end
+
+# Represents all elements in the element tree.
+#
+# kramdown only uses this one class for representing all available elements in an element tree
+# (paragraphs, headers, emphasis, ...). The type of element can be set via the #type accessor.
+#
+# The root of a kramdown element tree has to be an element of type :root. It needs to have certain
+# option keys set so that conversions work correctly. If only a part of a tree should be
+# converted, duplicate the root node and assign the #children appropriately, e.g:
+#
+# root = doc.root
+# new_root = root.dup
+# new_root.children = [root.children[0]] # assign new array with elements to convert
+#
+# Following is a description of all supported element types.
+#
+# Note that the option :location may contain the start line number of an element in the source
+# document.
+#
+# == Structural Elements
+#
+# === :root
+#
+# [Category] None
+# [Usage context] As the root element of a document
+# [Content model] Block-level elements
+#
+# Represents the root of a kramdown document.
+#
+# The root element contains the following option keys:
+#
+# parts of the kramdown document.
+#
+# :abbrev_defs:: This key may be used to store the mapping of abbreviation to abbreviation
+# definition.
+#
+# :abbrev_attr:: This key may be used to store the mapping of abbreviation to abbreviation
+# attributes.
+#
+# :options:: This key may be used to store options that were set during parsing of the document.
+#
+# :footnote_count:: This key stores the number of actually referenced footnotes of the document.
+#
+# === :blank
+#
+# [Category] Block-level element
+# [Usage context] Where block-level elements are expected
+# [Content model] Empty
+#
+# Represents one or more blank lines. It is not allowed to have two or more consecutive blank
+# elements.
+#
+# The +value+ field may contain the original content of the blank lines.
+#
+#
+# === :p
+#
+# [Category] Block-level element
+# [Usage context] Where block-level elements are expected
+# [Content model] Span-level elements
+#
+# Represents a paragraph.
+#
+# If the option :transparent is +true+, this element just represents a block of text. I.e. this
+# element just functions as a container for span-level elements.
+#
+#
+# === :header
+#
+# [Category] Block-level element
+# [Usage context] Where block-level elements are expected
+# [Content model] Span-level elements
+#
+# Represents a header.
+#
+# The option :level specifies the header level and has to contain a number between 1 and \6. The
+# option :raw_text has to contain the raw header text.
+#
+#
+# === :blockquote
+#
+# [Category] Block-level element
+# [Usage context] Where block-level elements are expected
+# [Content model] Block-level elements
+#
+# Represents a blockquote.
+#
+#
+# === :codeblock
+#
+# [Category] Block-level element
+# [Usage context] Where block-level elements are expected
+# [Content model] Empty
+#
+# Represents a code block, i.e. a block of text that should be used as-is.
+#
+# The +value+ field has to contain the content of the code block.
+#
+# The option :lang specifies a highlighting language with possible HTML style options (e.g.
+# php?start_inline=1) and should be used instead of a possibly also available language embedded in
+# a class name of the form 'language-LANG'.
+#
+#
+# === :ul
+#
+# [Category] Block-level element
+# [Usage context] Where block-level elements are expected
+# [Content model] One or more :li elements
+#
+# Represents an unordered list.
+#
+#
+# === :ol
+#
+# [Category] Block-level element
+# [Usage context] Where block-level elements are expected
+# [Content model] One or more :li elements
+#
+# Represents an ordered list.
+#
+#
+# === :li
+#
+# [Category] Block-level element
+# [Usage context] Inside :ol and :ul elements
+# [Content model] Block-level elements
+#
+# Represents a list item of an ordered or unordered list.
+#
+# Note that the first child of a list item must not be a :blank element!
+#
+#
+# === :dl
+#
+# [Category] Block-level element
+# [Usage context] Where block-level elements are expected
+# [Content model] One or more groups each consisting of one or more :dt elements followed by one
+# or more :dd elements.
+#
+# Represents a definition list which contains groups consisting of terms and definitions for them.
+#
+#
+# === :dt
+#
+# [Category] Block-level element
+# [Usage context] Before :dt or :dd elements inside a :dl elment
+# [Content model] Span-level elements
+#
+# Represents the term part of a term-definition group in a definition list.
+#
+#
+# === :dd
+#
+# [Category] Block-level element
+# [Usage context] After :dt or :dd elements inside a :dl elment
+# [Content model] Block-level elements
+#
+# Represents the definition part of a term-definition group in a definition list.
+#
+#
+# === :hr
+#
+# [Category] Block-level element
+# [Usage context] Where block-level elements are expected
+# [Content model] None
+#
+# Represents a horizontal line.
+#
+#
+# === :table
+#
+# [Category] Block-level element
+# [Usage context] Where block-level elements are expected
+# [Content model] Zero or one :thead elements, one or more :tbody elements, zero or one :tfoot
+# elements
+#
+# Represents a table. Each table row (i.e. :tr element) of the table has to contain the same
+# number of :td elements.
+#
+# The option :alignment has to be an array containing the alignment values, exactly one for each
+# column of the table. The possible alignment values are :left, :center, :right and :default.
+#
+#
+# === :thead
+#
+# [Category] None
+# [Usage context] As first element inside a :table element
+# [Content model] One or more :tr elements
+#
+# Represents the table header.
+#
+#
+# === :tbody
+#
+# [Category] None
+# [Usage context] After a :thead element but before a :tfoot element inside a :table element
+# [Content model] One or more :tr elements
+#
+# Represents a table body.
+#
+#
+# === :tfoot
+#
+# [Category] None
+# [Usage context] As last element inside a :table element
+# [Content model] One or more :tr elements
+#
+# Represents the table footer.
+#
+#
+# === :tr
+#
+# [Category] None
+# [Usage context] Inside :thead, :tbody and :tfoot elements
+# [Content model] One or more :td elements
+#
+# Represents a table row.
+#
+#
+# === :td
+#
+# [Category] Block-level element
+# [Usage context] Inside :tr elements
+# [Content model] As child of :thead/:tr span-level elements, as child of :tbody/:tr and
+# :tfoot/:tr block-level elements
+#
+# Represents a table cell.
+#
+#
+# === :math
+#
+# [Category] Block/span-level element
+# [Usage context] Where block/span-level elements are expected
+# [Content model] None
+#
+# Represents mathematical text that is written in LaTeX.
+#
+# The +value+ field has to contain the actual mathematical text.
+#
+# The option :category has to be set to either :span or :block depending on the context where the
+# element is used.
+#
+#
+# == Text Markup Elements
+#
+# === :text
+#
+# [Category] Span-level element
+# [Usage context] Where span-level elements are expected
+# [Content model] None
+#
+# Represents text.
+#
+# The +value+ field has to contain the text itself.
+#
+#
+# === :br
+#
+# [Category] Span-level element
+# [Usage context] Where span-level elements are expected
+# [Content model] None
+#
+# Represents a hard line break.
+#
+#
+# === :a
+#
+# [Category] Span-level element
+# [Usage context] Where span-level elements are expected
+# [Content model] Span-level elements
+#
+# Represents a link to an URL.
+#
+# The attribute +href+ has to be set to the URL to which the link points. The attribute +title+
+# optionally contains the title of the link.
+#
+#
+# === :img
+#
+# [Category] Span-level element
+# [Usage context] Where span-level elements are expected
+# [Content model] None
+#
+# Represents an image.
+#
+# The attribute +src+ has to be set to the URL of the image. The attribute +alt+ has to contain a
+# text description of the image. The attribute +title+ optionally contains the title of the image.
+#
+#
+# === :codespan
+#
+# [Category] Span-level element
+# [Usage context] Where span-level elements are expected
+# [Content model] None
+#
+# Represents verbatim text.
+#
+# The +value+ field has to contain the content of the code span.
+#
+#
+# === :footnote
+#
+# [Category] Span-level element
+# [Usage context] Where span-level elements are expected
+# [Content model] None
+#
+# Represents a footnote marker.
+#
+# The +value+ field has to contain an element whose children are the content of the footnote. The
+# option :name has to contain a valid and unique footnote name. A valid footnote name consists of
+# a word character or a digit and then optionally followed by other word characters, digits or
+# dashes.
+#
+#
+# === :em
+#
+# [Category] Span-level element
+# [Usage context] Where span-level elements are expected
+# [Content model] Span-level elements
+#
+# Represents emphasis of its contents.
+#
+#
+# === :strong
+#
+# [Category] Span-level element
+# [Usage context] Where span-level elements are expected
+# [Content model] Span-level elements
+#
+# Represents strong importance for its contents.
+#
+#
+# === :entity
+#
+# [Category] Span-level element
+# [Usage context] Where span-level elements are expected
+# [Content model] None
+#
+# Represents an HTML entity.
+#
+# The +value+ field has to contain an instance of Kramdown::Utils::Entities::Entity. The option
+# :original can be used to store the original representation of the entity.
+#
+#
+# === :typographic_sym
+#
+# [Category] Span-level element
+# [Usage context] Where span-level elements are expected
+# [Content model] None
+#
+# Represents a typographic symbol.
+#
+# The +value+ field needs to contain a Symbol representing the specific typographic symbol from
+# the following list:
+#
+# :mdash:: An mdash character (---)
+# :ndash:: An ndash character (--)
+# :hellip:: An ellipsis (...)
+# :laquo:: A left guillemet (<<)
+# :raquo:: A right guillemet (>>)
+# :laquo_space:: A left guillemet with a space (<< )
+# :raquo_space:: A right guillemet with a space ( >>)
+#
+#
+# === :smart_quote
+#
+# [Category] Span-level element
+# [Usage context] Where span-level elements are expected
+# [Content model] None
+#
+# Represents a quotation character.
+#
+# The +value+ field needs to contain a Symbol representing the specific quotation character:
+#
+# :lsquo:: Left single quote
+# :rsquo:: Right single quote
+# :ldquo:: Left double quote
+# :rdquo:: Right double quote
+#
+#
+# === :abbreviation
+#
+# [Category] Span-level element
+# [Usage context] Where span-level elements are expected
+# [Content model] None
+#
+# Represents a text part that is an abbreviation.
+#
+# The +value+ field has to contain the text part that is the abbreviation. The definition of the
+# abbreviation is stored in the :root element of the document.
+#
+#
+# == Other Elements
+#
+# === :html_element
+#
+# [Category] Block/span-level element
+# [Usage context] Where block/span-level elements or raw HTML elements are expected
+# [Content model] Depends on the element
+#
+# Represents an HTML element.
+#
+# The +value+ field has to contain the name of the HTML element the element is representing.
+#
+# The option :category has to be set to either :span or :block depending on the whether the
+# element is a block-level or a span-level element. The option :content_model has to be set to the
+# content model for the element (either :block if it contains block-level elements, :span if it
+# contains span-level elements or :raw if it contains raw content).
+#
+#
+# === :xml_comment
+#
+# [Category] Block/span-level element
+# [Usage context] Where block/span-level elements are expected or in raw HTML elements
+# [Content model] None
+#
+# Represents an XML/HTML comment.
+#
+# The +value+ field has to contain the whole XML/HTML comment including the delimiters.
+#
+# The option :category has to be set to either :span or :block depending on the context where the
+# element is used.
+#
+#
+# === :xml_pi
+#
+# [Category] Block/span-level element
+# [Usage context] Where block/span-level elements are expected or in raw HTML elements
+# [Content model] None
+#
+# Represents an XML/HTML processing instruction.
+#
+# The +value+ field has to contain the whole XML/HTML processing instruction including the
+# delimiters.
+#
+# The option :category has to be set to either :span or :block depending on the context where the
+# element is used.
+#
+#
+# === :comment
+#
+# [Category] Block/span-level element
+# [Usage context] Where block/span-level elements are expected
+# [Content model] None
+#
+# Represents a comment.
+#
+# The +value+ field has to contain the comment.
+#
+# The option :category has to be set to either :span or :block depending on the context where the
+# element is used. If it is set to :span, then no blank lines are allowed in the comment.
+#
+#
+# === :raw
+#
+# [Category] Block/span-level element
+# [Usage context] Where block/span-level elements are expected
+# [Content model] None
+#
+# Represents a raw string that should not be modified. For example, the element could contain some
+# HTML code that should be output as-is without modification and escaping.
+#
+# The +value+ field has to contain the actual raw text.
+#
+# The option :category has to be set to either :span or :block depending on the context where the
+# element is used. If it is set to :span, then no blank lines are allowed in the raw text.
+#
+# The option :type can be set to an array of strings to define for which converters the raw string
+# is valid.
+#
+# source://kramdown//lib/kramdown/element.rb#482
+class Kramdown::Element
+ # Create a new Element object of type +type+. The optional parameters +value+, +attr+ and
+ # +options+ can also be set in this constructor for convenience.
+ #
+ # @return [Element] a new instance of Element
+ #
+ # source://kramdown//lib/kramdown/element.rb#496
+ def initialize(type, value = T.unsafe(nil), attr = T.unsafe(nil), options = T.unsafe(nil)); end
+
+ # The attributes of the element.
+ #
+ # source://kramdown//lib/kramdown/element.rb#502
+ def attr; end
+
+ # syntactic sugar to simplify calls such as +Kramdown::Element.category(el) == :block+ with
+ # +el.block?+.
+ #
+ # Returns boolean true or false.
+ #
+ # @return [Boolean]
+ #
+ # source://kramdown//lib/kramdown/element.rb#537
+ def block?; end
+
+ # The child elements of this element.
+ #
+ # source://kramdown//lib/kramdown/element.rb#492
+ def children; end
+
+ # The child elements of this element.
+ #
+ # source://kramdown//lib/kramdown/element.rb#492
+ def children=(_arg0); end
+
+ # source://kramdown//lib/kramdown/element.rb#511
+ def inspect; end
+
+ # The options hash for the element. It is used for storing arbitray options.
+ #
+ # source://kramdown//lib/kramdown/element.rb#507
+ def options; end
+
+ # syntactic sugar to simplify calls such as +Kramdown::Element.category(el) == :span+ with
+ # +el.span?+.
+ #
+ # Returns boolean true or false.
+ #
+ # @return [Boolean]
+ #
+ # source://kramdown//lib/kramdown/element.rb#545
+ def span?; end
+
+ # A symbol representing the element type. For example, :p or :blockquote.
+ #
+ # source://kramdown//lib/kramdown/element.rb#485
+ def type; end
+
+ # A symbol representing the element type. For example, :p or :blockquote.
+ #
+ # source://kramdown//lib/kramdown/element.rb#485
+ def type=(_arg0); end
+
+ # The value of the element. The interpretation of this field depends on the type of the element.
+ # Many elements don't use this field.
+ #
+ # source://kramdown//lib/kramdown/element.rb#489
+ def value; end
+
+ # The value of the element. The interpretation of this field depends on the type of the element.
+ # Many elements don't use this field.
+ #
+ # source://kramdown//lib/kramdown/element.rb#489
+ def value=(_arg0); end
+
+ class << self
+ # Return the category of +el+ which can be :block, :span or +nil+.
+ #
+ # Most elements have a fixed category, however, some elements can either appear in a block-level
+ # or a span-level context. These elements need to have the option :category correctly set.
+ #
+ # source://kramdown//lib/kramdown/element.rb#529
+ def category(el); end
+ end
+end
+
+# source://kramdown//lib/kramdown/element.rb#519
+Kramdown::Element::CATEGORY = T.let(T.unsafe(nil), Hash)
+
+# This error is raised when an error condition is encountered.
+#
+# *Note* that this error is only raised by the support framework for the parsers and converters.
+#
+# source://kramdown//lib/kramdown/error.rb#15
+class Kramdown::Error < ::RuntimeError; end
+
+# This module defines all options that are used by parsers and/or converters as well as providing
+# methods to deal with the options.
+#
+# source://kramdown//lib/kramdown/options.rb#16
+module Kramdown::Options
+ class << self
+ # Return a Hash with the default values for all options.
+ #
+ # source://kramdown//lib/kramdown/options.rb#72
+ def defaults; end
+
+ # Define a new option called +name+ (a Symbol) with the given +type+ (String, Integer, Float,
+ # Symbol, Boolean, Object), default value +default+ and the description +desc+. If a block is
+ # specified, it should validate the value and either raise an error or return a valid value.
+ #
+ # The type 'Object' should only be used for complex types for which none of the other types
+ # suffices. A block needs to be specified when using type 'Object' and it has to cope with
+ # a value given as string and as the opaque type.
+ #
+ # @raise [ArgumentError]
+ #
+ # source://kramdown//lib/kramdown/options.rb#51
+ def define(name, type, default, desc, &block); end
+
+ # Return +true+ if an option called +name+ is defined.
+ #
+ # @return [Boolean]
+ #
+ # source://kramdown//lib/kramdown/options.rb#67
+ def defined?(name); end
+
+ # Return all option definitions.
+ #
+ # source://kramdown//lib/kramdown/options.rb#62
+ def definitions; end
+
+ # Merge the #defaults Hash with the *parsed* options from the given Hash, i.e. only valid option
+ # names are considered and their value is run through the #parse method.
+ #
+ # source://kramdown//lib/kramdown/options.rb#82
+ def merge(hash); end
+
+ # Parse the given value +data+ as if it was a value for the option +name+ and return the parsed
+ # value with the correct type.
+ #
+ # If +data+ already has the correct type, it is just returned. Otherwise it is converted to a
+ # String and then to the correct type.
+ #
+ # @raise [ArgumentError]
+ #
+ # source://kramdown//lib/kramdown/options.rb#96
+ def parse(name, data); end
+
+ # Ensures that the option value +val+ for the option called +name+ is a valid array. The
+ # parameter +val+ can be
+ #
+ # - a comma separated string which is split into an array of values
+ # - or an array.
+ #
+ # Optionally, the array is checked for the correct size.
+ #
+ # source://kramdown//lib/kramdown/options.rb#141
+ def simple_array_validator(val, name, size = T.unsafe(nil)); end
+
+ # Ensures that the option value +val+ for the option called +name+ is a valid hash. The
+ # parameter +val+ can be
+ #
+ # - a hash in YAML format
+ # - or a Ruby Hash object.
+ #
+ # @raise [Kramdown::Error]
+ #
+ # source://kramdown//lib/kramdown/options.rb#158
+ def simple_hash_validator(val, name); end
+
+ # Converts the given String +data+ into a Symbol or +nil+ with the
+ # following provisions:
+ #
+ # - A leading colon is stripped from the string.
+ # - An empty value or a value equal to "nil" results in +nil+.
+ #
+ # source://kramdown//lib/kramdown/options.rb#122
+ def str_to_sym(data); end
+ end
+end
+
+# Allowed option types.
+#
+# source://kramdown//lib/kramdown/options.rb#39
+Kramdown::Options::ALLOWED_TYPES = T.let(T.unsafe(nil), Array)
+
+# Helper class introducing a boolean type for specifying boolean values (+true+ and +false+) as
+# option types.
+#
+# source://kramdown//lib/kramdown/options.rb#20
+class Kramdown::Options::Boolean
+ class << self
+ # Return +true+ if +other+ is either +true+ or +false+
+ #
+ # source://kramdown//lib/kramdown/options.rb#23
+ def ===(other); end
+ end
+end
+
+# Struct class for storing the definition of an option.
+#
+# source://kramdown//lib/kramdown/options.rb#36
+class Kramdown::Options::Definition < ::Struct
+ # Returns the value of attribute default
+ #
+ # @return [Object] the current value of default
+ def default; end
+
+ # Sets the attribute default
+ #
+ # @param value [Object] the value to set the attribute default to.
+ # @return [Object] the newly set value
+ def default=(_); end
+
+ # Returns the value of attribute desc
+ #
+ # @return [Object] the current value of desc
+ def desc; end
+
+ # Sets the attribute desc
+ #
+ # @param value [Object] the value to set the attribute desc to.
+ # @return [Object] the newly set value
+ def desc=(_); end
+
+ # Returns the value of attribute name
+ #
+ # @return [Object] the current value of name
+ def name; end
+
+ # Sets the attribute name
+ #
+ # @param value [Object] the value to set the attribute name to.
+ # @return [Object] the newly set value
+ def name=(_); end
+
+ # Returns the value of attribute type
+ #
+ # @return [Object] the current value of type
+ def type; end
+
+ # Sets the attribute type
+ #
+ # @param value [Object] the value to set the attribute type to.
+ # @return [Object] the newly set value
+ def type=(_); end
+
+ # Returns the value of attribute validator
+ #
+ # @return [Object] the current value of validator
+ def validator; end
+
+ # Sets the attribute validator
+ #
+ # @param value [Object] the value to set the attribute validator to.
+ # @return [Object] the newly set value
+ def validator=(_); end
+
+ class << self
+ def [](*_arg0); end
+ def inspect; end
+ def keyword_init?; end
+ def members; end
+ def new(*_arg0); end
+ end
+end
+
+# source://kramdown//lib/kramdown/options.rb#396
+Kramdown::Options::SMART_QUOTES_ENTITIES = T.let(T.unsafe(nil), Array)
+
+# source://kramdown//lib/kramdown/options.rb#397
+Kramdown::Options::SMART_QUOTES_STR = T.let(T.unsafe(nil), String)
+
+# source://kramdown//lib/kramdown/options.rb#336
+Kramdown::Options::TOC_LEVELS_ARRAY = T.let(T.unsafe(nil), Array)
+
+# source://kramdown//lib/kramdown/options.rb#335
+Kramdown::Options::TOC_LEVELS_RANGE = T.let(T.unsafe(nil), Range)
+
+# This module contains all available parsers. A parser takes an input string and converts the
+# string to an element tree.
+#
+# New parsers should be derived from the Base class which provides common functionality - see its
+# API documentation for how to create a custom converter class.
+#
+# source://kramdown//lib/kramdown/parser.rb#17
+module Kramdown::Parser; end
+
+# == \Base class for parsers
+#
+# This class serves as base class for parsers. It provides common methods that can/should be
+# used by all parsers, especially by those using StringScanner(Kramdown) for parsing.
+#
+# A parser object is used as a throw-away object, i.e. it is only used for storing the needed
+# state information during parsing. Therefore one can't instantiate a parser object directly but
+# only use the Base::parse method.
+#
+# == Implementing a parser
+#
+# Implementing a new parser is rather easy: just derive a new class from this class and put it
+# in the Kramdown::Parser module -- the latter is needed so that the auto-detection of the new
+# parser works correctly. Then you need to implement the +#parse+ method which has to contain
+# the parsing code.
+#
+# Have a look at the Base::parse, Base::new and Base#parse methods for additional information!
+#
+# source://kramdown//lib/kramdown/parser/base.rb#34
+class Kramdown::Parser::Base
+ # Initialize the parser object with the +source+ string and the parsing +options+.
+ #
+ # The @root element, the @warnings array and @text_type (specifies the default type for newly
+ # created text nodes) are automatically initialized.
+ #
+ # @return [Base] a new instance of Base
+ #
+ # source://kramdown//lib/kramdown/parser/base.rb#52
+ def initialize(source, options); end
+
+ # Modify the string +source+ to be usable by the parser (unifies line ending characters to
+ # +\n+ and makes sure +source+ ends with a new line character).
+ #
+ # source://kramdown//lib/kramdown/parser/base.rb#91
+ def adapt_source(source); end
+
+ # This helper method adds the given +text+ either to the last element in the +tree+ if it is a
+ # +type+ element or creates a new text element with the given +type+.
+ #
+ # source://kramdown//lib/kramdown/parser/base.rb#103
+ def add_text(text, tree = T.unsafe(nil), type = T.unsafe(nil)); end
+
+ # Extract the part of the StringScanner +strscan+ backed string specified by the +range+. This
+ # method works correctly under Ruby 1.8 and Ruby 1.9.
+ #
+ # source://kramdown//lib/kramdown/parser/base.rb#115
+ def extract_string(range, strscan); end
+
+ # The hash with the parsing options.
+ #
+ # source://kramdown//lib/kramdown/parser/base.rb#37
+ def options; end
+
+ # Parse the source string into an element tree.
+ #
+ # The parsing code should parse the source provided in @source and build an element tree the
+ # root of which should be @root.
+ #
+ # This is the only method that has to be implemented by sub-classes!
+ #
+ # @raise [NotImplementedError]
+ #
+ # source://kramdown//lib/kramdown/parser/base.rb#79
+ def parse; end
+
+ # The root element of element tree that is created from the source string.
+ #
+ # source://kramdown//lib/kramdown/parser/base.rb#46
+ def root; end
+
+ # The original source string.
+ #
+ # source://kramdown//lib/kramdown/parser/base.rb#43
+ def source; end
+
+ # Add the given warning +text+ to the warning array.
+ #
+ # source://kramdown//lib/kramdown/parser/base.rb#84
+ def warning(text); end
+
+ # The array with the parser warnings.
+ #
+ # source://kramdown//lib/kramdown/parser/base.rb#40
+ def warnings; end
+
+ class << self
+ # Parse the +source+ string into an element tree, possibly using the parsing +options+, and
+ # return the root element of the element tree and an array with warning messages.
+ #
+ # Initializes a new instance of the calling class and then calls the +#parse+ method that must
+ # be implemented by each subclass.
+ #
+ # source://kramdown//lib/kramdown/parser/base.rb#67
+ def parse(source, options = T.unsafe(nil)); end
+
+ private
+
+ def allocate; end
+ def new(*_arg0); end
+ end
+end
+
+# Used for parsing an HTML document.
+#
+# The parsing code is in the Parser module that can also be used by other parsers.
+#
+# source://kramdown//lib/kramdown/parser/html.rb#22
+class Kramdown::Parser::Html < ::Kramdown::Parser::Base
+ include ::Kramdown::Parser::Html::Constants
+ include ::Kramdown::Parser::Html::Parser
+
+ # Parse the source string provided on initialization as HTML document.
+ #
+ # source://kramdown//lib/kramdown/parser/html.rb#586
+ def parse; end
+end
+
+# Contains all constants that are used when parsing.
+#
+# source://kramdown//lib/kramdown/parser/html.rb#25
+module Kramdown::Parser::Html::Constants; end
+
+# source://kramdown//lib/kramdown/parser/html.rb#32
+Kramdown::Parser::Html::Constants::HTML_ATTRIBUTE_RE = T.let(T.unsafe(nil), Regexp)
+
+# source://kramdown//lib/kramdown/parser/html.rb#59
+Kramdown::Parser::Html::Constants::HTML_BLOCK_ELEMENTS = T.let(T.unsafe(nil), Array)
+
+# source://kramdown//lib/kramdown/parser/html.rb#30
+Kramdown::Parser::Html::Constants::HTML_COMMENT_RE = T.let(T.unsafe(nil), Regexp)
+
+# The following elements are also parsed as raw since they need child elements that cannot
+# be expressed using kramdown syntax: colgroup table tbody thead tfoot tr ul ol
+#
+# source://kramdown//lib/kramdown/parser/html.rb#48
+Kramdown::Parser::Html::Constants::HTML_CONTENT_MODEL = T.let(T.unsafe(nil), Hash)
+
+# source://kramdown//lib/kramdown/parser/html.rb#37
+Kramdown::Parser::Html::Constants::HTML_CONTENT_MODEL_BLOCK = T.let(T.unsafe(nil), Array)
+
+# source://kramdown//lib/kramdown/parser/html.rb#44
+Kramdown::Parser::Html::Constants::HTML_CONTENT_MODEL_RAW = T.let(T.unsafe(nil), Array)
+
+# source://kramdown//lib/kramdown/parser/html.rb#41
+Kramdown::Parser::Html::Constants::HTML_CONTENT_MODEL_SPAN = T.let(T.unsafe(nil), Array)
+
+# :stopdoc:
+# The following regexps are based on the ones used by REXML, with some slight modifications.
+#
+# source://kramdown//lib/kramdown/parser/html.rb#29
+Kramdown::Parser::Html::Constants::HTML_DOCTYPE_RE = T.let(T.unsafe(nil), Regexp)
+
+# source://kramdown//lib/kramdown/parser/html.rb#66
+Kramdown::Parser::Html::Constants::HTML_ELEMENT = T.let(T.unsafe(nil), Hash)
+
+# source://kramdown//lib/kramdown/parser/html.rb#63
+Kramdown::Parser::Html::Constants::HTML_ELEMENTS_WITHOUT_BODY = T.let(T.unsafe(nil), Array)
+
+# source://kramdown//lib/kramdown/parser/html.rb#35
+Kramdown::Parser::Html::Constants::HTML_ENTITY_RE = T.let(T.unsafe(nil), Regexp)
+
+# source://kramdown//lib/kramdown/parser/html.rb#31
+Kramdown::Parser::Html::Constants::HTML_INSTRUCTION_RE = T.let(T.unsafe(nil), Regexp)
+
+# Some HTML elements like script belong to both categories (i.e. are valid in block and
+# span HTML) and don't appear therefore!
+# script, textarea
+#
+# source://kramdown//lib/kramdown/parser/html.rb#56
+Kramdown::Parser::Html::Constants::HTML_SPAN_ELEMENTS = T.let(T.unsafe(nil), Array)
+
+# source://kramdown//lib/kramdown/parser/html.rb#34
+Kramdown::Parser::Html::Constants::HTML_TAG_CLOSE_RE = T.let(T.unsafe(nil), Regexp)
+
+# source://kramdown//lib/kramdown/parser/html.rb#33
+Kramdown::Parser::Html::Constants::HTML_TAG_RE = T.let(T.unsafe(nil), Regexp)
+
+# Converts HTML elements to native elements if possible.
+#
+# source://kramdown//lib/kramdown/parser/html.rb#197
+class Kramdown::Parser::Html::ElementConverter
+ include ::Kramdown::Parser::Html::Constants
+ include ::Kramdown::Utils::Entities
+
+ # @return [ElementConverter] a new instance of ElementConverter
+ #
+ # source://kramdown//lib/kramdown/parser/html.rb#216
+ def initialize(root); end
+
+ # source://kramdown//lib/kramdown/parser/html.rb#384
+ def convert_a(el); end
+
+ # source://kramdown//lib/kramdown/parser/html.rb#394
+ def convert_b(el); end
+
+ # source://kramdown//lib/kramdown/parser/html.rb#417
+ def convert_code(el); end
+
+ # source://kramdown//lib/kramdown/parser/html.rb#394
+ def convert_em(el); end
+
+ # source://kramdown//lib/kramdown/parser/html.rb#408
+ def convert_h1(el); end
+
+ # source://kramdown//lib/kramdown/parser/html.rb#408
+ def convert_h2(el); end
+
+ # source://kramdown//lib/kramdown/parser/html.rb#408
+ def convert_h3(el); end
+
+ # source://kramdown//lib/kramdown/parser/html.rb#408
+ def convert_h4(el); end
+
+ # source://kramdown//lib/kramdown/parser/html.rb#408
+ def convert_h5(el); end
+
+ # source://kramdown//lib/kramdown/parser/html.rb#408
+ def convert_h6(el); end
+
+ # source://kramdown//lib/kramdown/parser/html.rb#394
+ def convert_i(el); end
+
+ # source://kramdown//lib/kramdown/parser/html.rb#417
+ def convert_pre(el); end
+
+ # source://kramdown//lib/kramdown/parser/html.rb#563
+ def convert_script(el); end
+
+ # source://kramdown//lib/kramdown/parser/html.rb#394
+ def convert_strong(el); end
+
+ # source://kramdown//lib/kramdown/parser/html.rb#460
+ def convert_table(el); end
+
+ # source://kramdown//lib/kramdown/parser/html.rb#380
+ def convert_textarea(el); end
+
+ # source://kramdown//lib/kramdown/parser/html.rb#375
+ def extract_text(el, raw); end
+
+ # source://kramdown//lib/kramdown/parser/html.rb#575
+ def handle_math_tag(el); end
+
+ # @return [Boolean]
+ #
+ # source://kramdown//lib/kramdown/parser/html.rb#571
+ def is_math_tag?(el); end
+
+ # @return [Boolean]
+ #
+ # source://kramdown//lib/kramdown/parser/html.rb#503
+ def is_simple_table?(el); end
+
+ # Convert the element +el+ and its children.
+ #
+ # source://kramdown//lib/kramdown/parser/html.rb#225
+ def process(el, do_conversion = T.unsafe(nil), preserve_text = T.unsafe(nil), parent = T.unsafe(nil)); end
+
+ # source://kramdown//lib/kramdown/parser/html.rb#278
+ def process_children(el, do_conversion = T.unsafe(nil), preserve_text = T.unsafe(nil)); end
+
+ # source://kramdown//lib/kramdown/parser/html.rb#320
+ def process_html_element(el, do_conversion = T.unsafe(nil), preserve_text = T.unsafe(nil)); end
+
+ # Process the HTML text +raw+: compress whitespace (if +preserve+ is +false+) and convert
+ # entities in entity elements.
+ #
+ # source://kramdown//lib/kramdown/parser/html.rb#291
+ def process_text(raw, preserve = T.unsafe(nil)); end
+
+ # source://kramdown//lib/kramdown/parser/html.rb#326
+ def remove_text_children(el); end
+
+ # source://kramdown//lib/kramdown/parser/html.rb#359
+ def remove_whitespace_children(el); end
+
+ # source://kramdown//lib/kramdown/parser/html.rb#369
+ def set_basics(el, type, opts = T.unsafe(nil)); end
+
+ # source://kramdown//lib/kramdown/parser/html.rb#349
+ def strip_whitespace(el); end
+
+ # source://kramdown//lib/kramdown/parser/html.rb#330
+ def wrap_text_children(el); end
+
+ class << self
+ # source://kramdown//lib/kramdown/parser/html.rb#220
+ def convert(root, el = T.unsafe(nil)); end
+ end
+end
+
+# source://kramdown//lib/kramdown/parser/html.rb#393
+Kramdown::Parser::Html::ElementConverter::EMPHASIS_TYPE_MAP = T.let(T.unsafe(nil), Hash)
+
+# source://kramdown//lib/kramdown/parser/html.rb#204
+Kramdown::Parser::Html::ElementConverter::REMOVE_TEXT_CHILDREN = T.let(T.unsafe(nil), Array)
+
+# source://kramdown//lib/kramdown/parser/html.rb#208
+Kramdown::Parser::Html::ElementConverter::REMOVE_WHITESPACE_CHILDREN = T.let(T.unsafe(nil), Array)
+
+# source://kramdown//lib/kramdown/parser/html.rb#213
+Kramdown::Parser::Html::ElementConverter::SIMPLE_ELEMENTS = T.let(T.unsafe(nil), Array)
+
+# source://kramdown//lib/kramdown/parser/html.rb#210
+Kramdown::Parser::Html::ElementConverter::STRIP_WHITESPACE = T.let(T.unsafe(nil), Array)
+
+# source://kramdown//lib/kramdown/parser/html.rb#206
+Kramdown::Parser::Html::ElementConverter::WRAP_TEXT_CHILDREN = T.let(T.unsafe(nil), Array)
+
+# Contains the parsing methods. This module can be mixed into any parser to get HTML parsing
+# functionality. The only thing that must be provided by the class are instance variable
+# parsing.
+#
+# source://kramdown//lib/kramdown/parser/html.rb#77
+module Kramdown::Parser::Html::Parser
+ include ::Kramdown::Parser::Html::Constants
+
+ # Process the HTML start tag that has already be scanned/checked via @src.
+ #
+ # Does the common processing steps and then yields to the caller for further processing
+ # (first parameter is the created element; the second parameter is +true+ if the HTML
+ # element is already closed, ie. contains no body; the third parameter specifies whether the
+ # body - and the end tag - need to be handled in case closed=false).
+ #
+ # source://kramdown//lib/kramdown/parser/html.rb#87
+ def handle_html_start_tag(line = T.unsafe(nil)); end
+
+ # Handle the raw HTML tag at the current position.
+ #
+ # source://kramdown//lib/kramdown/parser/html.rb#127
+ def handle_raw_html_tag(name); end
+
+ # Parses the given string for HTML attributes and returns the resulting hash.
+ #
+ # If the optional +line+ parameter is supplied, it is used in warning messages.
+ #
+ # If the optional +in_html_tag+ parameter is set to +false+, attributes are not modified to
+ # contain only lowercase letters.
+ #
+ # source://kramdown//lib/kramdown/parser/html.rb#114
+ def parse_html_attributes(str, line = T.unsafe(nil), in_html_tag = T.unsafe(nil)); end
+
+ # Parse raw HTML from the current source position, storing the found elements in +el+.
+ # Parsing continues until one of the following criteria are fulfilled:
+ #
+ # - The end of the document is reached.
+ # - The matching end tag for the element +el+ is found (only used if +el+ is an HTML
+ # element).
+ #
+ # When an HTML start tag is found, processing is deferred to #handle_html_start_tag,
+ # providing the block given to this method.
+ #
+ # source://kramdown//lib/kramdown/parser/html.rb#150
+ def parse_raw_html(el, &block); end
+end
+
+# source://kramdown//lib/kramdown/parser/html.rb#139
+Kramdown::Parser::Html::Parser::HTML_RAW_START = T.let(T.unsafe(nil), Regexp)
+
+# Used for parsing a document in kramdown format.
+#
+# If you want to extend the functionality of the parser, you need to do the following:
+#
+# * Create a new subclass
+# * add the needed parser methods
+# * modify the @block_parsers and @span_parsers variables and add the names of your parser
+# methods
+#
+# Here is a small example for an extended parser class that parses ERB style tags as raw text if
+# they are used as span-level elements (an equivalent block-level parser should probably also be
+# made to handle the block case):
+#
+# require 'kramdown/parser/kramdown'
+#
+# class Kramdown::Parser::ERBKramdown < Kramdown::Parser::Kramdown
+#
+# def initialize(source, options)
+# super
+# @span_parsers.unshift(:erb_tags)
+# end
+#
+# ERB_TAGS_START = /<%.*?%>/
+#
+# def parse_erb_tags
+# @src.pos += @src.matched_size
+# @tree.children << Element.new(:raw, @src.matched)
+# end
+# define_parser(:erb_tags, ERB_TAGS_START, '<%')
+#
+# end
+#
+# The new parser can be used like this:
+#
+# require 'kramdown/document'
+# # require the file with the above parser class
+#
+# Kramdown::Document.new(input_text, :input => 'ERBKramdown').to_html
+#
+# source://kramdown//lib/kramdown/parser/kramdown.rb#60
+class Kramdown::Parser::Kramdown < ::Kramdown::Parser::Base
+ include ::Kramdown
+ include ::Kramdown::Parser::Html::Constants
+ include ::Kramdown::Parser::Html::Parser
+
+ # Create a new Kramdown parser object with the given +options+.
+ #
+ # @return [Kramdown] a new instance of Kramdown
+ #
+ # source://kramdown//lib/kramdown/parser/kramdown.rb#65
+ def initialize(source, options); end
+
+ # This helper methods adds the approriate attributes to the element +el+ of type +a+ or +img+
+ # and the element itself to the @tree.
+ #
+ # source://kramdown//lib/kramdown/parser/kramdown/link.rb#39
+ def add_link(el, href, title, alt_text = T.unsafe(nil), ial = T.unsafe(nil)); end
+
+ # Return +true+ if we are after a block boundary.
+ #
+ # @return [Boolean]
+ #
+ # source://kramdown//lib/kramdown/parser/kramdown/block_boundary.rb#21
+ def after_block_boundary?; end
+
+ # Return +true+ if we are before a block boundary.
+ #
+ # @return [Boolean]
+ #
+ # source://kramdown//lib/kramdown/parser/kramdown/block_boundary.rb#28
+ def before_block_boundary?; end
+
+ # Correct abbreviation attributes.
+ #
+ # source://kramdown//lib/kramdown/parser/kramdown/abbreviation.rb#34
+ def correct_abbreviations_attributes; end
+
+ # source://kramdown//lib/kramdown/parser/kramdown/extensions.rb#96
+ def handle_extension(name, opts, body, type, line_no = T.unsafe(nil)); end
+
+ # source://kramdown//lib/kramdown/parser/kramdown/html.rb#25
+ def handle_kramdown_html_tag(el, closed, handle_body); end
+
+ # Normalize the link identifier.
+ #
+ # source://kramdown//lib/kramdown/parser/kramdown/link.rb#17
+ def normalize_link_id(id); end
+
+ # source://kramdown//lib/kramdown/parser/kramdown/paragraph.rb#56
+ def paragraph_end; end
+
+ # The source string provided on initialization is parsed into the @root element.
+ #
+ # source://kramdown//lib/kramdown/parser/kramdown.rb#88
+ def parse; end
+
+ # Parse the link definition at the current location.
+ #
+ # source://kramdown//lib/kramdown/parser/kramdown/abbreviation.rb#17
+ def parse_abbrev_definition; end
+
+ # Parse the string +str+ and extract all attributes and add all found attributes to the hash
+ # +opts+.
+ #
+ # source://kramdown//lib/kramdown/parser/kramdown/extensions.rb#18
+ def parse_attribute_list(str, opts); end
+
+ # Parse the Atx header at the current location.
+ #
+ # source://kramdown//lib/kramdown/parser/kramdown/header.rb#32
+ def parse_atx_header; end
+
+ # Parse the autolink at the current location.
+ #
+ # source://kramdown//lib/kramdown/parser/kramdown/autolink.rb#19
+ def parse_autolink; end
+
+ # Parse the blank line at the current postition.
+ #
+ # source://kramdown//lib/kramdown/parser/kramdown/blank_line.rb#17
+ def parse_blank_line; end
+
+ # Parse one of the block extensions (ALD, block IAL or generic extension) at the current
+ # location.
+ #
+ # source://kramdown//lib/kramdown/parser/kramdown/extensions.rb#164
+ def parse_block_extensions; end
+
+ # Parse the HTML at the current position as block-level HTML.
+ #
+ # source://kramdown//lib/kramdown/parser/kramdown/html.rb#71
+ def parse_block_html; end
+
+ # Parse the math block at the current location.
+ #
+ # source://kramdown//lib/kramdown/parser/kramdown/math.rb#19
+ def parse_block_math; end
+
+ # Parse the blockquote at the current location.
+ #
+ # source://kramdown//lib/kramdown/parser/kramdown/blockquote.rb#21
+ def parse_blockquote; end
+
+ # Parse the indented codeblock at the current location.
+ #
+ # source://kramdown//lib/kramdown/parser/kramdown/codeblock.rb#23
+ def parse_codeblock; end
+
+ # Parse the fenced codeblock at the current location.
+ #
+ # source://kramdown//lib/kramdown/parser/kramdown/codeblock.rb#37
+ def parse_codeblock_fenced; end
+
+ # Parse the codespan at the current scanner location.
+ #
+ # source://kramdown//lib/kramdown/parser/kramdown/codespan.rb#17
+ def parse_codespan; end
+
+ # Parse the ordered or unordered list at the current location.
+ #
+ # source://kramdown//lib/kramdown/parser/kramdown/list.rb#153
+ def parse_definition_list; end
+
+ # Parse the emphasis at the current location.
+ #
+ # source://kramdown//lib/kramdown/parser/kramdown/emphasis.rb#17
+ def parse_emphasis; end
+
+ # Parse the EOB marker at the current location.
+ #
+ # source://kramdown//lib/kramdown/parser/kramdown/eob.rb#17
+ def parse_eob_marker; end
+
+ # Parse the backslash-escaped character at the current location.
+ #
+ # source://kramdown//lib/kramdown/parser/kramdown/escaped_chars.rb#17
+ def parse_escaped_chars; end
+
+ # Parse the generic extension at the current point. The parameter +type+ can either be :block
+ # or :span depending whether we parse a block or span extension tag.
+ #
+ # source://kramdown//lib/kramdown/parser/kramdown/extensions.rb#54
+ def parse_extension_start_tag(type); end
+
+ # Used for parsing the first line of a list item or a definition, i.e. the line with list item
+ # marker or the definition marker.
+ #
+ # source://kramdown//lib/kramdown/parser/kramdown/list.rb#32
+ def parse_first_list_line(indentation, content); end
+
+ # Parse the foot note definition at the current location.
+ #
+ # source://kramdown//lib/kramdown/parser/kramdown/footnote.rb#21
+ def parse_footnote_definition; end
+
+ # Parse the footnote marker at the current location.
+ #
+ # source://kramdown//lib/kramdown/parser/kramdown/footnote.rb#40
+ def parse_footnote_marker; end
+
+ # Parse the horizontal rule at the current location.
+ #
+ # source://kramdown//lib/kramdown/parser/kramdown/horizontal_rule.rb#17
+ def parse_horizontal_rule; end
+
+ # Parse the HTML entity at the current location.
+ #
+ # source://kramdown//lib/kramdown/parser/kramdown/html_entity.rb#17
+ def parse_html_entity; end
+
+ # Parse the inline math at the current location.
+ #
+ # source://kramdown//lib/kramdown/parser/kramdown/math.rb#44
+ def parse_inline_math; end
+
+ # Parse the line break at the current location.
+ #
+ # source://kramdown//lib/kramdown/parser/kramdown/line_break.rb#17
+ def parse_line_break; end
+
+ # Parse the link at the current scanner position. This method is used to parse normal links as
+ # well as image links.
+ #
+ # source://kramdown//lib/kramdown/parser/kramdown/link.rb#61
+ def parse_link; end
+
+ # Parse the link definition at the current location.
+ #
+ # source://kramdown//lib/kramdown/parser/kramdown/link.rb#24
+ def parse_link_definition; end
+
+ # Parse the ordered or unordered list at the current location.
+ #
+ # source://kramdown//lib/kramdown/parser/kramdown/list.rb#54
+ def parse_list; end
+
+ # Parse the paragraph at the current location.
+ #
+ # source://kramdown//lib/kramdown/parser/kramdown/paragraph.rb#31
+ def parse_paragraph; end
+
+ # Parse the Setext header at the current location.
+ #
+ # source://kramdown//lib/kramdown/parser/kramdown/header.rb#20
+ def parse_setext_header; end
+
+ # Parse the smart quotes at current location.
+ #
+ # source://kramdown//lib/kramdown/parser/kramdown/smart_quotes.rb#158
+ def parse_smart_quotes; end
+
+ # Parse the extension span at the current location.
+ #
+ # source://kramdown//lib/kramdown/parser/kramdown/extensions.rb#192
+ def parse_span_extensions; end
+
+ # Parse the HTML at the current position as span-level HTML.
+ #
+ # source://kramdown//lib/kramdown/parser/kramdown/html.rb#102
+ def parse_span_html; end
+
+ # Parse the table at the current location.
+ #
+ # source://kramdown//lib/kramdown/parser/kramdown/table.rb#25
+ def parse_table; end
+
+ # Parse the typographic symbols at the current location.
+ #
+ # source://kramdown//lib/kramdown/parser/kramdown/typographic_symbol.rb#22
+ def parse_typographic_syms; end
+
+ # Replace the abbreviation text with elements.
+ #
+ # source://kramdown//lib/kramdown/parser/kramdown/abbreviation.rb#41
+ def replace_abbreviations(el, regexps = T.unsafe(nil)); end
+
+ # Update the +ial+ with the information from the inline attribute list +opts+.
+ #
+ # source://kramdown//lib/kramdown/parser/kramdown/extensions.rb#41
+ def update_ial_with_ial(ial, opts); end
+
+ protected
+
+ # source://kramdown//lib/kramdown/parser/kramdown/header.rb#59
+ def add_header(level, text, id); end
+
+ # Adapt the object to allow parsing like specified in the options.
+ #
+ # source://kramdown//lib/kramdown/parser/kramdown.rb#121
+ def configure_parser; end
+
+ # Create a new block-level element, taking care of applying a preceding block IAL if it
+ # exists. This method should always be used for creating a block-level element!
+ #
+ # source://kramdown//lib/kramdown/parser/kramdown.rb#305
+ def new_block_el(*args); end
+
+ # Parse all block-level elements in +text+ into the element +el+.
+ #
+ # source://kramdown//lib/kramdown/parser/kramdown.rb#140
+ def parse_blocks(el, text = T.unsafe(nil)); end
+
+ # Returns header text and optional ID.
+ #
+ # source://kramdown//lib/kramdown/parser/kramdown/header.rb#47
+ def parse_header_contents; end
+
+ # Parse all span-level elements in the source string of @src into +el+.
+ #
+ # If the parameter +stop_re+ (a regexp) is used, parsing is immediately stopped if the regexp
+ # matches and if no block is given or if a block is given and it returns +true+.
+ #
+ # The parameter +parsers+ can be used to specify the (span-level) parsing methods that should
+ # be used for parsing.
+ #
+ # The parameter +text_type+ specifies the type which should be used for created text nodes.
+ #
+ # source://kramdown//lib/kramdown/parser/kramdown.rb#214
+ def parse_spans(el, stop_re = T.unsafe(nil), parsers = T.unsafe(nil), text_type = T.unsafe(nil)); end
+
+ # Reset the current parsing environment. The parameter +env+ can be used to set initial
+ # values for one or more environment variables.
+ #
+ # source://kramdown//lib/kramdown/parser/kramdown.rb#253
+ def reset_env(opts = T.unsafe(nil)); end
+
+ # Restore the current parsing environment.
+ #
+ # source://kramdown//lib/kramdown/parser/kramdown.rb#268
+ def restore_env(env); end
+
+ # Return the current parsing environment.
+ #
+ # source://kramdown//lib/kramdown/parser/kramdown.rb#263
+ def save_env; end
+
+ # Create the needed span parser regexps.
+ #
+ # source://kramdown//lib/kramdown/parser/kramdown.rb#134
+ def span_parser_regexps(parsers = T.unsafe(nil)); end
+
+ # Update the given attributes hash +attr+ with the information from the inline attribute list
+ # +ial+ and all referenced ALDs.
+ #
+ # source://kramdown//lib/kramdown/parser/kramdown.rb#274
+ def update_attr_with_ial(attr, ial); end
+
+ #
+ # Update the parser specific link definitions with the data from +link_defs+ (the value of the
+ # :link_defs option).
+ #
+ # The parameter +link_defs+ is a hash where the keys are possibly unnormalized link IDs and
+ # the values are two element arrays consisting of the link target and a title (can be +nil+).
+ #
+ # source://kramdown//lib/kramdown/parser/kramdown.rb#116
+ def update_link_definitions(link_defs); end
+
+ # Update the raw text for automatic ID generation.
+ #
+ # source://kramdown//lib/kramdown/parser/kramdown.rb#288
+ def update_raw_text(item); end
+
+ # Update the tree by parsing all :+raw_text+ elements with the span-level parser (resets the
+ # environment) and by updating the attributes from the IALs.
+ #
+ # source://kramdown//lib/kramdown/parser/kramdown.rb#166
+ def update_tree(element); end
+
+ private
+
+ # precomputed patterns for indentations 1..4 and fallback expression
+ # to compute pattern when indentation is outside the 1..4 range.
+ #
+ # source://kramdown//lib/kramdown/parser/kramdown/list.rb#258
+ def fetch_pattern(type, indentation); end
+
+ # source://kramdown//lib/kramdown/parser/kramdown.rb#200
+ def span_pattern_cache(stop_re, span_start); end
+
+ class << self
+ # Add a parser method
+ #
+ # * with the given +name+,
+ # * using +start_re+ as start regexp
+ # * and, for span parsers, +span_start+ as a String that can be used in a regexp and
+ # which identifies the starting character(s)
+ #
+ # to the registry. The method name is automatically derived from the +name+ or can explicitly
+ # be set by using the +meth_name+ parameter.
+ #
+ # source://kramdown//lib/kramdown/parser/kramdown.rb#328
+ def define_parser(name, start_re, span_start = T.unsafe(nil), meth_name = T.unsafe(nil)); end
+
+ # Return +true+ if there is a parser called +name+.
+ #
+ # @return [Boolean]
+ #
+ # source://kramdown//lib/kramdown/parser/kramdown.rb#339
+ def has_parser?(name); end
+
+ # Return the Data structure for the parser +name+.
+ #
+ # source://kramdown//lib/kramdown/parser/kramdown.rb#334
+ def parser(name = T.unsafe(nil)); end
+ end
+end
+
+# source://kramdown//lib/kramdown/parser/kramdown/abbreviation.rb#14
+Kramdown::Parser::Kramdown::ABBREV_DEFINITION_START = T.let(T.unsafe(nil), Regexp)
+
+# source://kramdown//lib/kramdown/parser/kramdown/autolink.rb#14
+Kramdown::Parser::Kramdown::ACHARS = T.let(T.unsafe(nil), String)
+
+# source://kramdown//lib/kramdown/parser/kramdown/extensions.rb#140
+Kramdown::Parser::Kramdown::ALD_ANY_CHARS = T.let(T.unsafe(nil), Regexp)
+
+# source://kramdown//lib/kramdown/parser/kramdown/extensions.rb#142
+Kramdown::Parser::Kramdown::ALD_CLASS_NAME = T.let(T.unsafe(nil), Regexp)
+
+# source://kramdown//lib/kramdown/parser/kramdown/extensions.rb#139
+Kramdown::Parser::Kramdown::ALD_ID_CHARS = T.let(T.unsafe(nil), Regexp)
+
+# source://kramdown//lib/kramdown/parser/kramdown/extensions.rb#141
+Kramdown::Parser::Kramdown::ALD_ID_NAME = T.let(T.unsafe(nil), Regexp)
+
+# source://kramdown//lib/kramdown/parser/kramdown/extensions.rb#150
+Kramdown::Parser::Kramdown::ALD_START = T.let(T.unsafe(nil), Regexp)
+
+# source://kramdown//lib/kramdown/parser/kramdown/extensions.rb#149
+Kramdown::Parser::Kramdown::ALD_TYPE_ANY = T.let(T.unsafe(nil), Regexp)
+
+# source://kramdown//lib/kramdown/parser/kramdown/extensions.rb#144
+Kramdown::Parser::Kramdown::ALD_TYPE_CLASS_NAME = T.let(T.unsafe(nil), Regexp)
+
+# source://kramdown//lib/kramdown/parser/kramdown/extensions.rb#145
+Kramdown::Parser::Kramdown::ALD_TYPE_ID_NAME = T.let(T.unsafe(nil), Regexp)
+
+# source://kramdown//lib/kramdown/parser/kramdown/extensions.rb#146
+Kramdown::Parser::Kramdown::ALD_TYPE_ID_OR_CLASS = T.let(T.unsafe(nil), Regexp)
+
+# source://kramdown//lib/kramdown/parser/kramdown/extensions.rb#147
+Kramdown::Parser::Kramdown::ALD_TYPE_ID_OR_CLASS_MULTI = T.let(T.unsafe(nil), Regexp)
+
+# source://kramdown//lib/kramdown/parser/kramdown/extensions.rb#143
+Kramdown::Parser::Kramdown::ALD_TYPE_KEY_VALUE_PAIR = T.let(T.unsafe(nil), Regexp)
+
+# source://kramdown//lib/kramdown/parser/kramdown/extensions.rb#148
+Kramdown::Parser::Kramdown::ALD_TYPE_REF = T.let(T.unsafe(nil), Regexp)
+
+# source://kramdown//lib/kramdown/parser/kramdown/header.rb#29
+Kramdown::Parser::Kramdown::ATX_HEADER_START = T.let(T.unsafe(nil), Regexp)
+
+# source://kramdown//lib/kramdown/parser/kramdown/autolink.rb#16
+Kramdown::Parser::Kramdown::AUTOLINK_START = T.let(T.unsafe(nil), Regexp)
+
+# source://kramdown//lib/kramdown/parser/kramdown/autolink.rb#15
+Kramdown::Parser::Kramdown::AUTOLINK_START_STR = T.let(T.unsafe(nil), String)
+
+# source://kramdown//lib/kramdown/parser/kramdown/blank_line.rb#14
+Kramdown::Parser::Kramdown::BLANK_LINE = T.let(T.unsafe(nil), Regexp)
+
+# source://kramdown//lib/kramdown/parser/kramdown/blockquote.rb#18
+Kramdown::Parser::Kramdown::BLOCKQUOTE_START = T.let(T.unsafe(nil), Regexp)
+
+# source://kramdown//lib/kramdown/parser/kramdown/block_boundary.rb#18
+Kramdown::Parser::Kramdown::BLOCK_BOUNDARY = T.let(T.unsafe(nil), Regexp)
+
+# source://kramdown//lib/kramdown/parser/kramdown/extensions.rb#160
+Kramdown::Parser::Kramdown::BLOCK_EXTENSIONS_START = T.let(T.unsafe(nil), Regexp)
+
+# source://kramdown//lib/kramdown/parser/kramdown/math.rb#16
+Kramdown::Parser::Kramdown::BLOCK_MATH_START = T.let(T.unsafe(nil), Regexp)
+
+# source://kramdown//lib/kramdown/parser/kramdown/codeblock.rb#20
+Kramdown::Parser::Kramdown::CODEBLOCK_MATCH = T.let(T.unsafe(nil), Regexp)
+
+# source://kramdown//lib/kramdown/parser/kramdown/codeblock.rb#19
+Kramdown::Parser::Kramdown::CODEBLOCK_START = T.let(T.unsafe(nil), Regexp)
+
+# source://kramdown//lib/kramdown/parser/kramdown/codespan.rb#14
+Kramdown::Parser::Kramdown::CODESPAN_DELIMITER = T.let(T.unsafe(nil), Regexp)
+
+# source://kramdown//lib/kramdown/parser/kramdown/list.rb#150
+Kramdown::Parser::Kramdown::DEFINITION_LIST_START = T.let(T.unsafe(nil), Regexp)
+
+# Struct class holding all the needed data for one block/span-level parser method.
+#
+# source://kramdown//lib/kramdown/parser/kramdown.rb#317
+class Kramdown::Parser::Kramdown::Data < ::Struct
+ # Returns the value of attribute method
+ #
+ # @return [Object] the current value of method
+ def method; end
+
+ # Sets the attribute method
+ #
+ # @param value [Object] the value to set the attribute method to.
+ # @return [Object] the newly set value
+ def method=(_); end
+
+ # Returns the value of attribute name
+ #
+ # @return [Object] the current value of name
+ def name; end
+
+ # Sets the attribute name
+ #
+ # @param value [Object] the value to set the attribute name to.
+ # @return [Object] the newly set value
+ def name=(_); end
+
+ # Returns the value of attribute span_start
+ #
+ # @return [Object] the current value of span_start
+ def span_start; end
+
+ # Sets the attribute span_start
+ #
+ # @param value [Object] the value to set the attribute span_start to.
+ # @return [Object] the newly set value
+ def span_start=(_); end
+
+ # Returns the value of attribute start_re
+ #
+ # @return [Object] the current value of start_re
+ def start_re; end
+
+ # Sets the attribute start_re
+ #
+ # @param value [Object] the value to set the attribute start_re to.
+ # @return [Object] the newly set value
+ def start_re=(_); end
+
+ class << self
+ def [](*_arg0); end
+ def inspect; end
+ def keyword_init?; end
+ def members; end
+ def new(*_arg0); end
+ end
+end
+
+# source://kramdown//lib/kramdown/parser/kramdown/emphasis.rb#14
+Kramdown::Parser::Kramdown::EMPHASIS_START = T.let(T.unsafe(nil), Regexp)
+
+# source://kramdown//lib/kramdown/parser/kramdown/eob.rb#14
+Kramdown::Parser::Kramdown::EOB_MARKER = T.let(T.unsafe(nil), Regexp)
+
+# source://kramdown//lib/kramdown/parser/kramdown/escaped_chars.rb#14
+Kramdown::Parser::Kramdown::ESCAPED_CHARS = T.let(T.unsafe(nil), Regexp)
+
+# source://kramdown//lib/kramdown/parser/kramdown/extensions.rb#154
+Kramdown::Parser::Kramdown::EXT_BLOCK_START = T.let(T.unsafe(nil), Regexp)
+
+# source://kramdown//lib/kramdown/parser/kramdown/extensions.rb#155
+Kramdown::Parser::Kramdown::EXT_BLOCK_STOP_STR = T.let(T.unsafe(nil), String)
+
+# source://kramdown//lib/kramdown/parser/kramdown/extensions.rb#187
+Kramdown::Parser::Kramdown::EXT_SPAN_START = T.let(T.unsafe(nil), Regexp)
+
+# source://kramdown//lib/kramdown/parser/kramdown/extensions.rb#153
+Kramdown::Parser::Kramdown::EXT_START_STR = T.let(T.unsafe(nil), String)
+
+# source://kramdown//lib/kramdown/parser/kramdown/extensions.rb#152
+Kramdown::Parser::Kramdown::EXT_STOP_STR = T.let(T.unsafe(nil), String)
+
+# source://kramdown//lib/kramdown/parser/kramdown/codeblock.rb#34
+Kramdown::Parser::Kramdown::FENCED_CODEBLOCK_MATCH = T.let(T.unsafe(nil), Regexp)
+
+# source://kramdown//lib/kramdown/parser/kramdown/codeblock.rb#33
+Kramdown::Parser::Kramdown::FENCED_CODEBLOCK_START = T.let(T.unsafe(nil), Regexp)
+
+# source://kramdown//lib/kramdown/parser/kramdown/footnote.rb#18
+Kramdown::Parser::Kramdown::FOOTNOTE_DEFINITION_START = T.let(T.unsafe(nil), Regexp)
+
+# source://kramdown//lib/kramdown/parser/kramdown/footnote.rb#37
+Kramdown::Parser::Kramdown::FOOTNOTE_MARKER_START = T.let(T.unsafe(nil), Regexp)
+
+# source://kramdown//lib/kramdown/parser/kramdown/header.rb#44
+Kramdown::Parser::Kramdown::HEADER_ID = T.let(T.unsafe(nil), Regexp)
+
+# source://kramdown//lib/kramdown/parser/kramdown/horizontal_rule.rb#14
+Kramdown::Parser::Kramdown::HR_START = T.let(T.unsafe(nil), Regexp)
+
+# source://kramdown//lib/kramdown/parser/kramdown/html.rb#68
+Kramdown::Parser::Kramdown::HTML_BLOCK_START = T.let(T.unsafe(nil), Regexp)
+
+# Mapping of markdown attribute value to content model. I.e. :raw when "0", :default when "1"
+# (use default content model for the HTML element), :span when "span", :block when block and
+# for everything else +nil+ is returned.
+#
+# source://kramdown//lib/kramdown/parser/kramdown/html.rb#21
+Kramdown::Parser::Kramdown::HTML_MARKDOWN_ATTR_MAP = T.let(T.unsafe(nil), Hash)
+
+# source://kramdown//lib/kramdown/parser/kramdown/html.rb#99
+Kramdown::Parser::Kramdown::HTML_SPAN_START = T.let(T.unsafe(nil), Regexp)
+
+# source://kramdown//lib/kramdown/parser/kramdown/extensions.rb#157
+Kramdown::Parser::Kramdown::IAL_BLOCK = T.let(T.unsafe(nil), Regexp)
+
+# source://kramdown//lib/kramdown/parser/kramdown/extensions.rb#158
+Kramdown::Parser::Kramdown::IAL_BLOCK_START = T.let(T.unsafe(nil), Regexp)
+
+# source://kramdown//lib/kramdown/parser/kramdown/extensions.rb#14
+Kramdown::Parser::Kramdown::IAL_CLASS_ATTR = T.let(T.unsafe(nil), String)
+
+# source://kramdown//lib/kramdown/parser/kramdown/extensions.rb#188
+Kramdown::Parser::Kramdown::IAL_SPAN_START = T.let(T.unsafe(nil), Regexp)
+
+# Regexp for matching indentation (one tab or four spaces)
+#
+# source://kramdown//lib/kramdown/parser/kramdown.rb#344
+Kramdown::Parser::Kramdown::INDENT = T.let(T.unsafe(nil), Regexp)
+
+# source://kramdown//lib/kramdown/parser/kramdown/math.rb#41
+Kramdown::Parser::Kramdown::INLINE_MATH_START = T.let(T.unsafe(nil), Regexp)
+
+# source://kramdown//lib/kramdown/parser/kramdown/paragraph.rb#24
+Kramdown::Parser::Kramdown::LAZY_END = T.let(T.unsafe(nil), Regexp)
+
+# source://kramdown//lib/kramdown/parser/kramdown/paragraph.rb#20
+Kramdown::Parser::Kramdown::LAZY_END_HTML_SPAN_ELEMENTS = T.let(T.unsafe(nil), Array)
+
+# source://kramdown//lib/kramdown/parser/kramdown/paragraph.rb#21
+Kramdown::Parser::Kramdown::LAZY_END_HTML_START = T.let(T.unsafe(nil), Regexp)
+
+# source://kramdown//lib/kramdown/parser/kramdown/paragraph.rb#22
+Kramdown::Parser::Kramdown::LAZY_END_HTML_STOP = T.let(T.unsafe(nil), Regexp)
+
+# source://kramdown//lib/kramdown/parser/kramdown/line_break.rb#14
+Kramdown::Parser::Kramdown::LINE_BREAK = T.let(T.unsafe(nil), Regexp)
+
+# source://kramdown//lib/kramdown/parser/kramdown/link.rb#53
+Kramdown::Parser::Kramdown::LINK_BRACKET_STOP_RE = T.let(T.unsafe(nil), Regexp)
+
+# source://kramdown//lib/kramdown/parser/kramdown/link.rb#21
+Kramdown::Parser::Kramdown::LINK_DEFINITION_START = T.let(T.unsafe(nil), Regexp)
+
+# source://kramdown//lib/kramdown/parser/kramdown/link.rb#55
+Kramdown::Parser::Kramdown::LINK_INLINE_ID_RE = T.let(T.unsafe(nil), Regexp)
+
+# source://kramdown//lib/kramdown/parser/kramdown/link.rb#56
+Kramdown::Parser::Kramdown::LINK_INLINE_TITLE_RE = T.let(T.unsafe(nil), Regexp)
+
+# source://kramdown//lib/kramdown/parser/kramdown/link.rb#54
+Kramdown::Parser::Kramdown::LINK_PAREN_STOP_RE = T.let(T.unsafe(nil), Regexp)
+
+# source://kramdown//lib/kramdown/parser/kramdown/link.rb#57
+Kramdown::Parser::Kramdown::LINK_START = T.let(T.unsafe(nil), Regexp)
+
+# source://kramdown//lib/kramdown/parser/kramdown/list.rb#19
+Kramdown::Parser::Kramdown::LIST_ITEM_IAL = T.let(T.unsafe(nil), Regexp)
+
+# source://kramdown//lib/kramdown/parser/kramdown/list.rb#20
+Kramdown::Parser::Kramdown::LIST_ITEM_IAL_CHECK = T.let(T.unsafe(nil), Regexp)
+
+# source://kramdown//lib/kramdown/parser/kramdown/list.rb#51
+Kramdown::Parser::Kramdown::LIST_START = T.let(T.unsafe(nil), Regexp)
+
+# source://kramdown//lib/kramdown/parser/kramdown/list.rb#50
+Kramdown::Parser::Kramdown::LIST_START_OL = T.let(T.unsafe(nil), Regexp)
+
+# source://kramdown//lib/kramdown/parser/kramdown/list.rb#49
+Kramdown::Parser::Kramdown::LIST_START_UL = T.let(T.unsafe(nil), Regexp)
+
+# Regexp for matching the optional space (zero or up to three spaces)
+#
+# source://kramdown//lib/kramdown/parser/kramdown.rb#346
+Kramdown::Parser::Kramdown::OPT_SPACE = T.let(T.unsafe(nil), Regexp)
+
+# source://kramdown//lib/kramdown/parser/kramdown/paragraph.rb#28
+Kramdown::Parser::Kramdown::PARAGRAPH_END = T.let(T.unsafe(nil), Regexp)
+
+# source://kramdown//lib/kramdown/parser/kramdown/paragraph.rb#27
+Kramdown::Parser::Kramdown::PARAGRAPH_MATCH = T.let(T.unsafe(nil), Regexp)
+
+# source://kramdown//lib/kramdown/parser/kramdown/paragraph.rb#26
+Kramdown::Parser::Kramdown::PARAGRAPH_START = T.let(T.unsafe(nil), Regexp)
+
+# source://kramdown//lib/kramdown/parser/kramdown/list.rb#22
+Kramdown::Parser::Kramdown::PARSE_FIRST_LIST_LINE_REGEXP_CACHE = T.let(T.unsafe(nil), Hash)
+
+# source://kramdown//lib/kramdown/parser/kramdown/list.rb#47
+Kramdown::Parser::Kramdown::PATTERN_TAIL = T.let(T.unsafe(nil), Regexp)
+
+# source://kramdown//lib/kramdown/parser/kramdown/header.rb#17
+Kramdown::Parser::Kramdown::SETEXT_HEADER_START = T.let(T.unsafe(nil), Regexp)
+
+# source://kramdown//lib/kramdown/parser/kramdown/smart_quotes.rb#155
+Kramdown::Parser::Kramdown::SMART_QUOTES_RE = T.let(T.unsafe(nil), Regexp)
+
+# source://kramdown//lib/kramdown/parser/kramdown/extensions.rb#189
+Kramdown::Parser::Kramdown::SPAN_EXTENSIONS_START = T.let(T.unsafe(nil), Regexp)
+
+# source://kramdown//lib/kramdown/parser/kramdown/smart_quotes.rb#122
+Kramdown::Parser::Kramdown::SQ_CLOSE = T.let(T.unsafe(nil), String)
+
+# source://kramdown//lib/kramdown/parser/kramdown/smart_quotes.rb#121
+Kramdown::Parser::Kramdown::SQ_PUNCT = T.let(T.unsafe(nil), String)
+
+# source://kramdown//lib/kramdown/parser/kramdown/smart_quotes.rb#124
+Kramdown::Parser::Kramdown::SQ_RULES = T.let(T.unsafe(nil), Array)
+
+# '"
+#
+# source://kramdown//lib/kramdown/parser/kramdown/smart_quotes.rb#145
+Kramdown::Parser::Kramdown::SQ_SUBSTS = T.let(T.unsafe(nil), Hash)
+
+# source://kramdown//lib/kramdown/parser/kramdown/table.rb#18
+Kramdown::Parser::Kramdown::TABLE_FSEP_LINE = T.let(T.unsafe(nil), Regexp)
+
+# source://kramdown//lib/kramdown/parser/kramdown/table.rb#17
+Kramdown::Parser::Kramdown::TABLE_HSEP_ALIGN = T.let(T.unsafe(nil), Regexp)
+
+# source://kramdown//lib/kramdown/parser/kramdown/table.rb#21
+Kramdown::Parser::Kramdown::TABLE_LINE = T.let(T.unsafe(nil), Regexp)
+
+# source://kramdown//lib/kramdown/parser/kramdown/table.rb#20
+Kramdown::Parser::Kramdown::TABLE_PIPE_CHECK = T.let(T.unsafe(nil), Regexp)
+
+# source://kramdown//lib/kramdown/parser/kramdown/table.rb#19
+Kramdown::Parser::Kramdown::TABLE_ROW_LINE = T.let(T.unsafe(nil), Regexp)
+
+# source://kramdown//lib/kramdown/parser/kramdown/table.rb#16
+Kramdown::Parser::Kramdown::TABLE_SEP_LINE = T.let(T.unsafe(nil), Regexp)
+
+# source://kramdown//lib/kramdown/parser/kramdown/table.rb#22
+Kramdown::Parser::Kramdown::TABLE_START = T.let(T.unsafe(nil), Regexp)
+
+# source://kramdown//lib/kramdown/parser/kramdown/html.rb#23
+Kramdown::Parser::Kramdown::TRAILING_WHITESPACE = T.let(T.unsafe(nil), Regexp)
+
+# source://kramdown//lib/kramdown/parser/kramdown/typographic_symbol.rb#14
+Kramdown::Parser::Kramdown::TYPOGRAPHIC_SYMS = T.let(T.unsafe(nil), Array)
+
+# source://kramdown//lib/kramdown/parser/kramdown/typographic_symbol.rb#19
+Kramdown::Parser::Kramdown::TYPOGRAPHIC_SYMS_RE = T.let(T.unsafe(nil), Regexp)
+
+# source://kramdown//lib/kramdown/parser/kramdown/typographic_symbol.rb#18
+Kramdown::Parser::Kramdown::TYPOGRAPHIC_SYMS_SUBST = T.let(T.unsafe(nil), Hash)
+
+# Used for parsing a document in Markdown format.
+#
+# This parser is based on the kramdown parser and removes the parser methods for the additional
+# non-Markdown features. However, since some things are handled differently by the kramdown
+# parser methods (like deciding when a list item contains just text), this parser differs from
+# real Markdown parsers in some respects.
+#
+# Note, though, that the parser basically fails just one of the Markdown test cases (some others
+# also fail but those failures are negligible).
+#
+# source://kramdown//lib/kramdown/parser/markdown.rb#25
+class Kramdown::Parser::Markdown < ::Kramdown::Parser::Kramdown
+ # @return [Markdown] a new instance of Markdown
+ #
+ # source://kramdown//lib/kramdown/parser/markdown.rb#32
+ def initialize(source, options); end
+end
+
+# :stopdoc:
+#
+# source://kramdown//lib/kramdown/parser/markdown.rb#40
+Kramdown::Parser::Markdown::BLOCK_BOUNDARY = T.let(T.unsafe(nil), Regexp)
+
+# source://kramdown//lib/kramdown/parser/markdown.rb#43
+Kramdown::Parser::Markdown::CODEBLOCK_MATCH = T.let(T.unsafe(nil), Regexp)
+
+# Array with all the parsing methods that should be removed from the standard kramdown parser.
+#
+# source://kramdown//lib/kramdown/parser/markdown.rb#28
+Kramdown::Parser::Markdown::EXTENDED = T.let(T.unsafe(nil), Array)
+
+# source://kramdown//lib/kramdown/parser/markdown.rb#46
+Kramdown::Parser::Markdown::IAL_RAND_CHARS = T.let(T.unsafe(nil), Array)
+
+# source://kramdown//lib/kramdown/parser/markdown.rb#47
+Kramdown::Parser::Markdown::IAL_RAND_STRING = T.let(T.unsafe(nil), String)
+
+# source://kramdown//lib/kramdown/parser/markdown.rb#49
+Kramdown::Parser::Markdown::IAL_SPAN_START = T.let(T.unsafe(nil), Regexp)
+
+# source://kramdown//lib/kramdown/parser/markdown.rb#41
+Kramdown::Parser::Markdown::LAZY_END = T.let(T.unsafe(nil), Regexp)
+
+# source://kramdown//lib/kramdown/parser/markdown.rb#48
+Kramdown::Parser::Markdown::LIST_ITEM_IAL = T.let(T.unsafe(nil), Regexp)
+
+# source://kramdown//lib/kramdown/parser/markdown.rb#44
+Kramdown::Parser::Markdown::PARAGRAPH_END = T.let(T.unsafe(nil), Regexp)
+
+# == \Utils Module
+#
+# This module contains utility class/modules/methods that can be used by both parsers and
+# converters.
+#
+# source://kramdown//lib/kramdown/utils.rb#16
+module Kramdown::Utils
+ class << self
+ # Treat +name+ as if it were snake cased (e.g. snake_case) and camelize it (e.g. SnakeCase).
+ #
+ # source://kramdown//lib/kramdown/utils.rb#26
+ def camelize(name); end
+
+ # source://kramdown//lib/kramdown/utils.rb#39
+ def deep_const_get(str); end
+
+ # Treat +name+ as if it were camelized (e.g. CamelizedName) and snake-case it (e.g. camelized_name).
+ #
+ # source://kramdown//lib/kramdown/utils.rb#31
+ def snake_case(name); end
+ end
+end
+
+# Methods for registering configurable extensions.
+#
+# source://kramdown//lib/kramdown/utils/configurable.rb#14
+module Kramdown::Utils::Configurable
+ # Create a new configurable extension called +name+.
+ #
+ # Three methods will be defined on the calling object which allow to use this configurable
+ # extension:
+ #
+ # configurables:: Returns a hash of hashes that is used to store all configurables of the
+ # object.
+ #
+ # (ext_name):: Return the configured extension +ext_name+.
+ #
+ # add_(ext_name, data=nil, &block):: Define an extension +ext_name+ by specifying either
+ # the data as argument or by using a block.
+ #
+ # source://kramdown//lib/kramdown/utils/configurable.rb#28
+ def configurable(name); end
+end
+
+# Provides convenience methods for handling named and numeric entities.
+#
+# source://kramdown//lib/kramdown/utils/entities.rb#15
+module Kramdown::Utils::Entities
+ private
+
+ # Return the entity for the given code point or name +point_or_name+.
+ #
+ # source://kramdown//lib/kramdown/utils/entities.rb#334
+ def entity(point_or_name); end
+
+ class << self
+ # Return the entity for the given code point or name +point_or_name+.
+ #
+ # source://kramdown//lib/kramdown/utils/entities.rb#334
+ def entity(point_or_name); end
+ end
+end
+
+# Contains the mapping of code point (or name) to the actual Entity object.
+#
+# source://kramdown//lib/kramdown/utils/entities.rb#317
+Kramdown::Utils::Entities::ENTITY_MAP = T.let(T.unsafe(nil), Hash)
+
+# Array of arrays. Each sub-array specifies a code point and the associated name.
+#
+# This table is not used directly -- Entity objects are automatically created from it and put
+# into a Hash map when this file is loaded.
+#
+# source://kramdown//lib/kramdown/utils/entities.rb#29
+Kramdown::Utils::Entities::ENTITY_TABLE = T.let(T.unsafe(nil), Array)
+
+# Represents an entity that has a +code_point+ and +name+.
+#
+# source://kramdown//lib/kramdown/utils/entities.rb#18
+class Kramdown::Utils::Entities::Entity < ::Struct
+ # Return the UTF8 representation of the entity.
+ #
+ # source://kramdown//lib/kramdown/utils/entities.rb#20
+ def char; end
+
+ # Returns the value of attribute code_point
+ #
+ # @return [Object] the current value of code_point
+ def code_point; end
+
+ # Sets the attribute code_point
+ #
+ # @param value [Object] the value to set the attribute code_point to.
+ # @return [Object] the newly set value
+ def code_point=(_); end
+
+ # Returns the value of attribute name
+ #
+ # @return [Object] the current value of name
+ def name; end
+
+ # Sets the attribute name
+ #
+ # @param value [Object] the value to set the attribute name to.
+ # @return [Object] the newly set value
+ def name=(_); end
+
+ class << self
+ def [](*_arg0); end
+ def inspect; end
+ def keyword_init?; end
+ def members; end
+ def new(*_arg0); end
+ end
+end
+
+# Provides convenience methods for HTML related tasks.
+#
+# *Note* that this module has to be mixed into a class that has a @root (containing an element
+# of type :root) and an @options (containing an options hash) instance variable so that some of
+# the methods can work correctly.
+#
+# source://kramdown//lib/kramdown/utils/html.rb#21
+module Kramdown::Utils::Html
+ # Convert the entity +e+ to a string. The optional parameter +original+ may contain the
+ # original representation of the entity.
+ #
+ # This method uses the option +entity_output+ to determine the output form for the entity.
+ #
+ # source://kramdown//lib/kramdown/utils/html.rb#27
+ def entity_to_str(e, original = T.unsafe(nil)); end
+
+ # Escape the special HTML characters in the string +str+. The parameter +type+ specifies what
+ # is escaped: :all - all special HTML characters except the quotation mark as well as
+ # entities, :text - all special HTML characters except the quotation mark but no entities and
+ # :attribute - all special HTML characters including the quotation mark but no entities.
+ #
+ # source://kramdown//lib/kramdown/utils/html.rb#69
+ def escape_html(str, type = T.unsafe(nil)); end
+
+ # source://kramdown//lib/kramdown/utils/html.rb#74
+ def fix_cjk_line_break(str); end
+
+ # Return the HTML representation of the attributes +attr+.
+ #
+ # source://kramdown//lib/kramdown/utils/html.rb#44
+ def html_attributes(attr); end
+end
+
+# source://kramdown//lib/kramdown/utils/html.rb#59
+Kramdown::Utils::Html::ESCAPE_ALL_RE = T.let(T.unsafe(nil), Regexp)
+
+# source://kramdown//lib/kramdown/utils/html.rb#61
+Kramdown::Utils::Html::ESCAPE_ATTRIBUTE_RE = T.let(T.unsafe(nil), Regexp)
+
+# :stopdoc:
+#
+# source://kramdown//lib/kramdown/utils/html.rb#53
+Kramdown::Utils::Html::ESCAPE_MAP = T.let(T.unsafe(nil), Hash)
+
+# source://kramdown//lib/kramdown/utils/html.rb#62
+Kramdown::Utils::Html::ESCAPE_RE_FROM_TYPE = T.let(T.unsafe(nil), Hash)
+
+# source://kramdown//lib/kramdown/utils/html.rb#60
+Kramdown::Utils::Html::ESCAPE_TEXT_RE = T.let(T.unsafe(nil), Regexp)
+
+# source://kramdown//lib/kramdown/utils/html.rb#73
+Kramdown::Utils::Html::REDUNDANT_LINE_BREAK_REGEX = T.let(T.unsafe(nil), Regexp)
+
+# A simple least recently used (LRU) cache.
+#
+# The cache relies on the fact that Ruby's Hash class maintains insertion order. So deleting
+# and re-inserting a key-value pair on access moves the key to the last position. When an
+# entry is added and the cache is full, the first entry is removed.
+#
+# source://kramdown//lib/kramdown/utils/lru_cache.rb#18
+class Kramdown::Utils::LRUCache
+ # Creates a new LRUCache that can hold +size+ entries.
+ #
+ # @return [LRUCache] a new instance of LRUCache
+ #
+ # source://kramdown//lib/kramdown/utils/lru_cache.rb#21
+ def initialize(size); end
+
+ # Returns the stored value for +key+ or +nil+ if no value was stored under the key.
+ #
+ # source://kramdown//lib/kramdown/utils/lru_cache.rb#27
+ def [](key); end
+
+ # Stores the +value+ under the +key+.
+ #
+ # source://kramdown//lib/kramdown/utils/lru_cache.rb#32
+ def []=(key, value); end
+end
+
+# This patched StringScanner adds line number information for current scan position and a
+# start_line_number override for nested StringScanners.
+#
+# source://kramdown//lib/kramdown/utils/string_scanner.rb#17
+class Kramdown::Utils::StringScanner < ::StringScanner
+ # Takes the start line number as optional second argument.
+ #
+ # Note: The original second argument is no longer used so this should be safe.
+ #
+ # @return [StringScanner] a new instance of StringScanner
+ #
+ # source://kramdown//lib/kramdown/utils/string_scanner.rb#26
+ def initialize(string, start_line_number = T.unsafe(nil)); end
+
+ # Returns the line number for current charpos.
+ #
+ # NOTE: Requires that all line endings are normalized to '\n'
+ #
+ # NOTE: Normally we'd have to add one to the count of newlines to get the correct line number.
+ # However we add the one indirectly by using a one-based start_line_number.
+ #
+ # source://kramdown//lib/kramdown/utils/string_scanner.rb#67
+ def current_line_number; end
+
+ # Sets the byte position of the scan pointer.
+ #
+ # Note: This also resets some internal variables, so always use pos= when setting the position
+ # and don't use any other method for that!
+ #
+ # source://kramdown//lib/kramdown/utils/string_scanner.rb#37
+ def pos=(pos); end
+
+ # Revert the position to one saved by #save_pos.
+ #
+ # source://kramdown//lib/kramdown/utils/string_scanner.rb#56
+ def revert_pos(data); end
+
+ # Return information needed to revert the byte position of the string scanner in a performant
+ # way.
+ #
+ # The returned data can be fed to #revert_pos to revert the position to the saved one.
+ #
+ # Note: Just saving #pos won't be enough.
+ #
+ # source://kramdown//lib/kramdown/utils/string_scanner.rb#51
+ def save_pos; end
+
+ # The start line number. Used for nested StringScanners that scan a sub-string of the source
+ # document. The kramdown parser uses this, e.g., for span level parsers.
+ #
+ # source://kramdown//lib/kramdown/utils/string_scanner.rb#21
+ def start_line_number; end
+end
+
+# The kramdown version.
+#
+# source://kramdown//lib/kramdown/version.rb#13
+Kramdown::VERSION = T.let(T.unsafe(nil), String)
diff --git a/Library/Homebrew/sorbet/tapioca/config.yml b/Library/Homebrew/sorbet/tapioca/config.yml
index 3c183d90d3..3ecfe9fb27 100644
--- a/Library/Homebrew/sorbet/tapioca/config.yml
+++ b/Library/Homebrew/sorbet/tapioca/config.yml
@@ -13,16 +13,12 @@ gem:
- docile
- hana
- highline
- - hpricot
- language_server-protocol
- - mustache
- netrc
- parallel
- public_suffix
- racc
- - rdiscount
- rexml
- - ronn
- rspec-github
- rspec-mocks
- rspec-retry
diff --git a/Library/Homebrew/vendor/bundle/bundler/setup.rb b/Library/Homebrew/vendor/bundle/bundler/setup.rb
index b5836976e1..9b9ad28f9b 100644
--- a/Library/Homebrew/vendor/bundle/bundler/setup.rb
+++ b/Library/Homebrew/vendor/bundle/bundler/setup.rb
@@ -45,8 +45,6 @@ $:.unshift File.expand_path("#{__dir__}/../#{RUBY_ENGINE}/#{Gem.ruby_api_version
$:.unshift File.expand_path("#{__dir__}/../#{RUBY_ENGINE}/#{Gem.ruby_api_version}/gems/elftools-1.3.0/lib")
$:.unshift File.expand_path("#{__dir__}/../#{RUBY_ENGINE}/#{Gem.ruby_api_version}/gems/erubi-1.12.0/lib")
$:.unshift File.expand_path("#{__dir__}/../#{RUBY_ENGINE}/#{Gem.ruby_api_version}/gems/hana-1.3.7/lib")
-$:.unshift File.expand_path("#{__dir__}/../#{RUBY_ENGINE}/#{Gem.ruby_api_version}/extensions/arm64-darwin-20/#{Gem.extension_api_version}/hpricot-0.8.6")
-$:.unshift File.expand_path("#{__dir__}/../#{RUBY_ENGINE}/#{Gem.ruby_api_version}/gems/hpricot-0.8.6/lib")
$:.unshift File.expand_path("#{__dir__}/../#{RUBY_ENGINE}/#{Gem.ruby_api_version}/extensions/arm64-darwin-20/#{Gem.extension_api_version}/json-2.7.1")
$:.unshift File.expand_path("#{__dir__}/../#{RUBY_ENGINE}/#{Gem.ruby_api_version}/gems/json-2.7.1/lib")
$:.unshift File.expand_path("#{__dir__}/../#{RUBY_ENGINE}/#{Gem.ruby_api_version}/gems/regexp_parser-2.9.0/lib")
@@ -55,10 +53,11 @@ $:.unshift File.expand_path("#{__dir__}/../#{RUBY_ENGINE}/#{Gem.ruby_api_version
$:.unshift File.expand_path("#{__dir__}/../#{RUBY_ENGINE}/#{Gem.ruby_api_version}/gems/unf-0.1.4/lib")
$:.unshift File.expand_path("#{__dir__}/../#{RUBY_ENGINE}/#{Gem.ruby_api_version}/gems/simpleidn-0.2.1/lib")
$:.unshift File.expand_path("#{__dir__}/../#{RUBY_ENGINE}/#{Gem.ruby_api_version}/gems/json_schemer-2.1.1/lib")
+$:.unshift File.expand_path("#{__dir__}/../#{RUBY_ENGINE}/#{Gem.ruby_api_version}/gems/rexml-3.2.6/lib")
+$:.unshift File.expand_path("#{__dir__}/../#{RUBY_ENGINE}/#{Gem.ruby_api_version}/gems/kramdown-2.4.0/lib")
$:.unshift File.expand_path("#{__dir__}/../#{RUBY_ENGINE}/#{Gem.ruby_api_version}/gems/language_server-protocol-3.17.0.3/lib")
$:.unshift File.expand_path("#{__dir__}/../#{RUBY_ENGINE}/#{Gem.ruby_api_version}/gems/method_source-1.0.0/lib")
$:.unshift File.expand_path("#{__dir__}/../#{RUBY_ENGINE}/#{Gem.ruby_api_version}/gems/minitest-5.22.2/lib")
-$:.unshift File.expand_path("#{__dir__}/../#{RUBY_ENGINE}/#{Gem.ruby_api_version}/gems/mustache-1.1.1/lib")
$:.unshift File.expand_path("#{__dir__}/../#{RUBY_ENGINE}/#{Gem.ruby_api_version}/gems/netrc-0.11.0/lib")
$:.unshift File.expand_path("#{__dir__}/../#{RUBY_ENGINE}/#{Gem.ruby_api_version}/gems/parallel-1.24.0/lib")
$:.unshift File.expand_path("#{__dir__}/../#{RUBY_ENGINE}/#{Gem.ruby_api_version}/gems/parallel_tests-4.5.2/lib")
@@ -75,10 +74,6 @@ $:.unshift File.expand_path("#{__dir__}/../#{RUBY_ENGINE}/#{Gem.ruby_api_version
$:.unshift File.expand_path("#{__dir__}/../#{RUBY_ENGINE}/#{Gem.ruby_api_version}/gems/prism-0.24.0/lib")
$:.unshift File.expand_path("#{__dir__}/../#{RUBY_ENGINE}/#{Gem.ruby_api_version}/gems/pry-0.14.2/lib")
$:.unshift File.expand_path("#{__dir__}/../#{RUBY_ENGINE}/#{Gem.ruby_api_version}/gems/rbi-0.1.9/lib")
-$:.unshift File.expand_path("#{__dir__}/../#{RUBY_ENGINE}/#{Gem.ruby_api_version}/extensions/arm64-darwin-20/#{Gem.extension_api_version}/rdiscount-2.2.7.3")
-$:.unshift File.expand_path("#{__dir__}/../#{RUBY_ENGINE}/#{Gem.ruby_api_version}/gems/rdiscount-2.2.7.3/lib")
-$:.unshift File.expand_path("#{__dir__}/../#{RUBY_ENGINE}/#{Gem.ruby_api_version}/gems/rexml-3.2.6/lib")
-$:.unshift File.expand_path("#{__dir__}/../#{RUBY_ENGINE}/#{Gem.ruby_api_version}/gems/ronn-0.7.3/lib")
$:.unshift File.expand_path("#{__dir__}/../#{RUBY_ENGINE}/#{Gem.ruby_api_version}/gems/rspec-support-3.13.1/lib")
$:.unshift File.expand_path("#{__dir__}/../#{RUBY_ENGINE}/#{Gem.ruby_api_version}/gems/rspec-core-3.13.0/lib")
$:.unshift File.expand_path("#{__dir__}/../#{RUBY_ENGINE}/#{Gem.ruby_api_version}/gems/rspec-expectations-3.13.0/lib")
diff --git a/docs/Manpage.md b/docs/Manpage.md
index e859bfdb28..b58476a84d 100644
--- a/docs/Manpage.md
+++ b/docs/Manpage.md
@@ -1,10 +1,9 @@
-brew(1) -- The Missing Package Manager for macOS (or Linux)
-===========================================================
+# brew(1) -- The Missing Package Manager for macOS (or Linux)
## SYNOPSIS
-`brew` `--version`
-`brew` *`command`* [`--verbose`|`-v`] [*`options`*] [*`formula`*] ...
+`brew` `--version`
+`brew` *`command`* \[`--verbose`\|`-v`\] \[*`options`*\] \[*`formula`*\] ...
## DESCRIPTION
@@ -14,29 +13,57 @@ Linux distribution without requiring `sudo`.
## TERMINOLOGY
-**formula**: Homebrew package definition that builds from upstream sources
+**formula**
-**cask**: Homebrew package definition that installs macOS native applications
+: Homebrew package definition that builds from upstream sources
-**prefix**: path in which Homebrew is installed, e.g. `/usr/local`
+**cask**
-**keg**: installation destination directory of a given **formula** version, e.g. `/usr/local/Cellar/foo/0.1`
+: Homebrew package definition that installs macOS native applications
-**rack**: directory containing one or more versioned **kegs**, e.g. `/usr/local/Cellar/foo`
+**prefix**
-**keg-only**: a **formula** is *keg-only* if it is not symlinked into Homebrew's prefix
+: path in which Homebrew is installed, e.g. `/usr/local`
-**opt prefix**: a symlink to the active version of a **keg**, e.g. `/usr/local/opt/foo`
+**keg**
-**Cellar**: directory containing one or more named **racks**, e.g. `/usr/local/Cellar`
+: installation destination directory of a given **formula** version, e.g.
+ `/usr/local/Cellar/foo/0.1`
-**Caskroom**: directory containing one or more named **casks**, e.g. `/usr/local/Caskroom`
+**rack**
-**external command**: `brew` subcommand defined outside of the Homebrew/brew GitHub repository
+: directory containing one or more versioned **kegs**, e.g.
+ `/usr/local/Cellar/foo`
-**tap**: directory (and usually Git repository) of **formulae**, **casks** and/or **external commands**
+**keg-only**
-**bottle**: pre-built **keg** poured into a **rack** of the **Cellar** instead of building from upstream sources
+: a **formula** is *keg-only* if it is not symlinked into Homebrew's prefix
+
+**opt prefix**
+
+: a symlink to the active version of a **keg**, e.g. `/usr/local/opt/foo`
+
+**Cellar**
+
+: directory containing one or more named **racks**, e.g. `/usr/local/Cellar`
+
+**Caskroom**
+
+: directory containing one or more named **casks**, e.g. `/usr/local/Caskroom`
+
+**external command**
+
+: `brew` subcommand defined outside of the Homebrew/brew GitHub repository
+
+**tap**
+
+: directory (and usually Git repository) of **formulae**, **casks** and/or
+ **external commands**
+
+**bottle**
+
+: pre-built **keg** poured into a **rack** of the **Cellar** instead of building
+ from upstream sources
## ESSENTIAL COMMANDS
@@ -45,7 +72,8 @@ For the full command list, see the [COMMANDS](#commands) section.
With `--verbose` or `--debug`, many commands print extra debugging information.
Note that these options should only appear after a command.
-Some command behaviour can be customised with environment variables; see the [ENVIRONMENT](#environment) section.
+Some command behaviour can be customised with environment variables; see the
+[ENVIRONMENT](#environment) section.
### `install` *`formula`*
@@ -63,488 +91,821 @@ Uninstall *`formula`*.
List all installed formulae.
-### `search` [*`text`*|`/`*`text`*`/`]
+### `search` \[*`text`*\|`/`*`text`*`/`\]
Perform a substring search of cask tokens and formula names for *`text`*. If
-*`text`* is flanked by slashes, it is interpreted as a regular expression.
-The search for *`text`* is extended online to `homebrew/core` and `homebrew/cask`.
+*`text`* is flanked by slashes, it is interpreted as a regular expression. The
+search for *`text`* is extended online to `homebrew/core` and `homebrew/cask`.
If no search term is provided, all locally available formulae are listed.
## COMMANDS
-### `analytics` [*`subcommand`*]
+### `analytics` \[*`subcommand`*\]
-Control Homebrew's anonymous aggregate user behaviour analytics.
-Read more at .
+Control Homebrew's anonymous aggregate user behaviour analytics. Read more at
+.
-`brew analytics` [`state`]
-
Display the current state of Homebrew's analytics.
+`brew analytics` \[`state`\]
-`brew analytics` (`on`|`off`)
-
Turn Homebrew's analytics on or off respectively.
+: Display the current state of Homebrew's analytics.
-### `autoremove` [`--dry-run`]
+`brew analytics` (`on`\|`off`)
-Uninstall formulae that were only installed as a dependency of another formula and are now no longer needed.
+: Turn Homebrew's analytics on or off respectively.
-* `-n`, `--dry-run`:
- List what would be uninstalled, but do not actually uninstall anything.
+### `autoremove` \[`--dry-run`\]
+
+Uninstall formulae that were only installed as a dependency of another formula
+and are now no longer needed.
+
+`-n`, `--dry-run`
+
+: List what would be uninstalled, but do not actually uninstall anything.
### `casks`
List all locally installable casks including short names.
-### `cleanup` [*`options`*] [*`formula`*|*`cask`* ...]
+### `cleanup` \[*`options`*\] \[*`formula`*\|*`cask`* ...\]
-Remove stale lock files and outdated downloads for all formulae and casks,
-and remove old versions of installed formulae. If arguments are specified,
-only do this for the given formulae and casks. Removes all downloads more than
-120 days old. This can be adjusted with `HOMEBREW_CLEANUP_MAX_AGE_DAYS`.
+Remove stale lock files and outdated downloads for all formulae and casks, and
+remove old versions of installed formulae. If arguments are specified, only do
+this for the given formulae and casks. Removes all downloads more than 120 days
+old. This can be adjusted with `HOMEBREW_CLEANUP_MAX_AGE_DAYS`.
-* `--prune`:
- Remove all cache files older than specified *`days`*. If you want to remove everything, use `--prune=all`.
-* `-n`, `--dry-run`:
- Show what would be removed, but do not actually remove anything.
-* `-s`:
- Scrub the cache, including downloads for even the latest versions. Note that downloads for any installed formulae or casks will still not be deleted. If you want to delete those too: `rm -rf "$(brew --cache)"`
-* `--prune-prefix`:
- Only prune the symlinks and directories from the prefix and remove no other files.
+`--prune`
-### `commands` [`--quiet`] [`--include-aliases`]
+: Remove all cache files older than specified *`days`*. If you want to remove
+ everything, use `--prune=all`.
+
+`-n`, `--dry-run`
+
+: Show what would be removed, but do not actually remove anything.
+
+`-s`
+
+: Scrub the cache, including downloads for even the latest versions. Note that
+ downloads for any installed formulae or casks will still not be deleted. If
+ you want to delete those too: `rm -rf "$(brew --cache)"`
+
+`--prune-prefix`
+
+: Only prune the symlinks and directories from the prefix and remove no other
+ files.
+
+### `commands` \[`--quiet`\] \[`--include-aliases`\]
Show lists of built-in and external commands.
-* `-q`, `--quiet`:
- List only the names of commands without category headers.
-* `--include-aliases`:
- Include aliases of internal commands.
+`-q`, `--quiet`
-### `completions` [*`subcommand`*]
+: List only the names of commands without category headers.
-Control whether Homebrew automatically links external tap shell completion files.
-Read more at .
+`--include-aliases`
-`brew completions` [`state`]
-
Display the current state of Homebrew's completions.
+: Include aliases of internal commands.
-`brew completions` (`link`|`unlink`)
-
Link or unlink Homebrew's completions.
+### `completions` \[*`subcommand`*\]
+
+Control whether Homebrew automatically links external tap shell completion
+files. Read more at .
+
+`brew completions` \[`state`\]
+
+: Display the current state of Homebrew's completions.
+
+`brew completions` (`link`\|`unlink`)
+
+: Link or unlink Homebrew's completions.
### `config`, `--config`
-Show Homebrew and system configuration info useful for debugging. If you file
-a bug report, you will be required to provide this information.
+Show Homebrew and system configuration info useful for debugging. If you file a
+bug report, you will be required to provide this information.
-### `deps` [*`options`*] [*`formula`*|*`cask`* ...]
+### `deps` \[*`options`*\] \[*`formula`*\|*`cask`* ...\]
-Show dependencies for *`formula`*. When given multiple formula arguments,
-show the intersection of dependencies for each formula. By default, `deps`
-shows all required and recommended dependencies.
+Show dependencies for *`formula`*. When given multiple formula arguments, show
+the intersection of dependencies for each formula. By default, `deps` shows all
+required and recommended dependencies.
-If any version of each formula argument is installed and no other options
-are passed, this command displays their actual runtime dependencies (similar
-to `brew linkage`), which may differ from the current versions' stated
-dependencies if the installed versions are outdated.
+If any version of each formula argument is installed and no other options are
+passed, this command displays their actual runtime dependencies (similar to
+`brew linkage`), which may differ from the current versions' stated dependencies
+if the installed versions are outdated.
*Note:* `--missing` and `--skip-recommended` have precedence over `--include-*`.
-* `-n`, `--topological`:
- Sort dependencies in topological order.
-* `-1`, `--direct`:
- Show only the direct dependencies declared in the formula.
-* `--union`:
- Show the union of dependencies for multiple *`formula`*, instead of the intersection.
-* `--full-name`:
- List dependencies by their full name.
-* `--include-build`:
- Include `:build` dependencies for *`formula`*.
-* `--include-optional`:
- Include `:optional` dependencies for *`formula`*.
-* `--include-test`:
- Include `:test` dependencies for *`formula`* (non-recursive).
-* `--skip-recommended`:
- Skip `:recommended` dependencies for *`formula`*.
-* `--include-requirements`:
- Include requirements in addition to dependencies for *`formula`*.
-* `--tree`:
- Show dependencies as a tree. When given multiple formula arguments, show individual trees for each formula.
-* `--graph`:
- Show dependencies as a directed graph.
-* `--dot`:
- Show text-based graph description in DOT format.
-* `--annotate`:
- Mark any build, test, implicit, optional, or recommended dependencies as such in the output.
-* `--installed`:
- List dependencies for formulae that are currently installed. If *`formula`* is specified, list only its dependencies that are currently installed.
-* `--missing`:
- Show only missing dependencies.
-* `--eval-all`:
- Evaluate all available formulae and casks, whether installed or not, to list their dependencies.
-* `--for-each`:
- Switch into the mode used by the `--eval-all` option, but only list dependencies for each provided *`formula`*, one formula per line. This is used for debugging the `--installed`/`--eval-all` display mode.
-* `--HEAD`:
- Show dependencies for HEAD version instead of stable version.
-* `--formula`:
- Treat all named arguments as formulae.
-* `--cask`:
- Treat all named arguments as casks.
+`-n`, `--topological`
-### `desc` [*`options`*] *`formula`*|*`cask`*|*`text`*|`/`*`regex`*`/` [...]
+: Sort dependencies in topological order.
-Display *`formula`*'s name and one-line description.
-The cache is created on the first search, making that search slower than subsequent ones.
+`-1`, `--direct`
-* `-s`, `--search`:
- Search both names and descriptions for *`text`*. If *`text`* is flanked by slashes, it is interpreted as a regular expression.
-* `-n`, `--name`:
- Search just names for *`text`*. If *`text`* is flanked by slashes, it is interpreted as a regular expression.
-* `-d`, `--description`:
- Search just descriptions for *`text`*. If *`text`* is flanked by slashes, it is interpreted as a regular expression.
-* `--eval-all`:
- Evaluate all available formulae and casks, whether installed or not, to search their descriptions. Implied if `HOMEBREW_EVAL_ALL` is set.
-* `--formula`:
- Treat all named arguments as formulae.
-* `--cask`:
- Treat all named arguments as casks.
+: Show only the direct dependencies declared in the formula.
-### `developer` [*`subcommand`*]
+`--union`
-Control Homebrew's developer mode. When developer mode is enabled,
-`brew update` will update Homebrew to the latest commit on the `master`
-branch instead of the latest stable version along with some other behaviour changes.
+: Show the union of dependencies for multiple *`formula`*, instead of the
+ intersection.
-`brew developer` [`state`]
-
Display the current state of Homebrew's developer mode.
+`--full-name`
-`brew developer` (`on`|`off`)
-
Turn Homebrew's developer mode on or off respectively.
+: List dependencies by their full name.
+
+`--include-build`
+
+: Include `:build` dependencies for *`formula`*.
+
+`--include-optional`
+
+: Include `:optional` dependencies for *`formula`*.
+
+`--include-test`
+
+: Include `:test` dependencies for *`formula`* (non-recursive).
+
+`--skip-recommended`
+
+: Skip `:recommended` dependencies for *`formula`*.
+
+`--include-requirements`
+
+: Include requirements in addition to dependencies for *`formula`*.
+
+`--tree`
+
+: Show dependencies as a tree. When given multiple formula arguments, show
+ individual trees for each formula.
+
+`--graph`
+
+: Show dependencies as a directed graph.
+
+`--dot`
+
+: Show text-based graph description in DOT format.
+
+`--annotate`
+
+: Mark any build, test, implicit, optional, or recommended dependencies as such
+ in the output.
+
+`--installed`
+
+: List dependencies for formulae that are currently installed. If *`formula`* is
+ specified, list only its dependencies that are currently installed.
+
+`--missing`
+
+: Show only missing dependencies.
+
+`--eval-all`
+
+: Evaluate all available formulae and casks, whether installed or not, to list
+ their dependencies.
+
+`--for-each`
+
+: Switch into the mode used by the `--eval-all` option, but only list
+ dependencies for each provided *`formula`*, one formula per line. This is used
+ for debugging the `--installed`/`--eval-all` display mode.
+
+`--HEAD`
+
+: Show dependencies for HEAD version instead of stable version.
+
+`--formula`
+
+: Treat all named arguments as formulae.
+
+`--cask`
+
+: Treat all named arguments as casks.
+
+### `desc` \[*`options`*\] *`formula`*\|*`cask`*\|*`text`*\|`/`*`regex`*`/` \[...\]
+
+Display *`formula`*'s name and one-line description. The cache is created on the
+first search, making that search slower than subsequent ones.
+
+`-s`, `--search`
+
+: Search both names and descriptions for *`text`*. If *`text`* is flanked by
+ slashes, it is interpreted as a regular expression.
+
+`-n`, `--name`
+
+: Search just names for *`text`*. If *`text`* is flanked by slashes, it is
+ interpreted as a regular expression.
+
+`-d`, `--description`
+
+: Search just descriptions for *`text`*. If *`text`* is flanked by slashes, it
+ is interpreted as a regular expression.
+
+`--eval-all`
+
+: Evaluate all available formulae and casks, whether installed or not, to search
+ their descriptions. Implied if `HOMEBREW_EVAL_ALL` is set.
+
+`--formula`
+
+: Treat all named arguments as formulae.
+
+`--cask`
+
+: Treat all named arguments as casks.
+
+### `developer` \[*`subcommand`*\]
+
+Control Homebrew's developer mode. When developer mode is enabled, `brew update`
+will update Homebrew to the latest commit on the `master` branch instead of the
+latest stable version along with some other behaviour changes.
+
+`brew developer` \[`state`\]
+
+: Display the current state of Homebrew's developer mode.
+
+`brew developer` (`on`\|`off`)
+
+: Turn Homebrew's developer mode on or off respectively.
### `docs`
Open Homebrew's online documentation at in a browser.
-### `doctor`, `dr` [`--list-checks`] [`--audit-debug`] [*`diagnostic_check`* ...]
+### `doctor`, `dr` \[`--list-checks`\] \[`--audit-debug`\] \[*`diagnostic_check`* ...\]
-Check your system for potential problems. Will exit with a non-zero status
-if any potential problems are found.
+Check your system for potential problems. Will exit with a non-zero status if
+any potential problems are found.
Please note that these warnings are just used to help the Homebrew maintainers
-with debugging if you file an issue. If everything you use Homebrew for
-is working fine: please don't worry or file an issue; just ignore this.
+with debugging if you file an issue. If everything you use Homebrew for is
+working fine: please don't worry or file an issue; just ignore this.
-* `--list-checks`:
- List all audit methods, which can be run individually if provided as arguments.
-* `-D`, `--audit-debug`:
- Enable debugging and profiling of audit methods.
+`--list-checks`
-### `fetch` [*`options`*] *`formula`*|*`cask`* [...]
+: List all audit methods, which can be run individually if provided as
+ arguments.
-Download a bottle (if available) or source packages for *`formula`*e
-and binaries for *`cask`*s. For files, also print SHA-256 checksums.
+`-D`, `--audit-debug`
-* `--os`:
- Download for the given operating system. (Pass `all` to download for all operating systems.)
-* `--arch`:
- Download for the given CPU architecture. (Pass `all` to download for all architectures.)
-* `--bottle-tag`:
- Download a bottle for given tag.
-* `--HEAD`:
- Fetch HEAD version instead of stable version.
-* `-f`, `--force`:
- Remove a previously cached version and re-fetch.
-* `-v`, `--verbose`:
- Do a verbose VCS checkout, if the URL represents a VCS. This is useful for seeing if an existing VCS cache has been updated.
-* `--retry`:
- Retry if downloading fails or re-download if the checksum of a previously cached version no longer matches. Tries at most 5 times with exponential backoff.
-* `--deps`:
- Also download dependencies for any listed *`formula`*.
-* `-s`, `--build-from-source`:
- Download source packages rather than a bottle.
-* `--build-bottle`:
- Download source packages (for eventual bottling) rather than a bottle.
-* `--force-bottle`:
- Download a bottle if it exists for the current or newest version of macOS, even if it would not be used during installation.
-* `--[no-]quarantine`:
- Disable/enable quarantining of downloads (default: enabled).
-* `--formula`:
- Treat all named arguments as formulae.
-* `--cask`:
- Treat all named arguments as casks.
+: Enable debugging and profiling of audit methods.
+
+### `fetch` \[*`options`*\] *`formula`*\|*`cask`* \[...\]
+
+Download a bottle (if available) or source packages for *`formula`*e and
+binaries for *`cask`*s. For files, also print SHA-256 checksums.
+
+`--os`
+
+: Download for the given operating system. (Pass `all` to download for all
+ operating systems.)
+
+`--arch`
+
+: Download for the given CPU architecture. (Pass `all` to download for all
+ architectures.)
+
+`--bottle-tag`
+
+: Download a bottle for given tag.
+
+`--HEAD`
+
+: Fetch HEAD version instead of stable version.
+
+`-f`, `--force`
+
+: Remove a previously cached version and re-fetch.
+
+`-v`, `--verbose`
+
+: Do a verbose VCS checkout, if the URL represents a VCS. This is useful for
+ seeing if an existing VCS cache has been updated.
+
+`--retry`
+
+: Retry if downloading fails or re-download if the checksum of a previously
+ cached version no longer matches. Tries at most 5 times with exponential
+ backoff.
+
+`--deps`
+
+: Also download dependencies for any listed *`formula`*.
+
+`-s`, `--build-from-source`
+
+: Download source packages rather than a bottle.
+
+`--build-bottle`
+
+: Download source packages (for eventual bottling) rather than a bottle.
+
+`--force-bottle`
+
+: Download a bottle if it exists for the current or newest version of macOS,
+ even if it would not be used during installation.
+
+`--[no-]quarantine`
+
+: Disable/enable quarantining of downloads (default: enabled).
+
+`--formula`
+
+: Treat all named arguments as formulae.
+
+`--cask`
+
+: Treat all named arguments as casks.
### `formulae`
List all locally installable formulae including short names.
-### `gist-logs` [*`options`*] *`formula`*
+### `gist-logs` \[*`options`*\] *`formula`*
-Upload logs for a failed build of *`formula`* to a new Gist. Presents an
-error message if no logs are found.
+Upload logs for a failed build of *`formula`* to a new Gist. Presents an error
+message if no logs are found.
-* `--with-hostname`:
- Include the hostname in the Gist.
-* `-n`, `--new-issue`:
- Automatically create a new issue in the appropriate GitHub repository after creating the Gist.
-* `-p`, `--private`:
- The Gist will be marked private and will not appear in listings but will be accessible with its link.
+`--with-hostname`
-### `home`, `homepage` [`--formula`] [`--cask`] [*`formula`*|*`cask`* ...]
+: Include the hostname in the Gist.
-Open a *`formula`* or *`cask`*'s homepage in a browser, or open
-Homebrew's own homepage if no argument is provided.
+`-n`, `--new-issue`
-* `--formula`:
- Treat all named arguments as formulae.
-* `--cask`:
- Treat all named arguments as casks.
+: Automatically create a new issue in the appropriate GitHub repository after
+ creating the Gist.
-### `info`, `abv` [*`options`*] [*`formula`*|*`cask`* ...]
+`-p`, `--private`
-Display brief statistics for your Homebrew installation.
-If a *`formula`* or *`cask`* is provided, show summary of information about it.
+: The Gist will be marked private and will not appear in listings but will be
+ accessible with its link.
-* `--analytics`:
- List global Homebrew analytics data or, if specified, installation and build error data for *`formula`* (provided neither `HOMEBREW_NO_ANALYTICS` nor `HOMEBREW_NO_GITHUB_API` are set).
-* `--days`:
- How many days of analytics data to retrieve. The value for *`days`* must be `30`, `90` or `365`. The default is `30`.
-* `--category`:
- Which type of analytics data to retrieve. The value for *`category`* must be `install`, `install-on-request` or `build-error`; `cask-install` or `os-version` may be specified if *`formula`* is not. The default is `install`.
-* `--github`:
- Open the GitHub source page for *`formula`* and *`cask`* in a browser. To view the history locally: `brew log -p` *`formula`* or *`cask`*
-* `--json`:
- Print a JSON representation. Currently the default value for *`version`* is `v1` for *`formula`*. For *`formula`* and *`cask`* use `v2`. See the docs for examples of using the JSON output:
-* `--installed`:
- Print JSON of formulae that are currently installed.
-* `--eval-all`:
- Evaluate all available formulae and casks, whether installed or not, to print their JSON. Implied if `HOMEBREW_EVAL_ALL` is set.
-* `--variations`:
- Include the variations hash in each formula's JSON output.
-* `-v`, `--verbose`:
- Show more verbose analytics data for *`formula`*.
-* `--formula`:
- Treat all named arguments as formulae.
-* `--cask`:
- Treat all named arguments as casks.
+### `home`, `homepage` \[`--formula`\] \[`--cask`\] \[*`formula`*\|*`cask`* ...\]
-### `install` [*`options`*] *`formula`*|*`cask`* [...]
+Open a *`formula`* or *`cask`*'s homepage in a browser, or open Homebrew's own
+homepage if no argument is provided.
-Install a *`formula`* or *`cask`*. Additional options specific to a *`formula`* may be
-appended to the command.
+`--formula`
-Unless `HOMEBREW_NO_INSTALLED_DEPENDENTS_CHECK` is set, `brew upgrade` or `brew reinstall` will be run for
-outdated dependents and dependents with broken linkage, respectively.
+: Treat all named arguments as formulae.
+
+`--cask`
+
+: Treat all named arguments as casks.
+
+### `info`, `abv` \[*`options`*\] \[*`formula`*\|*`cask`* ...\]
+
+Display brief statistics for your Homebrew installation. If a *`formula`* or
+*`cask`* is provided, show summary of information about it.
+
+`--analytics`
+
+: List global Homebrew analytics data or, if specified, installation and build
+ error data for *`formula`* (provided neither `HOMEBREW_NO_ANALYTICS` nor
+ `HOMEBREW_NO_GITHUB_API` are set).
+
+`--days`
+
+: How many days of analytics data to retrieve. The value for *`days`* must be
+ `30`, `90` or `365`. The default is `30`.
+
+`--category`
+
+: Which type of analytics data to retrieve. The value for *`category`* must be
+ `install`, `install-on-request` or `build-error`; `cask-install` or
+ `os-version` may be specified if *`formula`* is not. The default is `install`.
+
+`--github`
+
+: Open the GitHub source page for *`formula`* and *`cask`* in a browser. To view
+ the history locally: `brew log -p` *`formula`* or *`cask`*
+
+`--json`
+
+: Print a JSON representation. Currently the default value for *`version`* is
+ `v1` for *`formula`*. For *`formula`* and *`cask`* use `v2`. See the docs for
+ examples of using the JSON output:
+
+`--installed`
+
+: Print JSON of formulae that are currently installed.
+
+`--eval-all`
+
+: Evaluate all available formulae and casks, whether installed or not, to print
+ their JSON. Implied if `HOMEBREW_EVAL_ALL` is set.
+
+`--variations`
+
+: Include the variations hash in each formula's JSON output.
+
+`-v`, `--verbose`
+
+: Show more verbose analytics data for *`formula`*.
+
+`--formula`
+
+: Treat all named arguments as formulae.
+
+`--cask`
+
+: Treat all named arguments as casks.
+
+### `install` \[*`options`*\] *`formula`*\|*`cask`* \[...\]
+
+Install a *`formula`* or *`cask`*. Additional options specific to a *`formula`*
+may be appended to the command.
+
+Unless `HOMEBREW_NO_INSTALLED_DEPENDENTS_CHECK` is set, `brew upgrade` or `brew
+reinstall` will be run for outdated dependents and dependents with broken
+linkage, respectively.
Unless `HOMEBREW_NO_INSTALL_CLEANUP` is set, `brew cleanup` will then be run for
the installed formulae or, every 30 days, for all formulae.
-Unless `HOMEBREW_NO_INSTALL_UPGRADE` is set, `brew install` *`formula`* will upgrade *`formula`* if it
-is already installed but outdated.
+Unless `HOMEBREW_NO_INSTALL_UPGRADE` is set, `brew install` *`formula`* will
+upgrade *`formula`* if it is already installed but outdated.
-* `-d`, `--debug`:
- If brewing fails, open an interactive debugging session with access to IRB or a shell inside the temporary build directory.
-* `-f`, `--force`:
- Install formulae without checking for previously installed keg-only or non-migrated versions. When installing casks, overwrite existing files (binaries and symlinks are excluded, unless originally from the same cask).
-* `-v`, `--verbose`:
- Print the verification and post-install steps.
-* `-n`, `--dry-run`:
- Show what would be installed, but do not actually install anything.
-* `--formula`:
- Treat all named arguments as formulae.
-* `--ignore-dependencies`:
- An unsupported Homebrew development option to skip installing any dependencies of any kind. If the dependencies are not already present, the formula will have issues. If you're not developing Homebrew, consider adjusting your PATH rather than using this option.
-* `--only-dependencies`:
- Install the dependencies with specified options but do not install the formula itself.
-* `--cc`:
- Attempt to compile using the specified *`compiler`*, which should be the name of the compiler's executable, e.g. `gcc-7` for GCC 7. In order to use LLVM's clang, specify `llvm_clang`. To use the Apple-provided clang, specify `clang`. This option will only accept compilers that are provided by Homebrew or bundled with macOS. Please do not file issues if you encounter errors while using this option.
-* `-s`, `--build-from-source`:
- Compile *`formula`* from source even if a bottle is provided. Dependencies will still be installed from bottles if they are available.
-* `--force-bottle`:
- Install from a bottle if it exists for the current or newest version of macOS, even if it would not normally be used for installation.
-* `--include-test`:
- Install testing dependencies required to run `brew test` *`formula`*.
-* `--HEAD`:
- If *`formula`* defines it, install the HEAD version, aka. main, trunk, unstable, master.
-* `--fetch-HEAD`:
- Fetch the upstream repository to detect if the HEAD installation of the formula is outdated. Otherwise, the repository's HEAD will only be checked for updates when a new stable or development version has been released.
-* `--keep-tmp`:
- Retain the temporary files created during installation.
-* `--debug-symbols`:
- Generate debug symbols on build. Source will be retained in a cache directory.
-* `--build-bottle`:
- Prepare the formula for eventual bottling during installation, skipping any post-install steps.
-* `--skip-post-install`:
- Install but skip any post-install steps.
-* `--bottle-arch`:
- Optimise bottles for the specified architecture rather than the oldest architecture supported by the version of macOS the bottles are built on.
-* `--display-times`:
- Print install times for each package at the end of the run.
-* `-i`, `--interactive`:
- Download and patch *`formula`*, then open a shell. This allows the user to run `./configure --help` and otherwise determine how to turn the software package into a Homebrew package.
-* `-g`, `--git`:
- Create a Git repository, useful for creating patches to the software.
-* `--overwrite`:
- Delete files that already exist in the prefix while linking.
-* `--cask`:
- Treat all named arguments as casks.
-* `--[no-]binaries`:
- Disable/enable linking of helper executables (default: enabled).
-* `--require-sha`:
- Require all casks to have a checksum.
-* `--[no-]quarantine`:
- Disable/enable quarantining of downloads (default: enabled).
-* `--adopt`:
- Adopt existing artifacts in the destination that are identical to those being installed. Cannot be combined with `--force`.
-* `--skip-cask-deps`:
- Skip installing cask dependencies.
-* `--zap`:
- For use with `brew reinstall --cask`. Remove all files associated with a cask. *May remove files which are shared between applications.*
+`-d`, `--debug`
-### `leaves` [`--installed-on-request`] [`--installed-as-dependency`]
+: If brewing fails, open an interactive debugging session with access to IRB or
+ a shell inside the temporary build directory.
-List installed formulae that are not dependencies of another installed formula or cask.
+`-f`, `--force`
-* `-r`, `--installed-on-request`:
- Only list leaves that were manually installed.
-* `-p`, `--installed-as-dependency`:
- Only list leaves that were installed as dependencies.
+: Install formulae without checking for previously installed keg-only or
+ non-migrated versions. When installing casks, overwrite existing files
+ (binaries and symlinks are excluded, unless originally from the same cask).
-### `link`, `ln` [*`options`*] *`installed_formula`* [...]
+`-v`, `--verbose`
-Symlink all of *`formula`*'s installed files into Homebrew's prefix.
-This is done automatically when you install formulae but can be useful
-for manual installations.
+: Print the verification and post-install steps.
-* `--overwrite`:
- Delete files that already exist in the prefix while linking.
-* `-n`, `--dry-run`:
- List files which would be linked or deleted by `brew link --overwrite` without actually linking or deleting any files.
-* `-f`, `--force`:
- Allow keg-only formulae to be linked.
-* `--HEAD`:
- Link the HEAD version of the formula if it is installed.
+`-n`, `--dry-run`
-### `list`, `ls` [*`options`*] [*`installed_formula`*|*`installed_cask`* ...]
+: Show what would be installed, but do not actually install anything.
-List all installed formulae and casks.
-If *`formula`* is provided, summarise the paths within its current keg.
-If *`cask`* is provided, list its artifacts.
+`--formula`
-* `--formula`:
- List only formulae, or treat all named arguments as formulae.
-* `--cask`:
- List only casks, or treat all named arguments as casks.
-* `--full-name`:
- Print formulae with fully-qualified names. Unless `--full-name`, `--versions` or `--pinned` are passed, other options (i.e. `-1`, `-l`, `-r` and `-t`) are passed to `ls`(1) which produces the actual output.
-* `--versions`:
- Show the version number for installed formulae, or only the specified formulae if *`formula`* are provided.
-* `--multiple`:
- Only show formulae with multiple versions installed.
-* `--pinned`:
- List only pinned formulae, or only the specified (pinned) formulae if *`formula`* are provided. See also `pin`, `unpin`.
-* `-1`:
- Force output to be one entry per line. This is the default when output is not to a terminal.
-* `-l`:
- List formulae and/or casks in long format. Has no effect when a formula or cask name is passed as an argument.
-* `-r`:
- Reverse the order of the formulae and/or casks sort to list the oldest entries first. Has no effect when a formula or cask name is passed as an argument.
-* `-t`:
- Sort formulae and/or casks by time modified, listing most recently modified first. Has no effect when a formula or cask name is passed as an argument.
+: Treat all named arguments as formulae.
-### `log` [*`options`*] [*`formula`*|*`cask`*]
+`--ignore-dependencies`
-Show the `git log` for *`formula`* or *`cask`*, or show the log for the Homebrew repository
-if no formula or cask is provided.
+: An unsupported Homebrew development option to skip installing any dependencies
+ of any kind. If the dependencies are not already present, the formula will
+ have issues. If you're not developing Homebrew, consider adjusting your PATH
+ rather than using this option.
-* `-p`, `--patch`:
- Also print patch from commit.
-* `--stat`:
- Also print diffstat from commit.
-* `--oneline`:
- Print only one line per commit.
-* `-1`:
- Print only one commit.
-* `-n`, `--max-count`:
- Print only a specified number of commits.
-* `--formula`:
- Treat all named arguments as formulae.
-* `--cask`:
- Treat all named arguments as casks.
+`--only-dependencies`
-### `migrate` [*`options`*] *`installed_formula`*|*`installed_cask`* [...]
+: Install the dependencies with specified options but do not install the formula
+ itself.
+
+`--cc`
+
+: Attempt to compile using the specified *`compiler`*, which should be the name
+ of the compiler's executable, e.g. `gcc-7` for GCC 7. In order to use LLVM's
+ clang, specify `llvm_clang`. To use the Apple-provided clang, specify `clang`.
+ This option will only accept compilers that are provided by Homebrew or
+ bundled with macOS. Please do not file issues if you encounter errors while
+ using this option.
+
+`-s`, `--build-from-source`
+
+: Compile *`formula`* from source even if a bottle is provided. Dependencies
+ will still be installed from bottles if they are available.
+
+`--force-bottle`
+
+: Install from a bottle if it exists for the current or newest version of macOS,
+ even if it would not normally be used for installation.
+
+`--include-test`
+
+: Install testing dependencies required to run `brew test` *`formula`*.
+
+`--HEAD`
+
+: If *`formula`* defines it, install the HEAD version, aka. main, trunk,
+ unstable, master.
+
+`--fetch-HEAD`
+
+: Fetch the upstream repository to detect if the HEAD installation of the
+ formula is outdated. Otherwise, the repository's HEAD will only be checked for
+ updates when a new stable or development version has been released.
+
+`--keep-tmp`
+
+: Retain the temporary files created during installation.
+
+`--debug-symbols`
+
+: Generate debug symbols on build. Source will be retained in a cache directory.
+
+`--build-bottle`
+
+: Prepare the formula for eventual bottling during installation, skipping any
+ post-install steps.
+
+`--skip-post-install`
+
+: Install but skip any post-install steps.
+
+`--bottle-arch`
+
+: Optimise bottles for the specified architecture rather than the oldest
+ architecture supported by the version of macOS the bottles are built on.
+
+`--display-times`
+
+: Print install times for each package at the end of the run.
+
+`-i`, `--interactive`
+
+: Download and patch *`formula`*, then open a shell. This allows the user to run
+ `./configure --help` and otherwise determine how to turn the software package
+ into a Homebrew package.
+
+`-g`, `--git`
+
+: Create a Git repository, useful for creating patches to the software.
+
+`--overwrite`
+
+: Delete files that already exist in the prefix while linking.
+
+`--cask`
+
+: Treat all named arguments as casks.
+
+`--[no-]binaries`
+
+: Disable/enable linking of helper executables (default: enabled).
+
+`--require-sha`
+
+: Require all casks to have a checksum.
+
+`--[no-]quarantine`
+
+: Disable/enable quarantining of downloads (default: enabled).
+
+`--adopt`
+
+: Adopt existing artifacts in the destination that are identical to those being
+ installed. Cannot be combined with `--force`.
+
+`--skip-cask-deps`
+
+: Skip installing cask dependencies.
+
+`--zap`
+
+: For use with `brew reinstall --cask`. Remove all files associated with a cask.
+ *May remove files which are shared between applications.*
+
+### `leaves` \[`--installed-on-request`\] \[`--installed-as-dependency`\]
+
+List installed formulae that are not dependencies of another installed formula
+or cask.
+
+`-r`, `--installed-on-request`
+
+: Only list leaves that were manually installed.
+
+`-p`, `--installed-as-dependency`
+
+: Only list leaves that were installed as dependencies.
+
+### `link`, `ln` \[*`options`*\] *`installed_formula`* \[...\]
+
+Symlink all of *`formula`*'s installed files into Homebrew's prefix. This is
+done automatically when you install formulae but can be useful for manual
+installations.
+
+`--overwrite`
+
+: Delete files that already exist in the prefix while linking.
+
+`-n`, `--dry-run`
+
+: List files which would be linked or deleted by `brew link --overwrite` without
+ actually linking or deleting any files.
+
+`-f`, `--force`
+
+: Allow keg-only formulae to be linked.
+
+`--HEAD`
+
+: Link the HEAD version of the formula if it is installed.
+
+### `list`, `ls` \[*`options`*\] \[*`installed_formula`*\|*`installed_cask`* ...\]
+
+List all installed formulae and casks. If *`formula`* is provided, summarise the
+paths within its current keg. If *`cask`* is provided, list its artifacts.
+
+`--formula`
+
+: List only formulae, or treat all named arguments as formulae.
+
+`--cask`
+
+: List only casks, or treat all named arguments as casks.
+
+`--full-name`
+
+: Print formulae with fully-qualified names. Unless `--full-name`, `--versions`
+ or `--pinned` are passed, other options (i.e. `-1`, `-l`, `-r` and `-t`) are
+ passed to `ls`(1) which produces the actual output.
+
+`--versions`
+
+: Show the version number for installed formulae, or only the specified formulae
+ if *`formula`* are provided.
+
+`--multiple`
+
+: Only show formulae with multiple versions installed.
+
+`--pinned`
+
+: List only pinned formulae, or only the specified (pinned) formulae if
+ *`formula`* are provided. See also `pin`, `unpin`.
+
+`-1`
+
+: Force output to be one entry per line. This is the default when output is not
+ to a terminal.
+
+`-l`
+
+: List formulae and/or casks in long format. Has no effect when a formula or
+ cask name is passed as an argument.
+
+`-r`
+
+: Reverse the order of the formulae and/or casks sort to list the oldest entries
+ first. Has no effect when a formula or cask name is passed as an argument.
+
+`-t`
+
+: Sort formulae and/or casks by time modified, listing most recently modified
+ first. Has no effect when a formula or cask name is passed as an argument.
+
+### `log` \[*`options`*\] \[*`formula`*\|*`cask`*\]
+
+Show the `git log` for *`formula`* or *`cask`*, or show the log for the Homebrew
+repository if no formula or cask is provided.
+
+`-p`, `--patch`
+
+: Also print patch from commit.
+
+`--stat`
+
+: Also print diffstat from commit.
+
+`--oneline`
+
+: Print only one line per commit.
+
+`-1`
+
+: Print only one commit.
+
+`-n`, `--max-count`
+
+: Print only a specified number of commits.
+
+`--formula`
+
+: Treat all named arguments as formulae.
+
+`--cask`
+
+: Treat all named arguments as casks.
+
+### `migrate` \[*`options`*\] *`installed_formula`*\|*`installed_cask`* \[...\]
Migrate renamed packages to new names, where *`formula`* are old names of
packages.
-* `-f`, `--force`:
- Treat installed *`formula`* and provided *`formula`* as if they are from the same taps and migrate them anyway.
-* `-n`, `--dry-run`:
- Show what would be migrated, but do not actually migrate anything.
-* `--formula`:
- Only migrate formulae.
-* `--cask`:
- Only migrate casks.
+`-f`, `--force`
-### `missing` [`--hide=`] [*`formula`* ...]
+: Treat installed *`formula`* and provided *`formula`* as if they are from the
+ same taps and migrate them anyway.
+
+`-n`, `--dry-run`
+
+: Show what would be migrated, but do not actually migrate anything.
+
+`--formula`
+
+: Only migrate formulae.
+
+`--cask`
+
+: Only migrate casks.
+
+### `missing` \[`--hide=`\] \[*`formula`* ...\]
Check the given *`formula`* kegs for missing dependencies. If no *`formula`* are
provided, check all kegs. Will exit with a non-zero status if any kegs are found
to be missing dependencies.
-* `--hide`:
- Act as if none of the specified *`hidden`* are installed. *`hidden`* should be a comma-separated list of formulae.
+`--hide`
+
+: Act as if none of the specified *`hidden`* are installed. *`hidden`* should be
+ a comma-separated list of formulae.
### `nodenv-sync`
-Create symlinks for Homebrew's installed NodeJS versions in `~/.nodenv/versions`.
+Create symlinks for Homebrew's installed NodeJS versions in
+`~/.nodenv/versions`.
Note that older version symlinks will also be created so e.g. NodeJS 19.1.0 will
also be symlinked to 19.0.0.
-### `options` [*`options`*] [*`formula`* ...]
+### `options` \[*`options`*\] \[*`formula`* ...\]
Show install options specific to *`formula`*.
-* `--compact`:
- Show all options on a single line separated by spaces.
-* `--installed`:
- Show options for formulae that are currently installed.
-* `--eval-all`:
- Evaluate all available formulae and casks, whether installed or not, to show their options.
-* `--command`:
- Show options for the specified *`command`*.
+`--compact`
-### `outdated` [*`options`*] [*`formula`*|*`cask`* ...]
+: Show all options on a single line separated by spaces.
-List installed casks and formulae that have an updated version available. By default, version
-information is displayed in interactive shells, and suppressed otherwise.
+`--installed`
-* `-q`, `--quiet`:
- List only the names of outdated kegs (takes precedence over `--verbose`).
-* `-v`, `--verbose`:
- Include detailed version information.
-* `--formula`:
- List only outdated formulae.
-* `--cask`:
- List only outdated casks.
-* `--json`:
- Print output in JSON format. There are two versions: `v1` and `v2`. `v1` is deprecated and is currently the default if no version is specified. `v2` prints outdated formulae and casks.
-* `--fetch-HEAD`:
- Fetch the upstream repository to detect if the HEAD installation of the formula is outdated. Otherwise, the repository's HEAD will only be checked for updates when a new stable or development version has been released.
-* `-g`, `--greedy`:
- Also include outdated casks with `auto_updates true` or `version :latest`.
-* `--greedy-latest`:
- Also include outdated casks including those with `version :latest`.
-* `--greedy-auto-updates`:
- Also include outdated casks including those with `auto_updates true`.
+: Show options for formulae that are currently installed.
-### `pin` *`installed_formula`* [...]
+`--eval-all`
-Pin the specified *`formula`*, preventing them from being upgraded when
-issuing the `brew upgrade` *`formula`* command. See also `unpin`.
+: Evaluate all available formulae and casks, whether installed or not, to show
+ their options.
-*Note:* Other packages which depend on newer versions of a pinned formula
-might not install or run correctly.
+`--command`
-### `postinstall`, `post_install` *`installed_formula`* [...]
+: Show options for the specified *`command`*.
+
+### `outdated` \[*`options`*\] \[*`formula`*\|*`cask`* ...\]
+
+List installed casks and formulae that have an updated version available. By
+default, version information is displayed in interactive shells, and suppressed
+otherwise.
+
+`-q`, `--quiet`
+
+: List only the names of outdated kegs (takes precedence over `--verbose`).
+
+`-v`, `--verbose`
+
+: Include detailed version information.
+
+`--formula`
+
+: List only outdated formulae.
+
+`--cask`
+
+: List only outdated casks.
+
+`--json`
+
+: Print output in JSON format. There are two versions: `v1` and `v2`. `v1` is
+ deprecated and is currently the default if no version is specified. `v2`
+ prints outdated formulae and casks.
+
+`--fetch-HEAD`
+
+: Fetch the upstream repository to detect if the HEAD installation of the
+ formula is outdated. Otherwise, the repository's HEAD will only be checked for
+ updates when a new stable or development version has been released.
+
+`-g`, `--greedy`
+
+: Also include outdated casks with `auto_updates true` or `version :latest`.
+
+`--greedy-latest`
+
+: Also include outdated casks including those with `version :latest`.
+
+`--greedy-auto-updates`
+
+: Also include outdated casks including those with `auto_updates true`.
+
+### `pin` *`installed_formula`* \[...\]
+
+Pin the specified *`formula`*, preventing them from being upgraded when issuing
+the `brew upgrade` *`formula`* command. See also `unpin`.
+
+*Note:* Other packages which depend on newer versions of a pinned formula might
+not install or run correctly.
+
+### `postinstall`, `post_install` *`installed_formula`* \[...\]
Rerun the post-install steps for *`formula`*.
@@ -562,109 +923,198 @@ Create symlinks for Homebrew's installed Ruby versions in `~/.rbenv/versions`.
Note that older version symlinks will also be created so e.g. Ruby 3.2.1 will
also be symlinked to 3.2.0.
-### `readall` [*`options`*] [*`tap`* ...]
+### `readall` \[*`options`*\] \[*`tap`* ...\]
-Import all items from the specified *`tap`*, or from all installed taps if none is provided.
-This can be useful for debugging issues across all items when making
-significant changes to `formula.rb`, testing the performance of loading
+Import all items from the specified *`tap`*, or from all installed taps if none
+is provided. This can be useful for debugging issues across all items when
+making significant changes to `formula.rb`, testing the performance of loading
all items or checking if any current formulae/casks have Ruby issues.
-* `--os`:
- Read using the given operating system. (Pass `all` to simulate all operating systems.)
-* `--arch`:
- Read using the given CPU architecture. (Pass `all` to simulate all architectures.)
-* `--aliases`:
- Verify any alias symlinks in each tap.
-* `--syntax`:
- Syntax-check all of Homebrew's Ruby files (if no *`tap`* is passed).
-* `--eval-all`:
- Evaluate all available formulae and casks, whether installed or not. Implied if `HOMEBREW_EVAL_ALL` is set.
-* `--no-simulate`:
- Don't simulate other system configurations when checking formulae and casks.
+`--os`
-### `reinstall` [*`options`*] *`formula`*|*`cask`* [...]
+: Read using the given operating system. (Pass `all` to simulate all operating
+ systems.)
-Uninstall and then reinstall a *`formula`* or *`cask`* using the same options it was
-originally installed with, plus any appended options specific to a *`formula`*.
+`--arch`
-Unless `HOMEBREW_NO_INSTALLED_DEPENDENTS_CHECK` is set, `brew upgrade` or `brew reinstall` will be run for
-outdated dependents and dependents with broken linkage, respectively.
+: Read using the given CPU architecture. (Pass `all` to simulate all
+ architectures.)
-Unless `HOMEBREW_NO_INSTALL_CLEANUP` is set, `brew cleanup` will then be run for the
-reinstalled formulae or, every 30 days, for all formulae.
+`--aliases`
-* `-d`, `--debug`:
- If brewing fails, open an interactive debugging session with access to IRB or a shell inside the temporary build directory.
-* `-f`, `--force`:
- Install without checking for previously installed keg-only or non-migrated versions.
-* `-v`, `--verbose`:
- Print the verification and post-install steps.
-* `--formula`:
- Treat all named arguments as formulae.
-* `-s`, `--build-from-source`:
- Compile *`formula`* from source even if a bottle is available.
-* `-i`, `--interactive`:
- Download and patch *`formula`*, then open a shell. This allows the user to run `./configure --help` and otherwise determine how to turn the software package into a Homebrew package.
-* `--force-bottle`:
- Install from a bottle if it exists for the current or newest version of macOS, even if it would not normally be used for installation.
-* `--keep-tmp`:
- Retain the temporary files created during installation.
-* `--debug-symbols`:
- Generate debug symbols on build. Source will be retained in a cache directory.
-* `--display-times`:
- Print install times for each formula at the end of the run.
-* `-g`, `--git`:
- Create a Git repository, useful for creating patches to the software.
-* `--cask`:
- Treat all named arguments as casks.
-* `--[no-]binaries`:
- Disable/enable linking of helper executables (default: enabled).
-* `--require-sha`:
- Require all casks to have a checksum.
-* `--[no-]quarantine`:
- Disable/enable quarantining of downloads (default: enabled).
-* `--adopt`:
- Adopt existing artifacts in the destination that are identical to those being installed. Cannot be combined with `--force`.
-* `--skip-cask-deps`:
- Skip installing cask dependencies.
-* `--zap`:
- For use with `brew reinstall --cask`. Remove all files associated with a cask. *May remove files which are shared between applications.*
+: Verify any alias symlinks in each tap.
-### `search`, `-S` [*`options`*] *`text`*|`/`*`regex`*`/` [...]
+`--syntax`
-Perform a substring search of cask tokens and formula names for *`text`*. If *`text`*
-is flanked by slashes, it is interpreted as a regular expression.
+: Syntax-check all of Homebrew's Ruby files (if no *`tap`* is passed).
-* `--formula`:
- Search for formulae.
-* `--cask`:
- Search for casks.
-* `--desc`:
- Search for formulae with a description matching *`text`* and casks with a name or description matching *`text`*.
-* `--eval-all`:
- Evaluate all available formulae and casks, whether installed or not, to search their descriptions. Implied if `HOMEBREW_EVAL_ALL` is set.
-* `--pull-request`:
- Search for GitHub pull requests containing *`text`*.
-* `--open`:
- Search for only open GitHub pull requests.
-* `--closed`:
- Search for only closed GitHub pull requests.
-* `--repology`:
- Search for *`text`* in the given database.
-* `--macports`:
- Search for *`text`* in the given database.
-* `--fink`:
- Search for *`text`* in the given database.
-* `--opensuse`:
- Search for *`text`* in the given database.
-* `--fedora`:
- Search for *`text`* in the given database.
-* `--archlinux`:
- Search for *`text`* in the given database.
-* `--debian`:
- Search for *`text`* in the given database.
-* `--ubuntu`:
- Search for *`text`* in the given database.
+`--eval-all`
+
+: Evaluate all available formulae and casks, whether installed or not. Implied
+ if `HOMEBREW_EVAL_ALL` is set.
+
+`--no-simulate`
+
+: Don't simulate other system configurations when checking formulae and casks.
+
+### `reinstall` \[*`options`*\] *`formula`*\|*`cask`* \[...\]
+
+Uninstall and then reinstall a *`formula`* or *`cask`* using the same options it
+was originally installed with, plus any appended options specific to a
+*`formula`*.
+
+Unless `HOMEBREW_NO_INSTALLED_DEPENDENTS_CHECK` is set, `brew upgrade` or `brew
+reinstall` will be run for outdated dependents and dependents with broken
+linkage, respectively.
+
+Unless `HOMEBREW_NO_INSTALL_CLEANUP` is set, `brew cleanup` will then be run for
+the reinstalled formulae or, every 30 days, for all formulae.
+
+`-d`, `--debug`
+
+: If brewing fails, open an interactive debugging session with access to IRB or
+ a shell inside the temporary build directory.
+
+`-f`, `--force`
+
+: Install without checking for previously installed keg-only or non-migrated
+ versions.
+
+`-v`, `--verbose`
+
+: Print the verification and post-install steps.
+
+`--formula`
+
+: Treat all named arguments as formulae.
+
+`-s`, `--build-from-source`
+
+: Compile *`formula`* from source even if a bottle is available.
+
+`-i`, `--interactive`
+
+: Download and patch *`formula`*, then open a shell. This allows the user to run
+ `./configure --help` and otherwise determine how to turn the software package
+ into a Homebrew package.
+
+`--force-bottle`
+
+: Install from a bottle if it exists for the current or newest version of macOS,
+ even if it would not normally be used for installation.
+
+`--keep-tmp`
+
+: Retain the temporary files created during installation.
+
+`--debug-symbols`
+
+: Generate debug symbols on build. Source will be retained in a cache directory.
+
+`--display-times`
+
+: Print install times for each formula at the end of the run.
+
+`-g`, `--git`
+
+: Create a Git repository, useful for creating patches to the software.
+
+`--cask`
+
+: Treat all named arguments as casks.
+
+`--[no-]binaries`
+
+: Disable/enable linking of helper executables (default: enabled).
+
+`--require-sha`
+
+: Require all casks to have a checksum.
+
+`--[no-]quarantine`
+
+: Disable/enable quarantining of downloads (default: enabled).
+
+`--adopt`
+
+: Adopt existing artifacts in the destination that are identical to those being
+ installed. Cannot be combined with `--force`.
+
+`--skip-cask-deps`
+
+: Skip installing cask dependencies.
+
+`--zap`
+
+: For use with `brew reinstall --cask`. Remove all files associated with a cask.
+ *May remove files which are shared between applications.*
+
+### `search`, `-S` \[*`options`*\] *`text`*\|`/`*`regex`*`/` \[...\]
+
+Perform a substring search of cask tokens and formula names for *`text`*. If
+*`text`* is flanked by slashes, it is interpreted as a regular expression.
+
+`--formula`
+
+: Search for formulae.
+
+`--cask`
+
+: Search for casks.
+
+`--desc`
+
+: Search for formulae with a description matching *`text`* and casks with a name
+ or description matching *`text`*.
+
+`--eval-all`
+
+: Evaluate all available formulae and casks, whether installed or not, to search
+ their descriptions. Implied if `HOMEBREW_EVAL_ALL` is set.
+
+`--pull-request`
+
+: Search for GitHub pull requests containing *`text`*.
+
+`--open`
+
+: Search for only open GitHub pull requests.
+
+`--closed`
+
+: Search for only closed GitHub pull requests.
+
+`--repology`
+
+: Search for *`text`* in the given database.
+
+`--macports`
+
+: Search for *`text`* in the given database.
+
+`--fink`
+
+: Search for *`text`* in the given database.
+
+`--opensuse`
+
+: Search for *`text`* in the given database.
+
+`--fedora`
+
+: Search for *`text`* in the given database.
+
+`--archlinux`
+
+: Search for *`text`* in the given database.
+
+`--debian`
+
+: Search for *`text`* in the given database.
+
+`--ubuntu`
+
+: Search for *`text`* in the given database.
### `setup-ruby`
@@ -672,987 +1122,1638 @@ Installs and configures Homebrew's Ruby.
### `shellenv [bash|csh|fish|pwsh|sh|tcsh|zsh]`
-Print export statements. When run in a shell, this installation of Homebrew will be added to your `PATH`, `MANPATH`, and `INFOPATH`.
+Print export statements. When run in a shell, this installation of Homebrew will
+be added to your `PATH`, `MANPATH`, and `INFOPATH`.
-The variables `HOMEBREW_PREFIX`, `HOMEBREW_CELLAR` and `HOMEBREW_REPOSITORY` are also exported to avoid querying them multiple times.
-To help guarantee idempotence, this command produces no output when Homebrew's `bin` and `sbin` directories are first and second
-respectively in your `PATH`. Consider adding evaluation of this command's output to your dotfiles (e.g. `~/.bash_profile` or
-`~/.zprofile` on macOS and `~/.bashrc` or `~/.zshrc` on Linux) with: `eval "$(brew shellenv)"`
+The variables `HOMEBREW_PREFIX`, `HOMEBREW_CELLAR` and `HOMEBREW_REPOSITORY` are
+also exported to avoid querying them multiple times. To help guarantee
+idempotence, this command produces no output when Homebrew's `bin` and `sbin`
+directories are first and second respectively in your `PATH`. Consider adding
+evaluation of this command's output to your dotfiles (e.g. `~/.bash_profile` or
+`~/.zprofile` on macOS and `~/.bashrc` or `~/.zshrc` on Linux) with: `eval
+"$(brew shellenv)"`
-The shell can be specified explicitly with a supported shell name parameter. Unknown shells will output POSIX exports.
+The shell can be specified explicitly with a supported shell name parameter.
+Unknown shells will output POSIX exports.
-### `tap` [*`options`*] [*`user`*`/`*`repo`*] [*`URL`*]
+### `tap` \[*`options`*\] \[*`user`*`/`*`repo`*\] \[*`URL`*\]
-Tap a formula repository.
-If no arguments are provided, list all installed taps.
+Tap a formula repository. If no arguments are provided, list all installed taps.
With *`URL`* unspecified, tap a formula repository from GitHub using HTTPS.
-Since so many taps are hosted on GitHub, this command is a shortcut for
-`brew tap` *`user`*`/`*`repo`* `https://github.com/`*`user`*`/homebrew-`*`repo`*.
+Since so many taps are hosted on GitHub, this command is a shortcut for `brew
+tap` *`user`*`/`*`repo`* `https://github.com/`*`user`*`/homebrew-`*`repo`*.
-With *`URL`* specified, tap a formula repository from anywhere, using
-any transport protocol that `git`(1) handles. The one-argument form of `tap`
-simplifies but also limits. This two-argument command makes no
-assumptions, so taps can be cloned from places other than GitHub and
-using protocols other than HTTPS, e.g. SSH, git, HTTP, FTP(S), rsync.
+With *`URL`* specified, tap a formula repository from anywhere, using any
+transport protocol that `git`(1) handles. The one-argument form of `tap`
+simplifies but also limits. This two-argument command makes no assumptions, so
+taps can be cloned from places other than GitHub and using protocols other than
+HTTPS, e.g. SSH, git, HTTP, FTP(S), rsync.
-* `--[no-]force-auto-update`:
- Auto-update tap even if it is not hosted on GitHub. By default, only taps hosted on GitHub are auto-updated (for performance reasons).
-* `--custom-remote`:
- Install or change a tap with a custom remote. Useful for mirrors.
-* `--repair`:
- Migrate tapped formulae from symlink-based to directory-based structure.
-* `--eval-all`:
- Evaluate all the formulae, casks and aliases in the new tap to check validity. Implied if `HOMEBREW_EVAL_ALL` is set.
-* `--force`:
- Force install core taps even under API mode.
+`--[no-]force-auto-update`
-### `tap-info` [`--installed`] [`--json`] [*`tap`* ...]
+: Auto-update tap even if it is not hosted on GitHub. By default, only taps
+ hosted on GitHub are auto-updated (for performance reasons).
-Show detailed information about one or more *`tap`*s.
-If no *`tap`* names are provided, display brief statistics for all installed taps.
+`--custom-remote`
-* `--installed`:
- Show information on each installed tap.
-* `--json`:
- Print a JSON representation of *`tap`*. Currently the default and only accepted value for *`version`* is `v1`. See the docs for examples of using the JSON output:
+: Install or change a tap with a custom remote. Useful for mirrors.
-### `uninstall`, `remove`, `rm` [*`options`*] *`installed_formula`*|*`installed_cask`* [...]
+`--repair`
+
+: Migrate tapped formulae from symlink-based to directory-based structure.
+
+`--eval-all`
+
+: Evaluate all the formulae, casks and aliases in the new tap to check validity.
+ Implied if `HOMEBREW_EVAL_ALL` is set.
+
+`--force`
+
+: Force install core taps even under API mode.
+
+### `tap-info` \[`--installed`\] \[`--json`\] \[*`tap`* ...\]
+
+Show detailed information about one or more *`tap`*s. If no *`tap`* names are
+provided, display brief statistics for all installed taps.
+
+`--installed`
+
+: Show information on each installed tap.
+
+`--json`
+
+: Print a JSON representation of *`tap`*. Currently the default and only
+ accepted value for *`version`* is `v1`. See the docs for examples of using the
+ JSON output:
+
+### `uninstall`, `remove`, `rm` \[*`options`*\] *`installed_formula`*\|*`installed_cask`* \[...\]
Uninstall a *`formula`* or *`cask`*.
-* `-f`, `--force`:
- Delete all installed versions of *`formula`*. Uninstall even if *`cask`* is not installed, overwrite existing files and ignore errors when removing files.
-* `--zap`:
- Remove all files associated with a *`cask`*. *May remove files which are shared between applications.*
-* `--ignore-dependencies`:
- Don't fail uninstall, even if *`formula`* is a dependency of any installed formulae.
-* `--formula`:
- Treat all named arguments as formulae.
-* `--cask`:
- Treat all named arguments as casks.
+`-f`, `--force`
-### `unlink` [`--dry-run`] *`installed_formula`* [...]
+: Delete all installed versions of *`formula`*. Uninstall even if *`cask`* is
+ not installed, overwrite existing files and ignore errors when removing files.
-Remove symlinks for *`formula`* from Homebrew's prefix. This can be useful
-for temporarily disabling a formula:
-`brew unlink` *`formula`* `&&` *`commands`* `&& brew link` *`formula`*
+`--zap`
-* `-n`, `--dry-run`:
- List files which would be unlinked without actually unlinking or deleting any files.
+: Remove all files associated with a *`cask`*. *May remove files which are
+ shared between applications.*
-### `unpin` *`installed_formula`* [...]
+`--ignore-dependencies`
+
+: Don't fail uninstall, even if *`formula`* is a dependency of any installed
+ formulae.
+
+`--formula`
+
+: Treat all named arguments as formulae.
+
+`--cask`
+
+: Treat all named arguments as casks.
+
+### `unlink` \[`--dry-run`\] *`installed_formula`* \[...\]
+
+Remove symlinks for *`formula`* from Homebrew's prefix. This can be useful for
+temporarily disabling a formula: `brew unlink` *`formula`* `&&` *`commands`* `&&
+brew link` *`formula`*
+
+`-n`, `--dry-run`
+
+: List files which would be unlinked without actually unlinking or deleting any
+ files.
+
+### `unpin` *`installed_formula`* \[...\]
Unpin *`formula`*, allowing them to be upgraded by `brew upgrade` *`formula`*.
See also `pin`.
-### `untap` [`--force`] *`tap`* [...]
+### `untap` \[`--force`\] *`tap`* \[...\]
Remove a tapped formula repository.
-* `-f`, `--force`:
- Untap even if formulae or casks from this tap are currently installed.
+`-f`, `--force`
-### `update` [*`options`*]
+: Untap even if formulae or casks from this tap are currently installed.
-Fetch the newest version of Homebrew and all formulae from GitHub using `git`(1) and perform any necessary migrations.
+### `update` \[*`options`*\]
-* `--merge`:
- Use `git merge` to apply updates (rather than `git rebase`).
-* `--auto-update`:
- Run on auto-updates (e.g. before `brew install`). Skips some slower steps.
-* `-f`, `--force`:
- Always do a slower, full update check (even if unnecessary).
+Fetch the newest version of Homebrew and all formulae from GitHub using `git`(1)
+and perform any necessary migrations.
-### `update-reset` [*`path-to-tap-repository`* ...]
+`--merge`
-Fetch and reset Homebrew and all tap repositories (or any specified *`repository`*) using `git`(1) to their latest `origin/HEAD`.
+: Use `git merge` to apply updates (rather than `git rebase`).
+
+`--auto-update`
+
+: Run on auto-updates (e.g. before `brew install`). Skips some slower steps.
+
+`-f`, `--force`
+
+: Always do a slower, full update check (even if unnecessary).
+
+### `update-reset` \[*`path-to-tap-repository`* ...\]
+
+Fetch and reset Homebrew and all tap repositories (or any specified
+*`repository`*) using `git`(1) to their latest `origin/HEAD`.
*Note:* this will destroy all your uncommitted or committed changes.
-### `upgrade` [*`options`*] [*`installed_formula`*|*`installed_cask`* ...]
+### `upgrade` \[*`options`*\] \[*`installed_formula`*\|*`installed_cask`* ...\]
-Upgrade outdated casks and outdated, unpinned formulae using the same options they were originally
-installed with, plus any appended brew formula options. If *`cask`* or *`formula`* are specified,
-upgrade only the given *`cask`* or *`formula`* kegs (unless they are pinned; see `pin`, `unpin`).
+Upgrade outdated casks and outdated, unpinned formulae using the same options
+they were originally installed with, plus any appended brew formula options. If
+*`cask`* or *`formula`* are specified, upgrade only the given *`cask`* or
+*`formula`* kegs (unless they are pinned; see `pin`, `unpin`).
-Unless `HOMEBREW_NO_INSTALLED_DEPENDENTS_CHECK` is set, `brew upgrade` or `brew reinstall` will be run for
-outdated dependents and dependents with broken linkage, respectively.
+Unless `HOMEBREW_NO_INSTALLED_DEPENDENTS_CHECK` is set, `brew upgrade` or `brew
+reinstall` will be run for outdated dependents and dependents with broken
+linkage, respectively.
-Unless `HOMEBREW_NO_INSTALL_CLEANUP` is set, `brew cleanup` will then be run for the
-upgraded formulae or, every 30 days, for all formulae.
+Unless `HOMEBREW_NO_INSTALL_CLEANUP` is set, `brew cleanup` will then be run for
+the upgraded formulae or, every 30 days, for all formulae.
-* `-d`, `--debug`:
- If brewing fails, open an interactive debugging session with access to IRB or a shell inside the temporary build directory.
-* `-f`, `--force`:
- Install formulae without checking for previously installed keg-only or non-migrated versions. When installing casks, overwrite existing files (binaries and symlinks are excluded, unless originally from the same cask).
-* `-v`, `--verbose`:
- Print the verification and post-install steps.
-* `-n`, `--dry-run`:
- Show what would be upgraded, but do not actually upgrade anything.
-* `--formula`:
- Treat all named arguments as formulae. If no named arguments are specified, upgrade only outdated formulae.
-* `-s`, `--build-from-source`:
- Compile *`formula`* from source even if a bottle is available.
-* `-i`, `--interactive`:
- Download and patch *`formula`*, then open a shell. This allows the user to run `./configure --help` and otherwise determine how to turn the software package into a Homebrew package.
-* `--force-bottle`:
- Install from a bottle if it exists for the current or newest version of macOS, even if it would not normally be used for installation.
-* `--fetch-HEAD`:
- Fetch the upstream repository to detect if the HEAD installation of the formula is outdated. Otherwise, the repository's HEAD will only be checked for updates when a new stable or development version has been released.
-* `--keep-tmp`:
- Retain the temporary files created during installation.
-* `--debug-symbols`:
- Generate debug symbols on build. Source will be retained in a cache directory.
-* `--display-times`:
- Print install times for each package at the end of the run.
-* `--overwrite`:
- Delete files that already exist in the prefix while linking.
-* `--cask`:
- Treat all named arguments as casks. If no named arguments are specified, upgrade only outdated casks.
-* `--skip-cask-deps`:
- Skip installing cask dependencies.
-* `-g`, `--greedy`:
- Also include casks with `auto_updates true` or `version :latest`.
-* `--greedy-latest`:
- Also include casks with `version :latest`.
-* `--greedy-auto-updates`:
- Also include casks with `auto_updates true`.
-* `--[no-]binaries`:
- Disable/enable linking of helper executables (default: enabled).
-* `--require-sha`:
- Require all casks to have a checksum.
-* `--[no-]quarantine`:
- Disable/enable quarantining of downloads (default: enabled).
+`-d`, `--debug`
-### `uses` [*`options`*] *`formula`* [...]
+: If brewing fails, open an interactive debugging session with access to IRB or
+ a shell inside the temporary build directory.
-Show formulae and casks that specify *`formula`* as a dependency; that is, show dependents
-of *`formula`*. When given multiple formula arguments, show the intersection
-of formulae that use *`formula`*. By default, `uses` shows all formulae and casks that
-specify *`formula`* as a required or recommended dependency for their stable builds.
+`-f`, `--force`
+
+: Install formulae without checking for previously installed keg-only or
+ non-migrated versions. When installing casks, overwrite existing files
+ (binaries and symlinks are excluded, unless originally from the same cask).
+
+`-v`, `--verbose`
+
+: Print the verification and post-install steps.
+
+`-n`, `--dry-run`
+
+: Show what would be upgraded, but do not actually upgrade anything.
+
+`--formula`
+
+: Treat all named arguments as formulae. If no named arguments are specified,
+ upgrade only outdated formulae.
+
+`-s`, `--build-from-source`
+
+: Compile *`formula`* from source even if a bottle is available.
+
+`-i`, `--interactive`
+
+: Download and patch *`formula`*, then open a shell. This allows the user to run
+ `./configure --help` and otherwise determine how to turn the software package
+ into a Homebrew package.
+
+`--force-bottle`
+
+: Install from a bottle if it exists for the current or newest version of macOS,
+ even if it would not normally be used for installation.
+
+`--fetch-HEAD`
+
+: Fetch the upstream repository to detect if the HEAD installation of the
+ formula is outdated. Otherwise, the repository's HEAD will only be checked for
+ updates when a new stable or development version has been released.
+
+`--keep-tmp`
+
+: Retain the temporary files created during installation.
+
+`--debug-symbols`
+
+: Generate debug symbols on build. Source will be retained in a cache directory.
+
+`--display-times`
+
+: Print install times for each package at the end of the run.
+
+`--overwrite`
+
+: Delete files that already exist in the prefix while linking.
+
+`--cask`
+
+: Treat all named arguments as casks. If no named arguments are specified,
+ upgrade only outdated casks.
+
+`--skip-cask-deps`
+
+: Skip installing cask dependencies.
+
+`-g`, `--greedy`
+
+: Also include casks with `auto_updates true` or `version :latest`.
+
+`--greedy-latest`
+
+: Also include casks with `version :latest`.
+
+`--greedy-auto-updates`
+
+: Also include casks with `auto_updates true`.
+
+`--[no-]binaries`
+
+: Disable/enable linking of helper executables (default: enabled).
+
+`--require-sha`
+
+: Require all casks to have a checksum.
+
+`--[no-]quarantine`
+
+: Disable/enable quarantining of downloads (default: enabled).
+
+### `uses` \[*`options`*\] *`formula`* \[...\]
+
+Show formulae and casks that specify *`formula`* as a dependency; that is, show
+dependents of *`formula`*. When given multiple formula arguments, show the
+intersection of formulae that use *`formula`*. By default, `uses` shows all
+formulae and casks that specify *`formula`* as a required or recommended
+dependency for their stable builds.
*Note:* `--missing` and `--skip-recommended` have precedence over `--include-*`.
-* `--recursive`:
- Resolve more than one level of dependencies.
-* `--installed`:
- Only list formulae and casks that are currently installed.
-* `--missing`:
- Only list formulae and casks that are not currently installed.
-* `--eval-all`:
- Evaluate all available formulae and casks, whether installed or not, to show their dependents.
-* `--include-build`:
- Include formulae that specify *`formula`* as a `:build` dependency.
-* `--include-test`:
- Include formulae that specify *`formula`* as a `:test` dependency.
-* `--include-optional`:
- Include formulae that specify *`formula`* as an `:optional` dependency.
-* `--skip-recommended`:
- Skip all formulae that specify *`formula`* as a `:recommended` dependency.
-* `--formula`:
- Include only formulae.
-* `--cask`:
- Include only casks.
+`--recursive`
-### `--cache` [*`options`*] [*`formula`*|*`cask`* ...]
+: Resolve more than one level of dependencies.
+
+`--installed`
+
+: Only list formulae and casks that are currently installed.
+
+`--missing`
+
+: Only list formulae and casks that are not currently installed.
+
+`--eval-all`
+
+: Evaluate all available formulae and casks, whether installed or not, to show
+ their dependents.
+
+`--include-build`
+
+: Include formulae that specify *`formula`* as a `:build` dependency.
+
+`--include-test`
+
+: Include formulae that specify *`formula`* as a `:test` dependency.
+
+`--include-optional`
+
+: Include formulae that specify *`formula`* as an `:optional` dependency.
+
+`--skip-recommended`
+
+: Skip all formulae that specify *`formula`* as a `:recommended` dependency.
+
+`--formula`
+
+: Include only formulae.
+
+`--cask`
+
+: Include only casks.
+
+### `--cache` \[*`options`*\] \[*`formula`*\|*`cask`* ...\]
Display Homebrew's download cache. See also `HOMEBREW_CACHE`.
-If *`formula`* is provided, display the file or directory used to cache *`formula`*.
+If *`formula`* is provided, display the file or directory used to cache
+*`formula`*.
-* `--os`:
- Show cache file for the given operating system. (Pass `all` to show cache files for all operating systems.)
-* `--arch`:
- Show cache file for the given CPU architecture. (Pass `all` to show cache files for all architectures.)
-* `-s`, `--build-from-source`:
- Show the cache file used when building from source.
-* `--force-bottle`:
- Show the cache file used when pouring a bottle.
-* `--bottle-tag`:
- Show the cache file used when pouring a bottle for the given tag.
-* `--HEAD`:
- Show the cache file used when building from HEAD.
-* `--formula`:
- Only show cache files for formulae.
-* `--cask`:
- Only show cache files for casks.
+`--os`
-### `--caskroom` [*`cask`* ...]
+: Show cache file for the given operating system. (Pass `all` to show cache
+ files for all operating systems.)
+
+`--arch`
+
+: Show cache file for the given CPU architecture. (Pass `all` to show cache
+ files for all architectures.)
+
+`-s`, `--build-from-source`
+
+: Show the cache file used when building from source.
+
+`--force-bottle`
+
+: Show the cache file used when pouring a bottle.
+
+`--bottle-tag`
+
+: Show the cache file used when pouring a bottle for the given tag.
+
+`--HEAD`
+
+: Show the cache file used when building from HEAD.
+
+`--formula`
+
+: Only show cache files for formulae.
+
+`--cask`
+
+: Only show cache files for casks.
+
+### `--caskroom` \[*`cask`* ...\]
Display Homebrew's Caskroom path.
If *`cask`* is provided, display the location in the Caskroom where *`cask`*
would be installed, without any sort of versioned directory as the last path.
-### `--cellar` [*`formula`* ...]
+### `--cellar` \[*`formula`* ...\]
-Display Homebrew's Cellar path. *Default:* `$(brew --prefix)/Cellar`, or if
-that directory doesn't exist, `$(brew --repository)/Cellar`.
+Display Homebrew's Cellar path. *Default:* `$(brew --prefix)/Cellar`, or if that
+directory doesn't exist, `$(brew --repository)/Cellar`.
If *`formula`* is provided, display the location in the Cellar where *`formula`*
would be installed, without any sort of versioned directory as the last path.
-### `--env`, `environment` [`--shell=`] [`--plain`] [*`formula`* ...]
+### `--env`, `environment` \[`--shell=`\] \[`--plain`\] \[*`formula`* ...\]
Summarise Homebrew's build environment as a plain list.
-If the command's output is sent through a pipe and no shell is specified,
-the list is formatted for export to `bash`(1) unless `--plain` is passed.
+If the command's output is sent through a pipe and no shell is specified, the
+list is formatted for export to `bash`(1) unless `--plain` is passed.
-* `--shell`:
- Generate a list of environment variables for the specified shell, or `--shell=auto` to detect the current shell.
-* `--plain`:
- Generate plain output even when piped.
+`--shell`
-### `--prefix` [`--unbrewed`] [`--installed`] [*`formula`* ...]
+: Generate a list of environment variables for the specified shell, or
+ `--shell=auto` to detect the current shell.
+
+`--plain`
+
+: Generate plain output even when piped.
+
+### `--prefix` \[`--unbrewed`\] \[`--installed`\] \[*`formula`* ...\]
Display Homebrew's install path. *Default:*
- - macOS ARM: `/opt/homebrew`
- - macOS Intel: `/usr/local`
- - Linux: `/home/linuxbrew/.linuxbrew`
+* macOS ARM: `/opt/homebrew`
+* macOS Intel: `/usr/local`
+* Linux: `/home/linuxbrew/.linuxbrew`
-If *`formula`* is provided, display the location where *`formula`* is or would be installed.
+If *`formula`* is provided, display the location where *`formula`* is or would
+be installed.
-* `--unbrewed`:
- List files in Homebrew's prefix not installed by Homebrew.
-* `--installed`:
- Outputs nothing and returns a failing status code if *`formula`* is not installed.
+`--unbrewed`
-### `--repository`, `--repo` [*`tap`* ...]
+: List files in Homebrew's prefix not installed by Homebrew.
+
+`--installed`
+
+: Outputs nothing and returns a failing status code if *`formula`* is not
+ installed.
+
+### `--repository`, `--repo` \[*`tap`* ...\]
Display where Homebrew's Git repository is located.
-If *`user`*`/`*`repo`* are provided, display where tap *`user`*`/`*`repo`*'s directory is located.
+If *`user`*`/`*`repo`* are provided, display where tap *`user`*`/`*`repo`*'s
+directory is located.
### `--version`, `-v`
-Print the version numbers of Homebrew, Homebrew/homebrew-core and Homebrew/homebrew-cask (if tapped) to standard output.
+Print the version numbers of Homebrew, Homebrew/homebrew-core and
+Homebrew/homebrew-cask (if tapped) to standard output.
## DEVELOPER COMMANDS
-### `audit` [*`options`*] [*`formula`*|*`cask`* ...]
+### `audit` \[*`options`*\] \[*`formula`*\|*`cask`* ...\]
-Check *`formula`* for Homebrew coding style violations. This should be run before
-submitting a new formula or cask. If no *`formula`*|*`cask`* are provided, check all
-locally available formulae and casks and skip style checks. Will exit with a
-non-zero status if any errors are found.
+Check *`formula`* for Homebrew coding style violations. This should be run
+before submitting a new formula or cask. If no *`formula`*\|*`cask`* are
+provided, check all locally available formulae and casks and skip style checks.
+Will exit with a non-zero status if any errors are found.
-* `--os`:
- Audit the given operating system. (Pass `all` to audit all operating systems.)
-* `--arch`:
- Audit the given CPU architecture. (Pass `all` to audit all architectures.)
-* `--strict`:
- Run additional, stricter style checks.
-* `--git`:
- Run additional, slower style checks that navigate the Git repository.
-* `--online`:
- Run additional, slower style checks that require a network connection.
-* `--installed`:
- Only check formulae and casks that are currently installed.
-* `--eval-all`:
- Evaluate all available formulae and casks, whether installed or not, to audit them. Implied if `HOMEBREW_EVAL_ALL` is set.
-* `--new`:
- Run various additional style checks to determine if a new formula or cask is eligible for Homebrew. This should be used when creating new formulae or casks and implies `--strict` and `--online`.
-* `--[no-]signing`:
- Audit for signed apps, which are required on ARM
-* `--token-conflicts`:
- Audit for token conflicts.
-* `--tap`:
- Check the formulae within the given tap, specified as *`user`*`/`*`repo`*.
-* `--fix`:
- Fix style violations automatically using RuboCop's auto-correct feature.
-* `--display-filename`:
- Prefix every line of output with the file or formula name being audited, to make output easy to grep.
-* `--skip-style`:
- Skip running non-RuboCop style checks. Useful if you plan on running `brew style` separately. Enabled by default unless a formula is specified by name.
-* `-D`, `--audit-debug`:
- Enable debugging and profiling of audit methods.
-* `--only`:
- Specify a comma-separated *`method`* list to only run the methods named `audit_`*`method`*.
-* `--except`:
- Specify a comma-separated *`method`* list to skip running the methods named `audit_`*`method`*.
-* `--only-cops`:
- Specify a comma-separated *`cops`* list to check for violations of only the listed RuboCop cops.
-* `--except-cops`:
- Specify a comma-separated *`cops`* list to skip checking for violations of the listed RuboCop cops.
-* `--formula`:
- Treat all named arguments as formulae.
-* `--cask`:
- Treat all named arguments as casks.
+`--os`
-### `bottle` [*`options`*] *`installed_formula`*|*`file`* [...]
+: Audit the given operating system. (Pass `all` to audit all operating systems.)
+
+`--arch`
+
+: Audit the given CPU architecture. (Pass `all` to audit all architectures.)
+
+`--strict`
+
+: Run additional, stricter style checks.
+
+`--git`
+
+: Run additional, slower style checks that navigate the Git repository.
+
+`--online`
+
+: Run additional, slower style checks that require a network connection.
+
+`--installed`
+
+: Only check formulae and casks that are currently installed.
+
+`--eval-all`
+
+: Evaluate all available formulae and casks, whether installed or not, to audit
+ them. Implied if `HOMEBREW_EVAL_ALL` is set.
+
+`--new`
+
+: Run various additional style checks to determine if a new formula or cask is
+ eligible for Homebrew. This should be used when creating new formulae or casks
+ and implies `--strict` and `--online`.
+
+`--[no-]signing`
+
+: Audit for signed apps, which are required on ARM
+
+`--token-conflicts`
+
+: Audit for token conflicts.
+
+`--tap`
+
+: Check the formulae within the given tap, specified as *`user`*`/`*`repo`*.
+
+`--fix`
+
+: Fix style violations automatically using RuboCop's auto-correct feature.
+
+`--display-filename`
+
+: Prefix every line of output with the file or formula name being audited, to
+ make output easy to grep.
+
+`--skip-style`
+
+: Skip running non-RuboCop style checks. Useful if you plan on running `brew
+ style` separately. Enabled by default unless a formula is specified by name.
+
+`-D`, `--audit-debug`
+
+: Enable debugging and profiling of audit methods.
+
+`--only`
+
+: Specify a comma-separated *`method`* list to only run the methods named
+ `audit_`*`method`*.
+
+`--except`
+
+: Specify a comma-separated *`method`* list to skip running the methods named
+ `audit_`*`method`*.
+
+`--only-cops`
+
+: Specify a comma-separated *`cops`* list to check for violations of only the
+ listed RuboCop cops.
+
+`--except-cops`
+
+: Specify a comma-separated *`cops`* list to skip checking for violations of the
+ listed RuboCop cops.
+
+`--formula`
+
+: Treat all named arguments as formulae.
+
+`--cask`
+
+: Treat all named arguments as casks.
+
+### `bottle` \[*`options`*\] *`installed_formula`*\|*`file`* \[...\]
Generate a bottle (binary package) from a formula that was installed with
-`--build-bottle`.
-If the formula specifies a rebuild version, it will be incremented in the
-generated DSL. Passing `--keep-old` will attempt to keep it at its original
-value, while `--no-rebuild` will remove it.
+`--build-bottle`. If the formula specifies a rebuild version, it will be
+incremented in the generated DSL. Passing `--keep-old` will attempt to keep it
+at its original value, while `--no-rebuild` will remove it.
-* `--skip-relocation`:
- Do not check if the bottle can be marked as relocatable.
-* `--force-core-tap`:
- Build a bottle even if *`formula`* is not in `homebrew/core` or any installed taps.
-* `--no-rebuild`:
- If the formula specifies a rebuild version, remove it from the generated DSL.
-* `--keep-old`:
- If the formula specifies a rebuild version, attempt to preserve its value in the generated DSL.
-* `--json`:
- Write bottle information to a JSON file, which can be used as the value for `--merge`.
-* `--merge`:
- Generate an updated bottle block for a formula and optionally merge it into the formula file. Instead of a formula name, requires the path to a JSON file generated with `brew bottle --json` *`formula`*.
-* `--write`:
- Write changes to the formula file. A new commit will be generated unless `--no-commit` is passed.
-* `--no-commit`:
- When passed with `--write`, a new commit will not generated after writing changes to the formula file.
-* `--only-json-tab`:
- When passed with `--json`, the tab will be written to the JSON file but not the bottle.
-* `--no-all-checks`:
- Don't try to create an `all` bottle or stop a no-change upload.
-* `--committer`:
- Specify a committer name and email in `git`'s standard author format.
-* `--root-url`:
- Use the specified *`URL`* as the root of the bottle's URL instead of Homebrew's default.
-* `--root-url-using`:
- Use the specified download strategy class for downloading the bottle's URL instead of Homebrew's default.
+`--skip-relocation`
-### `bump` [*`options`*] [*`formula`*|*`cask`* ...]
+: Do not check if the bottle can be marked as relocatable.
+
+`--force-core-tap`
+
+: Build a bottle even if *`formula`* is not in `homebrew/core` or any installed
+ taps.
+
+`--no-rebuild`
+
+: If the formula specifies a rebuild version, remove it from the generated DSL.
+
+`--keep-old`
+
+: If the formula specifies a rebuild version, attempt to preserve its value in
+ the generated DSL.
+
+`--json`
+
+: Write bottle information to a JSON file, which can be used as the value for
+ `--merge`.
+
+`--merge`
+
+: Generate an updated bottle block for a formula and optionally merge it into
+ the formula file. Instead of a formula name, requires the path to a JSON file
+ generated with `brew bottle --json` *`formula`*.
+
+`--write`
+
+: Write changes to the formula file. A new commit will be generated unless
+ `--no-commit` is passed.
+
+`--no-commit`
+
+: When passed with `--write`, a new commit will not generated after writing
+ changes to the formula file.
+
+`--only-json-tab`
+
+: When passed with `--json`, the tab will be written to the JSON file but not
+ the bottle.
+
+`--no-all-checks`
+
+: Don't try to create an `all` bottle or stop a no-change upload.
+
+`--committer`
+
+: Specify a committer name and email in `git`'s standard author format.
+
+`--root-url`
+
+: Use the specified *`URL`* as the root of the bottle's URL instead of
+ Homebrew's default.
+
+`--root-url-using`
+
+: Use the specified download strategy class for downloading the bottle's URL
+ instead of Homebrew's default.
+
+### `bump` \[*`options`*\] \[*`formula`*\|*`cask`* ...\]
Display out-of-date brew formulae and the latest version available. If the
returned current and livecheck versions differ or when querying specific
formulae, also displays whether a pull request has been opened with the URL.
-* `--full-name`:
- Print formulae/casks with fully-qualified names.
-* `--no-pull-requests`:
- Do not retrieve pull requests from GitHub.
-* `--formula`:
- Check only formulae.
-* `--cask`:
- Check only casks.
-* `--tap`:
- Check formulae and casks within the given tap, specified as *`user`*`/`*`repo`*.
-* `--installed`:
- Check formulae and casks that are currently installed.
-* `--no-fork`:
- Don't try to fork the repository.
-* `--open-pr`:
- Open a pull request for the new version if none have been opened yet.
-* `--limit`:
- Limit number of package results returned.
-* `--start-with`:
- Letter or word that the list of package results should alphabetically follow.
+`--full-name`
-### `bump-cask-pr` [*`options`*] *`cask`*
+: Print formulae/casks with fully-qualified names.
+
+`--no-pull-requests`
+
+: Do not retrieve pull requests from GitHub.
+
+`--formula`
+
+: Check only formulae.
+
+`--cask`
+
+: Check only casks.
+
+`--tap`
+
+: Check formulae and casks within the given tap, specified as
+ *`user`*`/`*`repo`*.
+
+`--installed`
+
+: Check formulae and casks that are currently installed.
+
+`--no-fork`
+
+: Don't try to fork the repository.
+
+`--open-pr`
+
+: Open a pull request for the new version if none have been opened yet.
+
+`--limit`
+
+: Limit number of package results returned.
+
+`--start-with`
+
+: Letter or word that the list of package results should alphabetically follow.
+
+### `bump-cask-pr` \[*`options`*\] *`cask`*
Create a pull request to update *`cask`* with a new version.
A best effort to determine the *`SHA-256`* will be made if the value is not
supplied by the user.
-* `-n`, `--dry-run`:
- Print what would be done rather than doing it.
-* `--write-only`:
- Make the expected file modifications without taking any Git actions.
-* `--commit`:
- When passed with `--write-only`, generate a new commit after writing changes to the cask file.
-* `--no-audit`:
- Don't run `brew audit` before opening the PR.
-* `--no-style`:
- Don't run `brew style --fix` before opening the PR.
-* `--no-browse`:
- Print the pull request URL instead of opening in a browser.
-* `--no-fork`:
- Don't try to fork the repository.
-* `--version`:
- Specify the new *`version`* for the cask.
-* `--version-arm`:
- Specify the new cask *`version`* for the ARM architecture.
-* `--version-intel`:
- Specify the new cask *`version`* for the Intel architecture.
-* `--message`:
- Prepend *`message`* to the default pull request message.
-* `--url`:
- Specify the *`URL`* for the new download.
-* `--sha256`:
- Specify the *`SHA-256`* checksum of the new download.
-* `--fork-org`:
- Use the specified GitHub organization for forking.
+`-n`, `--dry-run`
-### `bump-formula-pr` [*`options`*] [*`formula`*]
+: Print what would be done rather than doing it.
+
+`--write-only`
+
+: Make the expected file modifications without taking any Git actions.
+
+`--commit`
+
+: When passed with `--write-only`, generate a new commit after writing changes
+ to the cask file.
+
+`--no-audit`
+
+: Don't run `brew audit` before opening the PR.
+
+`--no-style`
+
+: Don't run `brew style --fix` before opening the PR.
+
+`--no-browse`
+
+: Print the pull request URL instead of opening in a browser.
+
+`--no-fork`
+
+: Don't try to fork the repository.
+
+`--version`
+
+: Specify the new *`version`* for the cask.
+
+`--version-arm`
+
+: Specify the new cask *`version`* for the ARM architecture.
+
+`--version-intel`
+
+: Specify the new cask *`version`* for the Intel architecture.
+
+`--message`
+
+: Prepend *`message`* to the default pull request message.
+
+`--url`
+
+: Specify the *`URL`* for the new download.
+
+`--sha256`
+
+: Specify the *`SHA-256`* checksum of the new download.
+
+`--fork-org`
+
+: Use the specified GitHub organization for forking.
+
+### `bump-formula-pr` \[*`options`*\] \[*`formula`*\]
Create a pull request to update *`formula`* with a new URL or a new tag.
-If a *`URL`* is specified, the *`SHA-256`* checksum of the new download should also
-be specified. A best effort to determine the *`SHA-256`* will be made if not supplied
-by the user.
+If a *`URL`* is specified, the *`SHA-256`* checksum of the new download should
+also be specified. A best effort to determine the *`SHA-256`* will be made if
+not supplied by the user.
If a *`tag`* is specified, the Git commit *`revision`* corresponding to that tag
-should also be specified. A best effort to determine the *`revision`* will be made
-if the value is not supplied by the user.
+should also be specified. A best effort to determine the *`revision`* will be
+made if the value is not supplied by the user.
-If a *`version`* is specified, a best effort to determine the *`URL`* and *`SHA-256`* or
-the *`tag`* and *`revision`* will be made if both values are not supplied by the user.
+If a *`version`* is specified, a best effort to determine the *`URL`* and
+*`SHA-256`* or the *`tag`* and *`revision`* will be made if both values are not
+supplied by the user.
*Note:* this command cannot be used to transition a formula from a
URL-and-SHA-256 style specification into a tag-and-revision style specification,
-nor vice versa. It must use whichever style specification the formula already uses.
+nor vice versa. It must use whichever style specification the formula already
+uses.
-* `-n`, `--dry-run`:
- Print what would be done rather than doing it.
-* `--write-only`:
- Make the expected file modifications without taking any Git actions.
-* `--commit`:
- When passed with `--write-only`, generate a new commit after writing changes to the formula file.
-* `--no-audit`:
- Don't run `brew audit` before opening the PR.
-* `--strict`:
- Run `brew audit --strict` before opening the PR.
-* `--online`:
- Run `brew audit --online` before opening the PR.
-* `--no-browse`:
- Print the pull request URL instead of opening in a browser.
-* `--no-fork`:
- Don't try to fork the repository.
-* `--mirror`:
- Use the specified *`URL`* as a mirror URL. If *`URL`* is a comma-separated list of URLs, multiple mirrors will be added.
-* `--fork-org`:
- Use the specified GitHub organization for forking.
-* `--version`:
- Use the specified *`version`* to override the value parsed from the URL or tag. Note that `--version=0` can be used to delete an existing version override from a formula if it has become redundant.
-* `--message`:
- Prepend *`message`* to the default pull request message.
-* `--url`:
- Specify the *`URL`* for the new download. If a *`URL`* is specified, the *`SHA-256`* checksum of the new download should also be specified.
-* `--sha256`:
- Specify the *`SHA-256`* checksum of the new download.
-* `--tag`:
- Specify the new git commit *`tag`* for the formula.
-* `--revision`:
- Specify the new commit *`revision`* corresponding to the specified git *`tag`* or specified *`version`*.
-* `-f`, `--force`:
- Remove all mirrors if `--mirror` was not specified.
-* `--install-dependencies`:
- Install missing dependencies required to update resources.
-* `--python-package-name`:
- Use the specified *`package-name`* when finding Python resources for *`formula`*. If no package name is specified, it will be inferred from the formula's stable URL.
-* `--python-extra-packages`:
- Include these additional Python packages when finding resources.
-* `--python-exclude-packages`:
- Exclude these Python packages when finding resources.
+`-n`, `--dry-run`
-### `bump-revision` [*`options`*] *`formula`* [...]
+: Print what would be done rather than doing it.
+
+`--write-only`
+
+: Make the expected file modifications without taking any Git actions.
+
+`--commit`
+
+: When passed with `--write-only`, generate a new commit after writing changes
+ to the formula file.
+
+`--no-audit`
+
+: Don't run `brew audit` before opening the PR.
+
+`--strict`
+
+: Run `brew audit --strict` before opening the PR.
+
+`--online`
+
+: Run `brew audit --online` before opening the PR.
+
+`--no-browse`
+
+: Print the pull request URL instead of opening in a browser.
+
+`--no-fork`
+
+: Don't try to fork the repository.
+
+`--mirror`
+
+: Use the specified *`URL`* as a mirror URL. If *`URL`* is a comma-separated
+ list of URLs, multiple mirrors will be added.
+
+`--fork-org`
+
+: Use the specified GitHub organization for forking.
+
+`--version`
+
+: Use the specified *`version`* to override the value parsed from the URL or
+ tag. Note that `--version=0` can be used to delete an existing version
+ override from a formula if it has become redundant.
+
+`--message`
+
+: Prepend *`message`* to the default pull request message.
+
+`--url`
+
+: Specify the *`URL`* for the new download. If a *`URL`* is specified, the
+ *`SHA-256`* checksum of the new download should also be specified.
+
+`--sha256`
+
+: Specify the *`SHA-256`* checksum of the new download.
+
+`--tag`
+
+: Specify the new git commit *`tag`* for the formula.
+
+`--revision`
+
+: Specify the new commit *`revision`* corresponding to the specified git *`tag`*
+ or specified *`version`*.
+
+`-f`, `--force`
+
+: Remove all mirrors if `--mirror` was not specified.
+
+`--install-dependencies`
+
+: Install missing dependencies required to update resources.
+
+`--python-package-name`
+
+: Use the specified *`package-name`* when finding Python resources for
+ *`formula`*. If no package name is specified, it will be inferred from the
+ formula's stable URL.
+
+`--python-extra-packages`
+
+: Include these additional Python packages when finding resources.
+
+`--python-exclude-packages`
+
+: Exclude these Python packages when finding resources.
+
+### `bump-revision` \[*`options`*\] *`formula`* \[...\]
Create a commit to increment the revision of *`formula`*. If no revision is
present, "revision 1" will be added.
-* `-n`, `--dry-run`:
- Print what would be done rather than doing it.
-* `--remove-bottle-block`:
- Remove the bottle block in addition to bumping the revision.
-* `--write-only`:
- Make the expected file modifications without taking any Git actions.
-* `--message`:
- Append *`message`* to the default commit message.
+`-n`, `--dry-run`
-### `bump-unversioned-casks` [*`options`*] *`cask`*|*`tap`* [...]
+: Print what would be done rather than doing it.
+
+`--remove-bottle-block`
+
+: Remove the bottle block in addition to bumping the revision.
+
+`--write-only`
+
+: Make the expected file modifications without taking any Git actions.
+
+`--message`
+
+: Append *`message`* to the default commit message.
+
+### `bump-unversioned-casks` \[*`options`*\] *`cask`*\|*`tap`* \[...\]
Check all casks with unversioned URLs in a given *`tap`* for updates.
-* `-n`, `--dry-run`:
- Do everything except caching state and opening pull requests.
-* `--limit`:
- Maximum runtime in minutes.
-* `--state-file`:
- File for caching state.
+`-n`, `--dry-run`
-### `cat` [`--formula`] [`--cask`] *`formula`*|*`cask`* [...]
+: Do everything except caching state and opening pull requests.
+
+`--limit`
+
+: Maximum runtime in minutes.
+
+`--state-file`
+
+: File for caching state.
+
+### `cat` \[`--formula`\] \[`--cask`\] *`formula`*\|*`cask`* \[...\]
Display the source of a *`formula`* or *`cask`*.
-* `--formula`:
- Treat all named arguments as formulae.
-* `--cask`:
- Treat all named arguments as casks.
+`--formula`
-### `command` *`command`* [...]
+: Treat all named arguments as formulae.
+
+`--cask`
+
+: Treat all named arguments as casks.
+
+### `command` *`command`* \[...\]
Display the path to the file being used when invoking `brew` *`cmd`*.
-### `contributions` [--user=*`email|username`*] [*`--repositories`*`=`] [*`--csv`*]
+### `contributions` \[--user=*`email|username`*\] \[*`--repositories`*`=`\] \[*`--csv`*\]
Summarise contributions to Homebrew repositories.
-* `--repositories`:
- Specify a comma-separated list of repositories to search. Supported repositories: `brew`, `core`, `cask`, `aliases`, `bundle`, `command-not-found`, `test-bot`, `services`, `cask-fonts` and `cask-versions`. Omitting this flag, or specifying `--repositories=primary`, searches only the main repositories: brew,core,cask. Specifying `--repositories=all`, searches all repositories.
-* `--from`:
- Date (ISO-8601 format) to start searching contributions. Omitting this flag searches the last year.
-* `--to`:
- Date (ISO-8601 format) to stop searching contributions.
-* `--user`:
- Specify a comma-separated list of GitHub usernames or email addresses to find contributions from. Omitting this flag searches maintainers.
-* `--csv`:
- Print a CSV of contributions across repositories over the time period.
+`--repositories`
-### `create` [*`options`*] *`URL`*
+: Specify a comma-separated list of repositories to search. Supported
+ repositories: `brew`, `core`, `cask`, `aliases`, `bundle`,
+ `command-not-found`, `test-bot`, `services`, `cask-fonts` and `cask-versions`.
+ Omitting this flag, or specifying `--repositories=primary`, searches only the
+ main repositories: brew,core,cask. Specifying `--repositories=all`, searches
+ all repositories.
-Generate a formula or, with `--cask`, a cask for the downloadable file at *`URL`*
-and open it in the editor. Homebrew will attempt to automatically derive the
-formula name and version, but if it fails, you'll have to make your own template.
-The `wget` formula serves as a simple example. For the complete API, see:
-
+`--from`
-* `--autotools`:
- Create a basic template for an Autotools-style build.
-* `--cask`:
- Create a basic template for a cask.
-* `--cmake`:
- Create a basic template for a CMake-style build.
-* `--crystal`:
- Create a basic template for a Crystal build.
-* `--go`:
- Create a basic template for a Go build.
-* `--meson`:
- Create a basic template for a Meson-style build.
-* `--node`:
- Create a basic template for a Node build.
-* `--perl`:
- Create a basic template for a Perl build.
-* `--python`:
- Create a basic template for a Python build.
-* `--ruby`:
- Create a basic template for a Ruby build.
-* `--rust`:
- Create a basic template for a Rust build.
-* `--no-fetch`:
- Homebrew will not download *`URL`* to the cache and will thus not add its SHA-256 to the formula for you, nor will it check the GitHub API for GitHub projects (to fill out its description and homepage).
-* `--HEAD`:
- Indicate that *`URL`* points to the package's repository rather than a file.
-* `--set-name`:
- Explicitly set the *`name`* of the new formula or cask.
-* `--set-version`:
- Explicitly set the *`version`* of the new formula or cask.
-* `--set-license`:
- Explicitly set the *`license`* of the new formula.
-* `--tap`:
- Generate the new formula within the given tap, specified as *`user`*`/`*`repo`*.
-* `-f`, `--force`:
- Ignore errors for disallowed formula names and names that shadow aliases.
+: Date (ISO-8601 format) to start searching contributions. Omitting this flag
+ searches the last year.
-### `dispatch-build-bottle` [*`options`*] *`formula`* [...]
+`--to`
+
+: Date (ISO-8601 format) to stop searching contributions.
+
+`--user`
+
+: Specify a comma-separated list of GitHub usernames or email addresses to find
+ contributions from. Omitting this flag searches maintainers.
+
+`--csv`
+
+: Print a CSV of contributions across repositories over the time period.
+
+### `create` \[*`options`*\] *`URL`*
+
+Generate a formula or, with `--cask`, a cask for the downloadable file at
+*`URL`* and open it in the editor. Homebrew will attempt to automatically derive
+the formula name and version, but if it fails, you'll have to make your own
+template. The `wget` formula serves as a simple example. For the complete API,
+see:
+
+`--autotools`
+
+: Create a basic template for an Autotools-style build.
+
+`--cask`
+
+: Create a basic template for a cask.
+
+`--cmake`
+
+: Create a basic template for a CMake-style build.
+
+`--crystal`
+
+: Create a basic template for a Crystal build.
+
+`--go`
+
+: Create a basic template for a Go build.
+
+`--meson`
+
+: Create a basic template for a Meson-style build.
+
+`--node`
+
+: Create a basic template for a Node build.
+
+`--perl`
+
+: Create a basic template for a Perl build.
+
+`--python`
+
+: Create a basic template for a Python build.
+
+`--ruby`
+
+: Create a basic template for a Ruby build.
+
+`--rust`
+
+: Create a basic template for a Rust build.
+
+`--no-fetch`
+
+: Homebrew will not download *`URL`* to the cache and will thus not add its
+ SHA-256 to the formula for you, nor will it check the GitHub API for GitHub
+ projects (to fill out its description and homepage).
+
+`--HEAD`
+
+: Indicate that *`URL`* points to the package's repository rather than a file.
+
+`--set-name`
+
+: Explicitly set the *`name`* of the new formula or cask.
+
+`--set-version`
+
+: Explicitly set the *`version`* of the new formula or cask.
+
+`--set-license`
+
+: Explicitly set the *`license`* of the new formula.
+
+`--tap`
+
+: Generate the new formula within the given tap, specified as
+ *`user`*`/`*`repo`*.
+
+`-f`, `--force`
+
+: Ignore errors for disallowed formula names and names that shadow aliases.
+
+### `dispatch-build-bottle` \[*`options`*\] *`formula`* \[...\]
Build bottles for these formulae with GitHub Actions.
-* `--tap`:
- Target tap repository (default: `homebrew/core`).
-* `--timeout`:
- Build timeout (in minutes, default: 60).
-* `--issue`:
- If specified, post a comment to this issue number if the job fails.
-* `--macos`:
- macOS version (or comma-separated list of versions) the bottle should be built for.
-* `--workflow`:
- Dispatch specified workflow (default: `dispatch-build-bottle.yml`).
-* `--upload`:
- Upload built bottles.
-* `--linux`:
- Dispatch bottle for Linux (using GitHub runners).
-* `--linux-self-hosted`:
- Dispatch bottle for Linux (using self-hosted runner).
-* `--linux-wheezy`:
- Use Debian Wheezy container for building the bottle on Linux.
+`--tap`
-### `edit` [*`options`*] [*`formula`*|*`cask`*|*`tap`* ...]
+: Target tap repository (default: `homebrew/core`).
-Open a *`formula`*, *`cask`* or *`tap`* in the editor set by `EDITOR` or `HOMEBREW_EDITOR`,
-or open the Homebrew repository for editing if no argument is provided.
+`--timeout`
-* `--formula`:
- Treat all named arguments as formulae.
-* `--cask`:
- Treat all named arguments as casks.
-* `--print-path`:
- Print the file path to be edited, without opening an editor.
+: Build timeout (in minutes, default: 60).
-### `extract` [`--version=`] [`--force`] *`formula`* *`tap`*
+`--issue`
-Look through repository history to find the most recent version of *`formula`* and
-create a copy in *`tap`*. Specifically, the command will create the new
-formula file at *`tap`*`/Formula/`*`formula`*`@`*`version`*`.rb`. If the tap is not
-installed yet, attempt to install/clone the tap before continuing. To extract
-a formula from a tap that is not `homebrew/core` use its fully-qualified form of
-*`user`*`/`*`repo`*`/`*`formula`*.
+: If specified, post a comment to this issue number if the job fails.
-* `--version`:
- Extract the specified *`version`* of *`formula`* instead of the most recent.
-* `-f`, `--force`:
- Overwrite the destination formula if it already exists.
+`--macos`
-### `formula` *`formula`* [...]
+: macOS version (or comma-separated list of versions) the bottle should be built
+ for.
+
+`--workflow`
+
+: Dispatch specified workflow (default: `dispatch-build-bottle.yml`).
+
+`--upload`
+
+: Upload built bottles.
+
+`--linux`
+
+: Dispatch bottle for Linux (using GitHub runners).
+
+`--linux-self-hosted`
+
+: Dispatch bottle for Linux (using self-hosted runner).
+
+`--linux-wheezy`
+
+: Use Debian Wheezy container for building the bottle on Linux.
+
+### `edit` \[*`options`*\] \[*`formula`*\|*`cask`*\|*`tap`* ...\]
+
+Open a *`formula`*, *`cask`* or *`tap`* in the editor set by `EDITOR` or
+`HOMEBREW_EDITOR`, or open the Homebrew repository for editing if no argument is
+provided.
+
+`--formula`
+
+: Treat all named arguments as formulae.
+
+`--cask`
+
+: Treat all named arguments as casks.
+
+`--print-path`
+
+: Print the file path to be edited, without opening an editor.
+
+### `extract` \[`--version=`\] \[`--force`\] *`formula`* *`tap`*
+
+Look through repository history to find the most recent version of *`formula`*
+and create a copy in *`tap`*. Specifically, the command will create the new
+formula file at *`tap`*`/Formula/`*`formula`*`@`*`version`*`.rb`. If the tap is
+not installed yet, attempt to install/clone the tap before continuing. To
+extract a formula from a tap that is not `homebrew/core` use its fully-qualified
+form of *`user`*`/`*`repo`*`/`*`formula`*.
+
+`--version`
+
+: Extract the specified *`version`* of *`formula`* instead of the most recent.
+
+`-f`, `--force`
+
+: Overwrite the destination formula if it already exists.
+
+### `formula` *`formula`* \[...\]
Display the path where *`formula`* is located.
-### `generate-cask-api` [`--dry-run`]
+### `generate-cask-api` \[`--dry-run`\]
-Generate `homebrew/cask` API data files for .
-The generated files are written to the current directory.
+Generate `homebrew/cask` API data files for . The
+generated files are written to the current directory.
-* `-n`, `--dry-run`:
- Generate API data without writing it to files.
+`-n`, `--dry-run`
-### `generate-formula-api` [`--dry-run`]
+: Generate API data without writing it to files.
-Generate `homebrew/core` API data files for .
-The generated files are written to the current directory.
+### `generate-formula-api` \[`--dry-run`\]
-* `-n`, `--dry-run`:
- Generate API data without writing it to files.
+Generate `homebrew/core` API data files for . The
+generated files are written to the current directory.
+
+`-n`, `--dry-run`
+
+: Generate API data without writing it to files.
### `generate-man-completions`
Generate Homebrew's manpages and shell completions.
-### `install-bundler-gems` [`--groups=`] [`--add-groups=`]
+### `install-bundler-gems` \[`--groups=`\] \[`--add-groups=`\]
Install Homebrew's Bundler gems.
-* `--groups`:
- Installs the specified comma-separated list of gem groups (default: last used). Replaces any previously installed groups.
-* `--add-groups`:
- Installs the specified comma-separated list of gem groups, in addition to those already installed.
+`--groups`
-### `irb` [`--examples`] [`--pry`]
+: Installs the specified comma-separated list of gem groups (default: last
+ used). Replaces any previously installed groups.
+
+`--add-groups`
+
+: Installs the specified comma-separated list of gem groups, in addition to
+ those already installed.
+
+### `irb` \[`--examples`\] \[`--pry`\]
Enter the interactive Homebrew Ruby shell.
-* `--examples`:
- Show several examples.
-* `--pry`:
- Use Pry instead of IRB. Implied if `HOMEBREW_PRY` is set.
+`--examples`
-### `linkage` [*`options`*] [*`installed_formula`* ...]
+: Show several examples.
+
+`--pry`
+
+: Use Pry instead of IRB. Implied if `HOMEBREW_PRY` is set.
+
+### `linkage` \[*`options`*\] \[*`installed_formula`* ...\]
Check the library links from the given *`formula`* kegs. If no *`formula`* are
provided, check all kegs. Raises an error if run on uninstalled formulae.
-* `--test`:
- Show only missing libraries and exit with a non-zero status if any missing libraries are found.
-* `--strict`:
- Exit with a non-zero status if any undeclared dependencies with linkage are found.
-* `--reverse`:
- For every library that a keg references, print its dylib path followed by the binaries that link to it.
-* `--cached`:
- Print the cached linkage values stored in `HOMEBREW_CACHE`, set by a previous `brew linkage` run.
+`--test`
-### `livecheck`, `lc` [*`options`*] [*`formula`*|*`cask`* ...]
+: Show only missing libraries and exit with a non-zero status if any missing
+ libraries are found.
-Check for newer versions of formulae and/or casks from upstream.
-If no formula or cask argument is passed, the list of formulae and
-casks to check is taken from `HOMEBREW_LIVECHECK_WATCHLIST` or
-`~/.homebrew/livecheck_watchlist.txt`.
+`--strict`
-* `--full-name`:
- Print formulae and casks with fully-qualified names.
-* `--tap`:
- Check formulae and casks within the given tap, specified as *`user`*`/`*`repo`*.
-* `--eval-all`:
- Evaluate all available formulae and casks, whether installed or not, to check them.
-* `--installed`:
- Check formulae and casks that are currently installed.
-* `--newer-only`:
- Show the latest version only if it's newer than the formula/cask.
-* `--json`:
- Output information in JSON format.
-* `-r`, `--resources`:
- Also check resources for formulae.
-* `-q`, `--quiet`:
- Suppress warnings, don't print a progress bar for JSON output.
-* `--formula`:
- Only check formulae.
-* `--cask`:
- Only check casks.
+: Exit with a non-zero status if any undeclared dependencies with linkage are
+ found.
-### `pr-automerge` [*`options`*]
+`--reverse`
+
+: For every library that a keg references, print its dylib path followed by the
+ binaries that link to it.
+
+`--cached`
+
+: Print the cached linkage values stored in `HOMEBREW_CACHE`, set by a previous
+ `brew linkage` run.
+
+### `livecheck`, `lc` \[*`options`*\] \[*`formula`*\|*`cask`* ...\]
+
+Check for newer versions of formulae and/or casks from upstream. If no formula
+or cask argument is passed, the list of formulae and casks to check is taken
+from `HOMEBREW_LIVECHECK_WATCHLIST` or `~/.homebrew/livecheck_watchlist.txt`.
+
+`--full-name`
+
+: Print formulae and casks with fully-qualified names.
+
+`--tap`
+
+: Check formulae and casks within the given tap, specified as
+ *`user`*`/`*`repo`*.
+
+`--eval-all`
+
+: Evaluate all available formulae and casks, whether installed or not, to check
+ them.
+
+`--installed`
+
+: Check formulae and casks that are currently installed.
+
+`--newer-only`
+
+: Show the latest version only if it's newer than the formula/cask.
+
+`--json`
+
+: Output information in JSON format.
+
+`-r`, `--resources`
+
+: Also check resources for formulae.
+
+`-q`, `--quiet`
+
+: Suppress warnings, don't print a progress bar for JSON output.
+
+`--formula`
+
+: Only check formulae.
+
+`--cask`
+
+: Only check casks.
+
+### `pr-automerge` \[*`options`*\]
Find pull requests that can be automatically merged using `brew pr-publish`.
-* `--tap`:
- Target tap repository (default: `homebrew/core`).
-* `--workflow`:
- Workflow file to use with `brew pr-publish`.
-* `--with-label`:
- Pull requests must have this label.
-* `--without-labels`:
- Pull requests must not have these labels (default: `do not merge`, `new formula`, `automerge-skip`, `pre-release`, `CI-published-bottle-commits`).
-* `--without-approval`:
- Pull requests do not require approval to be merged.
-* `--publish`:
- Run `brew pr-publish` on matching pull requests.
-* `--autosquash`:
- Instruct `brew pr-publish` to automatically reformat and reword commits in the pull request to the preferred format.
-* `--ignore-failures`:
- Include pull requests that have failing status checks.
+`--tap`
-### `pr-publish` [*`options`*] *`pull_request`* [...]
+: Target tap repository (default: `homebrew/core`).
-Publish bottles for a pull request with GitHub Actions.
-Requires write access to the repository.
+`--workflow`
-* `--autosquash`:
- If supported on the target tap, automatically reformat and reword commits to our preferred format.
-* `--large-runner`:
- Run the upload job on a large runner.
-* `--branch`:
- Branch to use the workflow from (default: `master`).
-* `--message`:
- Message to include when autosquashing revision bumps, deletions, and rebuilds.
-* `--tap`:
- Target tap repository (default: `homebrew/core`).
-* `--workflow`:
- Target workflow filename (default: `publish-commit-bottles.yml`).
+: Workflow file to use with `brew pr-publish`.
-### `pr-pull` [*`options`*] *`pull_request`* [...]
+`--with-label`
-Download and publish bottles, and apply the bottle commit from a
-pull request with artifacts generated by GitHub Actions.
-Requires write access to the repository.
+: Pull requests must have this label.
-* `--no-upload`:
- Download the bottles but don't upload them.
-* `--no-commit`:
- Do not generate a new commit before uploading.
-* `--no-cherry-pick`:
- Do not cherry-pick commits from the pull request branch.
-* `-n`, `--dry-run`:
- Print what would be done rather than doing it.
-* `--clean`:
- Do not amend the commits from pull requests.
-* `--keep-old`:
- If the formula specifies a rebuild version, attempt to preserve its value in the generated DSL.
-* `--autosquash`:
- Automatically reformat and reword commits in the pull request to our preferred format.
-* `--branch-okay`:
- Do not warn if pulling to a branch besides the repository default (useful for testing).
-* `--resolve`:
- When a patch fails to apply, leave in progress and allow user to resolve, instead of aborting.
-* `--warn-on-upload-failure`:
- Warn instead of raising an error if the bottle upload fails. Useful for repairing bottle uploads that previously failed.
-* `--retain-bottle-dir`:
- Does not clean up the tmp directory for the bottle so it can be used later.
-* `--committer`:
- Specify a committer name and email in `git`'s standard author format.
-* `--message`:
- Message to include when autosquashing revision bumps, deletions, and rebuilds.
-* `--artifact`:
- Download artifacts with the specified name (default: `bottles`).
-* `--tap`:
- Target tap repository (default: `homebrew/core`).
-* `--root-url`:
- Use the specified *`URL`* as the root of the bottle's URL instead of Homebrew's default.
-* `--root-url-using`:
- Use the specified download strategy class for downloading the bottle's URL instead of Homebrew's default.
-* `--workflows`:
- Retrieve artifacts from the specified workflow (default: `tests.yml`). Can be a comma-separated list to include multiple workflows.
-* `--ignore-missing-artifacts`:
- Comma-separated list of workflows which can be ignored if they have not been run.
+`--without-labels`
-### `pr-upload` [*`options`*]
+: Pull requests must not have these labels (default: `do not merge`, `new
+ formula`, `automerge-skip`, `pre-release`, `CI-published-bottle-commits`).
+
+`--without-approval`
+
+: Pull requests do not require approval to be merged.
+
+`--publish`
+
+: Run `brew pr-publish` on matching pull requests.
+
+`--autosquash`
+
+: Instruct `brew pr-publish` to automatically reformat and reword commits in the
+ pull request to the preferred format.
+
+`--ignore-failures`
+
+: Include pull requests that have failing status checks.
+
+### `pr-publish` \[*`options`*\] *`pull_request`* \[...\]
+
+Publish bottles for a pull request with GitHub Actions. Requires write access to
+the repository.
+
+`--autosquash`
+
+: If supported on the target tap, automatically reformat and reword commits to
+ our preferred format.
+
+`--large-runner`
+
+: Run the upload job on a large runner.
+
+`--branch`
+
+: Branch to use the workflow from (default: `master`).
+
+`--message`
+
+: Message to include when autosquashing revision bumps, deletions, and rebuilds.
+
+`--tap`
+
+: Target tap repository (default: `homebrew/core`).
+
+`--workflow`
+
+: Target workflow filename (default: `publish-commit-bottles.yml`).
+
+### `pr-pull` \[*`options`*\] *`pull_request`* \[...\]
+
+Download and publish bottles, and apply the bottle commit from a pull request
+with artifacts generated by GitHub Actions. Requires write access to the
+repository.
+
+`--no-upload`
+
+: Download the bottles but don't upload them.
+
+`--no-commit`
+
+: Do not generate a new commit before uploading.
+
+`--no-cherry-pick`
+
+: Do not cherry-pick commits from the pull request branch.
+
+`-n`, `--dry-run`
+
+: Print what would be done rather than doing it.
+
+`--clean`
+
+: Do not amend the commits from pull requests.
+
+`--keep-old`
+
+: If the formula specifies a rebuild version, attempt to preserve its value in
+ the generated DSL.
+
+`--autosquash`
+
+: Automatically reformat and reword commits in the pull request to our preferred
+ format.
+
+`--branch-okay`
+
+: Do not warn if pulling to a branch besides the repository default (useful for
+ testing).
+
+`--resolve`
+
+: When a patch fails to apply, leave in progress and allow user to resolve,
+ instead of aborting.
+
+`--warn-on-upload-failure`
+
+: Warn instead of raising an error if the bottle upload fails. Useful for
+ repairing bottle uploads that previously failed.
+
+`--retain-bottle-dir`
+
+: Does not clean up the tmp directory for the bottle so it can be used later.
+
+`--committer`
+
+: Specify a committer name and email in `git`'s standard author format.
+
+`--message`
+
+: Message to include when autosquashing revision bumps, deletions, and rebuilds.
+
+`--artifact`
+
+: Download artifacts with the specified name (default: `bottles`).
+
+`--tap`
+
+: Target tap repository (default: `homebrew/core`).
+
+`--root-url`
+
+: Use the specified *`URL`* as the root of the bottle's URL instead of
+ Homebrew's default.
+
+`--root-url-using`
+
+: Use the specified download strategy class for downloading the bottle's URL
+ instead of Homebrew's default.
+
+`--workflows`
+
+: Retrieve artifacts from the specified workflow (default: `tests.yml`). Can be
+ a comma-separated list to include multiple workflows.
+
+`--ignore-missing-artifacts`
+
+: Comma-separated list of workflows which can be ignored if they have not been
+ run.
+
+### `pr-upload` \[*`options`*\]
Apply the bottle commit and publish bottles to a host.
-* `--keep-old`:
- If the formula specifies a rebuild version, attempt to preserve its value in the generated DSL.
-* `-n`, `--dry-run`:
- Print what would be done rather than doing it.
-* `--no-commit`:
- Do not generate a new commit before uploading.
-* `--warn-on-upload-failure`:
- Warn instead of raising an error if the bottle upload fails. Useful for repairing bottle uploads that previously failed.
-* `--upload-only`:
- Skip running `brew bottle` before uploading.
-* `--committer`:
- Specify a committer name and email in `git`'s standard author format.
-* `--root-url`:
- Use the specified *`URL`* as the root of the bottle's URL instead of Homebrew's default.
-* `--root-url-using`:
- Use the specified download strategy class for downloading the bottle's URL instead of Homebrew's default.
+`--keep-old`
-### `prof` [`--stackprof`] *`command`* [...]
+: If the formula specifies a rebuild version, attempt to preserve its value in
+ the generated DSL.
+
+`-n`, `--dry-run`
+
+: Print what would be done rather than doing it.
+
+`--no-commit`
+
+: Do not generate a new commit before uploading.
+
+`--warn-on-upload-failure`
+
+: Warn instead of raising an error if the bottle upload fails. Useful for
+ repairing bottle uploads that previously failed.
+
+`--upload-only`
+
+: Skip running `brew bottle` before uploading.
+
+`--committer`
+
+: Specify a committer name and email in `git`'s standard author format.
+
+`--root-url`
+
+: Use the specified *`URL`* as the root of the bottle's URL instead of
+ Homebrew's default.
+
+`--root-url-using`
+
+: Use the specified download strategy class for downloading the bottle's URL
+ instead of Homebrew's default.
+
+### `prof` \[`--stackprof`\] *`command`* \[...\]
Run Homebrew with a Ruby profiler. For example, `brew prof readall`.
-* `--stackprof`:
- Use `stackprof` instead of `ruby-prof` (the default).
+`--stackprof`
-### `release` [`--major`] [`--minor`]
+: Use `stackprof` instead of `ruby-prof` (the default).
-Create a new draft Homebrew/brew release with the appropriate version number and release notes.
+### `release` \[`--major`\] \[`--minor`\]
-By default, `brew release` will bump the patch version number. Pass
-`--major` or `--minor` to bump the major or minor version numbers, respectively.
-The command will fail if the previous major or minor release was made less than
-one month ago.
+Create a new draft Homebrew/brew release with the appropriate version number and
+release notes.
+
+By default, `brew release` will bump the patch version number. Pass `--major` or
+`--minor` to bump the major or minor version numbers, respectively. The command
+will fail if the previous major or minor release was made less than one month
+ago.
*Note:* Requires write access to the Homebrew/brew repository.
-* `--major`:
- Create a major release.
-* `--minor`:
- Create a minor release.
+`--major`
+
+: Create a major release.
+
+`--minor`
+
+: Create a minor release.
### `rubocop`
Installs, configures and runs Homebrew's `rubocop`.
-### `ruby` [*`options`*] (`-e` *`text`*|*`file`*)
+### `ruby` \[*`options`*\] (`-e` *`text`*\|*`file`*)
-Run a Ruby instance with Homebrew's libraries loaded. For example,
-`brew ruby -e "puts :gcc.f.deps"` or `brew ruby script.rb`.
+Run a Ruby instance with Homebrew's libraries loaded. For example, `brew ruby -e
+"puts :gcc.f.deps"` or `brew ruby script.rb`.
Run e.g. `brew ruby -- --version` to pass arbitrary arguments to `ruby`.
-* `-r`:
- Load a library using `require`.
-* `-e`:
- Execute the given text string as a script.
+`-r`
-### `sh` [`--env=`] [`--cmd=`] [*`file`*]
+: Load a library using `require`.
-Enter an interactive shell for Homebrew's build environment. Use years-battle-hardened
-build logic to help your `./configure && make && make install`
-and even your `gem install` succeed. Especially handy if you run Homebrew
-in an Xcode-only configuration since it adds tools like `make` to your `PATH`
-which build systems would not find otherwise.
+`-e`
-* `--env`:
- Use the standard `PATH` instead of superenv's when `std` is passed.
-* `-c`, `--cmd`:
- Execute commands in a non-interactive shell.
+: Execute the given text string as a script.
-### `style` [*`options`*] [*`file`*|*`tap`*|*`formula`*|*`cask`* ...]
+### `sh` \[`--env=`\] \[`--cmd=`\] \[*`file`*\]
+
+Enter an interactive shell for Homebrew's build environment. Use
+years-battle-hardened build logic to help your `./configure && make && make
+install` and even your `gem install` succeed. Especially handy if you run
+Homebrew in an Xcode-only configuration since it adds tools like `make` to your
+`PATH` which build systems would not find otherwise.
+
+`--env`
+
+: Use the standard `PATH` instead of superenv's when `std` is passed.
+
+`-c`, `--cmd`
+
+: Execute commands in a non-interactive shell.
+
+### `style` \[*`options`*\] \[*`file`*\|*`tap`*\|*`formula`*\|*`cask`* ...\]
Check formulae or files for conformance to Homebrew style guidelines.
Lists of *`file`*, *`tap`* and *`formula`* may not be combined. If none are
-provided, `style` will run style checks on the whole Homebrew library,
-including core code and all formulae.
+provided, `style` will run style checks on the whole Homebrew library, including
+core code and all formulae.
-* `--fix`:
- Fix style violations automatically using RuboCop's auto-correct feature.
-* `--reset-cache`:
- Reset the RuboCop cache.
-* `--formula`:
- Treat all named arguments as formulae.
-* `--cask`:
- Treat all named arguments as casks.
-* `--only-cops`:
- Specify a comma-separated *`cops`* list to check for violations of only the listed RuboCop cops.
-* `--except-cops`:
- Specify a comma-separated *`cops`* list to skip checking for violations of the listed RuboCop cops.
+`--fix`
-### `tap-new` [*`options`*] *`user`*`/`*`repo`*
+: Fix style violations automatically using RuboCop's auto-correct feature.
+
+`--reset-cache`
+
+: Reset the RuboCop cache.
+
+`--formula`
+
+: Treat all named arguments as formulae.
+
+`--cask`
+
+: Treat all named arguments as casks.
+
+`--only-cops`
+
+: Specify a comma-separated *`cops`* list to check for violations of only the
+ listed RuboCop cops.
+
+`--except-cops`
+
+: Specify a comma-separated *`cops`* list to skip checking for violations of the
+ listed RuboCop cops.
+
+### `tap-new` \[*`options`*\] *`user`*`/`*`repo`*
Generate the template files for a new tap.
-* `--no-git`:
- Don't initialize a Git repository for the tap.
-* `--pull-label`:
- Label name for pull requests ready to be pulled (default: `pr-pull`).
-* `--branch`:
- Initialize Git repository and setup GitHub Actions workflows with the specified branch name (default: `main`).
-* `--github-packages`:
- Upload bottles to GitHub Packages.
+`--no-git`
-### `test` [*`options`*] *`installed_formula`* [...]
+: Don't initialize a Git repository for the tap.
-Run the test method provided by an installed formula.
-There is no standard output or return code, but generally it should notify the
-user if something is wrong with the installed formula.
+`--pull-label`
+
+: Label name for pull requests ready to be pulled (default: `pr-pull`).
+
+`--branch`
+
+: Initialize Git repository and setup GitHub Actions workflows with the
+ specified branch name (default: `main`).
+
+`--github-packages`
+
+: Upload bottles to GitHub Packages.
+
+### `test` \[*`options`*\] *`installed_formula`* \[...\]
+
+Run the test method provided by an installed formula. There is no standard
+output or return code, but generally it should notify the user if something is
+wrong with the installed formula.
*Example:* `brew install jruby && brew test jruby`
-* `-f`, `--force`:
- Test formulae even if they are unlinked.
-* `--HEAD`:
- Test the HEAD version of a formula.
-* `--keep-tmp`:
- Retain the temporary files created for the test.
-* `--retry`:
- Retry if a testing fails.
+`-f`, `--force`
-### `tests` [*`options`*]
+: Test formulae even if they are unlinked.
+
+`--HEAD`
+
+: Test the HEAD version of a formula.
+
+`--keep-tmp`
+
+: Retain the temporary files created for the test.
+
+`--retry`
+
+: Retry if a testing fails.
+
+### `tests` \[*`options`*\]
Run Homebrew's unit and integration tests.
-* `--coverage`:
- Generate code coverage reports.
-* `--generic`:
- Run only OS-agnostic tests.
-* `--online`:
- Include tests that use the GitHub API and tests that use any of the taps for official external commands.
-* `--byebug`:
- Enable debugging using byebug.
-* `--changed`:
- Only runs tests on files that were changed from the master branch.
-* `--fail-fast`:
- Exit early on the first failing test.
-* `--only`:
- Run only *`test_script`*`_spec.rb`. Appending `:`*`line_number`* will start at a specific line.
-* `--profile`:
- Run the test suite serially to find the *`n`* slowest tests.
-* `--seed`:
- Randomise tests with the specified *`value`* instead of a random seed.
+`--coverage`
-### `typecheck`, `tc` [*`options`*]
+: Generate code coverage reports.
+
+`--generic`
+
+: Run only OS-agnostic tests.
+
+`--online`
+
+: Include tests that use the GitHub API and tests that use any of the taps for
+ official external commands.
+
+`--byebug`
+
+: Enable debugging using byebug.
+
+`--changed`
+
+: Only runs tests on files that were changed from the master branch.
+
+`--fail-fast`
+
+: Exit early on the first failing test.
+
+`--only`
+
+: Run only *`test_script`*`_spec.rb`. Appending `:`*`line_number`* will start at
+ a specific line.
+
+`--profile`
+
+: Run the test suite serially to find the *`n`* slowest tests.
+
+`--seed`
+
+: Randomise tests with the specified *`value`* instead of a random seed.
+
+### `typecheck`, `tc` \[*`options`*\]
Check for typechecking errors using Sorbet.
-* `--fix`:
- Automatically fix type errors.
-* `-q`, `--quiet`:
- Silence all non-critical errors.
-* `--update`:
- Update RBI files.
-* `--update-all`:
- Update all RBI files rather than just updated gems.
-* `--suggest-typed`:
- Try upgrading `typed` sigils.
-* `--dir`:
- Typecheck all files in a specific directory.
-* `--file`:
- Typecheck a single file.
-* `--ignore`:
- Ignores input files that contain the given string in their paths (relative to the input path passed to Sorbet).
+`--fix`
-### `unbottled` [*`options`*] [*`formula`* ...]
+: Automatically fix type errors.
+
+`-q`, `--quiet`
+
+: Silence all non-critical errors.
+
+`--update`
+
+: Update RBI files.
+
+`--update-all`
+
+: Update all RBI files rather than just updated gems.
+
+`--suggest-typed`
+
+: Try upgrading `typed` sigils.
+
+`--dir`
+
+: Typecheck all files in a specific directory.
+
+`--file`
+
+: Typecheck a single file.
+
+`--ignore`
+
+: Ignores input files that contain the given string in their paths (relative to
+ the input path passed to Sorbet).
+
+### `unbottled` \[*`options`*\] \[*`formula`* ...\]
Show the unbottled dependents of formulae.
-* `--tag`:
- Use the specified bottle tag (e.g. `big_sur`) instead of the current OS.
-* `--dependents`:
- Skip getting analytics data and sort by number of dependents instead.
-* `--total`:
- Print the number of unbottled and total formulae.
-* `--lost`:
- Print the `homebrew/core` commits where bottles were lost in the last week.
-* `--eval-all`:
- Evaluate all available formulae and casks, whether installed or not, to check them. Implied if `HOMEBREW_EVAL_ALL` is set.
+`--tag`
-### `unpack` [*`options`*] *`formula`* [...]
+: Use the specified bottle tag (e.g. `big_sur`) instead of the current OS.
+
+`--dependents`
+
+: Skip getting analytics data and sort by number of dependents instead.
+
+`--total`
+
+: Print the number of unbottled and total formulae.
+
+`--lost`
+
+: Print the `homebrew/core` commits where bottles were lost in the last week.
+
+`--eval-all`
+
+: Evaluate all available formulae and casks, whether installed or not, to check
+ them. Implied if `HOMEBREW_EVAL_ALL` is set.
+
+### `unpack` \[*`options`*\] *`formula`* \[...\]
Unpack the source files for *`formula`* into subdirectories of the current
working directory.
-* `--destdir`:
- Create subdirectories in the directory named by *`path`* instead.
-* `--patch`:
- Patches for *`formula`* will be applied to the unpacked source.
-* `-g`, `--git`:
- Initialise a Git repository in the unpacked source. This is useful for creating patches for the software.
-* `-f`, `--force`:
- Overwrite the destination directory if it already exists.
+`--destdir`
+
+: Create subdirectories in the directory named by *`path`* instead.
+
+`--patch`
+
+: Patches for *`formula`* will be applied to the unpacked source.
+
+`-g`, `--git`
+
+: Initialise a Git repository in the unpacked source. This is useful for
+ creating patches for the software.
+
+`-f`, `--force`
+
+: Overwrite the destination directory if it already exists.
### `update-license-data`
@@ -1662,366 +2763,619 @@ Update SPDX license data in the Homebrew repository.
Update the list of maintainers in the `Homebrew/brew` README.
-### `update-python-resources` [*`options`*] *`formula`* [...]
+### `update-python-resources` \[*`options`*\] *`formula`* \[...\]
Update versions for PyPI resource blocks in *`formula`*.
-* `-p`, `--print-only`:
- Print the updated resource blocks instead of changing *`formula`*.
-* `-s`, `--silent`:
- Suppress any output.
-* `--ignore-non-pypi-packages`:
- Don't fail if *`formula`* is not a PyPI package.
-* `--install-dependencies`:
- Install missing dependencies required to update resources.
-* `--version`:
- Use the specified *`version`* when finding resources for *`formula`*. If no version is specified, the current version for *`formula`* will be used.
-* `--package-name`:
- Use the specified *`package-name`* when finding resources for *`formula`*. If no package name is specified, it will be inferred from the formula's stable URL.
-* `--extra-packages`:
- Include these additional packages when finding resources.
-* `--exclude-packages`:
- Exclude these packages when finding resources.
+`-p`, `--print-only`
+
+: Print the updated resource blocks instead of changing *`formula`*.
+
+`-s`, `--silent`
+
+: Suppress any output.
+
+`--ignore-non-pypi-packages`
+
+: Don't fail if *`formula`* is not a PyPI package.
+
+`--install-dependencies`
+
+: Install missing dependencies required to update resources.
+
+`--version`
+
+: Use the specified *`version`* when finding resources for *`formula`*. If no
+ version is specified, the current version for *`formula`* will be used.
+
+`--package-name`
+
+: Use the specified *`package-name`* when finding resources for *`formula`*. If
+ no package name is specified, it will be inferred from the formula's stable
+ URL.
+
+`--extra-packages`
+
+: Include these additional packages when finding resources.
+
+`--exclude-packages`
+
+: Exclude these packages when finding resources.
### `update-sponsors`
Update the list of GitHub Sponsors in the `Homebrew/brew` README.
-### `update-test` [*`options`*]
+### `update-test` \[*`options`*\]
-Run a test of `brew update` with a new repository clone.
-If no options are passed, use `origin/master` as the start commit.
+Run a test of `brew update` with a new repository clone. If no options are
+passed, use `origin/master` as the start commit.
-* `--to-tag`:
- Set `HOMEBREW_UPDATE_TO_TAG` to test updating between tags.
-* `--keep-tmp`:
- Retain the temporary directory containing the new repository clone.
-* `--commit`:
- Use the specified *`commit`* as the start commit.
-* `--before`:
- Use the commit at the specified *`date`* as the start commit.
+`--to-tag`
-### `vendor-gems` [`--update=`] [`--no-commit`]
+: Set `HOMEBREW_UPDATE_TO_TAG` to test updating between tags.
+
+`--keep-tmp`
+
+: Retain the temporary directory containing the new repository clone.
+
+`--commit`
+
+: Use the specified *`commit`* as the start commit.
+
+`--before`
+
+: Use the commit at the specified *`date`* as the start commit.
+
+### `vendor-gems` \[`--update=`\] \[`--no-commit`\]
Install and commit Homebrew's vendored gems.
-* `--update`:
- Update the specified list of vendored gems to the latest version.
-* `--no-commit`:
- Do not generate a new commit upon completion.
+`--update`
+
+: Update the specified list of vendored gems to the latest version.
+
+`--no-commit`
+
+: Do not generate a new commit upon completion.
## GLOBAL CASK OPTIONS
-These options are applicable to the `install`, `reinstall`, and `upgrade` subcommands with the `--cask` switch.
+These options are applicable to the `install`, `reinstall`, and `upgrade`
+subcommands with the `--cask` switch.
-* `--appdir`:
- Target location for Applications (default: `/Applications`).
+`--appdir`
-* `--keyboard-layoutdir`:
- Target location for Keyboard Layouts (default: `/Library/Keyboard Layouts`).
+: Target location for Applications (default: `/Applications`).
-* `--colorpickerdir`:
- Target location for Color Pickers (default: `~/Library/ColorPickers`).
+`--keyboard-layoutdir`
-* `--prefpanedir`:
- Target location for Preference Panes (default: `~/Library/PreferencePanes`).
+: Target location for Keyboard Layouts (default: `/Library/Keyboard Layouts`).
-* `--qlplugindir`:
- Target location for Quick Look Plugins (default: `~/Library/QuickLook`).
+`--colorpickerdir`
-* `--mdimporterdir`:
- Target location for Spotlight Plugins (default: `~/Library/Spotlight`).
+: Target location for Color Pickers (default: `~/Library/ColorPickers`).
-* `--dictionarydir`:
- Target location for Dictionaries (default: `~/Library/Dictionaries`).
+`--prefpanedir`
-* `--fontdir`:
- Target location for Fonts (default: `~/Library/Fonts`).
+: Target location for Preference Panes (default: `~/Library/PreferencePanes`).
-* `--servicedir`:
- Target location for Services (default: `~/Library/Services`).
+`--qlplugindir`
-* `--input-methoddir`:
- Target location for Input Methods (default: `~/Library/Input Methods`).
+: Target location for Quick Look Plugins (default: `~/Library/QuickLook`).
-* `--internet-plugindir`:
- Target location for Internet Plugins (default: `~/Library/Internet Plug-Ins`).
+`--mdimporterdir`
-* `--audio-unit-plugindir`:
- Target location for Audio Unit Plugins (default: `~/Library/Audio/Plug-Ins/Components`).
+: Target location for Spotlight Plugins (default: `~/Library/Spotlight`).
-* `--vst-plugindir`:
- Target location for VST Plugins (default: `~/Library/Audio/Plug-Ins/VST`).
+`--dictionarydir`
-* `--vst3-plugindir`:
- Target location for VST3 Plugins (default: `~/Library/Audio/Plug-Ins/VST3`).
+: Target location for Dictionaries (default: `~/Library/Dictionaries`).
-* `--screen-saverdir`:
- Target location for Screen Savers (default: `~/Library/Screen Savers`).
+`--fontdir`
-* `--language`:
- Comma-separated list of language codes to prefer for cask installation. The first matching language is used, otherwise it reverts to the cask's default language. The default value is the language of your system.
+: Target location for Fonts (default: `~/Library/Fonts`).
+
+`--servicedir`
+
+: Target location for Services (default: `~/Library/Services`).
+
+`--input-methoddir`
+
+: Target location for Input Methods (default: `~/Library/Input Methods`).
+
+`--internet-plugindir`
+
+: Target location for Internet Plugins (default: `~/Library/Internet Plug-Ins`).
+
+`--audio-unit-plugindir`
+
+: Target location for Audio Unit Plugins (default:
+ `~/Library/Audio/Plug-Ins/Components`).
+
+`--vst-plugindir`
+
+: Target location for VST Plugins (default: `~/Library/Audio/Plug-Ins/VST`).
+
+`--vst3-plugindir`
+
+: Target location for VST3 Plugins (default: `~/Library/Audio/Plug-Ins/VST3`).
+
+`--screen-saverdir`
+
+: Target location for Screen Savers (default: `~/Library/Screen Savers`).
+
+`--language`
+
+: Comma-separated list of language codes to prefer for cask installation. The
+ first matching language is used, otherwise it reverts to the cask's default
+ language. The default value is the language of your system.
## GLOBAL OPTIONS
These options are applicable across multiple subcommands.
-* `-d`, `--debug`:
- Display any debugging information.
+`-d`, `--debug`
-* `-q`, `--quiet`:
- Make some output more quiet.
+: Display any debugging information.
-* `-v`, `--verbose`:
- Make some output more verbose.
+`-q`, `--quiet`
-* `-h`, `--help`:
- Show this message.
+: Make some output more quiet.
+
+`-v`, `--verbose`
+
+: Make some output more verbose.
+
+`-h`, `--help`
+
+: Show this message.
## OFFICIAL EXTERNAL COMMANDS
-### `alias` [*`alias`* ... | *`alias`*=*`command`*]
+### `alias` \[*`alias`* ... \| *`alias`*=*`command`*\]
Show existing aliases. If no aliases are given, print the whole list.
-* `--edit`:
- Edit aliases in a text editor. Either one or all aliases may be opened at once. If the given alias doesn't exist it'll be pre-populated with a template.
+`--edit`
-### `bundle` [*`subcommand`*]
+: Edit aliases in a text editor. Either one or all aliases may be opened at
+ once. If the given alias doesn't exist it'll be pre-populated with a template.
-Bundler for non-Ruby dependencies from Homebrew, Homebrew Cask, Mac App Store, Whalebrew and Visual Studio Code.
+### `bundle` \[*`subcommand`*\]
-`brew bundle` [`install`]
-
Install and upgrade (by default) all dependencies from the `Brewfile`.
+Bundler for non-Ruby dependencies from Homebrew, Homebrew Cask, Mac App Store,
+Whalebrew and Visual Studio Code.
-You can specify the `Brewfile` location using `--file` or by setting the `HOMEBREW_BUNDLE_FILE` environment variable.
+`brew bundle` \[`install`\]
-You can skip the installation of dependencies by adding space-separated values to one or more of the following environment variables: `HOMEBREW_BUNDLE_BREW_SKIP`, `HOMEBREW_BUNDLE_CASK_SKIP`, `HOMEBREW_BUNDLE_MAS_SKIP`, `HOMEBREW_BUNDLE_WHALEBREW_SKIP`, `HOMEBREW_BUNDLE_TAP_SKIP`.
+: Install and upgrade (by default) all dependencies from the `Brewfile`.
-`brew bundle` will output a `Brewfile.lock.json` in the same directory as the `Brewfile` if all dependencies are installed successfully. This contains dependency and system status information which can be useful for debugging `brew bundle` failures and replicating a "last known good build" state. You can opt-out of this behaviour by setting the `HOMEBREW_BUNDLE_NO_LOCK` environment variable or passing the `--no-lock` option. You may wish to check this file into the same version control system as your `Brewfile` (or ensure your version control system ignores it if you'd prefer to rely on debugging information from a local machine).
+You can specify the `Brewfile` location using `--file` or by setting the
+`HOMEBREW_BUNDLE_FILE` environment variable.
+
+You can skip the installation of dependencies by adding space-separated values
+to one or more of the following environment variables:
+`HOMEBREW_BUNDLE_BREW_SKIP`, `HOMEBREW_BUNDLE_CASK_SKIP`,
+`HOMEBREW_BUNDLE_MAS_SKIP`, `HOMEBREW_BUNDLE_WHALEBREW_SKIP`,
+`HOMEBREW_BUNDLE_TAP_SKIP`.
+
+`brew bundle` will output a `Brewfile.lock.json` in the same directory as the
+`Brewfile` if all dependencies are installed successfully. This contains
+dependency and system status information which can be useful for debugging `brew
+bundle` failures and replicating a "last known good build" state. You can
+opt-out of this behaviour by setting the `HOMEBREW_BUNDLE_NO_LOCK` environment
+variable or passing the `--no-lock` option. You may wish to check this file into
+the same version control system as your `Brewfile` (or ensure your version
+control system ignores it if you'd prefer to rely on debugging information from
+a local machine).
`brew bundle dump`
-
Write all installed casks/formulae/images/taps into a `Brewfile` in the current directory.
+
+: Write all installed casks/formulae/images/taps into a `Brewfile` in the
+ current directory.
`brew bundle cleanup`
-
Uninstall all dependencies not present in the `Brewfile`.
-This workflow is useful for maintainers or testers who regularly install lots of formulae.
+: Uninstall all dependencies not present in the `Brewfile`.
+
+This workflow is useful for maintainers or testers who regularly install lots of
+formulae.
`brew bundle check`
-
Check if all dependencies present in the `Brewfile` are installed.
-This provides a successful exit code if everything is up-to-date, making it useful for scripting.
+: Check if all dependencies present in the `Brewfile` are installed.
+
+This provides a successful exit code if everything is up-to-date, making it
+useful for scripting.
`brew bundle list`
-
List all dependencies present in the `Brewfile`.
+
+: List all dependencies present in the `Brewfile`.
By default, only Homebrew formula dependencies are listed.
`brew bundle exec` *`command`*
-
Run an external command in an isolated build environment based on the `Brewfile` dependencies.
-This sanitized build environment ignores unrequested dependencies, which makes sure that things you didn't specify in your `Brewfile` won't get picked up by commands like `bundle install`, `npm install`, etc. It will also add compiler flags which will help with finding keg-only dependencies like `openssl`, `icu4c`, etc.
+: Run an external command in an isolated build environment based on the
+ `Brewfile` dependencies.
-* `--file`:
- Read the `Brewfile` from this location. Use `--file=-` to pipe to stdin/stdout.
-* `--global`:
- Read the `Brewfile` from `~/.Brewfile` or the `HOMEBREW_BUNDLE_FILE_GLOBAL` environment variable, if set.
-* `-v`, `--verbose`:
- `install` prints output from commands as they are run. `check` lists all missing dependencies.
-* `--no-upgrade`:
- `install` does not run `brew upgrade` on outdated dependencies. Note they may still be upgraded by `brew install` if needed.
-* `-f`, `--force`:
- `install` runs with `--force`/`--overwrite`. `dump` overwrites an existing `Brewfile`. `cleanup` actually performs its cleanup operations.
-* `--cleanup`:
- `install` performs cleanup operation, same as running `cleanup --force`. This is enabled by default if `HOMEBREW_BUNDLE_INSTALL_CLEANUP` is set and `--global` is passed.
-* `--no-lock`:
- `install` does not output a `Brewfile.lock.json`.
-* `--all`:
- `list` all dependencies.
-* `--formula`:
- `list` Homebrew formula dependencies.
-* `--cask`:
- `list` Homebrew cask dependencies.
-* `--tap`:
- `list` Homebrew tap dependencies.
-* `--mas`:
- `list` Mac App Store dependencies.
-* `--whalebrew`:
- `list` Whalebrew dependencies.
-* `--vscode`:
- `list` VSCode extensions.
-* `--describe`:
- `dump` adds a description comment above each line, unless the dependency does not have a description. This is enabled by default if `HOMEBREW_BUNDLE_DUMP_DESCRIBE` is set.
-* `--no-restart`:
- `dump` does not add `restart_service` to formula lines.
-* `--zap`:
- `cleanup` casks using the `zap` command instead of `uninstall`.
+This sanitized build environment ignores unrequested dependencies, which makes
+sure that things you didn't specify in your `Brewfile` won't get picked up by
+commands like `bundle install`, `npm install`, etc. It will also add compiler
+flags which will help with finding keg-only dependencies like `openssl`,
+`icu4c`, etc.
+
+`--file`
+
+: Read the `Brewfile` from this location. Use `--file=-` to pipe to
+ stdin/stdout.
+
+`--global`
+
+: Read the `Brewfile` from `~/.Brewfile` or the `HOMEBREW_BUNDLE_FILE_GLOBAL`
+ environment variable, if set.
+
+`-v`, `--verbose`
+
+: `install` prints output from commands as they are run. `check` lists all
+ missing dependencies.
+
+`--no-upgrade`
+
+: `install` does not run `brew upgrade` on outdated dependencies. Note they may
+ still be upgraded by `brew install` if needed.
+
+`-f`, `--force`
+
+: `install` runs with `--force`/`--overwrite`. `dump` overwrites an existing
+ `Brewfile`. `cleanup` actually performs its cleanup operations.
+
+`--cleanup`
+
+: `install` performs cleanup operation, same as running `cleanup --force`. This
+ is enabled by default if `HOMEBREW_BUNDLE_INSTALL_CLEANUP` is set and
+ `--global` is passed.
+
+`--no-lock`
+
+: `install` does not output a `Brewfile.lock.json`.
+
+`--all`
+
+: `list` all dependencies.
+
+`--formula`
+
+: `list` Homebrew formula dependencies.
+
+`--cask`
+
+: `list` Homebrew cask dependencies.
+
+`--tap`
+
+: `list` Homebrew tap dependencies.
+
+`--mas`
+
+: `list` Mac App Store dependencies.
+
+`--whalebrew`
+
+: `list` Whalebrew dependencies.
+
+`--vscode`
+
+: `list` VSCode extensions.
+
+`--describe`
+
+: `dump` adds a description comment above each line, unless the dependency does
+ not have a description. This is enabled by default if
+ `HOMEBREW_BUNDLE_DUMP_DESCRIBE` is set.
+
+`--no-restart`
+
+: `dump` does not add `restart_service` to formula lines.
+
+`--zap`
+
+: `cleanup` casks using the `zap` command instead of `uninstall`.
### `command-not-found-init`
-Print instructions for setting up the command-not-found hook for your shell.
-If the output is not to a tty, print the appropriate handler script for your shell.
+Print instructions for setting up the command-not-found hook for your shell. If
+the output is not to a tty, print the appropriate handler script for your shell.
-### `services` [*`subcommand`*]
+### `services` \[*`subcommand`*\]
-Manage background services with macOS' `launchctl`(1) daemon manager or
-Linux's `systemctl`(1) service manager.
+Manage background services with macOS' `launchctl`(1) daemon manager or Linux's
+`systemctl`(1) service manager.
-If `sudo` is passed, operate on `/Library/LaunchDaemons`/`/usr/lib/systemd/system` (started at boot).
-Otherwise, operate on `~/Library/LaunchAgents`/`~/.config/systemd/user` (started at login).
+If `sudo` is passed, operate on
+`/Library/LaunchDaemons`/`/usr/lib/systemd/system` (started at boot). Otherwise,
+operate on `~/Library/LaunchAgents`/`~/.config/systemd/user` (started at login).
-[`sudo`] `brew services` [`list`] (`--json`) (`--debug`)
-
List information about all managed services for the current user (or root).
-Provides more output from Homebrew and `launchctl`(1) or `systemctl`(1) if run with `--debug`.
+\[`sudo`\] `brew services` \[`list`\] (`--json`) (`--debug`)
-[`sudo`] `brew services info` (*`formula`*|`--all`|`--json`)
-
List all managed services for the current user (or root).
+: List information about all managed services for the current user (or root).
+ Provides more output from Homebrew and `launchctl`(1) or `systemctl`(1) if run
+ with `--debug`.
-[`sudo`] `brew services run` (*`formula`*|`--all`)
-
Run the service *`formula`* without registering to launch at login (or boot).
+\[`sudo`\] `brew services info` (*`formula`*\|`--all`\|`--json`)
-[`sudo`] `brew services start` (*`formula`*|`--all`|`--file=`)
-
Start the service *`formula`* immediately and register it to launch at login (or boot).
+: List all managed services for the current user (or root).
-[`sudo`] `brew services stop` (*`formula`*|`--all`)
-
Stop the service *`formula`* immediately and unregister it from launching at login (or boot).
+\[`sudo`\] `brew services run` (*`formula`*\|`--all`)
-[`sudo`] `brew services kill` (*`formula`*|`--all`)
-
Stop the service *`formula`* immediately but keep it registered to launch at login (or boot).
+: Run the service *`formula`* without registering to launch at login (or boot).
-[`sudo`] `brew services restart` (*`formula`*|`--all`)
-
Stop (if necessary) and start the service *`formula`* immediately and register it to launch at login (or boot).
+\[`sudo`\] `brew services start` (*`formula`*\|`--all`\|`--file=`)
-[`sudo`] `brew services cleanup`
-
Remove all unused services.
+: Start the service *`formula`* immediately and register it to launch at login
+ (or boot).
-* `--file`:
- Use the service file from this location to `start` the service.
-* `--sudo-service-user`:
- When run as root on macOS, run the service(s) as this user.
-* `--all`:
- Run *`subcommand`* on all services.
-* `--json`:
- Output as JSON.
-* `--no-wait`:
- Don't wait for `stop` to finish stopping the service.
+\[`sudo`\] `brew services stop` (*`formula`*\|`--all`)
-### `test-bot` [*`options`*] [*`formula`*]
+: Stop the service *`formula`* immediately and unregister it from launching at
+ login (or boot).
-Tests the full lifecycle of a Homebrew change to a tap (Git repository). For example, for a GitHub Actions pull request that changes a formula `brew test-bot` will ensure the system is cleaned and set up to test the formula, install the formula, run various tests and checks on it, bottle (package) the binaries and test formulae that depend on it to ensure they aren't broken by these changes.
+\[`sudo`\] `brew services kill` (*`formula`*\|`--all`)
-Only supports GitHub Actions as a CI provider. This is because Homebrew uses GitHub Actions and it's freely available for public and private use with macOS and Linux workers.
+: Stop the service *`formula`* immediately but keep it registered to launch at
+ login (or boot).
-* `--dry-run`:
- Print what would be done rather than doing it.
-* `--cleanup`:
- Clean all state from the Homebrew directory. Use with care!
-* `--skip-setup`:
- Don't check if the local system is set up correctly.
-* `--build-from-source`:
- Build from source rather than building bottles.
-* `--build-dependents-from-source`:
- Build dependents from source rather than testing bottles.
-* `--junit`:
- generate a JUnit XML test results file.
-* `--keep-old`:
- Run `brew bottle --keep-old` to build new bottles for a single platform.
-* `--skip-relocation`:
- Run `brew bottle --skip-relocation` to build new bottles that don't require relocation.
-* `--only-json-tab`:
- Run `brew bottle --only-json-tab` to build new bottles that do not contain a tab.
-* `--local`:
- Ask Homebrew to write verbose logs under `./logs/` and set `$HOME` to `./home/`
-* `--tap`:
- Use the Git repository of the given tap. Defaults to the core tap for syntax checking.
-* `--fail-fast`:
- Immediately exit on a failing step.
-* `-v`, `--verbose`:
- Print test step output in real time. Has the side effect of passing output as raw bytes instead of re-encoding in UTF-8.
-* `--test-default-formula`:
- Use a default testing formula when not building a tap and no other formulae are specified.
-* `--root-url`:
- Use the specified *`URL`* as the root of the bottle's URL instead of Homebrew's default.
-* `--git-name`:
- Set the Git author/committer names to the given name.
-* `--git-email`:
- Set the Git author/committer email to the given email.
-* `--publish`:
- Publish the uploaded bottles.
-* `--skip-online-checks`:
- Don't pass `--online` to `brew audit` and skip `brew livecheck`.
-* `--skip-dependents`:
- Don't test any dependents.
-* `--skip-livecheck`:
- Don't test livecheck.
-* `--skip-recursive-dependents`:
- Only test the direct dependents.
-* `--skip-checksum-only-audit`:
- Don't audit checksum-only changes.
-* `--skip-stable-version-audit`:
- Don't audit the stable version.
-* `--skip-revision-audit`:
- Don't audit the revision.
-* `--only-cleanup-before`:
- Only run the pre-cleanup step. Needs `--cleanup`.
-* `--only-setup`:
- Only run the local system setup check step.
-* `--only-tap-syntax`:
- Only run the tap syntax check step.
-* `--only-formulae`:
- Only run the formulae steps.
-* `--only-formulae-detect`:
- Only run the formulae detection steps.
-* `--only-formulae-dependents`:
- Only run the formulae dependents steps.
-* `--only-bottles-fetch`:
- Only run the bottles fetch steps. This optional post-upload test checks that all the bottles were uploaded correctly. It is not run unless requested and only needs to be run on a single machine. The bottle commit to be tested must be on the tested branch.
-* `--only-cleanup-after`:
- Only run the post-cleanup step. Needs `--cleanup`.
-* `--testing-formulae`:
- Use these testing formulae rather than running the formulae detection steps.
-* `--added-formulae`:
- Use these added formulae rather than running the formulae detection steps.
-* `--deleted-formulae`:
- Use these deleted formulae rather than running the formulae detection steps.
-* `--skipped-or-failed-formulae`:
- Use these skipped or failed formulae from formulae steps for a formulae dependents step.
+\[`sudo`\] `brew services restart` (*`formula`*\|`--all`)
-### `unalias` *`alias`* [...]
+: Stop (if necessary) and start the service *`formula`* immediately and register
+ it to launch at login (or boot).
+
+\[`sudo`\] `brew services cleanup`
+
+: Remove all unused services.
+
+`--file`
+
+: Use the service file from this location to `start` the service.
+
+`--sudo-service-user`
+
+: When run as root on macOS, run the service(s) as this user.
+
+`--all`
+
+: Run *`subcommand`* on all services.
+
+`--json`
+
+: Output as JSON.
+
+`--no-wait`
+
+: Don't wait for `stop` to finish stopping the service.
+
+### `test-bot` \[*`options`*\] \[*`formula`*\]
+
+Tests the full lifecycle of a Homebrew change to a tap (Git repository). For
+example, for a GitHub Actions pull request that changes a formula `brew
+test-bot` will ensure the system is cleaned and set up to test the formula,
+install the formula, run various tests and checks on it, bottle (package) the
+binaries and test formulae that depend on it to ensure they aren't broken by
+these changes.
+
+Only supports GitHub Actions as a CI provider. This is because Homebrew uses
+GitHub Actions and it's freely available for public and private use with macOS
+and Linux workers.
+
+`--dry-run`
+
+: Print what would be done rather than doing it.
+
+`--cleanup`
+
+: Clean all state from the Homebrew directory. Use with care!
+
+`--skip-setup`
+
+: Don't check if the local system is set up correctly.
+
+`--build-from-source`
+
+: Build from source rather than building bottles.
+
+`--build-dependents-from-source`
+
+: Build dependents from source rather than testing bottles.
+
+`--junit`
+
+: generate a JUnit XML test results file.
+
+`--keep-old`
+
+: Run `brew bottle --keep-old` to build new bottles for a single platform.
+
+`--skip-relocation`
+
+: Run `brew bottle --skip-relocation` to build new bottles that don't require
+ relocation.
+
+`--only-json-tab`
+
+: Run `brew bottle --only-json-tab` to build new bottles that do not contain a
+ tab.
+
+`--local`
+
+: Ask Homebrew to write verbose logs under `./logs/` and set `$HOME` to
+ `./home/`
+
+`--tap`
+
+: Use the Git repository of the given tap. Defaults to the core tap for syntax
+ checking.
+
+`--fail-fast`
+
+: Immediately exit on a failing step.
+
+`-v`, `--verbose`
+
+: Print test step output in real time. Has the side effect of passing output as
+ raw bytes instead of re-encoding in UTF-8.
+
+`--test-default-formula`
+
+: Use a default testing formula when not building a tap and no other formulae
+ are specified.
+
+`--root-url`
+
+: Use the specified *`URL`* as the root of the bottle's URL instead of
+ Homebrew's default.
+
+`--git-name`
+
+: Set the Git author/committer names to the given name.
+
+`--git-email`
+
+: Set the Git author/committer email to the given email.
+
+`--publish`
+
+: Publish the uploaded bottles.
+
+`--skip-online-checks`
+
+: Don't pass `--online` to `brew audit` and skip `brew livecheck`.
+
+`--skip-dependents`
+
+: Don't test any dependents.
+
+`--skip-livecheck`
+
+: Don't test livecheck.
+
+`--skip-recursive-dependents`
+
+: Only test the direct dependents.
+
+`--skip-checksum-only-audit`
+
+: Don't audit checksum-only changes.
+
+`--skip-stable-version-audit`
+
+: Don't audit the stable version.
+
+`--skip-revision-audit`
+
+: Don't audit the revision.
+
+`--only-cleanup-before`
+
+: Only run the pre-cleanup step. Needs `--cleanup`.
+
+`--only-setup`
+
+: Only run the local system setup check step.
+
+`--only-tap-syntax`
+
+: Only run the tap syntax check step.
+
+`--only-formulae`
+
+: Only run the formulae steps.
+
+`--only-formulae-detect`
+
+: Only run the formulae detection steps.
+
+`--only-formulae-dependents`
+
+: Only run the formulae dependents steps.
+
+`--only-bottles-fetch`
+
+: Only run the bottles fetch steps. This optional post-upload test checks that
+ all the bottles were uploaded correctly. It is not run unless requested and
+ only needs to be run on a single machine. The bottle commit to be tested must
+ be on the tested branch.
+
+`--only-cleanup-after`
+
+: Only run the post-cleanup step. Needs `--cleanup`.
+
+`--testing-formulae`
+
+: Use these testing formulae rather than running the formulae detection steps.
+
+`--added-formulae`
+
+: Use these added formulae rather than running the formulae detection steps.
+
+`--deleted-formulae`
+
+: Use these deleted formulae rather than running the formulae detection steps.
+
+`--skipped-or-failed-formulae`
+
+: Use these skipped or failed formulae from formulae steps for a formulae
+ dependents step.
+
+### `unalias` *`alias`* \[...\]
Remove aliases.
-### `which-formula` [`--explain`] *`command`* [...]
+### `which-formula` \[`--explain`\] *`command`* \[...\]
Show which formula(e) provides the given command.
-* `--explain`:
- Output explanation of how to get *`command`* by installing one of the providing formulae.
+`--explain`
-### `which-update` [*`options`*] [*`database`*]
+: Output explanation of how to get *`command`* by installing one of the
+ providing formulae.
+
+### `which-update` \[*`options`*\] \[*`database`*\]
Database update for `brew which-formula`.
-* `--stats`:
- Print statistics about the database contents (number of commands and formulae, list of missing formulae).
-* `--commit`:
- Commit the changes using `git`.
-* `--update-existing`:
- Update database entries with outdated formula versions.
-* `--install-missing`:
- Install and update formulae that are missing from the database and don't have bottles.
-* `--eval-all`:
- Evaluate all installed taps, rather than just the core tap.
-* `--max-downloads`:
- Specify a maximum number of formulae to download and update.
+`--stats`
+
+: Print statistics about the database contents (number of commands and formulae,
+ list of missing formulae).
+
+`--commit`
+
+: Commit the changes using `git`.
+
+`--update-existing`
+
+: Update database entries with outdated formula versions.
+
+`--install-missing`
+
+: Install and update formulae that are missing from the database and don't have
+ bottles.
+
+`--eval-all`
+
+: Evaluate all installed taps, rather than just the core tap.
+
+`--max-downloads`
+
+: Specify a maximum number of formulae to download and update.
## CUSTOM EXTERNAL COMMANDS
Homebrew, like `git`(1), supports external commands. These are executable
scripts that reside somewhere in the `PATH`, named `brew-`*`cmdname`* or
-`brew-`*`cmdname`*`.rb`, which can be invoked like `brew` *`cmdname`*. This allows
-you to create your own commands without modifying Homebrew's internals.
+`brew-`*`cmdname`*`.rb`, which can be invoked like `brew` *`cmdname`*. This
+allows you to create your own commands without modifying Homebrew's internals.
Instructions for creating your own commands can be found in the docs:
@@ -2031,32 +3385,28 @@ Instructions for creating your own commands can be found in the docs:
Many Homebrew commands accept one or more *`formula`* arguments. These arguments
can take several different forms:
- * The name of a formula:
- e.g. `git`, `node`, `wget`.
+* The name of a formula: e.g. `git`, `node`, `wget`.
- * The fully-qualified name of a tapped formula:
- Sometimes a formula from a tapped repository may conflict with one in
- `homebrew/core`.
- You can still access these formulae by using a special syntax, e.g.
- `homebrew/dupes/vim` or `homebrew/versions/node4`.
+* The fully-qualified name of a tapped formula: Sometimes a formula from a
+ tapped repository may conflict with one in `homebrew/core`. You can still
+ access these formulae by using a special syntax, e.g. `homebrew/dupes/vim` or
+ `homebrew/versions/node4`.
- * An arbitrary file:
- Homebrew can install formulae from a local path. It can point to either a
- formula file or a bottle.
- Prefix relative paths with `./` to prevent them from being interpreted as a
- formula or tap name.
+* An arbitrary file: Homebrew can install formulae from a local path. It can
+ point to either a formula file or a bottle. Prefix relative paths with `./` to
+ prevent them from being interpreted as a formula or tap name.
## SPECIFYING CASKS
Many Homebrew Cask commands accept one or more *`cask`* arguments. These can be
-specified the same way as the *`formula`* arguments described in
-`SPECIFYING FORMULAE` above.
+specified the same way as the *`formula`* arguments described in `SPECIFYING
+FORMULAE` above.
## ENVIRONMENT
Note that environment variables must have a value set to be detected. For
-example, run `export HOMEBREW_NO_INSECURE_REDIRECT=1` rather than just
-`export HOMEBREW_NO_INSECURE_REDIRECT`.
+example, run `export HOMEBREW_NO_INSECURE_REDIRECT=1` rather than just `export
+HOMEBREW_NO_INSECURE_REDIRECT`.
`HOMEBREW_*` environment variables can also be set in Homebrew's environment
files:
@@ -2075,315 +3425,496 @@ prefix-specific files take precedence over system-wide files (unless
Note that these files do not support shell variable expansion e.g. `$HOME` or
command execution e.g. `$(cat file)`.
-- `HOMEBREW_API_DOMAIN`
-
Use this URL as the download mirror for Homebrew JSON API. If metadata files at that URL are temporarily unavailable, the default API domain will be used as a fallback mirror.
+`HOMEBREW_API_DOMAIN`
+: Use this URL as the download mirror for Homebrew JSON API. If metadata files
+ at that URL are temporarily unavailable, the default API domain will be used
+ as a fallback mirror.
+
*Default:* `https://formulae.brew.sh/api`.
-- `HOMEBREW_ARCH`
-
Linux only: Pass this value to a type name representing the compiler's `-march` option.
+`HOMEBREW_ARCH`
+: Linux only: Pass this value to a type name representing the compiler's
+ `-march` option.
+
*Default:* `native`.
-- `HOMEBREW_ARTIFACT_DOMAIN`
-
Prefix all download URLs, including those for bottles, with this value. For example, `HOMEBREW_ARTIFACT_DOMAIN=http://localhost:8080` will cause a formula with the URL `https://example.com/foo.tar.gz` to instead download from `http://localhost:8080/https://example.com/foo.tar.gz`. Bottle URLs however, have their domain replaced with this prefix. This results in e.g. `https://ghcr.io/v2/homebrew/core/gettext/manifests/0.21` to instead be downloaded from `http://localhost:8080/v2/homebrew/core/gettext/manifests/0.21`
+`HOMEBREW_ARTIFACT_DOMAIN`
-- `HOMEBREW_API_AUTO_UPDATE_SECS`
-
Check Homebrew's API for new formulae or cask data every `HOMEBREW_API_AUTO_UPDATE_SECS` seconds. Alternatively, disable API auto-update checks entirely with `HOMEBREW_NO_AUTO_UPDATE`.
+: Prefix all download URLs, including those for bottles, with this value. For
+ example, `HOMEBREW_ARTIFACT_DOMAIN=http://localhost:8080` will cause a formula
+ with the URL `https://example.com/foo.tar.gz` to instead download from
+ `http://localhost:8080/https://example.com/foo.tar.gz`. Bottle URLs however,
+ have their domain replaced with this prefix. This results in e.g.
+ `https://ghcr.io/v2/homebrew/core/gettext/manifests/0.21` to instead be
+ downloaded from
+ `http://localhost:8080/v2/homebrew/core/gettext/manifests/0.21`
+`HOMEBREW_API_AUTO_UPDATE_SECS`
+
+: Check Homebrew's API for new formulae or cask data every
+ `HOMEBREW_API_AUTO_UPDATE_SECS` seconds. Alternatively, disable API
+ auto-update checks entirely with `HOMEBREW_NO_AUTO_UPDATE`.
+
*Default:* `450`.
-- `HOMEBREW_AUTO_UPDATE_SECS`
-
Run `brew update` once every `HOMEBREW_AUTO_UPDATE_SECS` seconds before some commands, e.g. `brew install`, `brew upgrade` and `brew tap`. Alternatively, disable auto-update entirely with `HOMEBREW_NO_AUTO_UPDATE`.
+`HOMEBREW_AUTO_UPDATE_SECS`
- *Default:* `86400` (24 hours), `3600` (1 hour) if a developer command has been run or `300` (5 minutes) if `HOMEBREW_NO_INSTALL_FROM_API` is set.
+: Run `brew update` once every `HOMEBREW_AUTO_UPDATE_SECS` seconds before some
+ commands, e.g. `brew install`, `brew upgrade` and `brew tap`. Alternatively,
+ disable auto-update entirely with `HOMEBREW_NO_AUTO_UPDATE`.
+
+ *Default:* `86400` (24 hours), `3600` (1 hour) if a developer command has been
+ run or `300` (5 minutes) if `HOMEBREW_NO_INSTALL_FROM_API` is set.
-- `HOMEBREW_AUTOREMOVE`
-
If set, calls to `brew cleanup` and `brew uninstall` will automatically remove unused formula dependents and if `HOMEBREW_NO_INSTALL_CLEANUP` is not set, `brew cleanup` will start running `brew autoremove` periodically.
+`HOMEBREW_AUTOREMOVE`
-- `HOMEBREW_BAT`
-
If set, use `bat` for the `brew cat` command.
+: If set, calls to `brew cleanup` and `brew uninstall` will automatically remove
+ unused formula dependents and if `HOMEBREW_NO_INSTALL_CLEANUP` is not set,
+ `brew cleanup` will start running `brew autoremove` periodically.
-- `HOMEBREW_BAT_CONFIG_PATH`
-
Use this as the `bat` configuration file.
+`HOMEBREW_BAT`
+: If set, use `bat` for the `brew cat` command.
+
+`HOMEBREW_BAT_CONFIG_PATH`
+
+: Use this as the `bat` configuration file.
+
*Default:* `$BAT_CONFIG_PATH`.
-- `HOMEBREW_BAT_THEME`
-
Use this as the `bat` theme for syntax highlighting.
+`HOMEBREW_BAT_THEME`
+: Use this as the `bat` theme for syntax highlighting.
+
*Default:* `$BAT_THEME`.
-- `HOMEBREW_BOOTSNAP`
-
If set, use Bootsnap to speed up repeated `brew` calls. A no-op when using Homebrew's vendored, relocatable Ruby on macOS (as it doesn't work).
+`HOMEBREW_BOOTSNAP`
-- `HOMEBREW_BOTTLE_DOMAIN`
-
Use this URL as the download mirror for bottles. If bottles at that URL are temporarily unavailable, the default bottle domain will be used as a fallback mirror. For example, `HOMEBREW_BOTTLE_DOMAIN=http://localhost:8080` will cause all bottles to download from the prefix `http://localhost:8080/`. If bottles are not available at `HOMEBREW_BOTTLE_DOMAIN` they will be downloaded from the default bottle domain.
+: If set, use Bootsnap to speed up repeated `brew` calls. A no-op when using
+ Homebrew's vendored, relocatable Ruby on macOS (as it doesn't work).
+`HOMEBREW_BOTTLE_DOMAIN`
+
+: Use this URL as the download mirror for bottles. If bottles at that URL are
+ temporarily unavailable, the default bottle domain will be used as a fallback
+ mirror. For example, `HOMEBREW_BOTTLE_DOMAIN=http://localhost:8080` will cause
+ all bottles to download from the prefix `http://localhost:8080/`. If bottles
+ are not available at `HOMEBREW_BOTTLE_DOMAIN` they will be downloaded from the
+ default bottle domain.
+
*Default:* `https://ghcr.io/v2/homebrew/core`.
-- `HOMEBREW_BREW_GIT_REMOTE`
-
Use this URL as the Homebrew/brew `git`(1) remote.
+`HOMEBREW_BREW_GIT_REMOTE`
+: Use this URL as the Homebrew/brew `git`(1) remote.
+
*Default:* `https://github.com/Homebrew/brew`.
-- `HOMEBREW_BROWSER`
-
Use this as the browser when opening project homepages.
+`HOMEBREW_BROWSER`
+: Use this as the browser when opening project homepages.
+
*Default:* `$BROWSER` or the OS's default browser.
-- `HOMEBREW_CACHE`
-
Use this directory as the download cache.
+`HOMEBREW_CACHE`
- *Default:* macOS: `$HOME/Library/Caches/Homebrew`, Linux: `$XDG_CACHE_HOME/Homebrew` or `$HOME/.cache/Homebrew`.
+: Use this directory as the download cache.
+
+ *Default:* macOS: `$HOME/Library/Caches/Homebrew`, Linux:
+ `$XDG_CACHE_HOME/Homebrew` or `$HOME/.cache/Homebrew`.
-- `HOMEBREW_CASK_OPTS`
-
Append these options to all `cask` commands. All `--*dir` options, `--language`, `--require-sha`, `--no-quarantine` and `--no-binaries` are supported. For example, you might add something like the following to your `~/.profile`, `~/.bash_profile`, or `~/.zshenv`:
+`HOMEBREW_CASK_OPTS`
- `export HOMEBREW_CASK_OPTS="--appdir=~/Applications --fontdir=/Library/Fonts"`
+: Append these options to all `cask` commands. All `--*dir` options,
+ `--language`, `--require-sha`, `--no-quarantine` and `--no-binaries` are
+ supported. For example, you might add something like the following to your
+ `~/.profile`, `~/.bash_profile`, or `~/.zshenv`:
+
+ `export HOMEBREW_CASK_OPTS="--appdir=~/Applications --fontdir=/Library/Fonts"`
-- `HOMEBREW_CLEANUP_MAX_AGE_DAYS`
-
Cleanup all cached files older than this many days.
+`HOMEBREW_CLEANUP_MAX_AGE_DAYS`
+: Cleanup all cached files older than this many days.
+
*Default:* `120`.
-- `HOMEBREW_CLEANUP_PERIODIC_FULL_DAYS`
-
If set, `brew install`, `brew upgrade` and `brew reinstall` will cleanup all formulae when this number of days has passed.
+`HOMEBREW_CLEANUP_PERIODIC_FULL_DAYS`
+: If set, `brew install`, `brew upgrade` and `brew reinstall` will cleanup all
+ formulae when this number of days has passed.
+
*Default:* `30`.
-- `HOMEBREW_COLOR`
-
If set, force colour output on non-TTY outputs.
+`HOMEBREW_COLOR`
-- `HOMEBREW_CORE_GIT_REMOTE`
-
Use this URL as the Homebrew/homebrew-core `git`(1) remote.
+: If set, force colour output on non-TTY outputs.
+`HOMEBREW_CORE_GIT_REMOTE`
+
+: Use this URL as the Homebrew/homebrew-core `git`(1) remote.
+
*Default:* `https://github.com/Homebrew/homebrew-core`.
-- `HOMEBREW_CURL_PATH`
-
Linux only: Set this value to a new enough `curl` executable for Homebrew to use.
+`HOMEBREW_CURL_PATH`
+: Linux only: Set this value to a new enough `curl` executable for Homebrew to
+ use.
+
*Default:* `curl`.
-- `HOMEBREW_CURL_RETRIES`
-
Pass the given retry count to `--retry` when invoking `curl`(1).
+`HOMEBREW_CURL_RETRIES`
+: Pass the given retry count to `--retry` when invoking `curl`(1).
+
*Default:* `3`.
-- `HOMEBREW_CURL_VERBOSE`
-
If set, pass `--verbose` when invoking `curl`(1).
+`HOMEBREW_CURL_VERBOSE`
-- `HOMEBREW_CURLRC`
-
If set to an absolute path (i.e. beginning with `/`), pass it with `--config` when invoking `curl`(1). If set but _not_ a valid path, do not pass `--disable`, which disables the use of `.curlrc`.
+: If set, pass `--verbose` when invoking `curl`(1).
-- `HOMEBREW_DEBUG`
-
If set, always assume `--debug` when running commands.
+`HOMEBREW_CURLRC`
-- `HOMEBREW_DEVELOPER`
-
If set, tweak behaviour to be more relevant for Homebrew developers (active or budding) by e.g. turning warnings into errors.
+: If set to an absolute path (i.e. beginning with `/`), pass it with `--config`
+ when invoking `curl`(1). If set but *not* a valid path, do not pass
+ `--disable`, which disables the use of `.curlrc`.
-- `HOMEBREW_DISABLE_LOAD_FORMULA`
-
If set, refuse to load formulae. This is useful when formulae are not trusted (such as in pull requests).
+`HOMEBREW_DEBUG`
-- `HOMEBREW_DISPLAY`
-
Use this X11 display when opening a page in a browser, for example with `brew home`. Primarily useful on Linux.
+: If set, always assume `--debug` when running commands.
+`HOMEBREW_DEVELOPER`
+
+: If set, tweak behaviour to be more relevant for Homebrew developers (active or
+ budding) by e.g. turning warnings into errors.
+
+`HOMEBREW_DISABLE_LOAD_FORMULA`
+
+: If set, refuse to load formulae. This is useful when formulae are not trusted
+ (such as in pull requests).
+
+`HOMEBREW_DISPLAY`
+
+: Use this X11 display when opening a page in a browser, for example with `brew
+ home`. Primarily useful on Linux.
+
*Default:* `$DISPLAY`.
-- `HOMEBREW_DISPLAY_INSTALL_TIMES`
-
If set, print install times for each formula at the end of the run.
+`HOMEBREW_DISPLAY_INSTALL_TIMES`
-- `HOMEBREW_DOCKER_REGISTRY_BASIC_AUTH_TOKEN`
-
Use this base64 encoded username and password for authenticating with a Docker registry proxying GitHub Packages. If `HOMEBREW_DOCKER_REGISTRY_TOKEN` is set, it will be used instead.
+: If set, print install times for each formula at the end of the run.
-- `HOMEBREW_DOCKER_REGISTRY_TOKEN`
-
Use this bearer token for authenticating with a Docker registry proxying GitHub Packages. Preferred over `HOMEBREW_DOCKER_REGISTRY_BASIC_AUTH_TOKEN`.
+`HOMEBREW_DOCKER_REGISTRY_BASIC_AUTH_TOKEN`
-- `HOMEBREW_EDITOR`
-
Use this editor when editing a single formula, or several formulae in the same directory.
+: Use this base64 encoded username and password for authenticating with a Docker
+ registry proxying GitHub Packages. If `HOMEBREW_DOCKER_REGISTRY_TOKEN` is set,
+ it will be used instead.
- *Note:* `brew edit` will open all of Homebrew as discontinuous files and directories. Visual Studio Code can handle this correctly in project mode, but many editors will do strange things in this case.
+`HOMEBREW_DOCKER_REGISTRY_TOKEN`
+: Use this bearer token for authenticating with a Docker registry proxying
+ GitHub Packages. Preferred over `HOMEBREW_DOCKER_REGISTRY_BASIC_AUTH_TOKEN`.
+
+`HOMEBREW_EDITOR`
+
+: Use this editor when editing a single formula, or several formulae in the same
+ directory.
+
+ *Note:* `brew edit` will open all of Homebrew as discontinuous files and
+ directories. Visual Studio Code can handle this correctly in project mode, but
+ many editors will do strange things in this case.
+
*Default:* `$EDITOR` or `$VISUAL`.
-- `HOMEBREW_EVAL_ALL`
-
If set, `brew` commands evaluate all formulae and casks, executing their arbitrary code, by default without requiring `--eval-all`. Required to cache formula and cask descriptions.
+`HOMEBREW_EVAL_ALL`
-- `HOMEBREW_FAIL_LOG_LINES`
-
Output this many lines of output on formula `system` failures.
+: If set, `brew` commands evaluate all formulae and casks, executing their
+ arbitrary code, by default without requiring `--eval-all`. Required to cache
+ formula and cask descriptions.
+`HOMEBREW_FAIL_LOG_LINES`
+
+: Output this many lines of output on formula `system` failures.
+
*Default:* `15`.
-- `HOMEBREW_FORBIDDEN_LICENSES`
-
A space-separated list of licenses. Homebrew will refuse to install a formula if it or any of its dependencies has a license on this list.
+`HOMEBREW_FORBIDDEN_LICENSES`
-- `HOMEBREW_FORCE_BREWED_CA_CERTIFICATES`
-
If set, always use a Homebrew-installed `ca-certificates` rather than the system version. Automatically set if the system version is too old.
+: A space-separated list of licenses. Homebrew will refuse to install a formula
+ if it or any of its dependencies has a license on this list.
-- `HOMEBREW_FORCE_BREWED_CURL`
-
If set, always use a Homebrew-installed `curl`(1) rather than the system version. Automatically set if the system version of `curl` is too old.
+`HOMEBREW_FORCE_BREWED_CA_CERTIFICATES`
-- `HOMEBREW_FORCE_BREWED_GIT`
-
If set, always use a Homebrew-installed `git`(1) rather than the system version. Automatically set if the system version of `git` is too old.
+: If set, always use a Homebrew-installed `ca-certificates` rather than the
+ system version. Automatically set if the system version is too old.
-- `HOMEBREW_FORCE_VENDOR_RUBY`
-
If set, always use Homebrew's vendored, relocatable Ruby version even if the system version of Ruby is new enough.
+`HOMEBREW_FORCE_BREWED_CURL`
-- `HOMEBREW_GIT_EMAIL`
-
Set the Git author and committer email to this value.
+: If set, always use a Homebrew-installed `curl`(1) rather than the system
+ version. Automatically set if the system version of `curl` is too old.
-- `HOMEBREW_GIT_NAME`
-
Set the Git author and committer name to this value.
+`HOMEBREW_FORCE_BREWED_GIT`
-- `HOMEBREW_GIT_PATH`
-
Linux only: Set this value to a new enough `git` executable for Homebrew to use.
+: If set, always use a Homebrew-installed `git`(1) rather than the system
+ version. Automatically set if the system version of `git` is too old.
+`HOMEBREW_FORCE_VENDOR_RUBY`
+
+: If set, always use Homebrew's vendored, relocatable Ruby version even if the
+ system version of Ruby is new enough.
+
+`HOMEBREW_GIT_EMAIL`
+
+: Set the Git author and committer email to this value.
+
+`HOMEBREW_GIT_NAME`
+
+: Set the Git author and committer name to this value.
+
+`HOMEBREW_GIT_PATH`
+
+: Linux only: Set this value to a new enough `git` executable for Homebrew to
+ use.
+
*Default:* `git`.
-- `HOMEBREW_GITHUB_API_TOKEN`
-
Use this personal access token for the GitHub API, for features such as `brew search`. You can create one at . If set, GitHub will allow you a greater number of API requests. For more information, see:
+`HOMEBREW_GITHUB_API_TOKEN`
- *Note:* Homebrew doesn't require permissions for any of the scopes, but some developer commands may require additional permissions.
+: Use this personal access token for the GitHub API, for features such as `brew
+ search`. You can create one at . If set,
+ GitHub will allow you a greater number of API requests. For more information,
+ see:
+
+ *Note:* Homebrew doesn't require permissions for any of the scopes, but some
+ developer commands may require additional permissions.
-- `HOMEBREW_GITHUB_PACKAGES_TOKEN`
-
Use this GitHub personal access token when accessing the GitHub Packages Registry (where bottles may be stored).
+`HOMEBREW_GITHUB_PACKAGES_TOKEN`
-- `HOMEBREW_GITHUB_PACKAGES_USER`
-
Use this username when accessing the GitHub Packages Registry (where bottles may be stored).
+: Use this GitHub personal access token when accessing the GitHub Packages
+ Registry (where bottles may be stored).
-- `HOMEBREW_INSTALL_BADGE`
-
Print this text before the installation summary of each successful build.
+`HOMEBREW_GITHUB_PACKAGES_USER`
+: Use this username when accessing the GitHub Packages Registry (where bottles
+ may be stored).
+
+`HOMEBREW_INSTALL_BADGE`
+
+: Print this text before the installation summary of each successful build.
+
*Default:* The "Beer Mug" emoji.
-- `HOMEBREW_LIVECHECK_WATCHLIST`
-
Consult this file for the list of formulae to check by default when no formula argument is passed to `brew livecheck`.
+`HOMEBREW_LIVECHECK_WATCHLIST`
- *Default:* `$XDG_CONFIG_HOME/homebrew/livecheck_watchlist.txt` if `$XDG_CONFIG_HOME` is set or `$HOME/.homebrew/livecheck_watchlist.txt` otherwise.
+: Consult this file for the list of formulae to check by default when no formula
+ argument is passed to `brew livecheck`.
+
+ *Default:* `$XDG_CONFIG_HOME/homebrew/livecheck_watchlist.txt` if
+ `$XDG_CONFIG_HOME` is set or `$HOME/.homebrew/livecheck_watchlist.txt`
+ otherwise.
-- `HOMEBREW_LOGS`
-
Use this directory to store log files.
+`HOMEBREW_LOGS`
- *Default:* macOS: `$HOME/Library/Logs/Homebrew`, Linux: `$XDG_CACHE_HOME/Homebrew/Logs` or `$HOME/.cache/Homebrew/Logs`.
+: Use this directory to store log files.
+
+ *Default:* macOS: `$HOME/Library/Logs/Homebrew`, Linux:
+ `$XDG_CACHE_HOME/Homebrew/Logs` or `$HOME/.cache/Homebrew/Logs`.
-- `HOMEBREW_MAKE_JOBS`
-
Use this value as the number of parallel jobs to run when building with `make`(1).
+`HOMEBREW_MAKE_JOBS`
+: Use this value as the number of parallel jobs to run when building with
+ `make`(1).
+
*Default:* The number of available CPU cores.
-- `HOMEBREW_NO_ANALYTICS`
-
If set, do not send analytics. Google Analytics were destroyed. For more information, see:
+`HOMEBREW_NO_ANALYTICS`
-- `HOMEBREW_NO_AUTO_UPDATE`
-
If set, do not automatically update before running some commands, e.g. `brew install`, `brew upgrade` and `brew tap`. Alternatively, run this less often by setting `HOMEBREW_AUTO_UPDATE_SECS` to a value higher than the default.
+: If set, do not send analytics. Google Analytics were destroyed. For more
+ information, see:
-- `HOMEBREW_NO_BOOTSNAP`
-
If set, do not use Bootsnap to speed up repeated `brew` calls.
+`HOMEBREW_NO_AUTO_UPDATE`
-- `HOMEBREW_NO_CLEANUP_FORMULAE`
-
A comma-separated list of formulae. Homebrew will refuse to clean up or autoremove a formula if it appears on this list.
+: If set, do not automatically update before running some commands, e.g. `brew
+ install`, `brew upgrade` and `brew tap`. Alternatively, run this less often by
+ setting `HOMEBREW_AUTO_UPDATE_SECS` to a value higher than the default.
-- `HOMEBREW_NO_COLOR`
-
If set, do not print text with colour added.
+`HOMEBREW_NO_BOOTSNAP`
+: If set, do not use Bootsnap to speed up repeated `brew` calls.
+
+`HOMEBREW_NO_CLEANUP_FORMULAE`
+
+: A comma-separated list of formulae. Homebrew will refuse to clean up or
+ autoremove a formula if it appears on this list.
+
+`HOMEBREW_NO_COLOR`
+
+: If set, do not print text with colour added.
+
*Default:* `$NO_COLOR`.
-- `HOMEBREW_NO_EMOJI`
-
If set, do not print `HOMEBREW_INSTALL_BADGE` on a successful build.
+`HOMEBREW_NO_EMOJI`
-- `HOMEBREW_NO_ENV_HINTS`
-
If set, do not print any hints about changing Homebrew's behaviour with environment variables.
+: If set, do not print `HOMEBREW_INSTALL_BADGE` on a successful build.
-- `HOMEBREW_NO_GITHUB_API`
-
If set, do not use the GitHub API, e.g. for searches or fetching relevant issues after a failed install.
+`HOMEBREW_NO_ENV_HINTS`
-- `HOMEBREW_NO_INSECURE_REDIRECT`
-
If set, forbid redirects from secure HTTPS to insecure HTTP.
+: If set, do not print any hints about changing Homebrew's behaviour with
+ environment variables.
- *Note:* while ensuring your downloads are fully secure, this is likely to cause from-source SourceForge, some GNU & GNOME-hosted formulae to fail to download.
+`HOMEBREW_NO_GITHUB_API`
-- `HOMEBREW_NO_INSTALL_CLEANUP`
-
If set, `brew install`, `brew upgrade` and `brew reinstall` will never automatically cleanup installed/upgraded/reinstalled formulae or all formulae every `HOMEBREW_CLEANUP_PERIODIC_FULL_DAYS` days. Alternatively, `HOMEBREW_NO_CLEANUP_FORMULAE` allows specifying specific formulae to not clean up.
+: If set, do not use the GitHub API, e.g. for searches or fetching relevant
+ issues after a failed install.
-- `HOMEBREW_NO_INSTALL_FROM_API`
-
If set, do not install formulae and casks in homebrew/core and homebrew/cask taps using Homebrew's API and instead use (large, slow) local checkouts of these repositories.
+`HOMEBREW_NO_INSECURE_REDIRECT`
-- `HOMEBREW_NO_INSTALL_UPGRADE`
-
If set, `brew install` *`formula|cask`* will not upgrade *`formula|cask`* if it is installed but outdated.
+: If set, forbid redirects from secure HTTPS to insecure HTTP.
+
+ *Note:* while ensuring your downloads are fully secure, this is likely to
+ cause from-source SourceForge, some GNU & GNOME-hosted formulae to fail to
+ download.
-- `HOMEBREW_NO_INSTALLED_DEPENDENTS_CHECK`
-
If set, do not check for broken linkage of dependents or outdated dependents after installing, upgrading or reinstalling formulae. This will result in fewer dependents (and their dependencies) being upgraded or reinstalled but may result in more breakage from running `brew install` *`formula`* or `brew upgrade` *`formula`*.
+`HOMEBREW_NO_INSTALL_CLEANUP`
-- `HOMEBREW_NO_UPDATE_REPORT_NEW`
-
If set, `brew update` will not show the list of newly added formulae/casks.
+: If set, `brew install`, `brew upgrade` and `brew reinstall` will never
+ automatically cleanup installed/upgraded/reinstalled formulae or all formulae
+ every `HOMEBREW_CLEANUP_PERIODIC_FULL_DAYS` days. Alternatively,
+ `HOMEBREW_NO_CLEANUP_FORMULAE` allows specifying specific formulae to not
+ clean up.
-- `HOMEBREW_PIP_INDEX_URL`
-
If set, `brew install` *`formula`* will use this URL to download PyPI package resources.
+`HOMEBREW_NO_INSTALL_FROM_API`
+: If set, do not install formulae and casks in homebrew/core and homebrew/cask
+ taps using Homebrew's API and instead use (large, slow) local checkouts of
+ these repositories.
+
+`HOMEBREW_NO_INSTALL_UPGRADE`
+
+: If set, `brew install` *`formula|cask`* will not upgrade *`formula|cask`* if
+ it is installed but outdated.
+
+`HOMEBREW_NO_INSTALLED_DEPENDENTS_CHECK`
+
+: If set, do not check for broken linkage of dependents or outdated dependents
+ after installing, upgrading or reinstalling formulae. This will result in
+ fewer dependents (and their dependencies) being upgraded or reinstalled but
+ may result in more breakage from running `brew install` *`formula`* or `brew
+ upgrade` *`formula`*.
+
+`HOMEBREW_NO_UPDATE_REPORT_NEW`
+
+: If set, `brew update` will not show the list of newly added formulae/casks.
+
+`HOMEBREW_PIP_INDEX_URL`
+
+: If set, `brew install` *`formula`* will use this URL to download PyPI package
+ resources.
+
*Default:* `https://pypi.org/simple`.
-- `HOMEBREW_PRY`
-
If set, use Pry for the `brew irb` command.
+`HOMEBREW_PRY`
-- `HOMEBREW_UPGRADE_GREEDY`
-
If set, pass `--greedy` to all cask upgrade commands.
+: If set, use Pry for the `brew irb` command.
-- `HOMEBREW_SIMULATE_MACOS_ON_LINUX`
-
If set, running Homebrew on Linux will simulate certain macOS code paths. This is useful when auditing macOS formulae while on Linux.
+`HOMEBREW_UPGRADE_GREEDY`
-- `HOMEBREW_SKIP_OR_LATER_BOTTLES`
-
If set along with `HOMEBREW_DEVELOPER`, do not use bottles from older versions of macOS. This is useful in development on new macOS versions.
+: If set, pass `--greedy` to all cask upgrade commands.
-- `HOMEBREW_SORBET_RUNTIME`
-
If set, enable runtime typechecking using Sorbet. Set by default for `HOMEBREW_DEVELOPER` or when running some developer commands.
+`HOMEBREW_SIMULATE_MACOS_ON_LINUX`
-- `HOMEBREW_SSH_CONFIG_PATH`
-
If set, Homebrew will use the given config file instead of `~/.ssh/config` when fetching Git repositories over SSH.
+: If set, running Homebrew on Linux will simulate certain macOS code paths. This
+ is useful when auditing macOS formulae while on Linux.
+`HOMEBREW_SKIP_OR_LATER_BOTTLES`
+
+: If set along with `HOMEBREW_DEVELOPER`, do not use bottles from older versions
+ of macOS. This is useful in development on new macOS versions.
+
+`HOMEBREW_SORBET_RUNTIME`
+
+: If set, enable runtime typechecking using Sorbet. Set by default for
+ `HOMEBREW_DEVELOPER` or when running some developer commands.
+
+`HOMEBREW_SSH_CONFIG_PATH`
+
+: If set, Homebrew will use the given config file instead of `~/.ssh/config`
+ when fetching Git repositories over SSH.
+
*Default:* `$HOME/.ssh/config`
-- `HOMEBREW_SVN`
-
Use this as the `svn`(1) binary.
+`HOMEBREW_SVN`
- *Default:* A Homebrew-built Subversion (if installed), or the system-provided binary.
+: Use this as the `svn`(1) binary.
+
+ *Default:* A Homebrew-built Subversion (if installed), or the system-provided
+ binary.
-- `HOMEBREW_SYSTEM_ENV_TAKES_PRIORITY`
-
If set in Homebrew's system-wide environment file (`/etc/homebrew/brew.env`), the system-wide environment file will be loaded last to override any prefix or user settings.
+`HOMEBREW_SYSTEM_ENV_TAKES_PRIORITY`
-- `HOMEBREW_SUDO_THROUGH_SUDO_USER`
-
If set, Homebrew will use the `SUDO_USER` environment variable to define the user to `sudo`(8) through when running `sudo`(8).
+: If set in Homebrew's system-wide environment file (`/etc/homebrew/brew.env`),
+ the system-wide environment file will be loaded last to override any prefix or
+ user settings.
-- `HOMEBREW_TEMP`
-
Use this path as the temporary directory for building packages. Changing this may be needed if your system temporary directory and Homebrew prefix are on different volumes, as macOS has trouble moving symlinks across volumes when the target does not yet exist. This issue typically occurs when using FileVault or custom SSD configurations.
+`HOMEBREW_SUDO_THROUGH_SUDO_USER`
+: If set, Homebrew will use the `SUDO_USER` environment variable to define the
+ user to `sudo`(8) through when running `sudo`(8).
+
+`HOMEBREW_TEMP`
+
+: Use this path as the temporary directory for building packages. Changing this
+ may be needed if your system temporary directory and Homebrew prefix are on
+ different volumes, as macOS has trouble moving symlinks across volumes when
+ the target does not yet exist. This issue typically occurs when using
+ FileVault or custom SSD configurations.
+
*Default:* macOS: `/private/tmp`, Linux: `/tmp`.
-- `HOMEBREW_UPDATE_TO_TAG`
-
If set, always use the latest stable tag (even if developer commands have been run).
+`HOMEBREW_UPDATE_TO_TAG`
-- `HOMEBREW_VERBOSE`
-
If set, always assume `--verbose` when running commands.
+: If set, always use the latest stable tag (even if developer commands have been
+ run).
-- `HOMEBREW_VERBOSE_USING_DOTS`
-
If set, verbose output will print a `.` no more than once a minute. This can be useful to avoid long-running Homebrew commands being killed due to no output.
+`HOMEBREW_VERBOSE`
-- `SUDO_ASKPASS`
-
If set, pass the `-A` option when calling `sudo`(8).
+: If set, always assume `--verbose` when running commands.
-- `all_proxy`
-
Use this SOCKS5 proxy for `curl`(1), `git`(1) and `svn`(1) when downloading through Homebrew.
+`HOMEBREW_VERBOSE_USING_DOTS`
-- `ftp_proxy`
-
Use this FTP proxy for `curl`(1), `git`(1) and `svn`(1) when downloading through Homebrew.
+: If set, verbose output will print a `.` no more than once a minute. This can
+ be useful to avoid long-running Homebrew commands being killed due to no
+ output.
-- `http_proxy`
-
Use this HTTP proxy for `curl`(1), `git`(1) and `svn`(1) when downloading through Homebrew.
+`SUDO_ASKPASS`
-- `https_proxy`
-
Use this HTTPS proxy for `curl`(1), `git`(1) and `svn`(1) when downloading through Homebrew.
+: If set, pass the `-A` option when calling `sudo`(8).
-- `no_proxy`
-
A comma-separated list of hostnames and domain names excluded from proxying by `curl`(1), `git`(1) and `svn`(1) when downloading through Homebrew.
+`all_proxy`
+
+: Use this SOCKS5 proxy for `curl`(1), `git`(1) and `svn`(1) when downloading
+ through Homebrew.
+
+`ftp_proxy`
+
+: Use this FTP proxy for `curl`(1), `git`(1) and `svn`(1) when downloading
+ through Homebrew.
+
+`http_proxy`
+
+: Use this HTTP proxy for `curl`(1), `git`(1) and `svn`(1) when downloading
+ through Homebrew.
+
+`https_proxy`
+
+: Use this HTTPS proxy for `curl`(1), `git`(1) and `svn`(1) when downloading
+ through Homebrew.
+
+`no_proxy`
+
+: A comma-separated list of hostnames and domain names excluded from proxying by
+ `curl`(1), `git`(1) and `svn`(1) when downloading through Homebrew.
## USING HOMEBREW BEHIND A PROXY
@@ -2393,7 +3924,7 @@ environment variables documented above.
For example, to use an unauthenticated HTTP or SOCKS5 proxy:
export http_proxy=http://$HOST:$PORT
-
+
export all_proxy=socks5://$HOST:$PORT
And for an authenticated HTTP proxy:
@@ -2412,43 +3943,40 @@ Homebrew API:
Homebrew's Project Leader is Mike McQuaid.
-Homebrew's Project Leadership Committee is Colin Dean, Issy Long, Mike McQuaid, Patrick Linnane and Vanessa Gennarelli.
+Homebrew's Project Leadership Committee is Colin Dean, Issy Long, Mike McQuaid,
+Patrick Linnane and Vanessa Gennarelli.
-Homebrew's Technical Steering Committee is Bo Anderson, FX Coudert, Michka Popoff, Mike McQuaid and Rylan Polster.
+Homebrew's Technical Steering Committee is Bo Anderson, FX Coudert, Michka
+Popoff, Mike McQuaid and Rylan Polster.
-Homebrew's maintainers are Alexander Bayandin, Bevan Kay, Bo Anderson, Branch Vincent, Caleb Xu, Carlo Cabrera, David Baumgold, Douglas Eichelberger, Dustin Rodrigues, Eric Knibbe, FX Coudert, Issy Long, Justin Krehel, Markus Reiter, Miccal Matthews, Michael Cho, Michka Popoff, Mike McQuaid, Nanda H Krishna, Patrick Linnane, Razvan Azamfirei, Rui Chen, Ruoyu Zhong, Rylan Polster, Sam Ford, Sean Molenaar and Thierry Moisan.
+Homebrew's maintainers are Alexander Bayandin, Bevan Kay, Bo Anderson, Branch
+Vincent, Caleb Xu, Carlo Cabrera, David Baumgold, Douglas Eichelberger, Dustin
+Rodrigues, Eric Knibbe, FX Coudert, Issy Long, Justin Krehel, Markus Reiter,
+Miccal Matthews, Michael Cho, Michka Popoff, Mike McQuaid, Nanda H Krishna,
+Patrick Linnane, Razvan Azamfirei, Rui Chen, Ruoyu Zhong, Rylan Polster, Sam
+Ford, Sean Molenaar and Thierry Moisan.
-Former maintainers with significant contributions include Misty De Méo, Shaun Jackman, Vítor Galvão, Claudia Pellegrino, Seeker, William Woodruff, Jan Viljanen, JCount, commitay, Dominyk Tiller, Tim Smith, Baptiste Fontaine, Xu Cheng, Martin Afanasjew, Brett Koonce, Charlie Sharpsteen, Jack Nagel, Adam Vandenberg, Andrew Janke, Alex Dunn, neutric, Tomasz Pajor, Uladzislau Shablinski, Alyssa Ross, ilovezfs, Chongyu Zhu and Homebrew's creator: Max Howell.
+Former maintainers with significant contributions include Misty De Méo, Shaun
+Jackman, Vítor Galvão, Claudia Pellegrino, Seeker, William Woodruff, Jan
+Viljanen, JCount, commitay, Dominyk Tiller, Tim Smith, Baptiste Fontaine, Xu
+Cheng, Martin Afanasjew, Brett Koonce, Charlie Sharpsteen, Jack Nagel, Adam
+Vandenberg, Andrew Janke, Alex Dunn, neutric, Tomasz Pajor, Uladzislau
+Shablinski, Alyssa Ross, ilovezfs, Chongyu Zhu and Homebrew's creator: Max
+Howell.
## BUGS
See our issues on GitHub:
- * **Homebrew/brew**:
-
+**Homebrew/brew**
- * **Homebrew/homebrew-core**:
-
+:
- * **Homebrew/homebrew-cask**:
-
+**Homebrew/homebrew-core**
-[SYNOPSIS]: #SYNOPSIS "SYNOPSIS"
-[DESCRIPTION]: #DESCRIPTION "DESCRIPTION"
-[TERMINOLOGY]: #TERMINOLOGY "TERMINOLOGY"
-[ESSENTIAL COMMANDS]: #ESSENTIAL-COMMANDS "ESSENTIAL COMMANDS"
-[COMMANDS]: #COMMANDS "COMMANDS"
-[DEVELOPER COMMANDS]: #DEVELOPER-COMMANDS "DEVELOPER COMMANDS"
-[GLOBAL CASK OPTIONS]: #GLOBAL-CASK-OPTIONS "GLOBAL CASK OPTIONS"
-[GLOBAL OPTIONS]: #GLOBAL-OPTIONS "GLOBAL OPTIONS"
-[OFFICIAL EXTERNAL COMMANDS]: #OFFICIAL-EXTERNAL-COMMANDS "OFFICIAL EXTERNAL COMMANDS"
-[CUSTOM EXTERNAL COMMANDS]: #CUSTOM-EXTERNAL-COMMANDS "CUSTOM EXTERNAL COMMANDS"
-[SPECIFYING FORMULAE]: #SPECIFYING-FORMULAE "SPECIFYING FORMULAE"
-[SPECIFYING CASKS]: #SPECIFYING-CASKS "SPECIFYING CASKS"
-[ENVIRONMENT]: #ENVIRONMENT "ENVIRONMENT"
-[USING HOMEBREW BEHIND A PROXY]: #USING-HOMEBREW-BEHIND-A-PROXY "USING HOMEBREW BEHIND A PROXY"
-[SEE ALSO]: #SEE-ALSO "SEE ALSO"
-[AUTHORS]: #AUTHORS "AUTHORS"
-[BUGS]: #BUGS "BUGS"
+:
+
+**Homebrew/homebrew-cask**
+
+:
-[-]: -.html
diff --git a/manpages/brew.1 b/manpages/brew.1
index 8c95e9766c..e742a26461 100644
--- a/manpages/brew.1
+++ b/manpages/brew.1
@@ -1,3625 +1,2619 @@
-.\" generated with Ronn/v0.7.3
-.\" http://github.com/rtomayko/ronn/tree/0.7.3
-.
-.TH "BREW" "1" "September 2022" "Homebrew" "brew"
-.
-.SH "NAME"
-\fBbrew\fR \- The Missing Package Manager for macOS (or Linux)
-.
+.\" generated by kramdown
+.TH "BREW" "1" "March 2024" "Homebrew"
+.SH NAME
+brew \- The Missing Package Manager for macOS (or Linux)
.SH "SYNOPSIS"
-\fBbrew\fR \fB\-\-version\fR
-.
+\fBbrew\fP \fB\-\-version\fP
.br
-\fBbrew\fR \fIcommand\fR [\fB\-\-verbose\fR|\fB\-v\fR] [\fIoptions\fR] [\fIformula\fR] \.\.\.
-.
+\fBbrew\fP \fIcommand\fP [\fB\-\-verbose\fP|\fB\-v\fP] [\fIoptions\fP] [\fIformula\fP] \.\.\.
.SH "DESCRIPTION"
-Homebrew is the easiest and most flexible way to install the UNIX tools Apple didn\'t include with macOS\. It can also install software not packaged for your Linux distribution without requiring \fBsudo\fR\.
-.
+Homebrew is the easiest and most flexible way to install the UNIX tools Apple didn\[u2019]t include with macOS\. It can also install software not packaged for your Linux distribution without requiring \fBsudo\fP\&\.
.SH "TERMINOLOGY"
-\fBformula\fR
- Homebrew package definition that builds from upstream sources
-.
-.P
-\fBcask\fR
- Homebrew package definition that installs macOS native applications
-.
-.P
-\fBprefix\fR
- path in which Homebrew is installed, e\.g\. \fB/usr/local\fR
-.
-.P
-\fBkeg\fR
- installation destination directory of a given \fBformula\fR version, e\.g\. \fB/usr/local/Cellar/foo/0\.1\fR
-.
-.P
-\fBrack\fR
- directory containing one or more versioned \fBkegs\fR, e\.g\. \fB/usr/local/Cellar/foo\fR
-.
-.P
-\fBkeg\-only\fR
- a \fBformula\fR is \fIkeg\-only\fR if it is not symlinked into Homebrew\'s prefix
-.
-.P
-\fBopt prefix\fR
- a symlink to the active version of a \fBkeg\fR, e\.g\. \fB/usr/local/opt/foo\fR
-.
-.P
-\fBCellar\fR
- directory containing one or more named \fBracks\fR, e\.g\. \fB/usr/local/Cellar\fR
-.
-.P
-\fBCaskroom\fR
- directory containing one or more named \fBcasks\fR, e\.g\. \fB/usr/local/Caskroom\fR
-.
-.P
-\fBexternal command\fR
- \fBbrew\fR subcommand defined outside of the Homebrew/brew GitHub repository
-.
-.P
-\fBtap\fR
- directory (and usually Git repository) of \fBformulae\fR, \fBcasks\fR and/or \fBexternal commands\fR
-.
-.P
-\fBbottle\fR
- pre\-built \fBkeg\fR poured into a \fBrack\fR of the \fBCellar\fR instead of building from upstream sources
-.
+.TP
+\fBformula\fP
+Homebrew package definition that builds from upstream sources
+.TP
+\fBcask\fP
+Homebrew package definition that installs macOS native applications
+.TP
+\fBprefix\fP
+path in which Homebrew is installed, e\.g\. \fB/usr/local\fP
+.TP
+\fBkeg\fP
+installation destination directory of a given \fBformula\fP version, e\.g\. \fB/usr/local/Cellar/foo/0\.1\fP
+.TP
+\fBrack\fP
+directory containing one or more versioned \fBkegs\fP, e\.g\. \fB/usr/local/Cellar/foo\fP
+.TP
+\fBkeg\-only\fP
+a \fBformula\fP is \fIkeg\-only\fP if it is not symlinked into Homebrew\[u2019]s prefix
+.TP
+\fBopt prefix\fP
+a symlink to the active version of a \fBkeg\fP, e\.g\. \fB/usr/local/opt/foo\fP
+.TP
+\fBCellar\fP
+directory containing one or more named \fBracks\fP, e\.g\. \fB/usr/local/Cellar\fP
+.TP
+\fBCaskroom\fP
+directory containing one or more named \fBcasks\fP, e\.g\. \fB/usr/local/Caskroom\fP
+.TP
+\fBexternal command\fP
+\fBbrew\fP subcommand defined outside of the Homebrew/brew GitHub repository
+.TP
+\fBtap\fP
+directory (and usually Git repository) of \fBformulae\fP, \fBcasks\fP and/or \fBexternal commands\fP
+.TP
+\fBbottle\fP
+pre\-built \fBkeg\fP poured into a \fBrack\fP of the \fBCellar\fP instead of building from upstream sources
.SH "ESSENTIAL COMMANDS"
-For the full command list, see the \fICOMMANDS\fR section\.
-.
+For the full command list, see the \fICOMMANDS\fP section\.
.P
-With \fB\-\-verbose\fR or \fB\-\-debug\fR, many commands print extra debugging information\. Note that these options should only appear after a command\.
-.
+With \fB\-\-verbose\fP or \fB\-\-debug\fP, many commands print extra debugging information\. Note that these options should only appear after a command\.
.P
-Some command behaviour can be customised with environment variables; see the \fIENVIRONMENT\fR section\.
-.
-.SS "\fBinstall\fR \fIformula\fR"
-Install \fIformula\fR\.
-.
+Some command behaviour can be customised with environment variables; see the \fIENVIRONMENT\fP section\.
+.SS "\fBinstall\fP \fIformula\fP"
+Install \fIformula\fP\&\.
.P
-\fIformula\fR is usually the name of the formula to install, but it has other syntaxes which are listed in the \fISPECIFYING FORMULAE\fR section\.
-.
-.SS "\fBuninstall\fR \fIformula\fR"
-Uninstall \fIformula\fR\.
-.
-.SS "\fBlist\fR"
+\fIformula\fP is usually the name of the formula to install, but it has other syntaxes which are listed in the \fISPECIFYING FORMULAE\fP section\.
+.SS "\fBuninstall\fP \fIformula\fP"
+Uninstall \fIformula\fP\&\.
+.SS "\fBlist\fP"
List all installed formulae\.
-.
-.SS "\fBsearch\fR [\fItext\fR|\fB/\fR\fItext\fR\fB/\fR]"
-Perform a substring search of cask tokens and formula names for \fItext\fR\. If \fItext\fR is flanked by slashes, it is interpreted as a regular expression\. The search for \fItext\fR is extended online to \fBhomebrew/core\fR and \fBhomebrew/cask\fR\. If no search term is provided, all locally available formulae are listed\.
-.
+.SS "\fBsearch\fP \fR[\fItext\fP|\fB/\fP\fItext\fP\fB/\fP]"
+Perform a substring search of cask tokens and formula names for \fItext\fP\&\. If \fItext\fP is flanked by slashes, it is interpreted as a regular expression\. The search for \fItext\fP is extended online to \fBhomebrew/core\fP and \fBhomebrew/cask\fP\&\. If no search term is provided, all locally available formulae are listed\.
.SH "COMMANDS"
-.
-.SS "\fBanalytics\fR [\fIsubcommand\fR]"
-Control Homebrew\'s anonymous aggregate user behaviour analytics\. Read more at \fIhttps://docs\.brew\.sh/Analytics\fR\.
-.
-.P
-\fBbrew analytics\fR [\fBstate\fR]
- Display the current state of Homebrew\'s analytics\.
-.
-.P
-\fBbrew analytics\fR (\fBon\fR|\fBoff\fR)
- Turn Homebrew\'s analytics on or off respectively\.
-.
-.SS "\fBautoremove\fR [\fB\-\-dry\-run\fR]"
+.SS "\fBanalytics\fP \fR[\fIsubcommand\fP]"
+Control Homebrew\[u2019]s anonymous aggregate user behaviour analytics\. Read more at
+.UR https://docs\.brew\.sh/Analytics
+.UE \&\.
+.TP
+\fBbrew analytics\fP [\fBstate\fP]
+Display the current state of Homebrew\[u2019]s analytics\.
+.TP
+\fBbrew analytics\fP (\fBon\fP|\fBoff\fP)
+Turn Homebrew\[u2019]s analytics on or off respectively\.
+.SS "\fBautoremove\fP \fR[\fB\-\-dry\-run\fP]"
Uninstall formulae that were only installed as a dependency of another formula and are now no longer needed\.
-.
.TP
-\fB\-n\fR, \fB\-\-dry\-run\fR
+\fB\-n\fP, \fB\-\-dry\-run\fP
List what would be uninstalled, but do not actually uninstall anything\.
-.
-.SS "\fBcasks\fR"
+.SS "\fBcasks\fP"
List all locally installable casks including short names\.
-.
-.SS "\fBcleanup\fR [\fIoptions\fR] [\fIformula\fR|\fIcask\fR \.\.\.]"
-Remove stale lock files and outdated downloads for all formulae and casks, and remove old versions of installed formulae\. If arguments are specified, only do this for the given formulae and casks\. Removes all downloads more than 120 days old\. This can be adjusted with \fBHOMEBREW_CLEANUP_MAX_AGE_DAYS\fR\.
-.
+.SS "\fBcleanup\fP \fR[\fIoptions\fP] \fR[\fIformula\fP|\fIcask\fP \.\.\.]"
+Remove stale lock files and outdated downloads for all formulae and casks, and remove old versions of installed formulae\. If arguments are specified, only do this for the given formulae and casks\. Removes all downloads more than 120 days old\. This can be adjusted with \fBHOMEBREW_CLEANUP_MAX_AGE_DAYS\fP\&\.
.TP
-\fB\-\-prune\fR
-Remove all cache files older than specified \fIdays\fR\. If you want to remove everything, use \fB\-\-prune=all\fR\.
-.
+\fB\-\-prune\fP
+Remove all cache files older than specified \fIdays\fP\&\. If you want to remove everything, use \fB\-\-prune=all\fP\&\.
.TP
-\fB\-n\fR, \fB\-\-dry\-run\fR
+\fB\-n\fP, \fB\-\-dry\-run\fP
Show what would be removed, but do not actually remove anything\.
-.
.TP
-\fB\-s\fR
-Scrub the cache, including downloads for even the latest versions\. Note that downloads for any installed formulae or casks will still not be deleted\. If you want to delete those too: \fBrm \-rf "$(brew \-\-cache)"\fR
-.
+\fB\-s\fP
+Scrub the cache, including downloads for even the latest versions\. Note that downloads for any installed formulae or casks will still not be deleted\. If you want to delete those too: \fBrm \-rf "$(brew \-\-cache)"\fP
.TP
-\fB\-\-prune\-prefix\fR
+\fB\-\-prune\-prefix\fP
Only prune the symlinks and directories from the prefix and remove no other files\.
-.
-.SS "\fBcommands\fR [\fB\-\-quiet\fR] [\fB\-\-include\-aliases\fR]"
+.SS "\fBcommands\fP \fR[\fB\-\-quiet\fP] \fR[\fB\-\-include\-aliases\fP]"
Show lists of built\-in and external commands\.
-.
.TP
-\fB\-q\fR, \fB\-\-quiet\fR
+\fB\-q\fP, \fB\-\-quiet\fP
List only the names of commands without category headers\.
-.
.TP
-\fB\-\-include\-aliases\fR
+\fB\-\-include\-aliases\fP
Include aliases of internal commands\.
-.
-.SS "\fBcompletions\fR [\fIsubcommand\fR]"
-Control whether Homebrew automatically links external tap shell completion files\. Read more at \fIhttps://docs\.brew\.sh/Shell\-Completion\fR\.
-.
-.P
-\fBbrew completions\fR [\fBstate\fR]
- Display the current state of Homebrew\'s completions\.
-.
-.P
-\fBbrew completions\fR (\fBlink\fR|\fBunlink\fR)
- Link or unlink Homebrew\'s completions\.
-.
-.SS "\fBconfig\fR, \fB\-\-config\fR"
+.SS "\fBcompletions\fP \fR[\fIsubcommand\fP]"
+Control whether Homebrew automatically links external tap shell completion files\. Read more at
+.UR https://docs\.brew\.sh/Shell\-Completion
+.UE \&\.
+.TP
+\fBbrew completions\fP [\fBstate\fP]
+Display the current state of Homebrew\[u2019]s completions\.
+.TP
+\fBbrew completions\fP (\fBlink\fP|\fBunlink\fP)
+Link or unlink Homebrew\[u2019]s completions\.
+.SS "\fBconfig\fP, \fB\-\-config\fP"
Show Homebrew and system configuration info useful for debugging\. If you file a bug report, you will be required to provide this information\.
-.
-.SS "\fBdeps\fR [\fIoptions\fR] [\fIformula\fR|\fIcask\fR \.\.\.]"
-Show dependencies for \fIformula\fR\. When given multiple formula arguments, show the intersection of dependencies for each formula\. By default, \fBdeps\fR shows all required and recommended dependencies\.
-.
+.SS "\fBdeps\fP \fR[\fIoptions\fP] \fR[\fIformula\fP|\fIcask\fP \.\.\.]"
+Show dependencies for \fIformula\fP\&\. When given multiple formula arguments, show the intersection of dependencies for each formula\. By default, \fBdeps\fP shows all required and recommended dependencies\.
.P
-If any version of each formula argument is installed and no other options are passed, this command displays their actual runtime dependencies (similar to \fBbrew linkage\fR), which may differ from the current versions\' stated dependencies if the installed versions are outdated\.
-.
+If any version of each formula argument is installed and no other options are passed, this command displays their actual runtime dependencies (similar to \fBbrew linkage\fP), which may differ from the current versions\[u2019] stated dependencies if the installed versions are outdated\.
.P
-\fINote:\fR \fB\-\-missing\fR and \fB\-\-skip\-recommended\fR have precedence over \fB\-\-include\-*\fR\.
-.
+\fINote:\fP \fB\-\-missing\fP and \fB\-\-skip\-recommended\fP have precedence over \fB\-\-include\-*\fP\&\.
.TP
-\fB\-n\fR, \fB\-\-topological\fR
+\fB\-n\fP, \fB\-\-topological\fP
Sort dependencies in topological order\.
-.
.TP
-\fB\-1\fR, \fB\-\-direct\fR
+\fB\-1\fP, \fB\-\-direct\fP
Show only the direct dependencies declared in the formula\.
-.
.TP
-\fB\-\-union\fR
-Show the union of dependencies for multiple \fIformula\fR, instead of the intersection\.
-.
+\fB\-\-union\fP
+Show the union of dependencies for multiple \fIformula\fP, instead of the intersection\.
.TP
-\fB\-\-full\-name\fR
+\fB\-\-full\-name\fP
List dependencies by their full name\.
-.
.TP
-\fB\-\-include\-build\fR
-Include \fB:build\fR dependencies for \fIformula\fR\.
-.
+\fB\-\-include\-build\fP
+Include \fB:build\fP dependencies for \fIformula\fP\&\.
.TP
-\fB\-\-include\-optional\fR
-Include \fB:optional\fR dependencies for \fIformula\fR\.
-.
+\fB\-\-include\-optional\fP
+Include \fB:optional\fP dependencies for \fIformula\fP\&\.
.TP
-\fB\-\-include\-test\fR
-Include \fB:test\fR dependencies for \fIformula\fR (non\-recursive)\.
-.
+\fB\-\-include\-test\fP
+Include \fB:test\fP dependencies for \fIformula\fP (non\-recursive)\.
.TP
-\fB\-\-skip\-recommended\fR
-Skip \fB:recommended\fR dependencies for \fIformula\fR\.
-.
+\fB\-\-skip\-recommended\fP
+Skip \fB:recommended\fP dependencies for \fIformula\fP\&\.
.TP
-\fB\-\-include\-requirements\fR
-Include requirements in addition to dependencies for \fIformula\fR\.
-.
+\fB\-\-include\-requirements\fP
+Include requirements in addition to dependencies for \fIformula\fP\&\.
.TP
-\fB\-\-tree\fR
+\fB\-\-tree\fP
Show dependencies as a tree\. When given multiple formula arguments, show individual trees for each formula\.
-.
.TP
-\fB\-\-graph\fR
+\fB\-\-graph\fP
Show dependencies as a directed graph\.
-.
.TP
-\fB\-\-dot\fR
+\fB\-\-dot\fP
Show text\-based graph description in DOT format\.
-.
.TP
-\fB\-\-annotate\fR
+\fB\-\-annotate\fP
Mark any build, test, implicit, optional, or recommended dependencies as such in the output\.
-.
.TP
-\fB\-\-installed\fR
-List dependencies for formulae that are currently installed\. If \fIformula\fR is specified, list only its dependencies that are currently installed\.
-.
+\fB\-\-installed\fP
+List dependencies for formulae that are currently installed\. If \fIformula\fP is specified, list only its dependencies that are currently installed\.
.TP
-\fB\-\-missing\fR
+\fB\-\-missing\fP
Show only missing dependencies\.
-.
.TP
-\fB\-\-eval\-all\fR
+\fB\-\-eval\-all\fP
Evaluate all available formulae and casks, whether installed or not, to list their dependencies\.
-.
.TP
-\fB\-\-for\-each\fR
-Switch into the mode used by the \fB\-\-eval\-all\fR option, but only list dependencies for each provided \fIformula\fR, one formula per line\. This is used for debugging the \fB\-\-installed\fR/\fB\-\-eval\-all\fR display mode\.
-.
+\fB\-\-for\-each\fP
+Switch into the mode used by the \fB\-\-eval\-all\fP option, but only list dependencies for each provided \fIformula\fP, one formula per line\. This is used for debugging the \fB\-\-installed\fP/\fB\-\-eval\-all\fP display mode\.
.TP
-\fB\-\-HEAD\fR
+\fB\-\-HEAD\fP
Show dependencies for HEAD version instead of stable version\.
-.
.TP
-\fB\-\-formula\fR
+\fB\-\-formula\fP
Treat all named arguments as formulae\.
-.
.TP
-\fB\-\-cask\fR
+\fB\-\-cask\fP
Treat all named arguments as casks\.
-.
-.SS "\fBdesc\fR [\fIoptions\fR] \fIformula\fR|\fIcask\fR|\fItext\fR|\fB/\fR\fIregex\fR\fB/\fR [\.\.\.]"
-Display \fIformula\fR\'s name and one\-line description\. The cache is created on the first search, making that search slower than subsequent ones\.
-.
+.SS "\fBdesc\fP \fR[\fIoptions\fP] \fIformula\fP|\fIcask\fP|\fItext\fP|\fB/\fP\fIregex\fP\fB/\fP \fR[\.\.\.]"
+Display \fIformula\fP\[u2019]s name and one\-line description\. The cache is created on the first search, making that search slower than subsequent ones\.
.TP
-\fB\-s\fR, \fB\-\-search\fR
-Search both names and descriptions for \fItext\fR\. If \fItext\fR is flanked by slashes, it is interpreted as a regular expression\.
-.
+\fB\-s\fP, \fB\-\-search\fP
+Search both names and descriptions for \fItext\fP\&\. If \fItext\fP is flanked by slashes, it is interpreted as a regular expression\.
.TP
-\fB\-n\fR, \fB\-\-name\fR
-Search just names for \fItext\fR\. If \fItext\fR is flanked by slashes, it is interpreted as a regular expression\.
-.
+\fB\-n\fP, \fB\-\-name\fP
+Search just names for \fItext\fP\&\. If \fItext\fP is flanked by slashes, it is interpreted as a regular expression\.
.TP
-\fB\-d\fR, \fB\-\-description\fR
-Search just descriptions for \fItext\fR\. If \fItext\fR is flanked by slashes, it is interpreted as a regular expression\.
-.
+\fB\-d\fP, \fB\-\-description\fP
+Search just descriptions for \fItext\fP\&\. If \fItext\fP is flanked by slashes, it is interpreted as a regular expression\.
.TP
-\fB\-\-eval\-all\fR
-Evaluate all available formulae and casks, whether installed or not, to search their descriptions\. Implied if \fBHOMEBREW_EVAL_ALL\fR is set\.
-.
+\fB\-\-eval\-all\fP
+Evaluate all available formulae and casks, whether installed or not, to search their descriptions\. Implied if \fBHOMEBREW_EVAL_ALL\fP is set\.
.TP
-\fB\-\-formula\fR
+\fB\-\-formula\fP
Treat all named arguments as formulae\.
-.
.TP
-\fB\-\-cask\fR
+\fB\-\-cask\fP
Treat all named arguments as casks\.
-.
-.SS "\fBdeveloper\fR [\fIsubcommand\fR]"
-Control Homebrew\'s developer mode\. When developer mode is enabled, \fBbrew update\fR will update Homebrew to the latest commit on the \fBmaster\fR branch instead of the latest stable version along with some other behaviour changes\.
-.
-.P
-\fBbrew developer\fR [\fBstate\fR]
- Display the current state of Homebrew\'s developer mode\.
-.
-.P
-\fBbrew developer\fR (\fBon\fR|\fBoff\fR)
- Turn Homebrew\'s developer mode on or off respectively\.
-.
-.SS "\fBdocs\fR"
-Open Homebrew\'s online documentation at \fIhttps://docs\.brew\.sh\fR in a browser\.
-.
-.SS "\fBdoctor\fR, \fBdr\fR [\fB\-\-list\-checks\fR] [\fB\-\-audit\-debug\fR] [\fIdiagnostic_check\fR \.\.\.]"
+.SS "\fBdeveloper\fP \fR[\fIsubcommand\fP]"
+Control Homebrew\[u2019]s developer mode\. When developer mode is enabled, \fBbrew update\fP will update Homebrew to the latest commit on the \fBmaster\fP branch instead of the latest stable version along with some other behaviour changes\.
+.TP
+\fBbrew developer\fP [\fBstate\fP]
+Display the current state of Homebrew\[u2019]s developer mode\.
+.TP
+\fBbrew developer\fP (\fBon\fP|\fBoff\fP)
+Turn Homebrew\[u2019]s developer mode on or off respectively\.
+.SS "\fBdocs\fP"
+Open Homebrew\[u2019]s online documentation at
+.UR https://docs\.brew\.sh
+.UE
+in a browser\.
+.SS "\fBdoctor\fP, \fBdr\fP \fR[\fB\-\-list\-checks\fP] \fR[\fB\-\-audit\-debug\fP] \fR[\fIdiagnostic_check\fP \.\.\.]"
Check your system for potential problems\. Will exit with a non\-zero status if any potential problems are found\.
-.
.P
-Please note that these warnings are just used to help the Homebrew maintainers with debugging if you file an issue\. If everything you use Homebrew for is working fine: please don\'t worry or file an issue; just ignore this\.
-.
+Please note that these warnings are just used to help the Homebrew maintainers with debugging if you file an issue\. If everything you use Homebrew for is working fine: please don\[u2019]t worry or file an issue; just ignore this\.
.TP
-\fB\-\-list\-checks\fR
+\fB\-\-list\-checks\fP
List all audit methods, which can be run individually if provided as arguments\.
-.
.TP
-\fB\-D\fR, \fB\-\-audit\-debug\fR
+\fB\-D\fP, \fB\-\-audit\-debug\fP
Enable debugging and profiling of audit methods\.
-.
-.SS "\fBfetch\fR [\fIoptions\fR] \fIformula\fR|\fIcask\fR [\.\.\.]"
-Download a bottle (if available) or source packages for \fIformula\fRe and binaries for \fIcask\fRs\. For files, also print SHA\-256 checksums\.
-.
+.SS "\fBfetch\fP \fR[\fIoptions\fP] \fIformula\fP|\fIcask\fP \fR[\.\.\.]"
+Download a bottle (if available) or source packages for \fIformula\fPe and binaries for \fIcask\fPs\. For files, also print SHA\-256 checksums\.
.TP
-\fB\-\-os\fR
-Download for the given operating system\. (Pass \fBall\fR to download for all operating systems\.)
-.
+\fB\-\-os\fP
+Download for the given operating system\. (Pass \fBall\fP to download for all operating systems\.)
.TP
-\fB\-\-arch\fR
-Download for the given CPU architecture\. (Pass \fBall\fR to download for all architectures\.)
-.
+\fB\-\-arch\fP
+Download for the given CPU architecture\. (Pass \fBall\fP to download for all architectures\.)
.TP
-\fB\-\-bottle\-tag\fR
+\fB\-\-bottle\-tag\fP
Download a bottle for given tag\.
-.
.TP
-\fB\-\-HEAD\fR
+\fB\-\-HEAD\fP
Fetch HEAD version instead of stable version\.
-.
.TP
-\fB\-f\fR, \fB\-\-force\fR
+\fB\-f\fP, \fB\-\-force\fP
Remove a previously cached version and re\-fetch\.
-.
.TP
-\fB\-v\fR, \fB\-\-verbose\fR
+\fB\-v\fP, \fB\-\-verbose\fP
Do a verbose VCS checkout, if the URL represents a VCS\. This is useful for seeing if an existing VCS cache has been updated\.
-.
.TP
-\fB\-\-retry\fR
+\fB\-\-retry\fP
Retry if downloading fails or re\-download if the checksum of a previously cached version no longer matches\. Tries at most 5 times with exponential backoff\.
-.
.TP
-\fB\-\-deps\fR
-Also download dependencies for any listed \fIformula\fR\.
-.
+\fB\-\-deps\fP
+Also download dependencies for any listed \fIformula\fP\&\.
.TP
-\fB\-s\fR, \fB\-\-build\-from\-source\fR
+\fB\-s\fP, \fB\-\-build\-from\-source\fP
Download source packages rather than a bottle\.
-.
.TP
-\fB\-\-build\-bottle\fR
+\fB\-\-build\-bottle\fP
Download source packages (for eventual bottling) rather than a bottle\.
-.
.TP
-\fB\-\-force\-bottle\fR
+\fB\-\-force\-bottle\fP
Download a bottle if it exists for the current or newest version of macOS, even if it would not be used during installation\.
-.
.TP
-\fB\-\-[no\-]quarantine\fR
+\fB\-\-[no\-]quarantine\fP
Disable/enable quarantining of downloads (default: enabled)\.
-.
.TP
-\fB\-\-formula\fR
+\fB\-\-formula\fP
Treat all named arguments as formulae\.
-.
.TP
-\fB\-\-cask\fR
+\fB\-\-cask\fP
Treat all named arguments as casks\.
-.
-.SS "\fBformulae\fR"
+.SS "\fBformulae\fP"
List all locally installable formulae including short names\.
-.
-.SS "\fBgist\-logs\fR [\fIoptions\fR] \fIformula\fR"
-Upload logs for a failed build of \fIformula\fR to a new Gist\. Presents an error message if no logs are found\.
-.
+.SS "\fBgist\-logs\fP \fR[\fIoptions\fP] \fIformula\fP"
+Upload logs for a failed build of \fIformula\fP to a new Gist\. Presents an error message if no logs are found\.
.TP
-\fB\-\-with\-hostname\fR
+\fB\-\-with\-hostname\fP
Include the hostname in the Gist\.
-.
.TP
-\fB\-n\fR, \fB\-\-new\-issue\fR
+\fB\-n\fP, \fB\-\-new\-issue\fP
Automatically create a new issue in the appropriate GitHub repository after creating the Gist\.
-.
.TP
-\fB\-p\fR, \fB\-\-private\fR
+\fB\-p\fP, \fB\-\-private\fP
The Gist will be marked private and will not appear in listings but will be accessible with its link\.
-.
-.SS "\fBhome\fR, \fBhomepage\fR [\fB\-\-formula\fR] [\fB\-\-cask\fR] [\fIformula\fR|\fIcask\fR \.\.\.]"
-Open a \fIformula\fR or \fIcask\fR\'s homepage in a browser, or open Homebrew\'s own homepage if no argument is provided\.
-.
+.SS "\fBhome\fP, \fBhomepage\fP \fR[\fB\-\-formula\fP] \fR[\fB\-\-cask\fP] \fR[\fIformula\fP|\fIcask\fP \.\.\.]"
+Open a \fIformula\fP or \fIcask\fP\[u2019]s homepage in a browser, or open Homebrew\[u2019]s own homepage if no argument is provided\.
.TP
-\fB\-\-formula\fR
+\fB\-\-formula\fP
Treat all named arguments as formulae\.
-.
.TP
-\fB\-\-cask\fR
+\fB\-\-cask\fP
Treat all named arguments as casks\.
-.
-.SS "\fBinfo\fR, \fBabv\fR [\fIoptions\fR] [\fIformula\fR|\fIcask\fR \.\.\.]"
-Display brief statistics for your Homebrew installation\. If a \fIformula\fR or \fIcask\fR is provided, show summary of information about it\.
-.
+.SS "\fBinfo\fP, \fBabv\fP \fR[\fIoptions\fP] \fR[\fIformula\fP|\fIcask\fP \.\.\.]"
+Display brief statistics for your Homebrew installation\. If a \fIformula\fP or \fIcask\fP is provided, show summary of information about it\.
.TP
-\fB\-\-analytics\fR
-List global Homebrew analytics data or, if specified, installation and build error data for \fIformula\fR (provided neither \fBHOMEBREW_NO_ANALYTICS\fR nor \fBHOMEBREW_NO_GITHUB_API\fR are set)\.
-.
+\fB\-\-analytics\fP
+List global Homebrew analytics data or, if specified, installation and build error data for \fIformula\fP (provided neither \fBHOMEBREW_NO_ANALYTICS\fP nor \fBHOMEBREW_NO_GITHUB_API\fP are set)\.
.TP
-\fB\-\-days\fR
-How many days of analytics data to retrieve\. The value for \fIdays\fR must be \fB30\fR, \fB90\fR or \fB365\fR\. The default is \fB30\fR\.
-.
+\fB\-\-days\fP
+How many days of analytics data to retrieve\. The value for \fIdays\fP must be \fB30\fP, \fB90\fP or \fB365\fP\&\. The default is \fB30\fP\&\.
.TP
-\fB\-\-category\fR
-Which type of analytics data to retrieve\. The value for \fIcategory\fR must be \fBinstall\fR, \fBinstall\-on\-request\fR or \fBbuild\-error\fR; \fBcask\-install\fR or \fBos\-version\fR may be specified if \fIformula\fR is not\. The default is \fBinstall\fR\.
-.
+\fB\-\-category\fP
+Which type of analytics data to retrieve\. The value for \fIcategory\fP must be \fBinstall\fP, \fBinstall\-on\-request\fP or \fBbuild\-error\fP; \fBcask\-install\fP or \fBos\-version\fP may be specified if \fIformula\fP is not\. The default is \fBinstall\fP\&\.
.TP
-\fB\-\-github\fR
-Open the GitHub source page for \fIformula\fR and \fIcask\fR in a browser\. To view the history locally: \fBbrew log \-p\fR \fIformula\fR or \fIcask\fR
-.
+\fB\-\-github\fP
+Open the GitHub source page for \fIformula\fP and \fIcask\fP in a browser\. To view the history locally: \fBbrew log \-p\fP \fIformula\fP or \fIcask\fP
.TP
-\fB\-\-json\fR
-Print a JSON representation\. Currently the default value for \fIversion\fR is \fBv1\fR for \fIformula\fR\. For \fIformula\fR and \fIcask\fR use \fBv2\fR\. See the docs for examples of using the JSON output: \fIhttps://docs\.brew\.sh/Querying\-Brew\fR
-.
+\fB\-\-json\fP
+Print a JSON representation\. Currently the default value for \fIversion\fP is \fBv1\fP for \fIformula\fP\&\. For \fIformula\fP and \fIcask\fP use \fBv2\fP\&\. See the docs for examples of using the JSON output:
+.UR https://docs\.brew\.sh/Querying\-Brew
+.UE
.TP
-\fB\-\-installed\fR
+\fB\-\-installed\fP
Print JSON of formulae that are currently installed\.
-.
.TP
-\fB\-\-eval\-all\fR
-Evaluate all available formulae and casks, whether installed or not, to print their JSON\. Implied if \fBHOMEBREW_EVAL_ALL\fR is set\.
-.
+\fB\-\-eval\-all\fP
+Evaluate all available formulae and casks, whether installed or not, to print their JSON\. Implied if \fBHOMEBREW_EVAL_ALL\fP is set\.
.TP
-\fB\-\-variations\fR
-Include the variations hash in each formula\'s JSON output\.
-.
+\fB\-\-variations\fP
+Include the variations hash in each formula\[u2019]s JSON output\.
.TP
-\fB\-v\fR, \fB\-\-verbose\fR
-Show more verbose analytics data for \fIformula\fR\.
-.
+\fB\-v\fP, \fB\-\-verbose\fP
+Show more verbose analytics data for \fIformula\fP\&\.
.TP
-\fB\-\-formula\fR
+\fB\-\-formula\fP
Treat all named arguments as formulae\.
-.
.TP
-\fB\-\-cask\fR
+\fB\-\-cask\fP
Treat all named arguments as casks\.
-.
-.SS "\fBinstall\fR [\fIoptions\fR] \fIformula\fR|\fIcask\fR [\.\.\.]"
-Install a \fIformula\fR or \fIcask\fR\. Additional options specific to a \fIformula\fR may be appended to the command\.
-.
+.SS "\fBinstall\fP \fR[\fIoptions\fP] \fIformula\fP|\fIcask\fP \fR[\.\.\.]"
+Install a \fIformula\fP or \fIcask\fP\&\. Additional options specific to a \fIformula\fP may be appended to the command\.
.P
-Unless \fBHOMEBREW_NO_INSTALLED_DEPENDENTS_CHECK\fR is set, \fBbrew upgrade\fR or \fBbrew reinstall\fR will be run for outdated dependents and dependents with broken linkage, respectively\.
-.
+Unless \fBHOMEBREW_NO_INSTALLED_DEPENDENTS_CHECK\fP is set, \fBbrew upgrade\fP or \fBbrew reinstall\fP will be run for outdated dependents and dependents with broken linkage, respectively\.
.P
-Unless \fBHOMEBREW_NO_INSTALL_CLEANUP\fR is set, \fBbrew cleanup\fR will then be run for the installed formulae or, every 30 days, for all formulae\.
-.
+Unless \fBHOMEBREW_NO_INSTALL_CLEANUP\fP is set, \fBbrew cleanup\fP will then be run for the installed formulae or, every 30 days, for all formulae\.
.P
-Unless \fBHOMEBREW_NO_INSTALL_UPGRADE\fR is set, \fBbrew install\fR \fIformula\fR will upgrade \fIformula\fR if it is already installed but outdated\.
-.
+Unless \fBHOMEBREW_NO_INSTALL_UPGRADE\fP is set, \fBbrew install\fP \fIformula\fP will upgrade \fIformula\fP if it is already installed but outdated\.
.TP
-\fB\-d\fR, \fB\-\-debug\fR
+\fB\-d\fP, \fB\-\-debug\fP
If brewing fails, open an interactive debugging session with access to IRB or a shell inside the temporary build directory\.
-.
.TP
-\fB\-f\fR, \fB\-\-force\fR
+\fB\-f\fP, \fB\-\-force\fP
Install formulae without checking for previously installed keg\-only or non\-migrated versions\. When installing casks, overwrite existing files (binaries and symlinks are excluded, unless originally from the same cask)\.
-.
.TP
-\fB\-v\fR, \fB\-\-verbose\fR
+\fB\-v\fP, \fB\-\-verbose\fP
Print the verification and post\-install steps\.
-.
.TP
-\fB\-n\fR, \fB\-\-dry\-run\fR
+\fB\-n\fP, \fB\-\-dry\-run\fP
Show what would be installed, but do not actually install anything\.
-.
.TP
-\fB\-\-formula\fR
+\fB\-\-formula\fP
Treat all named arguments as formulae\.
-.
.TP
-\fB\-\-ignore\-dependencies\fR
-An unsupported Homebrew development option to skip installing any dependencies of any kind\. If the dependencies are not already present, the formula will have issues\. If you\'re not developing Homebrew, consider adjusting your PATH rather than using this option\.
-.
+\fB\-\-ignore\-dependencies\fP
+An unsupported Homebrew development option to skip installing any dependencies of any kind\. If the dependencies are not already present, the formula will have issues\. If you\[u2019]re not developing Homebrew, consider adjusting your PATH rather than using this option\.
.TP
-\fB\-\-only\-dependencies\fR
+\fB\-\-only\-dependencies\fP
Install the dependencies with specified options but do not install the formula itself\.
-.
.TP
-\fB\-\-cc\fR
-Attempt to compile using the specified \fIcompiler\fR, which should be the name of the compiler\'s executable, e\.g\. \fBgcc\-7\fR for GCC 7\. In order to use LLVM\'s clang, specify \fBllvm_clang\fR\. To use the Apple\-provided clang, specify \fBclang\fR\. This option will only accept compilers that are provided by Homebrew or bundled with macOS\. Please do not file issues if you encounter errors while using this option\.
-.
+\fB\-\-cc\fP
+Attempt to compile using the specified \fIcompiler\fP, which should be the name of the compiler\[u2019]s executable, e\.g\. \fBgcc\-7\fP for GCC 7\. In order to use LLVM\[u2019]s clang, specify \fBllvm_clang\fP\&\. To use the Apple\-provided clang, specify \fBclang\fP\&\. This option will only accept compilers that are provided by Homebrew or bundled with macOS\. Please do not file issues if you encounter errors while using this option\.
.TP
-\fB\-s\fR, \fB\-\-build\-from\-source\fR
-Compile \fIformula\fR from source even if a bottle is provided\. Dependencies will still be installed from bottles if they are available\.
-.
+\fB\-s\fP, \fB\-\-build\-from\-source\fP
+Compile \fIformula\fP from source even if a bottle is provided\. Dependencies will still be installed from bottles if they are available\.
.TP
-\fB\-\-force\-bottle\fR
+\fB\-\-force\-bottle\fP
Install from a bottle if it exists for the current or newest version of macOS, even if it would not normally be used for installation\.
-.
.TP
-\fB\-\-include\-test\fR
-Install testing dependencies required to run \fBbrew test\fR \fIformula\fR\.
-.
+\fB\-\-include\-test\fP
+Install testing dependencies required to run \fBbrew test\fP \fIformula\fP\&\.
.TP
-\fB\-\-HEAD\fR
-If \fIformula\fR defines it, install the HEAD version, aka\. main, trunk, unstable, master\.
-.
+\fB\-\-HEAD\fP
+If \fIformula\fP defines it, install the HEAD version, aka\. main, trunk, unstable, master\.
.TP
-\fB\-\-fetch\-HEAD\fR
-Fetch the upstream repository to detect if the HEAD installation of the formula is outdated\. Otherwise, the repository\'s HEAD will only be checked for updates when a new stable or development version has been released\.
-.
+\fB\-\-fetch\-HEAD\fP
+Fetch the upstream repository to detect if the HEAD installation of the formula is outdated\. Otherwise, the repository\[u2019]s HEAD will only be checked for updates when a new stable or development version has been released\.
.TP
-\fB\-\-keep\-tmp\fR
+\fB\-\-keep\-tmp\fP
Retain the temporary files created during installation\.
-.
.TP
-\fB\-\-debug\-symbols\fR
+\fB\-\-debug\-symbols\fP
Generate debug symbols on build\. Source will be retained in a cache directory\.
-.
.TP
-\fB\-\-build\-bottle\fR
+\fB\-\-build\-bottle\fP
Prepare the formula for eventual bottling during installation, skipping any post\-install steps\.
-.
.TP
-\fB\-\-skip\-post\-install\fR
+\fB\-\-skip\-post\-install\fP
Install but skip any post\-install steps\.
-.
.TP
-\fB\-\-bottle\-arch\fR
+\fB\-\-bottle\-arch\fP
Optimise bottles for the specified architecture rather than the oldest architecture supported by the version of macOS the bottles are built on\.
-.
.TP
-\fB\-\-display\-times\fR
+\fB\-\-display\-times\fP
Print install times for each package at the end of the run\.
-.
.TP
-\fB\-i\fR, \fB\-\-interactive\fR
-Download and patch \fIformula\fR, then open a shell\. This allows the user to run \fB\./configure \-\-help\fR and otherwise determine how to turn the software package into a Homebrew package\.
-.
+\fB\-i\fP, \fB\-\-interactive\fP
+Download and patch \fIformula\fP, then open a shell\. This allows the user to run \fB\&\./configure \-\-help\fP and otherwise determine how to turn the software package into a Homebrew package\.
.TP
-\fB\-g\fR, \fB\-\-git\fR
+\fB\-g\fP, \fB\-\-git\fP
Create a Git repository, useful for creating patches to the software\.
-.
.TP
-\fB\-\-overwrite\fR
+\fB\-\-overwrite\fP
Delete files that already exist in the prefix while linking\.
-.
.TP
-\fB\-\-cask\fR
+\fB\-\-cask\fP
Treat all named arguments as casks\.
-.
.TP
-\fB\-\-[no\-]binaries\fR
+\fB\-\-[no\-]binaries\fP
Disable/enable linking of helper executables (default: enabled)\.
-.
.TP
-\fB\-\-require\-sha\fR
+\fB\-\-require\-sha\fP
Require all casks to have a checksum\.
-.
.TP
-\fB\-\-[no\-]quarantine\fR
+\fB\-\-[no\-]quarantine\fP
Disable/enable quarantining of downloads (default: enabled)\.
-.
.TP
-\fB\-\-adopt\fR
-Adopt existing artifacts in the destination that are identical to those being installed\. Cannot be combined with \fB\-\-force\fR\.
-.
+\fB\-\-adopt\fP
+Adopt existing artifacts in the destination that are identical to those being installed\. Cannot be combined with \fB\-\-force\fP\&\.
.TP
-\fB\-\-skip\-cask\-deps\fR
+\fB\-\-skip\-cask\-deps\fP
Skip installing cask dependencies\.
-.
.TP
-\fB\-\-zap\fR
-For use with \fBbrew reinstall \-\-cask\fR\. Remove all files associated with a cask\. \fIMay remove files which are shared between applications\.\fR
-.
-.SS "\fBleaves\fR [\fB\-\-installed\-on\-request\fR] [\fB\-\-installed\-as\-dependency\fR]"
+\fB\-\-zap\fP
+For use with \fBbrew reinstall \-\-cask\fP\&\. Remove all files associated with a cask\. \fIMay remove files which are shared between applications\.\fP
+.SS "\fBleaves\fP \fR[\fB\-\-installed\-on\-request\fP] \fR[\fB\-\-installed\-as\-dependency\fP]"
List installed formulae that are not dependencies of another installed formula or cask\.
-.
.TP
-\fB\-r\fR, \fB\-\-installed\-on\-request\fR
+\fB\-r\fP, \fB\-\-installed\-on\-request\fP
Only list leaves that were manually installed\.
-.
.TP
-\fB\-p\fR, \fB\-\-installed\-as\-dependency\fR
+\fB\-p\fP, \fB\-\-installed\-as\-dependency\fP
Only list leaves that were installed as dependencies\.
-.
-.SS "\fBlink\fR, \fBln\fR [\fIoptions\fR] \fIinstalled_formula\fR [\.\.\.]"
-Symlink all of \fIformula\fR\'s installed files into Homebrew\'s prefix\. This is done automatically when you install formulae but can be useful for manual installations\.
-.
+.SS "\fBlink\fP, \fBln\fP \fR[\fIoptions\fP] \fIinstalled_formula\fP \fR[\.\.\.]"
+Symlink all of \fIformula\fP\[u2019]s installed files into Homebrew\[u2019]s prefix\. This is done automatically when you install formulae but can be useful for manual installations\.
.TP
-\fB\-\-overwrite\fR
+\fB\-\-overwrite\fP
Delete files that already exist in the prefix while linking\.
-.
.TP
-\fB\-n\fR, \fB\-\-dry\-run\fR
-List files which would be linked or deleted by \fBbrew link \-\-overwrite\fR without actually linking or deleting any files\.
-.
+\fB\-n\fP, \fB\-\-dry\-run\fP
+List files which would be linked or deleted by \fBbrew link \-\-overwrite\fP without actually linking or deleting any files\.
.TP
-\fB\-f\fR, \fB\-\-force\fR
+\fB\-f\fP, \fB\-\-force\fP
Allow keg\-only formulae to be linked\.
-.
.TP
-\fB\-\-HEAD\fR
+\fB\-\-HEAD\fP
Link the HEAD version of the formula if it is installed\.
-.
-.SS "\fBlist\fR, \fBls\fR [\fIoptions\fR] [\fIinstalled_formula\fR|\fIinstalled_cask\fR \.\.\.]"
-List all installed formulae and casks\. If \fIformula\fR is provided, summarise the paths within its current keg\. If \fIcask\fR is provided, list its artifacts\.
-.
+.SS "\fBlist\fP, \fBls\fP \fR[\fIoptions\fP] \fR[\fIinstalled_formula\fP|\fIinstalled_cask\fP \.\.\.]"
+List all installed formulae and casks\. If \fIformula\fP is provided, summarise the paths within its current keg\. If \fIcask\fP is provided, list its artifacts\.
.TP
-\fB\-\-formula\fR
+\fB\-\-formula\fP
List only formulae, or treat all named arguments as formulae\.
-.
.TP
-\fB\-\-cask\fR
+\fB\-\-cask\fP
List only casks, or treat all named arguments as casks\.
-.
.TP
-\fB\-\-full\-name\fR
-Print formulae with fully\-qualified names\. Unless \fB\-\-full\-name\fR, \fB\-\-versions\fR or \fB\-\-pinned\fR are passed, other options (i\.e\. \fB\-1\fR, \fB\-l\fR, \fB\-r\fR and \fB\-t\fR) are passed to \fBls\fR(1) which produces the actual output\.
-.
+\fB\-\-full\-name\fP
+Print formulae with fully\-qualified names\. Unless \fB\-\-full\-name\fP, \fB\-\-versions\fP or \fB\-\-pinned\fP are passed, other options (i\.e\. \fB\-1\fP, \fB\-l\fP, \fB\-r\fP and \fB\-t\fP) are passed to \fBls\fP(1) which produces the actual output\.
.TP
-\fB\-\-versions\fR
-Show the version number for installed formulae, or only the specified formulae if \fIformula\fR are provided\.
-.
+\fB\-\-versions\fP
+Show the version number for installed formulae, or only the specified formulae if \fIformula\fP are provided\.
.TP
-\fB\-\-multiple\fR
+\fB\-\-multiple\fP
Only show formulae with multiple versions installed\.
-.
.TP
-\fB\-\-pinned\fR
-List only pinned formulae, or only the specified (pinned) formulae if \fIformula\fR are provided\. See also \fBpin\fR, \fBunpin\fR\.
-.
+\fB\-\-pinned\fP
+List only pinned formulae, or only the specified (pinned) formulae if \fIformula\fP are provided\. See also \fBpin\fP, \fBunpin\fP\&\.
.TP
-\fB\-1\fR
+\fB\-1\fP
Force output to be one entry per line\. This is the default when output is not to a terminal\.
-.
.TP
-\fB\-l\fR
+\fB\-l\fP
List formulae and/or casks in long format\. Has no effect when a formula or cask name is passed as an argument\.
-.
.TP
-\fB\-r\fR
+\fB\-r\fP
Reverse the order of the formulae and/or casks sort to list the oldest entries first\. Has no effect when a formula or cask name is passed as an argument\.
-.
.TP
-\fB\-t\fR
+\fB\-t\fP
Sort formulae and/or casks by time modified, listing most recently modified first\. Has no effect when a formula or cask name is passed as an argument\.
-.
-.SS "\fBlog\fR [\fIoptions\fR] [\fIformula\fR|\fIcask\fR]"
-Show the \fBgit log\fR for \fIformula\fR or \fIcask\fR, or show the log for the Homebrew repository if no formula or cask is provided\.
-.
+.SS "\fBlog\fP \fR[\fIoptions\fP] \fR[\fIformula\fP|\fIcask\fP]"
+Show the \fBgit log\fP for \fIformula\fP or \fIcask\fP, or show the log for the Homebrew repository if no formula or cask is provided\.
.TP
-\fB\-p\fR, \fB\-\-patch\fR
+\fB\-p\fP, \fB\-\-patch\fP
Also print patch from commit\.
-.
.TP
-\fB\-\-stat\fR
+\fB\-\-stat\fP
Also print diffstat from commit\.
-.
.TP
-\fB\-\-oneline\fR
+\fB\-\-oneline\fP
Print only one line per commit\.
-.
.TP
-\fB\-1\fR
+\fB\-1\fP
Print only one commit\.
-.
.TP
-\fB\-n\fR, \fB\-\-max\-count\fR
+\fB\-n\fP, \fB\-\-max\-count\fP
Print only a specified number of commits\.
-.
.TP
-\fB\-\-formula\fR
+\fB\-\-formula\fP
Treat all named arguments as formulae\.
-.
.TP
-\fB\-\-cask\fR
+\fB\-\-cask\fP
Treat all named arguments as casks\.
-.
-.SS "\fBmigrate\fR [\fIoptions\fR] \fIinstalled_formula\fR|\fIinstalled_cask\fR [\.\.\.]"
-Migrate renamed packages to new names, where \fIformula\fR are old names of packages\.
-.
+.SS "\fBmigrate\fP \fR[\fIoptions\fP] \fIinstalled_formula\fP|\fIinstalled_cask\fP \fR[\.\.\.]"
+Migrate renamed packages to new names, where \fIformula\fP are old names of packages\.
.TP
-\fB\-f\fR, \fB\-\-force\fR
-Treat installed \fIformula\fR and provided \fIformula\fR as if they are from the same taps and migrate them anyway\.
-.
+\fB\-f\fP, \fB\-\-force\fP
+Treat installed \fIformula\fP and provided \fIformula\fP as if they are from the same taps and migrate them anyway\.
.TP
-\fB\-n\fR, \fB\-\-dry\-run\fR
+\fB\-n\fP, \fB\-\-dry\-run\fP
Show what would be migrated, but do not actually migrate anything\.
-.
.TP
-\fB\-\-formula\fR
+\fB\-\-formula\fP
Only migrate formulae\.
-.
.TP
-\fB\-\-cask\fR
+\fB\-\-cask\fP
Only migrate casks\.
-.
-.SS "\fBmissing\fR [\fB\-\-hide=\fR] [\fIformula\fR \.\.\.]"
-Check the given \fIformula\fR kegs for missing dependencies\. If no \fIformula\fR are provided, check all kegs\. Will exit with a non\-zero status if any kegs are found to be missing dependencies\.
-.
+.SS "\fBmissing\fP \fR[\fB\-\-hide=\fP] \fR[\fIformula\fP \.\.\.]"
+Check the given \fIformula\fP kegs for missing dependencies\. If no \fIformula\fP are provided, check all kegs\. Will exit with a non\-zero status if any kegs are found to be missing dependencies\.
.TP
-\fB\-\-hide\fR
-Act as if none of the specified \fIhidden\fR are installed\. \fIhidden\fR should be a comma\-separated list of formulae\.
-.
-.SS "\fBnodenv\-sync\fR"
-Create symlinks for Homebrew\'s installed NodeJS versions in \fB~/\.nodenv/versions\fR\.
-.
+\fB\-\-hide\fP
+Act as if none of the specified \fIhidden\fP are installed\. \fIhidden\fP should be a comma\-separated list of formulae\.
+.SS "\fBnodenv\-sync\fP"
+Create symlinks for Homebrew\[u2019]s installed NodeJS versions in \fB~/\.nodenv/versions\fP\&\.
.P
Note that older version symlinks will also be created so e\.g\. NodeJS 19\.1\.0 will also be symlinked to 19\.0\.0\.
-.
-.SS "\fBoptions\fR [\fIoptions\fR] [\fIformula\fR \.\.\.]"
-Show install options specific to \fIformula\fR\.
-.
+.SS "\fBoptions\fP \fR[\fIoptions\fP] \fR[\fIformula\fP \.\.\.]"
+Show install options specific to \fIformula\fP\&\.
.TP
-\fB\-\-compact\fR
+\fB\-\-compact\fP
Show all options on a single line separated by spaces\.
-.
.TP
-\fB\-\-installed\fR
+\fB\-\-installed\fP
Show options for formulae that are currently installed\.
-.
.TP
-\fB\-\-eval\-all\fR
+\fB\-\-eval\-all\fP
Evaluate all available formulae and casks, whether installed or not, to show their options\.
-.
.TP
-\fB\-\-command\fR
-Show options for the specified \fIcommand\fR\.
-.
-.SS "\fBoutdated\fR [\fIoptions\fR] [\fIformula\fR|\fIcask\fR \.\.\.]"
+\fB\-\-command\fP
+Show options for the specified \fIcommand\fP\&\.
+.SS "\fBoutdated\fP \fR[\fIoptions\fP] \fR[\fIformula\fP|\fIcask\fP \.\.\.]"
List installed casks and formulae that have an updated version available\. By default, version information is displayed in interactive shells, and suppressed otherwise\.
-.
.TP
-\fB\-q\fR, \fB\-\-quiet\fR
-List only the names of outdated kegs (takes precedence over \fB\-\-verbose\fR)\.
-.
+\fB\-q\fP, \fB\-\-quiet\fP
+List only the names of outdated kegs (takes precedence over \fB\-\-verbose\fP)\.
.TP
-\fB\-v\fR, \fB\-\-verbose\fR
+\fB\-v\fP, \fB\-\-verbose\fP
Include detailed version information\.
-.
.TP
-\fB\-\-formula\fR
+\fB\-\-formula\fP
List only outdated formulae\.
-.
.TP
-\fB\-\-cask\fR
+\fB\-\-cask\fP
List only outdated casks\.
-.
.TP
-\fB\-\-json\fR
-Print output in JSON format\. There are two versions: \fBv1\fR and \fBv2\fR\. \fBv1\fR is deprecated and is currently the default if no version is specified\. \fBv2\fR prints outdated formulae and casks\.
-.
+\fB\-\-json\fP
+Print output in JSON format\. There are two versions: \fBv1\fP and \fBv2\fP\&\. \fBv1\fP is deprecated and is currently the default if no version is specified\. \fBv2\fP prints outdated formulae and casks\.
.TP
-\fB\-\-fetch\-HEAD\fR
-Fetch the upstream repository to detect if the HEAD installation of the formula is outdated\. Otherwise, the repository\'s HEAD will only be checked for updates when a new stable or development version has been released\.
-.
+\fB\-\-fetch\-HEAD\fP
+Fetch the upstream repository to detect if the HEAD installation of the formula is outdated\. Otherwise, the repository\[u2019]s HEAD will only be checked for updates when a new stable or development version has been released\.
.TP
-\fB\-g\fR, \fB\-\-greedy\fR
-Also include outdated casks with \fBauto_updates true\fR or \fBversion :latest\fR\.
-.
+\fB\-g\fP, \fB\-\-greedy\fP
+Also include outdated casks with \fBauto_updates true\fP or \fBversion :latest\fP\&\.
.TP
-\fB\-\-greedy\-latest\fR
-Also include outdated casks including those with \fBversion :latest\fR\.
-.
+\fB\-\-greedy\-latest\fP
+Also include outdated casks including those with \fBversion :latest\fP\&\.
.TP
-\fB\-\-greedy\-auto\-updates\fR
-Also include outdated casks including those with \fBauto_updates true\fR\.
-.
-.SS "\fBpin\fR \fIinstalled_formula\fR [\.\.\.]"
-Pin the specified \fIformula\fR, preventing them from being upgraded when issuing the \fBbrew upgrade\fR \fIformula\fR command\. See also \fBunpin\fR\.
-.
+\fB\-\-greedy\-auto\-updates\fP
+Also include outdated casks including those with \fBauto_updates true\fP\&\.
+.SS "\fBpin\fP \fIinstalled_formula\fP \fR[\.\.\.]"
+Pin the specified \fIformula\fP, preventing them from being upgraded when issuing the \fBbrew upgrade\fP \fIformula\fP command\. See also \fBunpin\fP\&\.
.P
-\fINote:\fR Other packages which depend on newer versions of a pinned formula might not install or run correctly\.
-.
-.SS "\fBpostinstall\fR, \fBpost_install\fR \fIinstalled_formula\fR [\.\.\.]"
-Rerun the post\-install steps for \fIformula\fR\.
-.
-.SS "\fBpyenv\-sync\fR"
-Create symlinks for Homebrew\'s installed Python versions in \fB~/\.pyenv/versions\fR\.
-.
+\fINote:\fP Other packages which depend on newer versions of a pinned formula might not install or run correctly\.
+.SS "\fBpostinstall\fP, \fBpost_install\fP \fIinstalled_formula\fP \fR[\.\.\.]"
+Rerun the post\-install steps for \fIformula\fP\&\.
+.SS "\fBpyenv\-sync\fP"
+Create symlinks for Homebrew\[u2019]s installed Python versions in \fB~/\.pyenv/versions\fP\&\.
.P
Note that older patch version symlinks will be created and linked to the minor version so e\.g\. Python 3\.11\.0 will also be symlinked to 3\.11\.3\.
-.
-.SS "\fBrbenv\-sync\fR"
-Create symlinks for Homebrew\'s installed Ruby versions in \fB~/\.rbenv/versions\fR\.
-.
+.SS "\fBrbenv\-sync\fP"
+Create symlinks for Homebrew\[u2019]s installed Ruby versions in \fB~/\.rbenv/versions\fP\&\.
.P
Note that older version symlinks will also be created so e\.g\. Ruby 3\.2\.1 will also be symlinked to 3\.2\.0\.
-.
-.SS "\fBreadall\fR [\fIoptions\fR] [\fItap\fR \.\.\.]"
-Import all items from the specified \fItap\fR, or from all installed taps if none is provided\. This can be useful for debugging issues across all items when making significant changes to \fBformula\.rb\fR, testing the performance of loading all items or checking if any current formulae/casks have Ruby issues\.
-.
+.SS "\fBreadall\fP \fR[\fIoptions\fP] \fR[\fItap\fP \.\.\.]"
+Import all items from the specified \fItap\fP, or from all installed taps if none is provided\. This can be useful for debugging issues across all items when making significant changes to \fBformula\.rb\fP, testing the performance of loading all items or checking if any current formulae/casks have Ruby issues\.
.TP
-\fB\-\-os\fR
-Read using the given operating system\. (Pass \fBall\fR to simulate all operating systems\.)
-.
+\fB\-\-os\fP
+Read using the given operating system\. (Pass \fBall\fP to simulate all operating systems\.)
.TP
-\fB\-\-arch\fR
-Read using the given CPU architecture\. (Pass \fBall\fR to simulate all architectures\.)
-.
+\fB\-\-arch\fP
+Read using the given CPU architecture\. (Pass \fBall\fP to simulate all architectures\.)
.TP
-\fB\-\-aliases\fR
+\fB\-\-aliases\fP
Verify any alias symlinks in each tap\.
-.
.TP
-\fB\-\-syntax\fR
-Syntax\-check all of Homebrew\'s Ruby files (if no \fItap\fR is passed)\.
-.
+\fB\-\-syntax\fP
+Syntax\-check all of Homebrew\[u2019]s Ruby files (if no \fItap\fP is passed)\.
.TP
-\fB\-\-eval\-all\fR
-Evaluate all available formulae and casks, whether installed or not\. Implied if \fBHOMEBREW_EVAL_ALL\fR is set\.
-.
+\fB\-\-eval\-all\fP
+Evaluate all available formulae and casks, whether installed or not\. Implied if \fBHOMEBREW_EVAL_ALL\fP is set\.
.TP
-\fB\-\-no\-simulate\fR
-Don\'t simulate other system configurations when checking formulae and casks\.
-.
-.SS "\fBreinstall\fR [\fIoptions\fR] \fIformula\fR|\fIcask\fR [\.\.\.]"
-Uninstall and then reinstall a \fIformula\fR or \fIcask\fR using the same options it was originally installed with, plus any appended options specific to a \fIformula\fR\.
-.
+\fB\-\-no\-simulate\fP
+Don\[u2019]t simulate other system configurations when checking formulae and casks\.
+.SS "\fBreinstall\fP \fR[\fIoptions\fP] \fIformula\fP|\fIcask\fP \fR[\.\.\.]"
+Uninstall and then reinstall a \fIformula\fP or \fIcask\fP using the same options it was originally installed with, plus any appended options specific to a \fIformula\fP\&\.
.P
-Unless \fBHOMEBREW_NO_INSTALLED_DEPENDENTS_CHECK\fR is set, \fBbrew upgrade\fR or \fBbrew reinstall\fR will be run for outdated dependents and dependents with broken linkage, respectively\.
-.
+Unless \fBHOMEBREW_NO_INSTALLED_DEPENDENTS_CHECK\fP is set, \fBbrew upgrade\fP or \fBbrew reinstall\fP will be run for outdated dependents and dependents with broken linkage, respectively\.
.P
-Unless \fBHOMEBREW_NO_INSTALL_CLEANUP\fR is set, \fBbrew cleanup\fR will then be run for the reinstalled formulae or, every 30 days, for all formulae\.
-.
+Unless \fBHOMEBREW_NO_INSTALL_CLEANUP\fP is set, \fBbrew cleanup\fP will then be run for the reinstalled formulae or, every 30 days, for all formulae\.
.TP
-\fB\-d\fR, \fB\-\-debug\fR
+\fB\-d\fP, \fB\-\-debug\fP
If brewing fails, open an interactive debugging session with access to IRB or a shell inside the temporary build directory\.
-.
.TP
-\fB\-f\fR, \fB\-\-force\fR
+\fB\-f\fP, \fB\-\-force\fP
Install without checking for previously installed keg\-only or non\-migrated versions\.
-.
.TP
-\fB\-v\fR, \fB\-\-verbose\fR
+\fB\-v\fP, \fB\-\-verbose\fP
Print the verification and post\-install steps\.
-.
.TP
-\fB\-\-formula\fR
+\fB\-\-formula\fP
Treat all named arguments as formulae\.
-.
.TP
-\fB\-s\fR, \fB\-\-build\-from\-source\fR
-Compile \fIformula\fR from source even if a bottle is available\.
-.
+\fB\-s\fP, \fB\-\-build\-from\-source\fP
+Compile \fIformula\fP from source even if a bottle is available\.
.TP
-\fB\-i\fR, \fB\-\-interactive\fR
-Download and patch \fIformula\fR, then open a shell\. This allows the user to run \fB\./configure \-\-help\fR and otherwise determine how to turn the software package into a Homebrew package\.
-.
+\fB\-i\fP, \fB\-\-interactive\fP
+Download and patch \fIformula\fP, then open a shell\. This allows the user to run \fB\&\./configure \-\-help\fP and otherwise determine how to turn the software package into a Homebrew package\.
.TP
-\fB\-\-force\-bottle\fR
+\fB\-\-force\-bottle\fP
Install from a bottle if it exists for the current or newest version of macOS, even if it would not normally be used for installation\.
-.
.TP
-\fB\-\-keep\-tmp\fR
+\fB\-\-keep\-tmp\fP
Retain the temporary files created during installation\.
-.
.TP
-\fB\-\-debug\-symbols\fR
+\fB\-\-debug\-symbols\fP
Generate debug symbols on build\. Source will be retained in a cache directory\.
-.
.TP
-\fB\-\-display\-times\fR
+\fB\-\-display\-times\fP
Print install times for each formula at the end of the run\.
-.
.TP
-\fB\-g\fR, \fB\-\-git\fR
+\fB\-g\fP, \fB\-\-git\fP
Create a Git repository, useful for creating patches to the software\.
-.
.TP
-\fB\-\-cask\fR
+\fB\-\-cask\fP
Treat all named arguments as casks\.
-.
.TP
-\fB\-\-[no\-]binaries\fR
+\fB\-\-[no\-]binaries\fP
Disable/enable linking of helper executables (default: enabled)\.
-.
.TP
-\fB\-\-require\-sha\fR
+\fB\-\-require\-sha\fP
Require all casks to have a checksum\.
-.
.TP
-\fB\-\-[no\-]quarantine\fR
+\fB\-\-[no\-]quarantine\fP
Disable/enable quarantining of downloads (default: enabled)\.
-.
.TP
-\fB\-\-adopt\fR
-Adopt existing artifacts in the destination that are identical to those being installed\. Cannot be combined with \fB\-\-force\fR\.
-.
+\fB\-\-adopt\fP
+Adopt existing artifacts in the destination that are identical to those being installed\. Cannot be combined with \fB\-\-force\fP\&\.
.TP
-\fB\-\-skip\-cask\-deps\fR
+\fB\-\-skip\-cask\-deps\fP
Skip installing cask dependencies\.
-.
.TP
-\fB\-\-zap\fR
-For use with \fBbrew reinstall \-\-cask\fR\. Remove all files associated with a cask\. \fIMay remove files which are shared between applications\.\fR
-.
-.SS "\fBsearch\fR, \fB\-S\fR [\fIoptions\fR] \fItext\fR|\fB/\fR\fIregex\fR\fB/\fR [\.\.\.]"
-Perform a substring search of cask tokens and formula names for \fItext\fR\. If \fItext\fR is flanked by slashes, it is interpreted as a regular expression\.
-.
+\fB\-\-zap\fP
+For use with \fBbrew reinstall \-\-cask\fP\&\. Remove all files associated with a cask\. \fIMay remove files which are shared between applications\.\fP
+.SS "\fBsearch\fP, \fB\-S\fP \fR[\fIoptions\fP] \fItext\fP|\fB/\fP\fIregex\fP\fB/\fP \fR[\.\.\.]"
+Perform a substring search of cask tokens and formula names for \fItext\fP\&\. If \fItext\fP is flanked by slashes, it is interpreted as a regular expression\.
.TP
-\fB\-\-formula\fR
+\fB\-\-formula\fP
Search for formulae\.
-.
.TP
-\fB\-\-cask\fR
+\fB\-\-cask\fP
Search for casks\.
-.
.TP
-\fB\-\-desc\fR
-Search for formulae with a description matching \fItext\fR and casks with a name or description matching \fItext\fR\.
-.
+\fB\-\-desc\fP
+Search for formulae with a description matching \fItext\fP and casks with a name or description matching \fItext\fP\&\.
.TP
-\fB\-\-eval\-all\fR
-Evaluate all available formulae and casks, whether installed or not, to search their descriptions\. Implied if \fBHOMEBREW_EVAL_ALL\fR is set\.
-.
+\fB\-\-eval\-all\fP
+Evaluate all available formulae and casks, whether installed or not, to search their descriptions\. Implied if \fBHOMEBREW_EVAL_ALL\fP is set\.
.TP
-\fB\-\-pull\-request\fR
-Search for GitHub pull requests containing \fItext\fR\.
-.
+\fB\-\-pull\-request\fP
+Search for GitHub pull requests containing \fItext\fP\&\.
.TP
-\fB\-\-open\fR
+\fB\-\-open\fP
Search for only open GitHub pull requests\.
-.
.TP
-\fB\-\-closed\fR
+\fB\-\-closed\fP
Search for only closed GitHub pull requests\.
-.
.TP
-\fB\-\-repology\fR
-Search for \fItext\fR in the given database\.
-.
+\fB\-\-repology\fP
+Search for \fItext\fP in the given database\.
.TP
-\fB\-\-macports\fR
-Search for \fItext\fR in the given database\.
-.
+\fB\-\-macports\fP
+Search for \fItext\fP in the given database\.
.TP
-\fB\-\-fink\fR
-Search for \fItext\fR in the given database\.
-.
+\fB\-\-fink\fP
+Search for \fItext\fP in the given database\.
.TP
-\fB\-\-opensuse\fR
-Search for \fItext\fR in the given database\.
-.
+\fB\-\-opensuse\fP
+Search for \fItext\fP in the given database\.
.TP
-\fB\-\-fedora\fR
-Search for \fItext\fR in the given database\.
-.
+\fB\-\-fedora\fP
+Search for \fItext\fP in the given database\.
.TP
-\fB\-\-archlinux\fR
-Search for \fItext\fR in the given database\.
-.
+\fB\-\-archlinux\fP
+Search for \fItext\fP in the given database\.
.TP
-\fB\-\-debian\fR
-Search for \fItext\fR in the given database\.
-.
+\fB\-\-debian\fP
+Search for \fItext\fP in the given database\.
.TP
-\fB\-\-ubuntu\fR
-Search for \fItext\fR in the given database\.
-.
-.SS "\fBsetup\-ruby\fR"
-Installs and configures Homebrew\'s Ruby\.
-.
-.SS "\fBshellenv [bash|csh|fish|pwsh|sh|tcsh|zsh]\fR"
-Print export statements\. When run in a shell, this installation of Homebrew will be added to your \fBPATH\fR, \fBMANPATH\fR, and \fBINFOPATH\fR\.
-.
+\fB\-\-ubuntu\fP
+Search for \fItext\fP in the given database\.
+.SS "\fBsetup\-ruby\fP"
+Installs and configures Homebrew\[u2019]s Ruby\.
+.SS "\fBshellenv \fR[bash|csh|fish|pwsh|sh|tcsh|zsh]\fP"
+Print export statements\. When run in a shell, this installation of Homebrew will be added to your \fBPATH\fP, \fBMANPATH\fP, and \fBINFOPATH\fP\&\.
.P
-The variables \fBHOMEBREW_PREFIX\fR, \fBHOMEBREW_CELLAR\fR and \fBHOMEBREW_REPOSITORY\fR are also exported to avoid querying them multiple times\. To help guarantee idempotence, this command produces no output when Homebrew\'s \fBbin\fR and \fBsbin\fR directories are first and second respectively in your \fBPATH\fR\. Consider adding evaluation of this command\'s output to your dotfiles (e\.g\. \fB~/\.bash_profile\fR or \fB~/\.zprofile\fR on macOS and \fB~/\.bashrc\fR or \fB~/\.zshrc\fR on Linux) with: \fBeval "$(brew shellenv)"\fR
-.
+The variables \fBHOMEBREW_PREFIX\fP, \fBHOMEBREW_CELLAR\fP and \fBHOMEBREW_REPOSITORY\fP are also exported to avoid querying them multiple times\. To help guarantee idempotence, this command produces no output when Homebrew\[u2019]s \fBbin\fP and \fBsbin\fP directories are first and second respectively in your \fBPATH\fP\&\. Consider adding evaluation of this command\[u2019]s output to your dotfiles (e\.g\. \fB~/\.bash_profile\fP or \fB~/\.zprofile\fP on macOS and \fB~/\.bashrc\fP or \fB~/\.zshrc\fP on Linux) with: \fBeval "$(brew shellenv)"\fP
.P
The shell can be specified explicitly with a supported shell name parameter\. Unknown shells will output POSIX exports\.
-.
-.SS "\fBtap\fR [\fIoptions\fR] [\fIuser\fR\fB/\fR\fIrepo\fR] [\fIURL\fR]"
+.SS "\fBtap\fP \fR[\fIoptions\fP] \fR[\fIuser\fP\fB/\fP\fIrepo\fP] \fR[\fIURL\fP]"
Tap a formula repository\. If no arguments are provided, list all installed taps\.
-.
.P
-With \fIURL\fR unspecified, tap a formula repository from GitHub using HTTPS\. Since so many taps are hosted on GitHub, this command is a shortcut for \fBbrew tap\fR \fIuser\fR\fB/\fR\fIrepo\fR \fBhttps://github\.com/\fR\fIuser\fR\fB/homebrew\-\fR\fIrepo\fR\.
-.
+With \fIURL\fP unspecified, tap a formula repository from GitHub using HTTPS\. Since so many taps are hosted on GitHub, this command is a shortcut for \fBbrew tap\fP \fIuser\fP\fB/\fP\fIrepo\fP \fBhttps://github\.com/\fP\fIuser\fP\fB/homebrew\-\fP\fIrepo\fP\&\.
.P
-With \fIURL\fR specified, tap a formula repository from anywhere, using any transport protocol that \fBgit\fR(1) handles\. The one\-argument form of \fBtap\fR simplifies but also limits\. This two\-argument command makes no assumptions, so taps can be cloned from places other than GitHub and using protocols other than HTTPS, e\.g\. SSH, git, HTTP, FTP(S), rsync\.
-.
+With \fIURL\fP specified, tap a formula repository from anywhere, using any transport protocol that \fBgit\fP(1) handles\. The one\-argument form of \fBtap\fP simplifies but also limits\. This two\-argument command makes no assumptions, so taps can be cloned from places other than GitHub and using protocols other than HTTPS, e\.g\. SSH, git, HTTP, FTP(S), rsync\.
.TP
-\fB\-\-[no\-]force\-auto\-update\fR
+\fB\-\-[no\-]force\-auto\-update\fP
Auto\-update tap even if it is not hosted on GitHub\. By default, only taps hosted on GitHub are auto\-updated (for performance reasons)\.
-.
.TP
-\fB\-\-custom\-remote\fR
+\fB\-\-custom\-remote\fP
Install or change a tap with a custom remote\. Useful for mirrors\.
-.
.TP
-\fB\-\-repair\fR
+\fB\-\-repair\fP
Migrate tapped formulae from symlink\-based to directory\-based structure\.
-.
.TP
-\fB\-\-eval\-all\fR
-Evaluate all the formulae, casks and aliases in the new tap to check validity\. Implied if \fBHOMEBREW_EVAL_ALL\fR is set\.
-.
+\fB\-\-eval\-all\fP
+Evaluate all the formulae, casks and aliases in the new tap to check validity\. Implied if \fBHOMEBREW_EVAL_ALL\fP is set\.
.TP
-\fB\-\-force\fR
+\fB\-\-force\fP
Force install core taps even under API mode\.
-.
-.SS "\fBtap\-info\fR [\fB\-\-installed\fR] [\fB\-\-json\fR] [\fItap\fR \.\.\.]"
-Show detailed information about one or more \fItap\fRs\. If no \fItap\fR names are provided, display brief statistics for all installed taps\.
-.
+.SS "\fBtap\-info\fP \fR[\fB\-\-installed\fP] \fR[\fB\-\-json\fP] \fR[\fItap\fP \.\.\.]"
+Show detailed information about one or more \fItap\fPs\. If no \fItap\fP names are provided, display brief statistics for all installed taps\.
.TP
-\fB\-\-installed\fR
+\fB\-\-installed\fP
Show information on each installed tap\.
-.
.TP
-\fB\-\-json\fR
-Print a JSON representation of \fItap\fR\. Currently the default and only accepted value for \fIversion\fR is \fBv1\fR\. See the docs for examples of using the JSON output: \fIhttps://docs\.brew\.sh/Querying\-Brew\fR
-.
-.SS "\fBuninstall\fR, \fBremove\fR, \fBrm\fR [\fIoptions\fR] \fIinstalled_formula\fR|\fIinstalled_cask\fR [\.\.\.]"
-Uninstall a \fIformula\fR or \fIcask\fR\.
-.
+\fB\-\-json\fP
+Print a JSON representation of \fItap\fP\&\. Currently the default and only accepted value for \fIversion\fP is \fBv1\fP\&\. See the docs for examples of using the JSON output:
+.UR https://docs\.brew\.sh/Querying\-Brew
+.UE
+.SS "\fBuninstall\fP, \fBremove\fP, \fBrm\fP \fR[\fIoptions\fP] \fIinstalled_formula\fP|\fIinstalled_cask\fP \fR[\.\.\.]"
+Uninstall a \fIformula\fP or \fIcask\fP\&\.
.TP
-\fB\-f\fR, \fB\-\-force\fR
-Delete all installed versions of \fIformula\fR\. Uninstall even if \fIcask\fR is not installed, overwrite existing files and ignore errors when removing files\.
-.
+\fB\-f\fP, \fB\-\-force\fP
+Delete all installed versions of \fIformula\fP\&\. Uninstall even if \fIcask\fP is not installed, overwrite existing files and ignore errors when removing files\.
.TP
-\fB\-\-zap\fR
-Remove all files associated with a \fIcask\fR\. \fIMay remove files which are shared between applications\.\fR
-.
+\fB\-\-zap\fP
+Remove all files associated with a \fIcask\fP\&\. \fIMay remove files which are shared between applications\.\fP
.TP
-\fB\-\-ignore\-dependencies\fR
-Don\'t fail uninstall, even if \fIformula\fR is a dependency of any installed formulae\.
-.
+\fB\-\-ignore\-dependencies\fP
+Don\[u2019]t fail uninstall, even if \fIformula\fP is a dependency of any installed formulae\.
.TP
-\fB\-\-formula\fR
+\fB\-\-formula\fP
Treat all named arguments as formulae\.
-.
.TP
-\fB\-\-cask\fR
+\fB\-\-cask\fP
Treat all named arguments as casks\.
-.
-.SS "\fBunlink\fR [\fB\-\-dry\-run\fR] \fIinstalled_formula\fR [\.\.\.]"
-Remove symlinks for \fIformula\fR from Homebrew\'s prefix\. This can be useful for temporarily disabling a formula: \fBbrew unlink\fR \fIformula\fR \fB&&\fR \fIcommands\fR \fB&& brew link\fR \fIformula\fR
-.
+.SS "\fBunlink\fP \fR[\fB\-\-dry\-run\fP] \fIinstalled_formula\fP \fR[\.\.\.]"
+Remove symlinks for \fIformula\fP from Homebrew\[u2019]s prefix\. This can be useful for temporarily disabling a formula: \fBbrew unlink\fP \fIformula\fP \fB&&\fP \fIcommands\fP \fB&& brew link\fP \fIformula\fP
.TP
-\fB\-n\fR, \fB\-\-dry\-run\fR
+\fB\-n\fP, \fB\-\-dry\-run\fP
List files which would be unlinked without actually unlinking or deleting any files\.
-.
-.SS "\fBunpin\fR \fIinstalled_formula\fR [\.\.\.]"
-Unpin \fIformula\fR, allowing them to be upgraded by \fBbrew upgrade\fR \fIformula\fR\. See also \fBpin\fR\.
-.
-.SS "\fBuntap\fR [\fB\-\-force\fR] \fItap\fR [\.\.\.]"
+.SS "\fBunpin\fP \fIinstalled_formula\fP \fR[\.\.\.]"
+Unpin \fIformula\fP, allowing them to be upgraded by \fBbrew upgrade\fP \fIformula\fP\&\. See also \fBpin\fP\&\.
+.SS "\fBuntap\fP \fR[\fB\-\-force\fP] \fItap\fP \fR[\.\.\.]"
Remove a tapped formula repository\.
-.
.TP
-\fB\-f\fR, \fB\-\-force\fR
+\fB\-f\fP, \fB\-\-force\fP
Untap even if formulae or casks from this tap are currently installed\.
-.
-.SS "\fBupdate\fR [\fIoptions\fR]"
-Fetch the newest version of Homebrew and all formulae from GitHub using \fBgit\fR(1) and perform any necessary migrations\.
-.
+.SS "\fBupdate\fP \fR[\fIoptions\fP]"
+Fetch the newest version of Homebrew and all formulae from GitHub using \fBgit\fP(1) and perform any necessary migrations\.
.TP
-\fB\-\-merge\fR
-Use \fBgit merge\fR to apply updates (rather than \fBgit rebase\fR)\.
-.
+\fB\-\-merge\fP
+Use \fBgit merge\fP to apply updates (rather than \fBgit rebase\fP)\.
.TP
-\fB\-\-auto\-update\fR
-Run on auto\-updates (e\.g\. before \fBbrew install\fR)\. Skips some slower steps\.
-.
+\fB\-\-auto\-update\fP
+Run on auto\-updates (e\.g\. before \fBbrew install\fP)\. Skips some slower steps\.
.TP
-\fB\-f\fR, \fB\-\-force\fR
+\fB\-f\fP, \fB\-\-force\fP
Always do a slower, full update check (even if unnecessary)\.
-.
-.SS "\fBupdate\-reset\fR [\fIpath\-to\-tap\-repository\fR \.\.\.]"
-Fetch and reset Homebrew and all tap repositories (or any specified \fIrepository\fR) using \fBgit\fR(1) to their latest \fBorigin/HEAD\fR\.
-.
+.SS "\fBupdate\-reset\fP \fR[\fIpath\-to\-tap\-repository\fP \.\.\.]"
+Fetch and reset Homebrew and all tap repositories (or any specified \fIrepository\fP) using \fBgit\fP(1) to their latest \fBorigin/HEAD\fP\&\.
.P
-\fINote:\fR this will destroy all your uncommitted or committed changes\.
-.
-.SS "\fBupgrade\fR [\fIoptions\fR] [\fIinstalled_formula\fR|\fIinstalled_cask\fR \.\.\.]"
-Upgrade outdated casks and outdated, unpinned formulae using the same options they were originally installed with, plus any appended brew formula options\. If \fIcask\fR or \fIformula\fR are specified, upgrade only the given \fIcask\fR or \fIformula\fR kegs (unless they are pinned; see \fBpin\fR, \fBunpin\fR)\.
-.
+\fINote:\fP this will destroy all your uncommitted or committed changes\.
+.SS "\fBupgrade\fP \fR[\fIoptions\fP] \fR[\fIinstalled_formula\fP|\fIinstalled_cask\fP \.\.\.]"
+Upgrade outdated casks and outdated, unpinned formulae using the same options they were originally installed with, plus any appended brew formula options\. If \fIcask\fP or \fIformula\fP are specified, upgrade only the given \fIcask\fP or \fIformula\fP kegs (unless they are pinned; see \fBpin\fP, \fBunpin\fP)\.
.P
-Unless \fBHOMEBREW_NO_INSTALLED_DEPENDENTS_CHECK\fR is set, \fBbrew upgrade\fR or \fBbrew reinstall\fR will be run for outdated dependents and dependents with broken linkage, respectively\.
-.
+Unless \fBHOMEBREW_NO_INSTALLED_DEPENDENTS_CHECK\fP is set, \fBbrew upgrade\fP or \fBbrew reinstall\fP will be run for outdated dependents and dependents with broken linkage, respectively\.
.P
-Unless \fBHOMEBREW_NO_INSTALL_CLEANUP\fR is set, \fBbrew cleanup\fR will then be run for the upgraded formulae or, every 30 days, for all formulae\.
-.
+Unless \fBHOMEBREW_NO_INSTALL_CLEANUP\fP is set, \fBbrew cleanup\fP will then be run for the upgraded formulae or, every 30 days, for all formulae\.
.TP
-\fB\-d\fR, \fB\-\-debug\fR
+\fB\-d\fP, \fB\-\-debug\fP
If brewing fails, open an interactive debugging session with access to IRB or a shell inside the temporary build directory\.
-.
.TP
-\fB\-f\fR, \fB\-\-force\fR
+\fB\-f\fP, \fB\-\-force\fP
Install formulae without checking for previously installed keg\-only or non\-migrated versions\. When installing casks, overwrite existing files (binaries and symlinks are excluded, unless originally from the same cask)\.
-.
.TP
-\fB\-v\fR, \fB\-\-verbose\fR
+\fB\-v\fP, \fB\-\-verbose\fP
Print the verification and post\-install steps\.
-.
.TP
-\fB\-n\fR, \fB\-\-dry\-run\fR
+\fB\-n\fP, \fB\-\-dry\-run\fP
Show what would be upgraded, but do not actually upgrade anything\.
-.
.TP
-\fB\-\-formula\fR
+\fB\-\-formula\fP
Treat all named arguments as formulae\. If no named arguments are specified, upgrade only outdated formulae\.
-.
.TP
-\fB\-s\fR, \fB\-\-build\-from\-source\fR
-Compile \fIformula\fR from source even if a bottle is available\.
-.
+\fB\-s\fP, \fB\-\-build\-from\-source\fP
+Compile \fIformula\fP from source even if a bottle is available\.
.TP
-\fB\-i\fR, \fB\-\-interactive\fR
-Download and patch \fIformula\fR, then open a shell\. This allows the user to run \fB\./configure \-\-help\fR and otherwise determine how to turn the software package into a Homebrew package\.
-.
+\fB\-i\fP, \fB\-\-interactive\fP
+Download and patch \fIformula\fP, then open a shell\. This allows the user to run \fB\&\./configure \-\-help\fP and otherwise determine how to turn the software package into a Homebrew package\.
.TP
-\fB\-\-force\-bottle\fR
+\fB\-\-force\-bottle\fP
Install from a bottle if it exists for the current or newest version of macOS, even if it would not normally be used for installation\.
-.
.TP
-\fB\-\-fetch\-HEAD\fR
-Fetch the upstream repository to detect if the HEAD installation of the formula is outdated\. Otherwise, the repository\'s HEAD will only be checked for updates when a new stable or development version has been released\.
-.
+\fB\-\-fetch\-HEAD\fP
+Fetch the upstream repository to detect if the HEAD installation of the formula is outdated\. Otherwise, the repository\[u2019]s HEAD will only be checked for updates when a new stable or development version has been released\.
.TP
-\fB\-\-keep\-tmp\fR
+\fB\-\-keep\-tmp\fP
Retain the temporary files created during installation\.
-.
.TP
-\fB\-\-debug\-symbols\fR
+\fB\-\-debug\-symbols\fP
Generate debug symbols on build\. Source will be retained in a cache directory\.
-.
.TP
-\fB\-\-display\-times\fR
+\fB\-\-display\-times\fP
Print install times for each package at the end of the run\.
-.
.TP
-\fB\-\-overwrite\fR
+\fB\-\-overwrite\fP
Delete files that already exist in the prefix while linking\.
-.
.TP
-\fB\-\-cask\fR
+\fB\-\-cask\fP
Treat all named arguments as casks\. If no named arguments are specified, upgrade only outdated casks\.
-.
.TP
-\fB\-\-skip\-cask\-deps\fR
+\fB\-\-skip\-cask\-deps\fP
Skip installing cask dependencies\.
-.
.TP
-\fB\-g\fR, \fB\-\-greedy\fR
-Also include casks with \fBauto_updates true\fR or \fBversion :latest\fR\.
-.
+\fB\-g\fP, \fB\-\-greedy\fP
+Also include casks with \fBauto_updates true\fP or \fBversion :latest\fP\&\.
.TP
-\fB\-\-greedy\-latest\fR
-Also include casks with \fBversion :latest\fR\.
-.
+\fB\-\-greedy\-latest\fP
+Also include casks with \fBversion :latest\fP\&\.
.TP
-\fB\-\-greedy\-auto\-updates\fR
-Also include casks with \fBauto_updates true\fR\.
-.
+\fB\-\-greedy\-auto\-updates\fP
+Also include casks with \fBauto_updates true\fP\&\.
.TP
-\fB\-\-[no\-]binaries\fR
+\fB\-\-[no\-]binaries\fP
Disable/enable linking of helper executables (default: enabled)\.
-.
.TP
-\fB\-\-require\-sha\fR
+\fB\-\-require\-sha\fP
Require all casks to have a checksum\.
-.
.TP
-\fB\-\-[no\-]quarantine\fR
+\fB\-\-[no\-]quarantine\fP
Disable/enable quarantining of downloads (default: enabled)\.
-.
-.SS "\fBuses\fR [\fIoptions\fR] \fIformula\fR [\.\.\.]"
-Show formulae and casks that specify \fIformula\fR as a dependency; that is, show dependents of \fIformula\fR\. When given multiple formula arguments, show the intersection of formulae that use \fIformula\fR\. By default, \fBuses\fR shows all formulae and casks that specify \fIformula\fR as a required or recommended dependency for their stable builds\.
-.
+.SS "\fBuses\fP \fR[\fIoptions\fP] \fIformula\fP \fR[\.\.\.]"
+Show formulae and casks that specify \fIformula\fP as a dependency; that is, show dependents of \fIformula\fP\&\. When given multiple formula arguments, show the intersection of formulae that use \fIformula\fP\&\. By default, \fBuses\fP shows all formulae and casks that specify \fIformula\fP as a required or recommended dependency for their stable builds\.
.P
-\fINote:\fR \fB\-\-missing\fR and \fB\-\-skip\-recommended\fR have precedence over \fB\-\-include\-*\fR\.
-.
+\fINote:\fP \fB\-\-missing\fP and \fB\-\-skip\-recommended\fP have precedence over \fB\-\-include\-*\fP\&\.
.TP
-\fB\-\-recursive\fR
+\fB\-\-recursive\fP
Resolve more than one level of dependencies\.
-.
.TP
-\fB\-\-installed\fR
+\fB\-\-installed\fP
Only list formulae and casks that are currently installed\.
-.
.TP
-\fB\-\-missing\fR
+\fB\-\-missing\fP
Only list formulae and casks that are not currently installed\.
-.
.TP
-\fB\-\-eval\-all\fR
+\fB\-\-eval\-all\fP
Evaluate all available formulae and casks, whether installed or not, to show their dependents\.
-.
.TP
-\fB\-\-include\-build\fR
-Include formulae that specify \fIformula\fR as a \fB:build\fR dependency\.
-.
+\fB\-\-include\-build\fP
+Include formulae that specify \fIformula\fP as a \fB:build\fP dependency\.
.TP
-\fB\-\-include\-test\fR
-Include formulae that specify \fIformula\fR as a \fB:test\fR dependency\.
-.
+\fB\-\-include\-test\fP
+Include formulae that specify \fIformula\fP as a \fB:test\fP dependency\.
.TP
-\fB\-\-include\-optional\fR
-Include formulae that specify \fIformula\fR as an \fB:optional\fR dependency\.
-.
+\fB\-\-include\-optional\fP
+Include formulae that specify \fIformula\fP as an \fB:optional\fP dependency\.
.TP
-\fB\-\-skip\-recommended\fR
-Skip all formulae that specify \fIformula\fR as a \fB:recommended\fR dependency\.
-.
+\fB\-\-skip\-recommended\fP
+Skip all formulae that specify \fIformula\fP as a \fB:recommended\fP dependency\.
.TP
-\fB\-\-formula\fR
+\fB\-\-formula\fP
Include only formulae\.
-.
.TP
-\fB\-\-cask\fR
+\fB\-\-cask\fP
Include only casks\.
-.
-.SS "\fB\-\-cache\fR [\fIoptions\fR] [\fIformula\fR|\fIcask\fR \.\.\.]"
-Display Homebrew\'s download cache\. See also \fBHOMEBREW_CACHE\fR\.
-.
+.SS "\fB\-\-cache\fP \fR[\fIoptions\fP] \fR[\fIformula\fP|\fIcask\fP \.\.\.]"
+Display Homebrew\[u2019]s download cache\. See also \fBHOMEBREW_CACHE\fP\&\.
.P
-If \fIformula\fR is provided, display the file or directory used to cache \fIformula\fR\.
-.
+If \fIformula\fP is provided, display the file or directory used to cache \fIformula\fP\&\.
.TP
-\fB\-\-os\fR
-Show cache file for the given operating system\. (Pass \fBall\fR to show cache files for all operating systems\.)
-.
+\fB\-\-os\fP
+Show cache file for the given operating system\. (Pass \fBall\fP to show cache files for all operating systems\.)
.TP
-\fB\-\-arch\fR
-Show cache file for the given CPU architecture\. (Pass \fBall\fR to show cache files for all architectures\.)
-.
+\fB\-\-arch\fP
+Show cache file for the given CPU architecture\. (Pass \fBall\fP to show cache files for all architectures\.)
.TP
-\fB\-s\fR, \fB\-\-build\-from\-source\fR
+\fB\-s\fP, \fB\-\-build\-from\-source\fP
Show the cache file used when building from source\.
-.
.TP
-\fB\-\-force\-bottle\fR
+\fB\-\-force\-bottle\fP
Show the cache file used when pouring a bottle\.
-.
.TP
-\fB\-\-bottle\-tag\fR
+\fB\-\-bottle\-tag\fP
Show the cache file used when pouring a bottle for the given tag\.
-.
.TP
-\fB\-\-HEAD\fR
+\fB\-\-HEAD\fP
Show the cache file used when building from HEAD\.
-.
.TP
-\fB\-\-formula\fR
+\fB\-\-formula\fP
Only show cache files for formulae\.
-.
.TP
-\fB\-\-cask\fR
+\fB\-\-cask\fP
Only show cache files for casks\.
-.
-.SS "\fB\-\-caskroom\fR [\fIcask\fR \.\.\.]"
-Display Homebrew\'s Caskroom path\.
-.
+.SS "\fB\-\-caskroom\fP \fR[\fIcask\fP \.\.\.]"
+Display Homebrew\[u2019]s Caskroom path\.
.P
-If \fIcask\fR is provided, display the location in the Caskroom where \fIcask\fR would be installed, without any sort of versioned directory as the last path\.
-.
-.SS "\fB\-\-cellar\fR [\fIformula\fR \.\.\.]"
-Display Homebrew\'s Cellar path\. \fIDefault:\fR \fB$(brew \-\-prefix)/Cellar\fR, or if that directory doesn\'t exist, \fB$(brew \-\-repository)/Cellar\fR\.
-.
+If \fIcask\fP is provided, display the location in the Caskroom where \fIcask\fP would be installed, without any sort of versioned directory as the last path\.
+.SS "\fB\-\-cellar\fP \fR[\fIformula\fP \.\.\.]"
+Display Homebrew\[u2019]s Cellar path\. \fIDefault:\fP \fB$(brew \-\-prefix)/Cellar\fP, or if that directory doesn\[u2019]t exist, \fB$(brew \-\-repository)/Cellar\fP\&\.
.P
-If \fIformula\fR is provided, display the location in the Cellar where \fIformula\fR would be installed, without any sort of versioned directory as the last path\.
-.
-.SS "\fB\-\-env\fR, \fBenvironment\fR [\fB\-\-shell=\fR] [\fB\-\-plain\fR] [\fIformula\fR \.\.\.]"
-Summarise Homebrew\'s build environment as a plain list\.
-.
+If \fIformula\fP is provided, display the location in the Cellar where \fIformula\fP would be installed, without any sort of versioned directory as the last path\.
+.SS "\fB\-\-env\fP, \fBenvironment\fP \fR[\fB\-\-shell=\fP] \fR[\fB\-\-plain\fP] \fR[\fIformula\fP \.\.\.]"
+Summarise Homebrew\[u2019]s build environment as a plain list\.
.P
-If the command\'s output is sent through a pipe and no shell is specified, the list is formatted for export to \fBbash\fR(1) unless \fB\-\-plain\fR is passed\.
-.
+If the command\[u2019]s output is sent through a pipe and no shell is specified, the list is formatted for export to \fBbash\fP(1) unless \fB\-\-plain\fP is passed\.
.TP
-\fB\-\-shell\fR
-Generate a list of environment variables for the specified shell, or \fB\-\-shell=auto\fR to detect the current shell\.
-.
+\fB\-\-shell\fP
+Generate a list of environment variables for the specified shell, or \fB\-\-shell=auto\fP to detect the current shell\.
.TP
-\fB\-\-plain\fR
+\fB\-\-plain\fP
Generate plain output even when piped\.
-.
-.SS "\fB\-\-prefix\fR [\fB\-\-unbrewed\fR] [\fB\-\-installed\fR] [\fIformula\fR \.\.\.]"
-Display Homebrew\'s install path\. \fIDefault:\fR
-.
-.IP "\(bu" 4
-macOS ARM: \fB/opt/homebrew\fR
-.
-.IP "\(bu" 4
-macOS Intel: \fB/usr/local\fR
-.
-.IP "\(bu" 4
-Linux: \fB/home/linuxbrew/\.linuxbrew\fR
-.
-.IP "" 0
-.
+.SS "\fB\-\-prefix\fP \fR[\fB\-\-unbrewed\fP] \fR[\fB\-\-installed\fP] \fR[\fIformula\fP \.\.\.]"
+Display Homebrew\[u2019]s install path\. \fIDefault:\fP
+.IP \(bu 4
+macOS ARM: \fB/opt/homebrew\fP
+.IP \(bu 4
+macOS Intel: \fB/usr/local\fP
+.IP \(bu 4
+Linux: \fB/home/linuxbrew/\.linuxbrew\fP
.P
-If \fIformula\fR is provided, display the location where \fIformula\fR is or would be installed\.
-.
+If \fIformula\fP is provided, display the location where \fIformula\fP is or would be installed\.
.TP
-\fB\-\-unbrewed\fR
-List files in Homebrew\'s prefix not installed by Homebrew\.
-.
+\fB\-\-unbrewed\fP
+List files in Homebrew\[u2019]s prefix not installed by Homebrew\.
.TP
-\fB\-\-installed\fR
-Outputs nothing and returns a failing status code if \fIformula\fR is not installed\.
-.
-.SS "\fB\-\-repository\fR, \fB\-\-repo\fR [\fItap\fR \.\.\.]"
-Display where Homebrew\'s Git repository is located\.
-.
+\fB\-\-installed\fP
+Outputs nothing and returns a failing status code if \fIformula\fP is not installed\.
+.SS "\fB\-\-repository\fP, \fB\-\-repo\fP \fR[\fItap\fP \.\.\.]"
+Display where Homebrew\[u2019]s Git repository is located\.
.P
-If \fIuser\fR\fB/\fR\fIrepo\fR are provided, display where tap \fIuser\fR\fB/\fR\fIrepo\fR\'s directory is located\.
-.
-.SS "\fB\-\-version\fR, \fB\-v\fR"
+If \fIuser\fP\fB/\fP\fIrepo\fP are provided, display where tap \fIuser\fP\fB/\fP\fIrepo\fP\[u2019]s directory is located\.
+.SS "\fB\-\-version\fP, \fB\-v\fP"
Print the version numbers of Homebrew, Homebrew/homebrew\-core and Homebrew/homebrew\-cask (if tapped) to standard output\.
-.
.SH "DEVELOPER COMMANDS"
-.
-.SS "\fBaudit\fR [\fIoptions\fR] [\fIformula\fR|\fIcask\fR \.\.\.]"
-Check \fIformula\fR for Homebrew coding style violations\. This should be run before submitting a new formula or cask\. If no \fIformula\fR|\fIcask\fR are provided, check all locally available formulae and casks and skip style checks\. Will exit with a non\-zero status if any errors are found\.
-.
+.SS "\fBaudit\fP \fR[\fIoptions\fP] \fR[\fIformula\fP|\fIcask\fP \.\.\.]"
+Check \fIformula\fP for Homebrew coding style violations\. This should be run before submitting a new formula or cask\. If no \fIformula\fP|\fIcask\fP are provided, check all locally available formulae and casks and skip style checks\. Will exit with a non\-zero status if any errors are found\.
.TP
-\fB\-\-os\fR
-Audit the given operating system\. (Pass \fBall\fR to audit all operating systems\.)
-.
+\fB\-\-os\fP
+Audit the given operating system\. (Pass \fBall\fP to audit all operating systems\.)
.TP
-\fB\-\-arch\fR
-Audit the given CPU architecture\. (Pass \fBall\fR to audit all architectures\.)
-.
+\fB\-\-arch\fP
+Audit the given CPU architecture\. (Pass \fBall\fP to audit all architectures\.)
.TP
-\fB\-\-strict\fR
+\fB\-\-strict\fP
Run additional, stricter style checks\.
-.
.TP
-\fB\-\-git\fR
+\fB\-\-git\fP
Run additional, slower style checks that navigate the Git repository\.
-.
.TP
-\fB\-\-online\fR
+\fB\-\-online\fP
Run additional, slower style checks that require a network connection\.
-.
.TP
-\fB\-\-installed\fR
+\fB\-\-installed\fP
Only check formulae and casks that are currently installed\.
-.
.TP
-\fB\-\-eval\-all\fR
-Evaluate all available formulae and casks, whether installed or not, to audit them\. Implied if \fBHOMEBREW_EVAL_ALL\fR is set\.
-.
+\fB\-\-eval\-all\fP
+Evaluate all available formulae and casks, whether installed or not, to audit them\. Implied if \fBHOMEBREW_EVAL_ALL\fP is set\.
.TP
-\fB\-\-new\fR
-Run various additional style checks to determine if a new formula or cask is eligible for Homebrew\. This should be used when creating new formulae or casks and implies \fB\-\-strict\fR and \fB\-\-online\fR\.
-.
+\fB\-\-new\fP
+Run various additional style checks to determine if a new formula or cask is eligible for Homebrew\. This should be used when creating new formulae or casks and implies \fB\-\-strict\fP and \fB\-\-online\fP\&\.
.TP
-\fB\-\-[no\-]signing\fR
+\fB\-\-[no\-]signing\fP
Audit for signed apps, which are required on ARM
-.
.TP
-\fB\-\-token\-conflicts\fR
+\fB\-\-token\-conflicts\fP
Audit for token conflicts\.
-.
.TP
-\fB\-\-tap\fR
-Check the formulae within the given tap, specified as \fIuser\fR\fB/\fR\fIrepo\fR\.
-.
+\fB\-\-tap\fP
+Check the formulae within the given tap, specified as \fIuser\fP\fB/\fP\fIrepo\fP\&\.
.TP
-\fB\-\-fix\fR
-Fix style violations automatically using RuboCop\'s auto\-correct feature\.
-.
+\fB\-\-fix\fP
+Fix style violations automatically using RuboCop\[u2019]s auto\-correct feature\.
.TP
-\fB\-\-display\-filename\fR
+\fB\-\-display\-filename\fP
Prefix every line of output with the file or formula name being audited, to make output easy to grep\.
-.
.TP
-\fB\-\-skip\-style\fR
-Skip running non\-RuboCop style checks\. Useful if you plan on running \fBbrew style\fR separately\. Enabled by default unless a formula is specified by name\.
-.
+\fB\-\-skip\-style\fP
+Skip running non\-RuboCop style checks\. Useful if you plan on running \fBbrew style\fP separately\. Enabled by default unless a formula is specified by name\.
.TP
-\fB\-D\fR, \fB\-\-audit\-debug\fR
+\fB\-D\fP, \fB\-\-audit\-debug\fP
Enable debugging and profiling of audit methods\.
-.
.TP
-\fB\-\-only\fR
-Specify a comma\-separated \fImethod\fR list to only run the methods named \fBaudit_\fR\fImethod\fR\.
-.
+\fB\-\-only\fP
+Specify a comma\-separated \fImethod\fP list to only run the methods named \fBaudit_\fP\fImethod\fP\&\.
.TP
-\fB\-\-except\fR
-Specify a comma\-separated \fImethod\fR list to skip running the methods named \fBaudit_\fR\fImethod\fR\.
-.
+\fB\-\-except\fP
+Specify a comma\-separated \fImethod\fP list to skip running the methods named \fBaudit_\fP\fImethod\fP\&\.
.TP
-\fB\-\-only\-cops\fR
-Specify a comma\-separated \fIcops\fR list to check for violations of only the listed RuboCop cops\.
-.
+\fB\-\-only\-cops\fP
+Specify a comma\-separated \fIcops\fP list to check for violations of only the listed RuboCop cops\.
.TP
-\fB\-\-except\-cops\fR
-Specify a comma\-separated \fIcops\fR list to skip checking for violations of the listed RuboCop cops\.
-.
+\fB\-\-except\-cops\fP
+Specify a comma\-separated \fIcops\fP list to skip checking for violations of the listed RuboCop cops\.
.TP
-\fB\-\-formula\fR
+\fB\-\-formula\fP
Treat all named arguments as formulae\.
-.
.TP
-\fB\-\-cask\fR
+\fB\-\-cask\fP
Treat all named arguments as casks\.
-.
-.SS "\fBbottle\fR [\fIoptions\fR] \fIinstalled_formula\fR|\fIfile\fR [\.\.\.]"
-Generate a bottle (binary package) from a formula that was installed with \fB\-\-build\-bottle\fR\. If the formula specifies a rebuild version, it will be incremented in the generated DSL\. Passing \fB\-\-keep\-old\fR will attempt to keep it at its original value, while \fB\-\-no\-rebuild\fR will remove it\.
-.
+.SS "\fBbottle\fP \fR[\fIoptions\fP] \fIinstalled_formula\fP|\fIfile\fP \fR[\.\.\.]"
+Generate a bottle (binary package) from a formula that was installed with \fB\-\-build\-bottle\fP\&\. If the formula specifies a rebuild version, it will be incremented in the generated DSL\. Passing \fB\-\-keep\-old\fP will attempt to keep it at its original value, while \fB\-\-no\-rebuild\fP will remove it\.
.TP
-\fB\-\-skip\-relocation\fR
+\fB\-\-skip\-relocation\fP
Do not check if the bottle can be marked as relocatable\.
-.
.TP
-\fB\-\-force\-core\-tap\fR
-Build a bottle even if \fIformula\fR is not in \fBhomebrew/core\fR or any installed taps\.
-.
+\fB\-\-force\-core\-tap\fP
+Build a bottle even if \fIformula\fP is not in \fBhomebrew/core\fP or any installed taps\.
.TP
-\fB\-\-no\-rebuild\fR
+\fB\-\-no\-rebuild\fP
If the formula specifies a rebuild version, remove it from the generated DSL\.
-.
.TP
-\fB\-\-keep\-old\fR
+\fB\-\-keep\-old\fP
If the formula specifies a rebuild version, attempt to preserve its value in the generated DSL\.
-.
.TP
-\fB\-\-json\fR
-Write bottle information to a JSON file, which can be used as the value for \fB\-\-merge\fR\.
-.
+\fB\-\-json\fP
+Write bottle information to a JSON file, which can be used as the value for \fB\-\-merge\fP\&\.
.TP
-\fB\-\-merge\fR
-Generate an updated bottle block for a formula and optionally merge it into the formula file\. Instead of a formula name, requires the path to a JSON file generated with \fBbrew bottle \-\-json\fR \fIformula\fR\.
-.
+\fB\-\-merge\fP
+Generate an updated bottle block for a formula and optionally merge it into the formula file\. Instead of a formula name, requires the path to a JSON file generated with \fBbrew bottle \-\-json\fP \fIformula\fP\&\.
.TP
-\fB\-\-write\fR
-Write changes to the formula file\. A new commit will be generated unless \fB\-\-no\-commit\fR is passed\.
-.
+\fB\-\-write\fP
+Write changes to the formula file\. A new commit will be generated unless \fB\-\-no\-commit\fP is passed\.
.TP
-\fB\-\-no\-commit\fR
-When passed with \fB\-\-write\fR, a new commit will not generated after writing changes to the formula file\.
-.
+\fB\-\-no\-commit\fP
+When passed with \fB\-\-write\fP, a new commit will not generated after writing changes to the formula file\.
.TP
-\fB\-\-only\-json\-tab\fR
-When passed with \fB\-\-json\fR, the tab will be written to the JSON file but not the bottle\.
-.
+\fB\-\-only\-json\-tab\fP
+When passed with \fB\-\-json\fP, the tab will be written to the JSON file but not the bottle\.
.TP
-\fB\-\-no\-all\-checks\fR
-Don\'t try to create an \fBall\fR bottle or stop a no\-change upload\.
-.
+\fB\-\-no\-all\-checks\fP
+Don\[u2019]t try to create an \fBall\fP bottle or stop a no\-change upload\.
.TP
-\fB\-\-committer\fR
-Specify a committer name and email in \fBgit\fR\'s standard author format\.
-.
+\fB\-\-committer\fP
+Specify a committer name and email in \fBgit\fP\[u2019]s standard author format\.
.TP
-\fB\-\-root\-url\fR
-Use the specified \fIURL\fR as the root of the bottle\'s URL instead of Homebrew\'s default\.
-.
+\fB\-\-root\-url\fP
+Use the specified \fIURL\fP as the root of the bottle\[u2019]s URL instead of Homebrew\[u2019]s default\.
.TP
-\fB\-\-root\-url\-using\fR
-Use the specified download strategy class for downloading the bottle\'s URL instead of Homebrew\'s default\.
-.
-.SS "\fBbump\fR [\fIoptions\fR] [\fIformula\fR|\fIcask\fR \.\.\.]"
+\fB\-\-root\-url\-using\fP
+Use the specified download strategy class for downloading the bottle\[u2019]s URL instead of Homebrew\[u2019]s default\.
+.SS "\fBbump\fP \fR[\fIoptions\fP] \fR[\fIformula\fP|\fIcask\fP \.\.\.]"
Display out\-of\-date brew formulae and the latest version available\. If the returned current and livecheck versions differ or when querying specific formulae, also displays whether a pull request has been opened with the URL\.
-.
.TP
-\fB\-\-full\-name\fR
+\fB\-\-full\-name\fP
Print formulae/casks with fully\-qualified names\.
-.
.TP
-\fB\-\-no\-pull\-requests\fR
+\fB\-\-no\-pull\-requests\fP
Do not retrieve pull requests from GitHub\.
-.
.TP
-\fB\-\-formula\fR
+\fB\-\-formula\fP
Check only formulae\.
-.
.TP
-\fB\-\-cask\fR
+\fB\-\-cask\fP
Check only casks\.
-.
.TP
-\fB\-\-tap\fR
-Check formulae and casks within the given tap, specified as \fIuser\fR\fB/\fR\fIrepo\fR\.
-.
+\fB\-\-tap\fP
+Check formulae and casks within the given tap, specified as \fIuser\fP\fB/\fP\fIrepo\fP\&\.
.TP
-\fB\-\-installed\fR
+\fB\-\-installed\fP
Check formulae and casks that are currently installed\.
-.
.TP
-\fB\-\-no\-fork\fR
-Don\'t try to fork the repository\.
-.
+\fB\-\-no\-fork\fP
+Don\[u2019]t try to fork the repository\.
.TP
-\fB\-\-open\-pr\fR
+\fB\-\-open\-pr\fP
Open a pull request for the new version if none have been opened yet\.
-.
.TP
-\fB\-\-limit\fR
+\fB\-\-limit\fP
Limit number of package results returned\.
-.
.TP
-\fB\-\-start\-with\fR
+\fB\-\-start\-with\fP
Letter or word that the list of package results should alphabetically follow\.
-.
-.SS "\fBbump\-cask\-pr\fR [\fIoptions\fR] \fIcask\fR"
-Create a pull request to update \fIcask\fR with a new version\.
-.
+.SS "\fBbump\-cask\-pr\fP \fR[\fIoptions\fP] \fIcask\fP"
+Create a pull request to update \fIcask\fP with a new version\.
.P
-A best effort to determine the \fISHA\-256\fR will be made if the value is not supplied by the user\.
-.
+A best effort to determine the \fISHA\-256\fP will be made if the value is not supplied by the user\.
.TP
-\fB\-n\fR, \fB\-\-dry\-run\fR
+\fB\-n\fP, \fB\-\-dry\-run\fP
Print what would be done rather than doing it\.
-.
.TP
-\fB\-\-write\-only\fR
+\fB\-\-write\-only\fP
Make the expected file modifications without taking any Git actions\.
-.
.TP
-\fB\-\-commit\fR
-When passed with \fB\-\-write\-only\fR, generate a new commit after writing changes to the cask file\.
-.
+\fB\-\-commit\fP
+When passed with \fB\-\-write\-only\fP, generate a new commit after writing changes to the cask file\.
.TP
-\fB\-\-no\-audit\fR
-Don\'t run \fBbrew audit\fR before opening the PR\.
-.
+\fB\-\-no\-audit\fP
+Don\[u2019]t run \fBbrew audit\fP before opening the PR\.
.TP
-\fB\-\-no\-style\fR
-Don\'t run \fBbrew style \-\-fix\fR before opening the PR\.
-.
+\fB\-\-no\-style\fP
+Don\[u2019]t run \fBbrew style \-\-fix\fP before opening the PR\.
.TP
-\fB\-\-no\-browse\fR
+\fB\-\-no\-browse\fP
Print the pull request URL instead of opening in a browser\.
-.
.TP
-\fB\-\-no\-fork\fR
-Don\'t try to fork the repository\.
-.
+\fB\-\-no\-fork\fP
+Don\[u2019]t try to fork the repository\.
.TP
-\fB\-\-version\fR
-Specify the new \fIversion\fR for the cask\.
-.
+\fB\-\-version\fP
+Specify the new \fIversion\fP for the cask\.
.TP
-\fB\-\-version\-arm\fR
-Specify the new cask \fIversion\fR for the ARM architecture\.
-.
+\fB\-\-version\-arm\fP
+Specify the new cask \fIversion\fP for the ARM architecture\.
.TP
-\fB\-\-version\-intel\fR
-Specify the new cask \fIversion\fR for the Intel architecture\.
-.
+\fB\-\-version\-intel\fP
+Specify the new cask \fIversion\fP for the Intel architecture\.
.TP
-\fB\-\-message\fR
-Prepend \fImessage\fR to the default pull request message\.
-.
+\fB\-\-message\fP
+Prepend \fImessage\fP to the default pull request message\.
.TP
-\fB\-\-url\fR
-Specify the \fIURL\fR for the new download\.
-.
+\fB\-\-url\fP
+Specify the \fIURL\fP for the new download\.
.TP
-\fB\-\-sha256\fR
-Specify the \fISHA\-256\fR checksum of the new download\.
-.
+\fB\-\-sha256\fP
+Specify the \fISHA\-256\fP checksum of the new download\.
.TP
-\fB\-\-fork\-org\fR
+\fB\-\-fork\-org\fP
Use the specified GitHub organization for forking\.
-.
-.SS "\fBbump\-formula\-pr\fR [\fIoptions\fR] [\fIformula\fR]"
-Create a pull request to update \fIformula\fR with a new URL or a new tag\.
-.
+.SS "\fBbump\-formula\-pr\fP \fR[\fIoptions\fP] \fR[\fIformula\fP]"
+Create a pull request to update \fIformula\fP with a new URL or a new tag\.
.P
-If a \fIURL\fR is specified, the \fISHA\-256\fR checksum of the new download should also be specified\. A best effort to determine the \fISHA\-256\fR will be made if not supplied by the user\.
-.
+If a \fIURL\fP is specified, the \fISHA\-256\fP checksum of the new download should also be specified\. A best effort to determine the \fISHA\-256\fP will be made if not supplied by the user\.
.P
-If a \fItag\fR is specified, the Git commit \fIrevision\fR corresponding to that tag should also be specified\. A best effort to determine the \fIrevision\fR will be made if the value is not supplied by the user\.
-.
+If a \fItag\fP is specified, the Git commit \fIrevision\fP corresponding to that tag should also be specified\. A best effort to determine the \fIrevision\fP will be made if the value is not supplied by the user\.
.P
-If a \fIversion\fR is specified, a best effort to determine the \fIURL\fR and \fISHA\-256\fR or the \fItag\fR and \fIrevision\fR will be made if both values are not supplied by the user\.
-.
+If a \fIversion\fP is specified, a best effort to determine the \fIURL\fP and \fISHA\-256\fP or the \fItag\fP and \fIrevision\fP will be made if both values are not supplied by the user\.
.P
-\fINote:\fR this command cannot be used to transition a formula from a URL\-and\-SHA\-256 style specification into a tag\-and\-revision style specification, nor vice versa\. It must use whichever style specification the formula already uses\.
-.
+\fINote:\fP this command cannot be used to transition a formula from a URL\-and\-SHA\-256 style specification into a tag\-and\-revision style specification, nor vice versa\. It must use whichever style specification the formula already uses\.
.TP
-\fB\-n\fR, \fB\-\-dry\-run\fR
+\fB\-n\fP, \fB\-\-dry\-run\fP
Print what would be done rather than doing it\.
-.
.TP
-\fB\-\-write\-only\fR
+\fB\-\-write\-only\fP
Make the expected file modifications without taking any Git actions\.
-.
.TP
-\fB\-\-commit\fR
-When passed with \fB\-\-write\-only\fR, generate a new commit after writing changes to the formula file\.
-.
+\fB\-\-commit\fP
+When passed with \fB\-\-write\-only\fP, generate a new commit after writing changes to the formula file\.
.TP
-\fB\-\-no\-audit\fR
-Don\'t run \fBbrew audit\fR before opening the PR\.
-.
+\fB\-\-no\-audit\fP
+Don\[u2019]t run \fBbrew audit\fP before opening the PR\.
.TP
-\fB\-\-strict\fR
-Run \fBbrew audit \-\-strict\fR before opening the PR\.
-.
+\fB\-\-strict\fP
+Run \fBbrew audit \-\-strict\fP before opening the PR\.
.TP
-\fB\-\-online\fR
-Run \fBbrew audit \-\-online\fR before opening the PR\.
-.
+\fB\-\-online\fP
+Run \fBbrew audit \-\-online\fP before opening the PR\.
.TP
-\fB\-\-no\-browse\fR
+\fB\-\-no\-browse\fP
Print the pull request URL instead of opening in a browser\.
-.
.TP
-\fB\-\-no\-fork\fR
-Don\'t try to fork the repository\.
-.
+\fB\-\-no\-fork\fP
+Don\[u2019]t try to fork the repository\.
.TP
-\fB\-\-mirror\fR
-Use the specified \fIURL\fR as a mirror URL\. If \fIURL\fR is a comma\-separated list of URLs, multiple mirrors will be added\.
-.
+\fB\-\-mirror\fP
+Use the specified \fIURL\fP as a mirror URL\. If \fIURL\fP is a comma\-separated list of URLs, multiple mirrors will be added\.
.TP
-\fB\-\-fork\-org\fR
+\fB\-\-fork\-org\fP
Use the specified GitHub organization for forking\.
-.
.TP
-\fB\-\-version\fR
-Use the specified \fIversion\fR to override the value parsed from the URL or tag\. Note that \fB\-\-version=0\fR can be used to delete an existing version override from a formula if it has become redundant\.
-.
+\fB\-\-version\fP
+Use the specified \fIversion\fP to override the value parsed from the URL or tag\. Note that \fB\-\-version=0\fP can be used to delete an existing version override from a formula if it has become redundant\.
.TP
-\fB\-\-message\fR
-Prepend \fImessage\fR to the default pull request message\.
-.
+\fB\-\-message\fP
+Prepend \fImessage\fP to the default pull request message\.
.TP
-\fB\-\-url\fR
-Specify the \fIURL\fR for the new download\. If a \fIURL\fR is specified, the \fISHA\-256\fR checksum of the new download should also be specified\.
-.
+\fB\-\-url\fP
+Specify the \fIURL\fP for the new download\. If a \fIURL\fP is specified, the \fISHA\-256\fP checksum of the new download should also be specified\.
.TP
-\fB\-\-sha256\fR
-Specify the \fISHA\-256\fR checksum of the new download\.
-.
+\fB\-\-sha256\fP
+Specify the \fISHA\-256\fP checksum of the new download\.
.TP
-\fB\-\-tag\fR
-Specify the new git commit \fItag\fR for the formula\.
-.
+\fB\-\-tag\fP
+Specify the new git commit \fItag\fP for the formula\.
.TP
-\fB\-\-revision\fR
-Specify the new commit \fIrevision\fR corresponding to the specified git \fItag\fR or specified \fIversion\fR\.
-.
+\fB\-\-revision\fP
+Specify the new commit \fIrevision\fP corresponding to the specified git \fItag\fP or specified \fIversion\fP\&\.
.TP
-\fB\-f\fR, \fB\-\-force\fR
-Remove all mirrors if \fB\-\-mirror\fR was not specified\.
-.
+\fB\-f\fP, \fB\-\-force\fP
+Remove all mirrors if \fB\-\-mirror\fP was not specified\.
.TP
-\fB\-\-install\-dependencies\fR
+\fB\-\-install\-dependencies\fP
Install missing dependencies required to update resources\.
-.
.TP
-\fB\-\-python\-package\-name\fR
-Use the specified \fIpackage\-name\fR when finding Python resources for \fIformula\fR\. If no package name is specified, it will be inferred from the formula\'s stable URL\.
-.
+\fB\-\-python\-package\-name\fP
+Use the specified \fIpackage\-name\fP when finding Python resources for \fIformula\fP\&\. If no package name is specified, it will be inferred from the formula\[u2019]s stable URL\.
.TP
-\fB\-\-python\-extra\-packages\fR
+\fB\-\-python\-extra\-packages\fP
Include these additional Python packages when finding resources\.
-.
.TP
-\fB\-\-python\-exclude\-packages\fR
+\fB\-\-python\-exclude\-packages\fP
Exclude these Python packages when finding resources\.
-.
-.SS "\fBbump\-revision\fR [\fIoptions\fR] \fIformula\fR [\.\.\.]"
-Create a commit to increment the revision of \fIformula\fR\. If no revision is present, "revision 1" will be added\.
-.
+.SS "\fBbump\-revision\fP \fR[\fIoptions\fP] \fIformula\fP \fR[\.\.\.]"
+Create a commit to increment the revision of \fIformula\fP\&\. If no revision is present, \[u201c]revision 1\[u201d] will be added\.
.TP
-\fB\-n\fR, \fB\-\-dry\-run\fR
+\fB\-n\fP, \fB\-\-dry\-run\fP
Print what would be done rather than doing it\.
-.
.TP
-\fB\-\-remove\-bottle\-block\fR
+\fB\-\-remove\-bottle\-block\fP
Remove the bottle block in addition to bumping the revision\.
-.
.TP
-\fB\-\-write\-only\fR
+\fB\-\-write\-only\fP
Make the expected file modifications without taking any Git actions\.
-.
.TP
-\fB\-\-message\fR
-Append \fImessage\fR to the default commit message\.
-.
-.SS "\fBbump\-unversioned\-casks\fR [\fIoptions\fR] \fIcask\fR|\fItap\fR [\.\.\.]"
-Check all casks with unversioned URLs in a given \fItap\fR for updates\.
-.
+\fB\-\-message\fP
+Append \fImessage\fP to the default commit message\.
+.SS "\fBbump\-unversioned\-casks\fP \fR[\fIoptions\fP] \fIcask\fP|\fItap\fP \fR[\.\.\.]"
+Check all casks with unversioned URLs in a given \fItap\fP for updates\.
.TP
-\fB\-n\fR, \fB\-\-dry\-run\fR
+\fB\-n\fP, \fB\-\-dry\-run\fP
Do everything except caching state and opening pull requests\.
-.
.TP
-\fB\-\-limit\fR
+\fB\-\-limit\fP
Maximum runtime in minutes\.
-.
.TP
-\fB\-\-state\-file\fR
+\fB\-\-state\-file\fP
File for caching state\.
-.
-.SS "\fBcat\fR [\fB\-\-formula\fR] [\fB\-\-cask\fR] \fIformula\fR|\fIcask\fR [\.\.\.]"
-Display the source of a \fIformula\fR or \fIcask\fR\.
-.
+.SS "\fBcat\fP \fR[\fB\-\-formula\fP] \fR[\fB\-\-cask\fP] \fIformula\fP|\fIcask\fP \fR[\.\.\.]"
+Display the source of a \fIformula\fP or \fIcask\fP\&\.
.TP
-\fB\-\-formula\fR
+\fB\-\-formula\fP
Treat all named arguments as formulae\.
-.
.TP
-\fB\-\-cask\fR
+\fB\-\-cask\fP
Treat all named arguments as casks\.
-.
-.SS "\fBcommand\fR \fIcommand\fR [\.\.\.]"
-Display the path to the file being used when invoking \fBbrew\fR \fIcmd\fR\.
-.
-.SS "\fBcontributions\fR [\-\-user=\fIemail|username\fR] [\fI\-\-repositories\fR\fB=\fR] [\fI\-\-csv\fR]"
+.SS "\fBcommand\fP \fIcommand\fP \fR[\.\.\.]"
+Display the path to the file being used when invoking \fBbrew\fP \fIcmd\fP\&\.
+.SS "\fBcontributions\fP \fR[\-\-user=\fIemail|username\fP] \fR[\fI\-\-repositories\fP\fB=\fP] \fR[\fI\-\-csv\fP]"
Summarise contributions to Homebrew repositories\.
-.
.TP
-\fB\-\-repositories\fR
-Specify a comma\-separated list of repositories to search\. Supported repositories: \fBbrew\fR, \fBcore\fR, \fBcask\fR, \fBaliases\fR, \fBbundle\fR, \fBcommand\-not\-found\fR, \fBtest\-bot\fR, \fBservices\fR, \fBcask\-fonts\fR and \fBcask\-versions\fR\. Omitting this flag, or specifying \fB\-\-repositories=primary\fR, searches only the main repositories: brew,core,cask\. Specifying \fB\-\-repositories=all\fR, searches all repositories\.
-.
+\fB\-\-repositories\fP
+Specify a comma\-separated list of repositories to search\. Supported repositories: \fBbrew\fP, \fBcore\fP, \fBcask\fP, \fBaliases\fP, \fBbundle\fP, \fBcommand\-not\-found\fP, \fBtest\-bot\fP, \fBservices\fP, \fBcask\-fonts\fP and \fBcask\-versions\fP\&\. Omitting this flag, or specifying \fB\-\-repositories=primary\fP, searches only the main repositories: brew,core,cask\. Specifying \fB\-\-repositories=all\fP, searches all repositories\.
.TP
-\fB\-\-from\fR
+\fB\-\-from\fP
Date (ISO\-8601 format) to start searching contributions\. Omitting this flag searches the last year\.
-.
.TP
-\fB\-\-to\fR
+\fB\-\-to\fP
Date (ISO\-8601 format) to stop searching contributions\.
-.
.TP
-\fB\-\-user\fR
+\fB\-\-user\fP
Specify a comma\-separated list of GitHub usernames or email addresses to find contributions from\. Omitting this flag searches maintainers\.
-.
.TP
-\fB\-\-csv\fR
+\fB\-\-csv\fP
Print a CSV of contributions across repositories over the time period\.
-.
-.SS "\fBcreate\fR [\fIoptions\fR] \fIURL\fR"
-Generate a formula or, with \fB\-\-cask\fR, a cask for the downloadable file at \fIURL\fR and open it in the editor\. Homebrew will attempt to automatically derive the formula name and version, but if it fails, you\'ll have to make your own template\. The \fBwget\fR formula serves as a simple example\. For the complete API, see: \fIhttps://rubydoc\.brew\.sh/Formula\fR
-.
+.SS "\fBcreate\fP \fR[\fIoptions\fP] \fIURL\fP"
+Generate a formula or, with \fB\-\-cask\fP, a cask for the downloadable file at \fIURL\fP and open it in the editor\. Homebrew will attempt to automatically derive the formula name and version, but if it fails, you\[u2019]ll have to make your own template\. The \fBwget\fP formula serves as a simple example\. For the complete API, see:
+.UR https://rubydoc\.brew\.sh/Formula
+.UE
.TP
-\fB\-\-autotools\fR
+\fB\-\-autotools\fP
Create a basic template for an Autotools\-style build\.
-.
.TP
-\fB\-\-cask\fR
+\fB\-\-cask\fP
Create a basic template for a cask\.
-.
.TP
-\fB\-\-cmake\fR
+\fB\-\-cmake\fP
Create a basic template for a CMake\-style build\.
-.
.TP
-\fB\-\-crystal\fR
+\fB\-\-crystal\fP
Create a basic template for a Crystal build\.
-.
.TP
-\fB\-\-go\fR
+\fB\-\-go\fP
Create a basic template for a Go build\.
-.
.TP
-\fB\-\-meson\fR
+\fB\-\-meson\fP
Create a basic template for a Meson\-style build\.
-.
.TP
-\fB\-\-node\fR
+\fB\-\-node\fP
Create a basic template for a Node build\.
-.
.TP
-\fB\-\-perl\fR
+\fB\-\-perl\fP
Create a basic template for a Perl build\.
-.
.TP
-\fB\-\-python\fR
+\fB\-\-python\fP
Create a basic template for a Python build\.
-.
.TP
-\fB\-\-ruby\fR
+\fB\-\-ruby\fP
Create a basic template for a Ruby build\.
-.
.TP
-\fB\-\-rust\fR
+\fB\-\-rust\fP
Create a basic template for a Rust build\.
-.
.TP
-\fB\-\-no\-fetch\fR
-Homebrew will not download \fIURL\fR to the cache and will thus not add its SHA\-256 to the formula for you, nor will it check the GitHub API for GitHub projects (to fill out its description and homepage)\.
-.
+\fB\-\-no\-fetch\fP
+Homebrew will not download \fIURL\fP to the cache and will thus not add its SHA\-256 to the formula for you, nor will it check the GitHub API for GitHub projects (to fill out its description and homepage)\.
.TP
-\fB\-\-HEAD\fR
-Indicate that \fIURL\fR points to the package\'s repository rather than a file\.
-.
+\fB\-\-HEAD\fP
+Indicate that \fIURL\fP points to the package\[u2019]s repository rather than a file\.
.TP
-\fB\-\-set\-name\fR
-Explicitly set the \fIname\fR of the new formula or cask\.
-.
+\fB\-\-set\-name\fP
+Explicitly set the \fIname\fP of the new formula or cask\.
.TP
-\fB\-\-set\-version\fR
-Explicitly set the \fIversion\fR of the new formula or cask\.
-.
+\fB\-\-set\-version\fP
+Explicitly set the \fIversion\fP of the new formula or cask\.
.TP
-\fB\-\-set\-license\fR
-Explicitly set the \fIlicense\fR of the new formula\.
-.
+\fB\-\-set\-license\fP
+Explicitly set the \fIlicense\fP of the new formula\.
.TP
-\fB\-\-tap\fR
-Generate the new formula within the given tap, specified as \fIuser\fR\fB/\fR\fIrepo\fR\.
-.
+\fB\-\-tap\fP
+Generate the new formula within the given tap, specified as \fIuser\fP\fB/\fP\fIrepo\fP\&\.
.TP
-\fB\-f\fR, \fB\-\-force\fR
+\fB\-f\fP, \fB\-\-force\fP
Ignore errors for disallowed formula names and names that shadow aliases\.
-.
-.SS "\fBdispatch\-build\-bottle\fR [\fIoptions\fR] \fIformula\fR [\.\.\.]"
+.SS "\fBdispatch\-build\-bottle\fP \fR[\fIoptions\fP] \fIformula\fP \fR[\.\.\.]"
Build bottles for these formulae with GitHub Actions\.
-.
.TP
-\fB\-\-tap\fR
-Target tap repository (default: \fBhomebrew/core\fR)\.
-.
+\fB\-\-tap\fP
+Target tap repository (default: \fBhomebrew/core\fP)\.
.TP
-\fB\-\-timeout\fR
+\fB\-\-timeout\fP
Build timeout (in minutes, default: 60)\.
-.
.TP
-\fB\-\-issue\fR
+\fB\-\-issue\fP
If specified, post a comment to this issue number if the job fails\.
-.
.TP
-\fB\-\-macos\fR
+\fB\-\-macos\fP
macOS version (or comma\-separated list of versions) the bottle should be built for\.
-.
.TP
-\fB\-\-workflow\fR
-Dispatch specified workflow (default: \fBdispatch\-build\-bottle\.yml\fR)\.
-.
+\fB\-\-workflow\fP
+Dispatch specified workflow (default: \fBdispatch\-build\-bottle\.yml\fP)\.
.TP
-\fB\-\-upload\fR
+\fB\-\-upload\fP
Upload built bottles\.
-.
.TP
-\fB\-\-linux\fR
+\fB\-\-linux\fP
Dispatch bottle for Linux (using GitHub runners)\.
-.
.TP
-\fB\-\-linux\-self\-hosted\fR
+\fB\-\-linux\-self\-hosted\fP
Dispatch bottle for Linux (using self\-hosted runner)\.
-.
.TP
-\fB\-\-linux\-wheezy\fR
+\fB\-\-linux\-wheezy\fP
Use Debian Wheezy container for building the bottle on Linux\.
-.
-.SS "\fBedit\fR [\fIoptions\fR] [\fIformula\fR|\fIcask\fR|\fItap\fR \.\.\.]"
-Open a \fIformula\fR, \fIcask\fR or \fItap\fR in the editor set by \fBEDITOR\fR or \fBHOMEBREW_EDITOR\fR, or open the Homebrew repository for editing if no argument is provided\.
-.
+.SS "\fBedit\fP \fR[\fIoptions\fP] \fR[\fIformula\fP|\fIcask\fP|\fItap\fP \.\.\.]"
+Open a \fIformula\fP, \fIcask\fP or \fItap\fP in the editor set by \fBEDITOR\fP or \fBHOMEBREW_EDITOR\fP, or open the Homebrew repository for editing if no argument is provided\.
.TP
-\fB\-\-formula\fR
+\fB\-\-formula\fP
Treat all named arguments as formulae\.
-.
.TP
-\fB\-\-cask\fR
+\fB\-\-cask\fP
Treat all named arguments as casks\.
-.
.TP
-\fB\-\-print\-path\fR
+\fB\-\-print\-path\fP
Print the file path to be edited, without opening an editor\.
-.
-.SS "\fBextract\fR [\fB\-\-version=\fR] [\fB\-\-force\fR] \fIformula\fR \fItap\fR"
-Look through repository history to find the most recent version of \fIformula\fR and create a copy in \fItap\fR\. Specifically, the command will create the new formula file at \fItap\fR\fB/Formula/\fR\fIformula\fR\fB@\fR\fIversion\fR\fB\.rb\fR\. If the tap is not installed yet, attempt to install/clone the tap before continuing\. To extract a formula from a tap that is not \fBhomebrew/core\fR use its fully\-qualified form of \fIuser\fR\fB/\fR\fIrepo\fR\fB/\fR\fIformula\fR\.
-.
+.SS "\fBextract\fP \fR[\fB\-\-version=\fP] \fR[\fB\-\-force\fP] \fIformula\fP \fItap\fP"
+Look through repository history to find the most recent version of \fIformula\fP and create a copy in \fItap\fP\&\. Specifically, the command will create the new formula file at \fItap\fP\fB/Formula/\fP\fIformula\fP\fB@\fP\fIversion\fP\fB\&\.rb\fP\&\. If the tap is not installed yet, attempt to install/clone the tap before continuing\. To extract a formula from a tap that is not \fBhomebrew/core\fP use its fully\-qualified form of \fIuser\fP\fB/\fP\fIrepo\fP\fB/\fP\fIformula\fP\&\.
.TP
-\fB\-\-version\fR
-Extract the specified \fIversion\fR of \fIformula\fR instead of the most recent\.
-.
+\fB\-\-version\fP
+Extract the specified \fIversion\fP of \fIformula\fP instead of the most recent\.
.TP
-\fB\-f\fR, \fB\-\-force\fR
+\fB\-f\fP, \fB\-\-force\fP
Overwrite the destination formula if it already exists\.
-.
-.SS "\fBformula\fR \fIformula\fR [\.\.\.]"
-Display the path where \fIformula\fR is located\.
-.
-.SS "\fBgenerate\-cask\-api\fR [\fB\-\-dry\-run\fR]"
-Generate \fBhomebrew/cask\fR API data files for \fIhttps://formulae\.brew\.sh\fR\. The generated files are written to the current directory\.
-.
+.SS "\fBformula\fP \fIformula\fP \fR[\.\.\.]"
+Display the path where \fIformula\fP is located\.
+.SS "\fBgenerate\-cask\-api\fP \fR[\fB\-\-dry\-run\fP]"
+Generate \fBhomebrew/cask\fP API data files for
+.UR https://formulae\.brew\.sh
+.UE \&\. The generated files are written to the current directory\.
.TP
-\fB\-n\fR, \fB\-\-dry\-run\fR
+\fB\-n\fP, \fB\-\-dry\-run\fP
Generate API data without writing it to files\.
-.
-.SS "\fBgenerate\-formula\-api\fR [\fB\-\-dry\-run\fR]"
-Generate \fBhomebrew/core\fR API data files for \fIhttps://formulae\.brew\.sh\fR\. The generated files are written to the current directory\.
-.
+.SS "\fBgenerate\-formula\-api\fP \fR[\fB\-\-dry\-run\fP]"
+Generate \fBhomebrew/core\fP API data files for
+.UR https://formulae\.brew\.sh
+.UE \&\. The generated files are written to the current directory\.
.TP
-\fB\-n\fR, \fB\-\-dry\-run\fR
+\fB\-n\fP, \fB\-\-dry\-run\fP
Generate API data without writing it to files\.
-.
-.SS "\fBgenerate\-man\-completions\fR"
-Generate Homebrew\'s manpages and shell completions\.
-.
-.SS "\fBinstall\-bundler\-gems\fR [\fB\-\-groups=\fR] [\fB\-\-add\-groups=\fR]"
-Install Homebrew\'s Bundler gems\.
-.
+.SS "\fBgenerate\-man\-completions\fP"
+Generate Homebrew\[u2019]s manpages and shell completions\.
+.SS "\fBinstall\-bundler\-gems\fP \fR[\fB\-\-groups=\fP] \fR[\fB\-\-add\-groups=\fP]"
+Install Homebrew\[u2019]s Bundler gems\.
.TP
-\fB\-\-groups\fR
+\fB\-\-groups\fP
Installs the specified comma\-separated list of gem groups (default: last used)\. Replaces any previously installed groups\.
-.
.TP
-\fB\-\-add\-groups\fR
+\fB\-\-add\-groups\fP
Installs the specified comma\-separated list of gem groups, in addition to those already installed\.
-.
-.SS "\fBirb\fR [\fB\-\-examples\fR] [\fB\-\-pry\fR]"
+.SS "\fBirb\fP \fR[\fB\-\-examples\fP] \fR[\fB\-\-pry\fP]"
Enter the interactive Homebrew Ruby shell\.
-.
.TP
-\fB\-\-examples\fR
+\fB\-\-examples\fP
Show several examples\.
-.
.TP
-\fB\-\-pry\fR
-Use Pry instead of IRB\. Implied if \fBHOMEBREW_PRY\fR is set\.
-.
-.SS "\fBlinkage\fR [\fIoptions\fR] [\fIinstalled_formula\fR \.\.\.]"
-Check the library links from the given \fIformula\fR kegs\. If no \fIformula\fR are provided, check all kegs\. Raises an error if run on uninstalled formulae\.
-.
+\fB\-\-pry\fP
+Use Pry instead of IRB\. Implied if \fBHOMEBREW_PRY\fP is set\.
+.SS "\fBlinkage\fP \fR[\fIoptions\fP] \fR[\fIinstalled_formula\fP \.\.\.]"
+Check the library links from the given \fIformula\fP kegs\. If no \fIformula\fP are provided, check all kegs\. Raises an error if run on uninstalled formulae\.
.TP
-\fB\-\-test\fR
+\fB\-\-test\fP
Show only missing libraries and exit with a non\-zero status if any missing libraries are found\.
-.
.TP
-\fB\-\-strict\fR
+\fB\-\-strict\fP
Exit with a non\-zero status if any undeclared dependencies with linkage are found\.
-.
.TP
-\fB\-\-reverse\fR
+\fB\-\-reverse\fP
For every library that a keg references, print its dylib path followed by the binaries that link to it\.
-.
.TP
-\fB\-\-cached\fR
-Print the cached linkage values stored in \fBHOMEBREW_CACHE\fR, set by a previous \fBbrew linkage\fR run\.
-.
-.SS "\fBlivecheck\fR, \fBlc\fR [\fIoptions\fR] [\fIformula\fR|\fIcask\fR \.\.\.]"
-Check for newer versions of formulae and/or casks from upstream\. If no formula or cask argument is passed, the list of formulae and casks to check is taken from \fBHOMEBREW_LIVECHECK_WATCHLIST\fR or \fB~/\.homebrew/livecheck_watchlist\.txt\fR\.
-.
+\fB\-\-cached\fP
+Print the cached linkage values stored in \fBHOMEBREW_CACHE\fP, set by a previous \fBbrew linkage\fP run\.
+.SS "\fBlivecheck\fP, \fBlc\fP \fR[\fIoptions\fP] \fR[\fIformula\fP|\fIcask\fP \.\.\.]"
+Check for newer versions of formulae and/or casks from upstream\. If no formula or cask argument is passed, the list of formulae and casks to check is taken from \fBHOMEBREW_LIVECHECK_WATCHLIST\fP or \fB~/\.homebrew/livecheck_watchlist\.txt\fP\&\.
.TP
-\fB\-\-full\-name\fR
+\fB\-\-full\-name\fP
Print formulae and casks with fully\-qualified names\.
-.
.TP
-\fB\-\-tap\fR
-Check formulae and casks within the given tap, specified as \fIuser\fR\fB/\fR\fIrepo\fR\.
-.
+\fB\-\-tap\fP
+Check formulae and casks within the given tap, specified as \fIuser\fP\fB/\fP\fIrepo\fP\&\.
.TP
-\fB\-\-eval\-all\fR
+\fB\-\-eval\-all\fP
Evaluate all available formulae and casks, whether installed or not, to check them\.
-.
.TP
-\fB\-\-installed\fR
+\fB\-\-installed\fP
Check formulae and casks that are currently installed\.
-.
.TP
-\fB\-\-newer\-only\fR
-Show the latest version only if it\'s newer than the formula/cask\.
-.
+\fB\-\-newer\-only\fP
+Show the latest version only if it\[u2019]s newer than the formula/cask\.
.TP
-\fB\-\-json\fR
+\fB\-\-json\fP
Output information in JSON format\.
-.
.TP
-\fB\-r\fR, \fB\-\-resources\fR
+\fB\-r\fP, \fB\-\-resources\fP
Also check resources for formulae\.
-.
.TP
-\fB\-q\fR, \fB\-\-quiet\fR
-Suppress warnings, don\'t print a progress bar for JSON output\.
-.
+\fB\-q\fP, \fB\-\-quiet\fP
+Suppress warnings, don\[u2019]t print a progress bar for JSON output\.
.TP
-\fB\-\-formula\fR
+\fB\-\-formula\fP
Only check formulae\.
-.
.TP
-\fB\-\-cask\fR
+\fB\-\-cask\fP
Only check casks\.
-.
-.SS "\fBpr\-automerge\fR [\fIoptions\fR]"
-Find pull requests that can be automatically merged using \fBbrew pr\-publish\fR\.
-.
+.SS "\fBpr\-automerge\fP \fR[\fIoptions\fP]"
+Find pull requests that can be automatically merged using \fBbrew pr\-publish\fP\&\.
.TP
-\fB\-\-tap\fR
-Target tap repository (default: \fBhomebrew/core\fR)\.
-.
+\fB\-\-tap\fP
+Target tap repository (default: \fBhomebrew/core\fP)\.
.TP
-\fB\-\-workflow\fR
-Workflow file to use with \fBbrew pr\-publish\fR\.
-.
+\fB\-\-workflow\fP
+Workflow file to use with \fBbrew pr\-publish\fP\&\.
.TP
-\fB\-\-with\-label\fR
+\fB\-\-with\-label\fP
Pull requests must have this label\.
-.
.TP
-\fB\-\-without\-labels\fR
-Pull requests must not have these labels (default: \fBdo not merge\fR, \fBnew formula\fR, \fBautomerge\-skip\fR, \fBpre\-release\fR, \fBCI\-published\-bottle\-commits\fR)\.
-.
+\fB\-\-without\-labels\fP
+Pull requests must not have these labels (default: \fBdo not merge\fP, \fBnew formula\fP, \fBautomerge\-skip\fP, \fBpre\-release\fP, \fBCI\-published\-bottle\-commits\fP)\.
.TP
-\fB\-\-without\-approval\fR
+\fB\-\-without\-approval\fP
Pull requests do not require approval to be merged\.
-.
.TP
-\fB\-\-publish\fR
-Run \fBbrew pr\-publish\fR on matching pull requests\.
-.
+\fB\-\-publish\fP
+Run \fBbrew pr\-publish\fP on matching pull requests\.
.TP
-\fB\-\-autosquash\fR
-Instruct \fBbrew pr\-publish\fR to automatically reformat and reword commits in the pull request to the preferred format\.
-.
+\fB\-\-autosquash\fP
+Instruct \fBbrew pr\-publish\fP to automatically reformat and reword commits in the pull request to the preferred format\.
.TP
-\fB\-\-ignore\-failures\fR
+\fB\-\-ignore\-failures\fP
Include pull requests that have failing status checks\.
-.
-.SS "\fBpr\-publish\fR [\fIoptions\fR] \fIpull_request\fR [\.\.\.]"
+.SS "\fBpr\-publish\fP \fR[\fIoptions\fP] \fIpull_request\fP \fR[\.\.\.]"
Publish bottles for a pull request with GitHub Actions\. Requires write access to the repository\.
-.
.TP
-\fB\-\-autosquash\fR
+\fB\-\-autosquash\fP
If supported on the target tap, automatically reformat and reword commits to our preferred format\.
-.
.TP
-\fB\-\-large\-runner\fR
+\fB\-\-large\-runner\fP
Run the upload job on a large runner\.
-.
.TP
-\fB\-\-branch\fR
-Branch to use the workflow from (default: \fBmaster\fR)\.
-.
+\fB\-\-branch\fP
+Branch to use the workflow from (default: \fBmaster\fP)\.
.TP
-\fB\-\-message\fR
+\fB\-\-message\fP
Message to include when autosquashing revision bumps, deletions, and rebuilds\.
-.
.TP
-\fB\-\-tap\fR
-Target tap repository (default: \fBhomebrew/core\fR)\.
-.
+\fB\-\-tap\fP
+Target tap repository (default: \fBhomebrew/core\fP)\.
.TP
-\fB\-\-workflow\fR
-Target workflow filename (default: \fBpublish\-commit\-bottles\.yml\fR)\.
-.
-.SS "\fBpr\-pull\fR [\fIoptions\fR] \fIpull_request\fR [\.\.\.]"
+\fB\-\-workflow\fP
+Target workflow filename (default: \fBpublish\-commit\-bottles\.yml\fP)\.
+.SS "\fBpr\-pull\fP \fR[\fIoptions\fP] \fIpull_request\fP \fR[\.\.\.]"
Download and publish bottles, and apply the bottle commit from a pull request with artifacts generated by GitHub Actions\. Requires write access to the repository\.
-.
.TP
-\fB\-\-no\-upload\fR
-Download the bottles but don\'t upload them\.
-.
+\fB\-\-no\-upload\fP
+Download the bottles but don\[u2019]t upload them\.
.TP
-\fB\-\-no\-commit\fR
+\fB\-\-no\-commit\fP
Do not generate a new commit before uploading\.
-.
.TP
-\fB\-\-no\-cherry\-pick\fR
+\fB\-\-no\-cherry\-pick\fP
Do not cherry\-pick commits from the pull request branch\.
-.
.TP
-\fB\-n\fR, \fB\-\-dry\-run\fR
+\fB\-n\fP, \fB\-\-dry\-run\fP
Print what would be done rather than doing it\.
-.
.TP
-\fB\-\-clean\fR
+\fB\-\-clean\fP
Do not amend the commits from pull requests\.
-.
.TP
-\fB\-\-keep\-old\fR
+\fB\-\-keep\-old\fP
If the formula specifies a rebuild version, attempt to preserve its value in the generated DSL\.
-.
.TP
-\fB\-\-autosquash\fR
+\fB\-\-autosquash\fP
Automatically reformat and reword commits in the pull request to our preferred format\.
-.
.TP
-\fB\-\-branch\-okay\fR
+\fB\-\-branch\-okay\fP
Do not warn if pulling to a branch besides the repository default (useful for testing)\.
-.
.TP
-\fB\-\-resolve\fR
+\fB\-\-resolve\fP
When a patch fails to apply, leave in progress and allow user to resolve, instead of aborting\.
-.
.TP
-\fB\-\-warn\-on\-upload\-failure\fR
+\fB\-\-warn\-on\-upload\-failure\fP
Warn instead of raising an error if the bottle upload fails\. Useful for repairing bottle uploads that previously failed\.
-.
.TP
-\fB\-\-retain\-bottle\-dir\fR
+\fB\-\-retain\-bottle\-dir\fP
Does not clean up the tmp directory for the bottle so it can be used later\.
-.
.TP
-\fB\-\-committer\fR
-Specify a committer name and email in \fBgit\fR\'s standard author format\.
-.
+\fB\-\-committer\fP
+Specify a committer name and email in \fBgit\fP\[u2019]s standard author format\.
.TP
-\fB\-\-message\fR
+\fB\-\-message\fP
Message to include when autosquashing revision bumps, deletions, and rebuilds\.
-.
.TP
-\fB\-\-artifact\fR
-Download artifacts with the specified name (default: \fBbottles\fR)\.
-.
+\fB\-\-artifact\fP
+Download artifacts with the specified name (default: \fBbottles\fP)\.
.TP
-\fB\-\-tap\fR
-Target tap repository (default: \fBhomebrew/core\fR)\.
-.
+\fB\-\-tap\fP
+Target tap repository (default: \fBhomebrew/core\fP)\.
.TP
-\fB\-\-root\-url\fR
-Use the specified \fIURL\fR as the root of the bottle\'s URL instead of Homebrew\'s default\.
-.
+\fB\-\-root\-url\fP
+Use the specified \fIURL\fP as the root of the bottle\[u2019]s URL instead of Homebrew\[u2019]s default\.
.TP
-\fB\-\-root\-url\-using\fR
-Use the specified download strategy class for downloading the bottle\'s URL instead of Homebrew\'s default\.
-.
+\fB\-\-root\-url\-using\fP
+Use the specified download strategy class for downloading the bottle\[u2019]s URL instead of Homebrew\[u2019]s default\.
.TP
-\fB\-\-workflows\fR
-Retrieve artifacts from the specified workflow (default: \fBtests\.yml\fR)\. Can be a comma\-separated list to include multiple workflows\.
-.
+\fB\-\-workflows\fP
+Retrieve artifacts from the specified workflow (default: \fBtests\.yml\fP)\. Can be a comma\-separated list to include multiple workflows\.
.TP
-\fB\-\-ignore\-missing\-artifacts\fR
+\fB\-\-ignore\-missing\-artifacts\fP
Comma\-separated list of workflows which can be ignored if they have not been run\.
-.
-.SS "\fBpr\-upload\fR [\fIoptions\fR]"
+.SS "\fBpr\-upload\fP \fR[\fIoptions\fP]"
Apply the bottle commit and publish bottles to a host\.
-.
.TP
-\fB\-\-keep\-old\fR
+\fB\-\-keep\-old\fP
If the formula specifies a rebuild version, attempt to preserve its value in the generated DSL\.
-.
.TP
-\fB\-n\fR, \fB\-\-dry\-run\fR
+\fB\-n\fP, \fB\-\-dry\-run\fP
Print what would be done rather than doing it\.
-.
.TP
-\fB\-\-no\-commit\fR
+\fB\-\-no\-commit\fP
Do not generate a new commit before uploading\.
-.
.TP
-\fB\-\-warn\-on\-upload\-failure\fR
+\fB\-\-warn\-on\-upload\-failure\fP
Warn instead of raising an error if the bottle upload fails\. Useful for repairing bottle uploads that previously failed\.
-.
.TP
-\fB\-\-upload\-only\fR
-Skip running \fBbrew bottle\fR before uploading\.
-.
+\fB\-\-upload\-only\fP
+Skip running \fBbrew bottle\fP before uploading\.
.TP
-\fB\-\-committer\fR
-Specify a committer name and email in \fBgit\fR\'s standard author format\.
-.
+\fB\-\-committer\fP
+Specify a committer name and email in \fBgit\fP\[u2019]s standard author format\.
.TP
-\fB\-\-root\-url\fR
-Use the specified \fIURL\fR as the root of the bottle\'s URL instead of Homebrew\'s default\.
-.
+\fB\-\-root\-url\fP
+Use the specified \fIURL\fP as the root of the bottle\[u2019]s URL instead of Homebrew\[u2019]s default\.
.TP
-\fB\-\-root\-url\-using\fR
-Use the specified download strategy class for downloading the bottle\'s URL instead of Homebrew\'s default\.
-.
-.SS "\fBprof\fR [\fB\-\-stackprof\fR] \fIcommand\fR [\.\.\.]"
-Run Homebrew with a Ruby profiler\. For example, \fBbrew prof readall\fR\.
-.
+\fB\-\-root\-url\-using\fP
+Use the specified download strategy class for downloading the bottle\[u2019]s URL instead of Homebrew\[u2019]s default\.
+.SS "\fBprof\fP \fR[\fB\-\-stackprof\fP] \fIcommand\fP \fR[\.\.\.]"
+Run Homebrew with a Ruby profiler\. For example, \fBbrew prof readall\fP\&\.
.TP
-\fB\-\-stackprof\fR
-Use \fBstackprof\fR instead of \fBruby\-prof\fR (the default)\.
-.
-.SS "\fBrelease\fR [\fB\-\-major\fR] [\fB\-\-minor\fR]"
+\fB\-\-stackprof\fP
+Use \fBstackprof\fP instead of \fBruby\-prof\fP (the default)\.
+.SS "\fBrelease\fP \fR[\fB\-\-major\fP] \fR[\fB\-\-minor\fP]"
Create a new draft Homebrew/brew release with the appropriate version number and release notes\.
-.
.P
-By default, \fBbrew release\fR will bump the patch version number\. Pass \fB\-\-major\fR or \fB\-\-minor\fR to bump the major or minor version numbers, respectively\. The command will fail if the previous major or minor release was made less than one month ago\.
-.
+By default, \fBbrew release\fP will bump the patch version number\. Pass \fB\-\-major\fP or \fB\-\-minor\fP to bump the major or minor version numbers, respectively\. The command will fail if the previous major or minor release was made less than one month ago\.
.P
-\fINote:\fR Requires write access to the Homebrew/brew repository\.
-.
+\fINote:\fP Requires write access to the Homebrew/brew repository\.
.TP
-\fB\-\-major\fR
+\fB\-\-major\fP
Create a major release\.
-.
.TP
-\fB\-\-minor\fR
+\fB\-\-minor\fP
Create a minor release\.
-.
-.SS "\fBrubocop\fR"
-Installs, configures and runs Homebrew\'s \fBrubocop\fR\.
-.
-.SS "\fBruby\fR [\fIoptions\fR] (\fB\-e\fR \fItext\fR|\fIfile\fR)"
-Run a Ruby instance with Homebrew\'s libraries loaded\. For example, \fBbrew ruby \-e "puts :gcc\.f\.deps"\fR or \fBbrew ruby script\.rb\fR\.
-.
+.SS "\fBrubocop\fP"
+Installs, configures and runs Homebrew\[u2019]s \fBrubocop\fP\&\.
+.SS "\fBruby\fP \fR[\fIoptions\fP] (\fB\-e\fP \fItext\fP|\fIfile\fP)"
+Run a Ruby instance with Homebrew\[u2019]s libraries loaded\. For example, \fBbrew ruby \-e "puts :gcc\.f\.deps"\fP or \fBbrew ruby script\.rb\fP\&\.
.P
-Run e\.g\. \fBbrew ruby \-\- \-\-version\fR to pass arbitrary arguments to \fBruby\fR\.
-.
+Run e\.g\. \fBbrew ruby \-\- \-\-version\fP to pass arbitrary arguments to \fBruby\fP\&\.
.TP
-\fB\-r\fR
-Load a library using \fBrequire\fR\.
-.
+\fB\-r\fP
+Load a library using \fBrequire\fP\&\.
.TP
-\fB\-e\fR
+\fB\-e\fP
Execute the given text string as a script\.
-.
-.SS "\fBsh\fR [\fB\-\-env=\fR] [\fB\-\-cmd=\fR] [\fIfile\fR]"
-Enter an interactive shell for Homebrew\'s build environment\. Use years\-battle\-hardened build logic to help your \fB\./configure && make && make install\fR and even your \fBgem install\fR succeed\. Especially handy if you run Homebrew in an Xcode\-only configuration since it adds tools like \fBmake\fR to your \fBPATH\fR which build systems would not find otherwise\.
-.
+.SS "\fBsh\fP \fR[\fB\-\-env=\fP] \fR[\fB\-\-cmd=\fP] \fR[\fIfile\fP]"
+Enter an interactive shell for Homebrew\[u2019]s build environment\. Use years\-battle\-hardened build logic to help your \fB\&\./configure && make && make install\fP and even your \fBgem install\fP succeed\. Especially handy if you run Homebrew in an Xcode\-only configuration since it adds tools like \fBmake\fP to your \fBPATH\fP which build systems would not find otherwise\.
.TP
-\fB\-\-env\fR
-Use the standard \fBPATH\fR instead of superenv\'s when \fBstd\fR is passed\.
-.
+\fB\-\-env\fP
+Use the standard \fBPATH\fP instead of superenv\[u2019]s when \fBstd\fP is passed\.
.TP
-\fB\-c\fR, \fB\-\-cmd\fR
+\fB\-c\fP, \fB\-\-cmd\fP
Execute commands in a non\-interactive shell\.
-.
-.SS "\fBstyle\fR [\fIoptions\fR] [\fIfile\fR|\fItap\fR|\fIformula\fR|\fIcask\fR \.\.\.]"
+.SS "\fBstyle\fP \fR[\fIoptions\fP] \fR[\fIfile\fP|\fItap\fP|\fIformula\fP|\fIcask\fP \.\.\.]"
Check formulae or files for conformance to Homebrew style guidelines\.
-.
.P
-Lists of \fIfile\fR, \fItap\fR and \fIformula\fR may not be combined\. If none are provided, \fBstyle\fR will run style checks on the whole Homebrew library, including core code and all formulae\.
-.
+Lists of \fIfile\fP, \fItap\fP and \fIformula\fP may not be combined\. If none are provided, \fBstyle\fP will run style checks on the whole Homebrew library, including core code and all formulae\.
.TP
-\fB\-\-fix\fR
-Fix style violations automatically using RuboCop\'s auto\-correct feature\.
-.
+\fB\-\-fix\fP
+Fix style violations automatically using RuboCop\[u2019]s auto\-correct feature\.
.TP
-\fB\-\-reset\-cache\fR
+\fB\-\-reset\-cache\fP
Reset the RuboCop cache\.
-.
.TP
-\fB\-\-formula\fR
+\fB\-\-formula\fP
Treat all named arguments as formulae\.
-.
.TP
-\fB\-\-cask\fR
+\fB\-\-cask\fP
Treat all named arguments as casks\.
-.
.TP
-\fB\-\-only\-cops\fR
-Specify a comma\-separated \fIcops\fR list to check for violations of only the listed RuboCop cops\.
-.
+\fB\-\-only\-cops\fP
+Specify a comma\-separated \fIcops\fP list to check for violations of only the listed RuboCop cops\.
.TP
-\fB\-\-except\-cops\fR
-Specify a comma\-separated \fIcops\fR list to skip checking for violations of the listed RuboCop cops\.
-.
-.SS "\fBtap\-new\fR [\fIoptions\fR] \fIuser\fR\fB/\fR\fIrepo\fR"
+\fB\-\-except\-cops\fP
+Specify a comma\-separated \fIcops\fP list to skip checking for violations of the listed RuboCop cops\.
+.SS "\fBtap\-new\fP \fR[\fIoptions\fP] \fIuser\fP\fB/\fP\fIrepo\fP"
Generate the template files for a new tap\.
-.
.TP
-\fB\-\-no\-git\fR
-Don\'t initialize a Git repository for the tap\.
-.
+\fB\-\-no\-git\fP
+Don\[u2019]t initialize a Git repository for the tap\.
.TP
-\fB\-\-pull\-label\fR
-Label name for pull requests ready to be pulled (default: \fBpr\-pull\fR)\.
-.
+\fB\-\-pull\-label\fP
+Label name for pull requests ready to be pulled (default: \fBpr\-pull\fP)\.
.TP
-\fB\-\-branch\fR
-Initialize Git repository and setup GitHub Actions workflows with the specified branch name (default: \fBmain\fR)\.
-.
+\fB\-\-branch\fP
+Initialize Git repository and setup GitHub Actions workflows with the specified branch name (default: \fBmain\fP)\.
.TP
-\fB\-\-github\-packages\fR
+\fB\-\-github\-packages\fP
Upload bottles to GitHub Packages\.
-.
-.SS "\fBtest\fR [\fIoptions\fR] \fIinstalled_formula\fR [\.\.\.]"
+.SS "\fBtest\fP \fR[\fIoptions\fP] \fIinstalled_formula\fP \fR[\.\.\.]"
Run the test method provided by an installed formula\. There is no standard output or return code, but generally it should notify the user if something is wrong with the installed formula\.
-.
.P
-\fIExample:\fR \fBbrew install jruby && brew test jruby\fR
-.
+\fIExample:\fP \fBbrew install jruby && brew test jruby\fP
.TP
-\fB\-f\fR, \fB\-\-force\fR
+\fB\-f\fP, \fB\-\-force\fP
Test formulae even if they are unlinked\.
-.
.TP
-\fB\-\-HEAD\fR
+\fB\-\-HEAD\fP
Test the HEAD version of a formula\.
-.
.TP
-\fB\-\-keep\-tmp\fR
+\fB\-\-keep\-tmp\fP
Retain the temporary files created for the test\.
-.
.TP
-\fB\-\-retry\fR
+\fB\-\-retry\fP
Retry if a testing fails\.
-.
-.SS "\fBtests\fR [\fIoptions\fR]"
-Run Homebrew\'s unit and integration tests\.
-.
+.SS "\fBtests\fP \fR[\fIoptions\fP]"
+Run Homebrew\[u2019]s unit and integration tests\.
.TP
-\fB\-\-coverage\fR
+\fB\-\-coverage\fP
Generate code coverage reports\.
-.
.TP
-\fB\-\-generic\fR
+\fB\-\-generic\fP
Run only OS\-agnostic tests\.
-.
.TP
-\fB\-\-online\fR
+\fB\-\-online\fP
Include tests that use the GitHub API and tests that use any of the taps for official external commands\.
-.
.TP
-\fB\-\-byebug\fR
+\fB\-\-byebug\fP
Enable debugging using byebug\.
-.
.TP
-\fB\-\-changed\fR
+\fB\-\-changed\fP
Only runs tests on files that were changed from the master branch\.
-.
.TP
-\fB\-\-fail\-fast\fR
+\fB\-\-fail\-fast\fP
Exit early on the first failing test\.
-.
.TP
-\fB\-\-only\fR
-Run only \fItest_script\fR\fB_spec\.rb\fR\. Appending \fB:\fR\fIline_number\fR will start at a specific line\.
-.
+\fB\-\-only\fP
+Run only \fItest_script\fP\fB_spec\.rb\fP\&\. Appending \fB:\fP\fIline_number\fP will start at a specific line\.
.TP
-\fB\-\-profile\fR
-Run the test suite serially to find the \fIn\fR slowest tests\.
-.
+\fB\-\-profile\fP
+Run the test suite serially to find the \fIn\fP slowest tests\.
.TP
-\fB\-\-seed\fR
-Randomise tests with the specified \fIvalue\fR instead of a random seed\.
-.
-.SS "\fBtypecheck\fR, \fBtc\fR [\fIoptions\fR]"
+\fB\-\-seed\fP
+Randomise tests with the specified \fIvalue\fP instead of a random seed\.
+.SS "\fBtypecheck\fP, \fBtc\fP \fR[\fIoptions\fP]"
Check for typechecking errors using Sorbet\.
-.
.TP
-\fB\-\-fix\fR
+\fB\-\-fix\fP
Automatically fix type errors\.
-.
.TP
-\fB\-q\fR, \fB\-\-quiet\fR
+\fB\-q\fP, \fB\-\-quiet\fP
Silence all non\-critical errors\.
-.
.TP
-\fB\-\-update\fR
+\fB\-\-update\fP
Update RBI files\.
-.
.TP
-\fB\-\-update\-all\fR
+\fB\-\-update\-all\fP
Update all RBI files rather than just updated gems\.
-.
.TP
-\fB\-\-suggest\-typed\fR
-Try upgrading \fBtyped\fR sigils\.
-.
+\fB\-\-suggest\-typed\fP
+Try upgrading \fBtyped\fP sigils\.
.TP
-\fB\-\-dir\fR
+\fB\-\-dir\fP
Typecheck all files in a specific directory\.
-.
.TP
-\fB\-\-file\fR
+\fB\-\-file\fP
Typecheck a single file\.
-.
.TP
-\fB\-\-ignore\fR
+\fB\-\-ignore\fP
Ignores input files that contain the given string in their paths (relative to the input path passed to Sorbet)\.
-.
-.SS "\fBunbottled\fR [\fIoptions\fR] [\fIformula\fR \.\.\.]"
+.SS "\fBunbottled\fP \fR[\fIoptions\fP] \fR[\fIformula\fP \.\.\.]"
Show the unbottled dependents of formulae\.
-.
.TP
-\fB\-\-tag\fR
-Use the specified bottle tag (e\.g\. \fBbig_sur\fR) instead of the current OS\.
-.
+\fB\-\-tag\fP
+Use the specified bottle tag (e\.g\. \fBbig_sur\fP) instead of the current OS\.
.TP
-\fB\-\-dependents\fR
+\fB\-\-dependents\fP
Skip getting analytics data and sort by number of dependents instead\.
-.
.TP
-\fB\-\-total\fR
+\fB\-\-total\fP
Print the number of unbottled and total formulae\.
-.
.TP
-\fB\-\-lost\fR
-Print the \fBhomebrew/core\fR commits where bottles were lost in the last week\.
-.
+\fB\-\-lost\fP
+Print the \fBhomebrew/core\fP commits where bottles were lost in the last week\.
.TP
-\fB\-\-eval\-all\fR
-Evaluate all available formulae and casks, whether installed or not, to check them\. Implied if \fBHOMEBREW_EVAL_ALL\fR is set\.
-.
-.SS "\fBunpack\fR [\fIoptions\fR] \fIformula\fR [\.\.\.]"
-Unpack the source files for \fIformula\fR into subdirectories of the current working directory\.
-.
+\fB\-\-eval\-all\fP
+Evaluate all available formulae and casks, whether installed or not, to check them\. Implied if \fBHOMEBREW_EVAL_ALL\fP is set\.
+.SS "\fBunpack\fP \fR[\fIoptions\fP] \fIformula\fP \fR[\.\.\.]"
+Unpack the source files for \fIformula\fP into subdirectories of the current working directory\.
.TP
-\fB\-\-destdir\fR
-Create subdirectories in the directory named by \fIpath\fR instead\.
-.
+\fB\-\-destdir\fP
+Create subdirectories in the directory named by \fIpath\fP instead\.
.TP
-\fB\-\-patch\fR
-Patches for \fIformula\fR will be applied to the unpacked source\.
-.
+\fB\-\-patch\fP
+Patches for \fIformula\fP will be applied to the unpacked source\.
.TP
-\fB\-g\fR, \fB\-\-git\fR
+\fB\-g\fP, \fB\-\-git\fP
Initialise a Git repository in the unpacked source\. This is useful for creating patches for the software\.
-.
.TP
-\fB\-f\fR, \fB\-\-force\fR
+\fB\-f\fP, \fB\-\-force\fP
Overwrite the destination directory if it already exists\.
-.
-.SS "\fBupdate\-license\-data\fR"
+.SS "\fBupdate\-license\-data\fP"
Update SPDX license data in the Homebrew repository\.
-.
-.SS "\fBupdate\-maintainers\fR"
-Update the list of maintainers in the \fBHomebrew/brew\fR README\.
-.
-.SS "\fBupdate\-python\-resources\fR [\fIoptions\fR] \fIformula\fR [\.\.\.]"
-Update versions for PyPI resource blocks in \fIformula\fR\.
-.
+.SS "\fBupdate\-maintainers\fP"
+Update the list of maintainers in the \fBHomebrew/brew\fP README\.
+.SS "\fBupdate\-python\-resources\fP \fR[\fIoptions\fP] \fIformula\fP \fR[\.\.\.]"
+Update versions for PyPI resource blocks in \fIformula\fP\&\.
.TP
-\fB\-p\fR, \fB\-\-print\-only\fR
-Print the updated resource blocks instead of changing \fIformula\fR\.
-.
+\fB\-p\fP, \fB\-\-print\-only\fP
+Print the updated resource blocks instead of changing \fIformula\fP\&\.
.TP
-\fB\-s\fR, \fB\-\-silent\fR
+\fB\-s\fP, \fB\-\-silent\fP
Suppress any output\.
-.
.TP
-\fB\-\-ignore\-non\-pypi\-packages\fR
-Don\'t fail if \fIformula\fR is not a PyPI package\.
-.
+\fB\-\-ignore\-non\-pypi\-packages\fP
+Don\[u2019]t fail if \fIformula\fP is not a PyPI package\.
.TP
-\fB\-\-install\-dependencies\fR
+\fB\-\-install\-dependencies\fP
Install missing dependencies required to update resources\.
-.
.TP
-\fB\-\-version\fR
-Use the specified \fIversion\fR when finding resources for \fIformula\fR\. If no version is specified, the current version for \fIformula\fR will be used\.
-.
+\fB\-\-version\fP
+Use the specified \fIversion\fP when finding resources for \fIformula\fP\&\. If no version is specified, the current version for \fIformula\fP will be used\.
.TP
-\fB\-\-package\-name\fR
-Use the specified \fIpackage\-name\fR when finding resources for \fIformula\fR\. If no package name is specified, it will be inferred from the formula\'s stable URL\.
-.
+\fB\-\-package\-name\fP
+Use the specified \fIpackage\-name\fP when finding resources for \fIformula\fP\&\. If no package name is specified, it will be inferred from the formula\[u2019]s stable URL\.
.TP
-\fB\-\-extra\-packages\fR
+\fB\-\-extra\-packages\fP
Include these additional packages when finding resources\.
-.
.TP
-\fB\-\-exclude\-packages\fR
+\fB\-\-exclude\-packages\fP
Exclude these packages when finding resources\.
-.
-.SS "\fBupdate\-sponsors\fR"
-Update the list of GitHub Sponsors in the \fBHomebrew/brew\fR README\.
-.
-.SS "\fBupdate\-test\fR [\fIoptions\fR]"
-Run a test of \fBbrew update\fR with a new repository clone\. If no options are passed, use \fBorigin/master\fR as the start commit\.
-.
+.SS "\fBupdate\-sponsors\fP"
+Update the list of GitHub Sponsors in the \fBHomebrew/brew\fP README\.
+.SS "\fBupdate\-test\fP \fR[\fIoptions\fP]"
+Run a test of \fBbrew update\fP with a new repository clone\. If no options are passed, use \fBorigin/master\fP as the start commit\.
.TP
-\fB\-\-to\-tag\fR
-Set \fBHOMEBREW_UPDATE_TO_TAG\fR to test updating between tags\.
-.
+\fB\-\-to\-tag\fP
+Set \fBHOMEBREW_UPDATE_TO_TAG\fP to test updating between tags\.
.TP
-\fB\-\-keep\-tmp\fR
+\fB\-\-keep\-tmp\fP
Retain the temporary directory containing the new repository clone\.
-.
.TP
-\fB\-\-commit\fR
-Use the specified \fIcommit\fR as the start commit\.
-.
+\fB\-\-commit\fP
+Use the specified \fIcommit\fP as the start commit\.
.TP
-\fB\-\-before\fR
-Use the commit at the specified \fIdate\fR as the start commit\.
-.
-.SS "\fBvendor\-gems\fR [\fB\-\-update=\fR] [\fB\-\-no\-commit\fR]"
-Install and commit Homebrew\'s vendored gems\.
-.
+\fB\-\-before\fP
+Use the commit at the specified \fIdate\fP as the start commit\.
+.SS "\fBvendor\-gems\fP \fR[\fB\-\-update=\fP] \fR[\fB\-\-no\-commit\fP]"
+Install and commit Homebrew\[u2019]s vendored gems\.
.TP
-\fB\-\-update\fR
+\fB\-\-update\fP
Update the specified list of vendored gems to the latest version\.
-.
.TP
-\fB\-\-no\-commit\fR
+\fB\-\-no\-commit\fP
Do not generate a new commit upon completion\.
-.
.SH "GLOBAL CASK OPTIONS"
-These options are applicable to the \fBinstall\fR, \fBreinstall\fR, and \fBupgrade\fR subcommands with the \fB\-\-cask\fR switch\.
-.
+These options are applicable to the \fBinstall\fP, \fBreinstall\fP, and \fBupgrade\fP subcommands with the \fB\-\-cask\fP switch\.
.TP
-\fB\-\-appdir\fR
-Target location for Applications (default: \fB/Applications\fR)\.
-.
+\fB\-\-appdir\fP
+Target location for Applications (default: \fB/Applications\fP)\.
.TP
-\fB\-\-keyboard\-layoutdir\fR
-Target location for Keyboard Layouts (default: \fB/Library/Keyboard Layouts\fR)\.
-.
+\fB\-\-keyboard\-layoutdir\fP
+Target location for Keyboard Layouts (default: \fB/Library/Keyboard Layouts\fP)\.
.TP
-\fB\-\-colorpickerdir\fR
-Target location for Color Pickers (default: \fB~/Library/ColorPickers\fR)\.
-.
+\fB\-\-colorpickerdir\fP
+Target location for Color Pickers (default: \fB~/Library/ColorPickers\fP)\.
.TP
-\fB\-\-prefpanedir\fR
-Target location for Preference Panes (default: \fB~/Library/PreferencePanes\fR)\.
-.
+\fB\-\-prefpanedir\fP
+Target location for Preference Panes (default: \fB~/Library/PreferencePanes\fP)\.
.TP
-\fB\-\-qlplugindir\fR
-Target location for Quick Look Plugins (default: \fB~/Library/QuickLook\fR)\.
-.
+\fB\-\-qlplugindir\fP
+Target location for Quick Look Plugins (default: \fB~/Library/QuickLook\fP)\.
.TP
-\fB\-\-mdimporterdir\fR
-Target location for Spotlight Plugins (default: \fB~/Library/Spotlight\fR)\.
-.
+\fB\-\-mdimporterdir\fP
+Target location for Spotlight Plugins (default: \fB~/Library/Spotlight\fP)\.
.TP
-\fB\-\-dictionarydir\fR
-Target location for Dictionaries (default: \fB~/Library/Dictionaries\fR)\.
-.
+\fB\-\-dictionarydir\fP
+Target location for Dictionaries (default: \fB~/Library/Dictionaries\fP)\.
.TP
-\fB\-\-fontdir\fR
-Target location for Fonts (default: \fB~/Library/Fonts\fR)\.
-.
+\fB\-\-fontdir\fP
+Target location for Fonts (default: \fB~/Library/Fonts\fP)\.
.TP
-\fB\-\-servicedir\fR
-Target location for Services (default: \fB~/Library/Services\fR)\.
-.
+\fB\-\-servicedir\fP
+Target location for Services (default: \fB~/Library/Services\fP)\.
.TP
-\fB\-\-input\-methoddir\fR
-Target location for Input Methods (default: \fB~/Library/Input Methods\fR)\.
-.
+\fB\-\-input\-methoddir\fP
+Target location for Input Methods (default: \fB~/Library/Input Methods\fP)\.
.TP
-\fB\-\-internet\-plugindir\fR
-Target location for Internet Plugins (default: \fB~/Library/Internet Plug\-Ins\fR)\.
-.
+\fB\-\-internet\-plugindir\fP
+Target location for Internet Plugins (default: \fB~/Library/Internet Plug\-Ins\fP)\.
.TP
-\fB\-\-audio\-unit\-plugindir\fR
-Target location for Audio Unit Plugins (default: \fB~/Library/Audio/Plug\-Ins/Components\fR)\.
-.
+\fB\-\-audio\-unit\-plugindir\fP
+Target location for Audio Unit Plugins (default: \fB~/Library/Audio/Plug\-Ins/Components\fP)\.
.TP
-\fB\-\-vst\-plugindir\fR
-Target location for VST Plugins (default: \fB~/Library/Audio/Plug\-Ins/VST\fR)\.
-.
+\fB\-\-vst\-plugindir\fP
+Target location for VST Plugins (default: \fB~/Library/Audio/Plug\-Ins/VST\fP)\.
.TP
-\fB\-\-vst3\-plugindir\fR
-Target location for VST3 Plugins (default: \fB~/Library/Audio/Plug\-Ins/VST3\fR)\.
-.
+\fB\-\-vst3\-plugindir\fP
+Target location for VST3 Plugins (default: \fB~/Library/Audio/Plug\-Ins/VST3\fP)\.
.TP
-\fB\-\-screen\-saverdir\fR
-Target location for Screen Savers (default: \fB~/Library/Screen Savers\fR)\.
-.
+\fB\-\-screen\-saverdir\fP
+Target location for Screen Savers (default: \fB~/Library/Screen Savers\fP)\.
.TP
-\fB\-\-language\fR
-Comma\-separated list of language codes to prefer for cask installation\. The first matching language is used, otherwise it reverts to the cask\'s default language\. The default value is the language of your system\.
-.
+\fB\-\-language\fP
+Comma\-separated list of language codes to prefer for cask installation\. The first matching language is used, otherwise it reverts to the cask\[u2019]s default language\. The default value is the language of your system\.
.SH "GLOBAL OPTIONS"
These options are applicable across multiple subcommands\.
-.
.TP
-\fB\-d\fR, \fB\-\-debug\fR
+\fB\-d\fP, \fB\-\-debug\fP
Display any debugging information\.
-.
.TP
-\fB\-q\fR, \fB\-\-quiet\fR
+\fB\-q\fP, \fB\-\-quiet\fP
Make some output more quiet\.
-.
.TP
-\fB\-v\fR, \fB\-\-verbose\fR
+\fB\-v\fP, \fB\-\-verbose\fP
Make some output more verbose\.
-.
.TP
-\fB\-h\fR, \fB\-\-help\fR
+\fB\-h\fP, \fB\-\-help\fP
Show this message\.
-.
.SH "OFFICIAL EXTERNAL COMMANDS"
-.
-.SS "\fBalias\fR [\fIalias\fR \.\.\. | \fIalias\fR=\fIcommand\fR]"
+.SS "\fBalias\fP \fR[\fIalias\fP \.\.\. | \fIalias\fP=\fIcommand\fP]"
Show existing aliases\. If no aliases are given, print the whole list\.
-.
.TP
-\fB\-\-edit\fR
-Edit aliases in a text editor\. Either one or all aliases may be opened at once\. If the given alias doesn\'t exist it\'ll be pre\-populated with a template\.
-.
-.SS "\fBbundle\fR [\fIsubcommand\fR]"
+\fB\-\-edit\fP
+Edit aliases in a text editor\. Either one or all aliases may be opened at once\. If the given alias doesn\[u2019]t exist it\[u2019]ll be pre\-populated with a template\.
+.SS "\fBbundle\fP \fR[\fIsubcommand\fP]"
Bundler for non\-Ruby dependencies from Homebrew, Homebrew Cask, Mac App Store, Whalebrew and Visual Studio Code\.
-.
+.TP
+\fBbrew bundle\fP [\fBinstall\fP]
+Install and upgrade (by default) all dependencies from the \fBBrewfile\fP\&\.
.P
-\fBbrew bundle\fR [\fBinstall\fR]
- Install and upgrade (by default) all dependencies from the \fBBrewfile\fR\.
-.
+You can specify the \fBBrewfile\fP location using \fB\-\-file\fP or by setting the \fBHOMEBREW_BUNDLE_FILE\fP environment variable\.
.P
-You can specify the \fBBrewfile\fR location using \fB\-\-file\fR or by setting the \fBHOMEBREW_BUNDLE_FILE\fR environment variable\.
-.
+You can skip the installation of dependencies by adding space\-separated values to one or more of the following environment variables: \fBHOMEBREW_BUNDLE_BREW_SKIP\fP, \fBHOMEBREW_BUNDLE_CASK_SKIP\fP, \fBHOMEBREW_BUNDLE_MAS_SKIP\fP, \fBHOMEBREW_BUNDLE_WHALEBREW_SKIP\fP, \fBHOMEBREW_BUNDLE_TAP_SKIP\fP\&\.
.P
-You can skip the installation of dependencies by adding space\-separated values to one or more of the following environment variables: \fBHOMEBREW_BUNDLE_BREW_SKIP\fR, \fBHOMEBREW_BUNDLE_CASK_SKIP\fR, \fBHOMEBREW_BUNDLE_MAS_SKIP\fR, \fBHOMEBREW_BUNDLE_WHALEBREW_SKIP\fR, \fBHOMEBREW_BUNDLE_TAP_SKIP\fR\.
-.
-.P
-\fBbrew bundle\fR will output a \fBBrewfile\.lock\.json\fR in the same directory as the \fBBrewfile\fR if all dependencies are installed successfully\. This contains dependency and system status information which can be useful for debugging \fBbrew bundle\fR failures and replicating a "last known good build" state\. You can opt\-out of this behaviour by setting the \fBHOMEBREW_BUNDLE_NO_LOCK\fR environment variable or passing the \fB\-\-no\-lock\fR option\. You may wish to check this file into the same version control system as your \fBBrewfile\fR (or ensure your version control system ignores it if you\'d prefer to rely on debugging information from a local machine)\.
-.
-.P
-\fBbrew bundle dump\fR
- Write all installed casks/formulae/images/taps into a \fBBrewfile\fR in the current directory\.
-.
-.P
-\fBbrew bundle cleanup\fR
- Uninstall all dependencies not present in the \fBBrewfile\fR\.
-.
+\fBbrew bundle\fP will output a \fBBrewfile\.lock\.json\fP in the same directory as the \fBBrewfile\fP if all dependencies are installed successfully\. This contains dependency and system status information which can be useful for debugging \fBbrew bundle\fP failures and replicating a \[u201c]last known good build\[u201d] state\. You can opt\-out of this behaviour by setting the \fBHOMEBREW_BUNDLE_NO_LOCK\fP environment variable or passing the \fB\-\-no\-lock\fP option\. You may wish to check this file into the same version control system as your \fBBrewfile\fP (or ensure your version control system ignores it if you\[u2019]d prefer to rely on debugging information from a local machine)\.
+.TP
+\fBbrew bundle dump\fP
+Write all installed casks/formulae/images/taps into a \fBBrewfile\fP in the current directory\.
+.TP
+\fBbrew bundle cleanup\fP
+Uninstall all dependencies not present in the \fBBrewfile\fP\&\.
.P
This workflow is useful for maintainers or testers who regularly install lots of formulae\.
-.
-.P
-\fBbrew bundle check\fR
- Check if all dependencies present in the \fBBrewfile\fR are installed\.
-.
+.TP
+\fBbrew bundle check\fP
+Check if all dependencies present in the \fBBrewfile\fP are installed\.
.P
This provides a successful exit code if everything is up\-to\-date, making it useful for scripting\.
-.
-.P
-\fBbrew bundle list\fR
- List all dependencies present in the \fBBrewfile\fR\.
-.
+.TP
+\fBbrew bundle list\fP
+List all dependencies present in the \fBBrewfile\fP\&\.
.P
By default, only Homebrew formula dependencies are listed\.
-.
+.TP
+\fBbrew bundle exec\fP \fIcommand\fP
+Run an external command in an isolated build environment based on the \fBBrewfile\fP dependencies\.
.P
-\fBbrew bundle exec\fR \fIcommand\fR
- Run an external command in an isolated build environment based on the \fBBrewfile\fR dependencies\.
-.
-.P
-This sanitized build environment ignores unrequested dependencies, which makes sure that things you didn\'t specify in your \fBBrewfile\fR won\'t get picked up by commands like \fBbundle install\fR, \fBnpm install\fR, etc\. It will also add compiler flags which will help with finding keg\-only dependencies like \fBopenssl\fR, \fBicu4c\fR, etc\.
-.
+This sanitized build environment ignores unrequested dependencies, which makes sure that things you didn\[u2019]t specify in your \fBBrewfile\fP won\[u2019]t get picked up by commands like \fBbundle install\fP, \fBnpm install\fP, etc\. It will also add compiler flags which will help with finding keg\-only dependencies like \fBopenssl\fP, \fBicu4c\fP, etc\.
.TP
-\fB\-\-file\fR
-Read the \fBBrewfile\fR from this location\. Use \fB\-\-file=\-\fR to pipe to stdin/stdout\.
-.
+\fB\-\-file\fP
+Read the \fBBrewfile\fP from this location\. Use \fB\-\-file=\-\fP to pipe to stdin/stdout\.
.TP
-\fB\-\-global\fR
-Read the \fBBrewfile\fR from \fB~/\.Brewfile\fR or the \fBHOMEBREW_BUNDLE_FILE_GLOBAL\fR environment variable, if set\.
-.
+\fB\-\-global\fP
+Read the \fBBrewfile\fP from \fB~/\.Brewfile\fP or the \fBHOMEBREW_BUNDLE_FILE_GLOBAL\fP environment variable, if set\.
.TP
-\fB\-v\fR, \fB\-\-verbose\fR
-\fBinstall\fR prints output from commands as they are run\. \fBcheck\fR lists all missing dependencies\.
-.
+\fB\-v\fP, \fB\-\-verbose\fP
+\fBinstall\fP prints output from commands as they are run\. \fBcheck\fP lists all missing dependencies\.
.TP
-\fB\-\-no\-upgrade\fR
-\fBinstall\fR does not run \fBbrew upgrade\fR on outdated dependencies\. Note they may still be upgraded by \fBbrew install\fR if needed\.
-.
+\fB\-\-no\-upgrade\fP
+\fBinstall\fP does not run \fBbrew upgrade\fP on outdated dependencies\. Note they may still be upgraded by \fBbrew install\fP if needed\.
.TP
-\fB\-f\fR, \fB\-\-force\fR
-\fBinstall\fR runs with \fB\-\-force\fR/\fB\-\-overwrite\fR\. \fBdump\fR overwrites an existing \fBBrewfile\fR\. \fBcleanup\fR actually performs its cleanup operations\.
-.
+\fB\-f\fP, \fB\-\-force\fP
+\fBinstall\fP runs with \fB\-\-force\fP/\fB\-\-overwrite\fP\&\. \fBdump\fP overwrites an existing \fBBrewfile\fP\&\. \fBcleanup\fP actually performs its cleanup operations\.
.TP
-\fB\-\-cleanup\fR
-\fBinstall\fR performs cleanup operation, same as running \fBcleanup \-\-force\fR\. This is enabled by default if \fBHOMEBREW_BUNDLE_INSTALL_CLEANUP\fR is set and \fB\-\-global\fR is passed\.
-.
+\fB\-\-cleanup\fP
+\fBinstall\fP performs cleanup operation, same as running \fBcleanup \-\-force\fP\&\. This is enabled by default if \fBHOMEBREW_BUNDLE_INSTALL_CLEANUP\fP is set and \fB\-\-global\fP is passed\.
.TP
-\fB\-\-no\-lock\fR
-\fBinstall\fR does not output a \fBBrewfile\.lock\.json\fR\.
-.
+\fB\-\-no\-lock\fP
+\fBinstall\fP does not output a \fBBrewfile\.lock\.json\fP\&\.
.TP
-\fB\-\-all\fR
-\fBlist\fR all dependencies\.
-.
+\fB\-\-all\fP
+\fBlist\fP all dependencies\.
.TP
-\fB\-\-formula\fR
-\fBlist\fR Homebrew formula dependencies\.
-.
+\fB\-\-formula\fP
+\fBlist\fP Homebrew formula dependencies\.
.TP
-\fB\-\-cask\fR
-\fBlist\fR Homebrew cask dependencies\.
-.
+\fB\-\-cask\fP
+\fBlist\fP Homebrew cask dependencies\.
.TP
-\fB\-\-tap\fR
-\fBlist\fR Homebrew tap dependencies\.
-.
+\fB\-\-tap\fP
+\fBlist\fP Homebrew tap dependencies\.
.TP
-\fB\-\-mas\fR
-\fBlist\fR Mac App Store dependencies\.
-.
+\fB\-\-mas\fP
+\fBlist\fP Mac App Store dependencies\.
.TP
-\fB\-\-whalebrew\fR
-\fBlist\fR Whalebrew dependencies\.
-.
+\fB\-\-whalebrew\fP
+\fBlist\fP Whalebrew dependencies\.
.TP
-\fB\-\-vscode\fR
-\fBlist\fR VSCode extensions\.
-.
+\fB\-\-vscode\fP
+\fBlist\fP VSCode extensions\.
.TP
-\fB\-\-describe\fR
-\fBdump\fR adds a description comment above each line, unless the dependency does not have a description\. This is enabled by default if \fBHOMEBREW_BUNDLE_DUMP_DESCRIBE\fR is set\.
-.
+\fB\-\-describe\fP
+\fBdump\fP adds a description comment above each line, unless the dependency does not have a description\. This is enabled by default if \fBHOMEBREW_BUNDLE_DUMP_DESCRIBE\fP is set\.
.TP
-\fB\-\-no\-restart\fR
-\fBdump\fR does not add \fBrestart_service\fR to formula lines\.
-.
+\fB\-\-no\-restart\fP
+\fBdump\fP does not add \fBrestart_service\fP to formula lines\.
.TP
-\fB\-\-zap\fR
-\fBcleanup\fR casks using the \fBzap\fR command instead of \fBuninstall\fR\.
-.
-.SS "\fBcommand\-not\-found\-init\fR"
+\fB\-\-zap\fP
+\fBcleanup\fP casks using the \fBzap\fP command instead of \fBuninstall\fP\&\.
+.SS "\fBcommand\-not\-found\-init\fP"
Print instructions for setting up the command\-not\-found hook for your shell\. If the output is not to a tty, print the appropriate handler script for your shell\.
-.
-.SS "\fBservices\fR [\fIsubcommand\fR]"
-Manage background services with macOS\' \fBlaunchctl\fR(1) daemon manager or Linux\'s \fBsystemctl\fR(1) service manager\.
-.
+.SS "\fBservices\fP \fR[\fIsubcommand\fP]"
+Manage background services with macOS\[u2019] \fBlaunchctl\fP(1) daemon manager or Linux\[u2019]s \fBsystemctl\fP(1) service manager\.
.P
-If \fBsudo\fR is passed, operate on \fB/Library/LaunchDaemons\fR/\fB/usr/lib/systemd/system\fR (started at boot)\. Otherwise, operate on \fB~/Library/LaunchAgents\fR/\fB~/\.config/systemd/user\fR (started at login)\.
-.
-.P
-[\fBsudo\fR] \fBbrew services\fR [\fBlist\fR] (\fB\-\-json\fR) (\fB\-\-debug\fR)
- List information about all managed services for the current user (or root)\. Provides more output from Homebrew and \fBlaunchctl\fR(1) or \fBsystemctl\fR(1) if run with \fB\-\-debug\fR\.
-.
-.P
-[\fBsudo\fR] \fBbrew services info\fR (\fIformula\fR|\fB\-\-all\fR|\fB\-\-json\fR)
- List all managed services for the current user (or root)\.
-.
-.P
-[\fBsudo\fR] \fBbrew services run\fR (\fIformula\fR|\fB\-\-all\fR)
- Run the service \fIformula\fR without registering to launch at login (or boot)\.
-.
-.P
-[\fBsudo\fR] \fBbrew services start\fR (\fIformula\fR|\fB\-\-all\fR|\fB\-\-file=\fR)
- Start the service \fIformula\fR immediately and register it to launch at login (or boot)\.
-.
-.P
-[\fBsudo\fR] \fBbrew services stop\fR (\fIformula\fR|\fB\-\-all\fR)
- Stop the service \fIformula\fR immediately and unregister it from launching at login (or boot)\.
-.
-.P
-[\fBsudo\fR] \fBbrew services kill\fR (\fIformula\fR|\fB\-\-all\fR)
- Stop the service \fIformula\fR immediately but keep it registered to launch at login (or boot)\.
-.
-.P
-[\fBsudo\fR] \fBbrew services restart\fR (\fIformula\fR|\fB\-\-all\fR)
- Stop (if necessary) and start the service \fIformula\fR immediately and register it to launch at login (or boot)\.
-.
-.P
-[\fBsudo\fR] \fBbrew services cleanup\fR
- Remove all unused services\.
-.
+If \fBsudo\fP is passed, operate on \fB/Library/LaunchDaemons\fP/\fB/usr/lib/systemd/system\fP (started at boot)\. Otherwise, operate on \fB~/Library/LaunchAgents\fP/\fB~/\.config/systemd/user\fP (started at login)\.
.TP
-\fB\-\-file\fR
-Use the service file from this location to \fBstart\fR the service\.
-.
+[\fBsudo\fP] \fBbrew services\fP [\fBlist\fP] (\fB\-\-json\fP) (\fB\-\-debug\fP)
+List information about all managed services for the current user (or root)\. Provides more output from Homebrew and \fBlaunchctl\fP(1) or \fBsystemctl\fP(1) if run with \fB\-\-debug\fP\&\.
.TP
-\fB\-\-sudo\-service\-user\fR
+[\fBsudo\fP] \fBbrew services info\fP (\fIformula\fP|\fB\-\-all\fP|\fB\-\-json\fP)
+List all managed services for the current user (or root)\.
+.TP
+[\fBsudo\fP] \fBbrew services run\fP (\fIformula\fP|\fB\-\-all\fP)
+Run the service \fIformula\fP without registering to launch at login (or boot)\.
+.TP
+[\fBsudo\fP] \fBbrew services start\fP (\fIformula\fP|\fB\-\-all\fP|\fB\-\-file=\fP)
+Start the service \fIformula\fP immediately and register it to launch at login (or boot)\.
+.TP
+[\fBsudo\fP] \fBbrew services stop\fP (\fIformula\fP|\fB\-\-all\fP)
+Stop the service \fIformula\fP immediately and unregister it from launching at login (or boot)\.
+.TP
+[\fBsudo\fP] \fBbrew services kill\fP (\fIformula\fP|\fB\-\-all\fP)
+Stop the service \fIformula\fP immediately but keep it registered to launch at login (or boot)\.
+.TP
+[\fBsudo\fP] \fBbrew services restart\fP (\fIformula\fP|\fB\-\-all\fP)
+Stop (if necessary) and start the service \fIformula\fP immediately and register it to launch at login (or boot)\.
+.TP
+[\fBsudo\fP] \fBbrew services cleanup\fP
+Remove all unused services\.
+.TP
+\fB\-\-file\fP
+Use the service file from this location to \fBstart\fP the service\.
+.TP
+\fB\-\-sudo\-service\-user\fP
When run as root on macOS, run the service(s) as this user\.
-.
.TP
-\fB\-\-all\fR
-Run \fIsubcommand\fR on all services\.
-.
+\fB\-\-all\fP
+Run \fIsubcommand\fP on all services\.
.TP
-\fB\-\-json\fR
+\fB\-\-json\fP
Output as JSON\.
-.
.TP
-\fB\-\-no\-wait\fR
-Don\'t wait for \fBstop\fR to finish stopping the service\.
-.
-.SS "\fBtest\-bot\fR [\fIoptions\fR] [\fIformula\fR]"
-Tests the full lifecycle of a Homebrew change to a tap (Git repository)\. For example, for a GitHub Actions pull request that changes a formula \fBbrew test\-bot\fR will ensure the system is cleaned and set up to test the formula, install the formula, run various tests and checks on it, bottle (package) the binaries and test formulae that depend on it to ensure they aren\'t broken by these changes\.
-.
+\fB\-\-no\-wait\fP
+Don\[u2019]t wait for \fBstop\fP to finish stopping the service\.
+.SS "\fBtest\-bot\fP \fR[\fIoptions\fP] \fR[\fIformula\fP]"
+Tests the full lifecycle of a Homebrew change to a tap (Git repository)\. For example, for a GitHub Actions pull request that changes a formula \fBbrew test\-bot\fP will ensure the system is cleaned and set up to test the formula, install the formula, run various tests and checks on it, bottle (package) the binaries and test formulae that depend on it to ensure they aren\[u2019]t broken by these changes\.
.P
-Only supports GitHub Actions as a CI provider\. This is because Homebrew uses GitHub Actions and it\'s freely available for public and private use with macOS and Linux workers\.
-.
+Only supports GitHub Actions as a CI provider\. This is because Homebrew uses GitHub Actions and it\[u2019]s freely available for public and private use with macOS and Linux workers\.
.TP
-\fB\-\-dry\-run\fR
+\fB\-\-dry\-run\fP
Print what would be done rather than doing it\.
-.
.TP
-\fB\-\-cleanup\fR
+\fB\-\-cleanup\fP
Clean all state from the Homebrew directory\. Use with care!
-.
.TP
-\fB\-\-skip\-setup\fR
-Don\'t check if the local system is set up correctly\.
-.
+\fB\-\-skip\-setup\fP
+Don\[u2019]t check if the local system is set up correctly\.
.TP
-\fB\-\-build\-from\-source\fR
+\fB\-\-build\-from\-source\fP
Build from source rather than building bottles\.
-.
.TP
-\fB\-\-build\-dependents\-from\-source\fR
+\fB\-\-build\-dependents\-from\-source\fP
Build dependents from source rather than testing bottles\.
-.
.TP
-\fB\-\-junit\fR
+\fB\-\-junit\fP
generate a JUnit XML test results file\.
-.
.TP
-\fB\-\-keep\-old\fR
-Run \fBbrew bottle \-\-keep\-old\fR to build new bottles for a single platform\.
-.
+\fB\-\-keep\-old\fP
+Run \fBbrew bottle \-\-keep\-old\fP to build new bottles for a single platform\.
.TP
-\fB\-\-skip\-relocation\fR
-Run \fBbrew bottle \-\-skip\-relocation\fR to build new bottles that don\'t require relocation\.
-.
+\fB\-\-skip\-relocation\fP
+Run \fBbrew bottle \-\-skip\-relocation\fP to build new bottles that don\[u2019]t require relocation\.
.TP
-\fB\-\-only\-json\-tab\fR
-Run \fBbrew bottle \-\-only\-json\-tab\fR to build new bottles that do not contain a tab\.
-.
+\fB\-\-only\-json\-tab\fP
+Run \fBbrew bottle \-\-only\-json\-tab\fP to build new bottles that do not contain a tab\.
.TP
-\fB\-\-local\fR
-Ask Homebrew to write verbose logs under \fB\./logs/\fR and set \fB$HOME\fR to \fB\./home/\fR
-.
+\fB\-\-local\fP
+Ask Homebrew to write verbose logs under \fB\&\./logs/\fP and set \fB$HOME\fP to \fB\&\./home/\fP
.TP
-\fB\-\-tap\fR
+\fB\-\-tap\fP
Use the Git repository of the given tap\. Defaults to the core tap for syntax checking\.
-.
.TP
-\fB\-\-fail\-fast\fR
+\fB\-\-fail\-fast\fP
Immediately exit on a failing step\.
-.
.TP
-\fB\-v\fR, \fB\-\-verbose\fR
+\fB\-v\fP, \fB\-\-verbose\fP
Print test step output in real time\. Has the side effect of passing output as raw bytes instead of re\-encoding in UTF\-8\.
-.
.TP
-\fB\-\-test\-default\-formula\fR
+\fB\-\-test\-default\-formula\fP
Use a default testing formula when not building a tap and no other formulae are specified\.
-.
.TP
-\fB\-\-root\-url\fR
-Use the specified \fIURL\fR as the root of the bottle\'s URL instead of Homebrew\'s default\.
-.
+\fB\-\-root\-url\fP
+Use the specified \fIURL\fP as the root of the bottle\[u2019]s URL instead of Homebrew\[u2019]s default\.
.TP
-\fB\-\-git\-name\fR
+\fB\-\-git\-name\fP
Set the Git author/committer names to the given name\.
-.
.TP
-\fB\-\-git\-email\fR
+\fB\-\-git\-email\fP
Set the Git author/committer email to the given email\.
-.
.TP
-\fB\-\-publish\fR
+\fB\-\-publish\fP
Publish the uploaded bottles\.
-.
.TP
-\fB\-\-skip\-online\-checks\fR
-Don\'t pass \fB\-\-online\fR to \fBbrew audit\fR and skip \fBbrew livecheck\fR\.
-.
+\fB\-\-skip\-online\-checks\fP
+Don\[u2019]t pass \fB\-\-online\fP to \fBbrew audit\fP and skip \fBbrew livecheck\fP\&\.
.TP
-\fB\-\-skip\-dependents\fR
-Don\'t test any dependents\.
-.
+\fB\-\-skip\-dependents\fP
+Don\[u2019]t test any dependents\.
.TP
-\fB\-\-skip\-livecheck\fR
-Don\'t test livecheck\.
-.
+\fB\-\-skip\-livecheck\fP
+Don\[u2019]t test livecheck\.
.TP
-\fB\-\-skip\-recursive\-dependents\fR
+\fB\-\-skip\-recursive\-dependents\fP
Only test the direct dependents\.
-.
.TP
-\fB\-\-skip\-checksum\-only\-audit\fR
-Don\'t audit checksum\-only changes\.
-.
+\fB\-\-skip\-checksum\-only\-audit\fP
+Don\[u2019]t audit checksum\-only changes\.
.TP
-\fB\-\-skip\-stable\-version\-audit\fR
-Don\'t audit the stable version\.
-.
+\fB\-\-skip\-stable\-version\-audit\fP
+Don\[u2019]t audit the stable version\.
.TP
-\fB\-\-skip\-revision\-audit\fR
-Don\'t audit the revision\.
-.
+\fB\-\-skip\-revision\-audit\fP
+Don\[u2019]t audit the revision\.
.TP
-\fB\-\-only\-cleanup\-before\fR
-Only run the pre\-cleanup step\. Needs \fB\-\-cleanup\fR\.
-.
+\fB\-\-only\-cleanup\-before\fP
+Only run the pre\-cleanup step\. Needs \fB\-\-cleanup\fP\&\.
.TP
-\fB\-\-only\-setup\fR
+\fB\-\-only\-setup\fP
Only run the local system setup check step\.
-.
.TP
-\fB\-\-only\-tap\-syntax\fR
+\fB\-\-only\-tap\-syntax\fP
Only run the tap syntax check step\.
-.
.TP
-\fB\-\-only\-formulae\fR
+\fB\-\-only\-formulae\fP
Only run the formulae steps\.
-.
.TP
-\fB\-\-only\-formulae\-detect\fR
+\fB\-\-only\-formulae\-detect\fP
Only run the formulae detection steps\.
-.
.TP
-\fB\-\-only\-formulae\-dependents\fR
+\fB\-\-only\-formulae\-dependents\fP
Only run the formulae dependents steps\.
-.
.TP
-\fB\-\-only\-bottles\-fetch\fR
+\fB\-\-only\-bottles\-fetch\fP
Only run the bottles fetch steps\. This optional post\-upload test checks that all the bottles were uploaded correctly\. It is not run unless requested and only needs to be run on a single machine\. The bottle commit to be tested must be on the tested branch\.
-.
.TP
-\fB\-\-only\-cleanup\-after\fR
-Only run the post\-cleanup step\. Needs \fB\-\-cleanup\fR\.
-.
+\fB\-\-only\-cleanup\-after\fP
+Only run the post\-cleanup step\. Needs \fB\-\-cleanup\fP\&\.
.TP
-\fB\-\-testing\-formulae\fR
+\fB\-\-testing\-formulae\fP
Use these testing formulae rather than running the formulae detection steps\.
-.
.TP
-\fB\-\-added\-formulae\fR
+\fB\-\-added\-formulae\fP
Use these added formulae rather than running the formulae detection steps\.
-.
.TP
-\fB\-\-deleted\-formulae\fR
+\fB\-\-deleted\-formulae\fP
Use these deleted formulae rather than running the formulae detection steps\.
-.
.TP
-\fB\-\-skipped\-or\-failed\-formulae\fR
+\fB\-\-skipped\-or\-failed\-formulae\fP
Use these skipped or failed formulae from formulae steps for a formulae dependents step\.
-.
-.SS "\fBunalias\fR \fIalias\fR [\.\.\.]"
+.SS "\fBunalias\fP \fIalias\fP \fR[\.\.\.]"
Remove aliases\.
-.
-.SS "\fBwhich\-formula\fR [\fB\-\-explain\fR] \fIcommand\fR [\.\.\.]"
+.SS "\fBwhich\-formula\fP \fR[\fB\-\-explain\fP] \fIcommand\fP \fR[\.\.\.]"
Show which formula(e) provides the given command\.
-.
.TP
-\fB\-\-explain\fR
-Output explanation of how to get \fIcommand\fR by installing one of the providing formulae\.
-.
-.SS "\fBwhich\-update\fR [\fIoptions\fR] [\fIdatabase\fR]"
-Database update for \fBbrew which\-formula\fR\.
-.
+\fB\-\-explain\fP
+Output explanation of how to get \fIcommand\fP by installing one of the providing formulae\.
+.SS "\fBwhich\-update\fP \fR[\fIoptions\fP] \fR[\fIdatabase\fP]"
+Database update for \fBbrew which\-formula\fP\&\.
.TP
-\fB\-\-stats\fR
+\fB\-\-stats\fP
Print statistics about the database contents (number of commands and formulae, list of missing formulae)\.
-.
.TP
-\fB\-\-commit\fR
-Commit the changes using \fBgit\fR\.
-.
+\fB\-\-commit\fP
+Commit the changes using \fBgit\fP\&\.
.TP
-\fB\-\-update\-existing\fR
+\fB\-\-update\-existing\fP
Update database entries with outdated formula versions\.
-.
.TP
-\fB\-\-install\-missing\fR
-Install and update formulae that are missing from the database and don\'t have bottles\.
-.
+\fB\-\-install\-missing\fP
+Install and update formulae that are missing from the database and don\[u2019]t have bottles\.
.TP
-\fB\-\-eval\-all\fR
+\fB\-\-eval\-all\fP
Evaluate all installed taps, rather than just the core tap\.
-.
.TP
-\fB\-\-max\-downloads\fR
+\fB\-\-max\-downloads\fP
Specify a maximum number of formulae to download and update\.
-.
.SH "CUSTOM EXTERNAL COMMANDS"
-Homebrew, like \fBgit\fR(1), supports external commands\. These are executable scripts that reside somewhere in the \fBPATH\fR, named \fBbrew\-\fR\fIcmdname\fR or \fBbrew\-\fR\fIcmdname\fR\fB\.rb\fR, which can be invoked like \fBbrew\fR \fIcmdname\fR\. This allows you to create your own commands without modifying Homebrew\'s internals\.
-.
+Homebrew, like \fBgit\fP(1), supports external commands\. These are executable scripts that reside somewhere in the \fBPATH\fP, named \fBbrew\-\fP\fIcmdname\fP or \fBbrew\-\fP\fIcmdname\fP\fB\&\.rb\fP, which can be invoked like \fBbrew\fP \fIcmdname\fP\&\. This allows you to create your own commands without modifying Homebrew\[u2019]s internals\.
.P
-Instructions for creating your own commands can be found in the docs: \fIhttps://docs\.brew\.sh/External\-Commands\fR
-.
+Instructions for creating your own commands can be found in the docs:
+.UR https://docs\.brew\.sh/External\-Commands
+.UE
.SH "SPECIFYING FORMULAE"
-Many Homebrew commands accept one or more \fIformula\fR arguments\. These arguments can take several different forms:
-.
-.TP
-The name of a formula
-e\.g\. \fBgit\fR, \fBnode\fR, \fBwget\fR\.
-.
-.TP
-The fully\-qualified name of a tapped formula
-Sometimes a formula from a tapped repository may conflict with one in \fBhomebrew/core\fR\. You can still access these formulae by using a special syntax, e\.g\. \fBhomebrew/dupes/vim\fR or \fBhomebrew/versions/node4\fR\.
-.
-.TP
-An arbitrary file
-Homebrew can install formulae from a local path\. It can point to either a formula file or a bottle\. Prefix relative paths with \fB\./\fR to prevent them from being interpreted as a formula or tap name\.
-.
+Many Homebrew commands accept one or more \fIformula\fP arguments\. These arguments can take several different forms:
+.IP \(bu 4
+The name of a formula: e\.g\. \fBgit\fP, \fBnode\fP, \fBwget\fP\&\.
+.IP \(bu 4
+The fully\-qualified name of a tapped formula: Sometimes a formula from a tapped repository may conflict with one in \fBhomebrew/core\fP\&\. You can still access these formulae by using a special syntax, e\.g\. \fBhomebrew/dupes/vim\fP or \fBhomebrew/versions/node4\fP\&\.
+.IP \(bu 4
+An arbitrary file: Homebrew can install formulae from a local path\. It can point to either a formula file or a bottle\. Prefix relative paths with \fB\&\./\fP to prevent them from being interpreted as a formula or tap name\.
.SH "SPECIFYING CASKS"
-Many Homebrew Cask commands accept one or more \fIcask\fR arguments\. These can be specified the same way as the \fIformula\fR arguments described in \fBSPECIFYING FORMULAE\fR above\.
-.
+Many Homebrew Cask commands accept one or more \fIcask\fP arguments\. These can be specified the same way as the \fIformula\fP arguments described in \fBSPECIFYING FORMULAE\fP above\.
.SH "ENVIRONMENT"
-Note that environment variables must have a value set to be detected\. For example, run \fBexport HOMEBREW_NO_INSECURE_REDIRECT=1\fR rather than just \fBexport HOMEBREW_NO_INSECURE_REDIRECT\fR\.
-.
+Note that environment variables must have a value set to be detected\. For example, run \fBexport HOMEBREW_NO_INSECURE_REDIRECT=1\fP rather than just \fBexport HOMEBREW_NO_INSECURE_REDIRECT\fP\&\.
.P
-\fBHOMEBREW_*\fR environment variables can also be set in Homebrew\'s environment files:
-.
-.IP "\(bu" 4
-\fB/etc/homebrew/brew\.env\fR (system\-wide)
-.
-.IP "\(bu" 4
-\fB$HOMEBREW_PREFIX/etc/homebrew/brew\.env\fR (prefix\-specific)
-.
-.IP "\(bu" 4
-\fB$XDG_CONFIG_HOME/homebrew/brew\.env\fR if \fB$XDG_CONFIG_HOME\fR is set or \fB$HOME/\.homebrew/brew\.env\fR otherwise (user\-specific)
-.
-.IP "" 0
-.
+\fBHOMEBREW_*\fP environment variables can also be set in Homebrew\[u2019]s environment files:
+.IP \(bu 4
+\fB/etc/homebrew/brew\.env\fP (system\-wide)
+.IP \(bu 4
+\fB$HOMEBREW_PREFIX/etc/homebrew/brew\.env\fP (prefix\-specific)
+.IP \(bu 4
+\fB$XDG_CONFIG_HOME/homebrew/brew\.env\fP if \fB$XDG_CONFIG_HOME\fP is set or \fB$HOME/\.homebrew/brew\.env\fP otherwise (user\-specific)
.P
-User\-specific environment files take precedence over prefix\-specific files and prefix\-specific files take precedence over system\-wide files (unless \fBHOMEBREW_SYSTEM_ENV_TAKES_PRIORITY\fR is set, see below)\.
-.
+User\-specific environment files take precedence over prefix\-specific files and prefix\-specific files take precedence over system\-wide files (unless \fBHOMEBREW_SYSTEM_ENV_TAKES_PRIORITY\fP is set, see below)\.
.P
-Note that these files do not support shell variable expansion e\.g\. \fB$HOME\fR or command execution e\.g\. \fB$(cat file)\fR\.
-.
+Note that these files do not support shell variable expansion e\.g\. \fB$HOME\fP or command execution e\.g\. \fB$(cat file)\fP\&\.
.TP
-\fBHOMEBREW_API_DOMAIN\fR
-.
-.br
+\fBHOMEBREW_API_DOMAIN\fP
Use this URL as the download mirror for Homebrew JSON API\. If metadata files at that URL are temporarily unavailable, the default API domain will be used as a fallback mirror\.
-.
-.IP
-\fIDefault:\fR \fBhttps://formulae\.brew\.sh/api\fR\.
-.
+.RS
+.P
+\fIDefault:\fP \fBhttps://formulae\.brew\.sh/api\fP\&\.
+.RE
.TP
-\fBHOMEBREW_ARCH\fR
-.
-.br
-Linux only: Pass this value to a type name representing the compiler\'s \fB\-march\fR option\.
-.
-.IP
-\fIDefault:\fR \fBnative\fR\.
-.
+\fBHOMEBREW_ARCH\fP
+Linux only: Pass this value to a type name representing the compiler\[u2019]s \fB\-march\fP option\.
+.RS
+.P
+\fIDefault:\fP \fBnative\fP\&\.
+.RE
.TP
-\fBHOMEBREW_ARTIFACT_DOMAIN\fR
-.
-.br
-Prefix all download URLs, including those for bottles, with this value\. For example, \fBHOMEBREW_ARTIFACT_DOMAIN=http://localhost:8080\fR will cause a formula with the URL \fBhttps://example\.com/foo\.tar\.gz\fR to instead download from \fBhttp://localhost:8080/https://example\.com/foo\.tar\.gz\fR\. Bottle URLs however, have their domain replaced with this prefix\. This results in e\.g\. \fBhttps://ghcr\.io/v2/homebrew/core/gettext/manifests/0\.21\fR to instead be downloaded from \fBhttp://localhost:8080/v2/homebrew/core/gettext/manifests/0\.21\fR
-.
+\fBHOMEBREW_ARTIFACT_DOMAIN\fP
+Prefix all download URLs, including those for bottles, with this value\. For example, \fBHOMEBREW_ARTIFACT_DOMAIN=http://localhost:8080\fP will cause a formula with the URL \fBhttps://example\.com/foo\.tar\.gz\fP to instead download from \fBhttp://localhost:8080/https://example\.com/foo\.tar\.gz\fP\&\. Bottle URLs however, have their domain replaced with this prefix\. This results in e\.g\. \fBhttps://ghcr\.io/v2/homebrew/core/gettext/manifests/0\.21\fP to instead be downloaded from \fBhttp://localhost:8080/v2/homebrew/core/gettext/manifests/0\.21\fP
.TP
-\fBHOMEBREW_API_AUTO_UPDATE_SECS\fR
-.
-.br
-Check Homebrew\'s API for new formulae or cask data every \fBHOMEBREW_API_AUTO_UPDATE_SECS\fR seconds\. Alternatively, disable API auto\-update checks entirely with \fBHOMEBREW_NO_AUTO_UPDATE\fR\.
-.
-.IP
-\fIDefault:\fR \fB450\fR\.
-.
+\fBHOMEBREW_API_AUTO_UPDATE_SECS\fP
+Check Homebrew\[u2019]s API for new formulae or cask data every \fBHOMEBREW_API_AUTO_UPDATE_SECS\fP seconds\. Alternatively, disable API auto\-update checks entirely with \fBHOMEBREW_NO_AUTO_UPDATE\fP\&\.
+.RS
+.P
+\fIDefault:\fP \fB450\fP\&\.
+.RE
.TP
-\fBHOMEBREW_AUTO_UPDATE_SECS\fR
-.
-.br
-Run \fBbrew update\fR once every \fBHOMEBREW_AUTO_UPDATE_SECS\fR seconds before some commands, e\.g\. \fBbrew install\fR, \fBbrew upgrade\fR and \fBbrew tap\fR\. Alternatively, disable auto\-update entirely with \fBHOMEBREW_NO_AUTO_UPDATE\fR\.
-.
-.IP
-\fIDefault:\fR \fB86400\fR (24 hours), \fB3600\fR (1 hour) if a developer command has been run or \fB300\fR (5 minutes) if \fBHOMEBREW_NO_INSTALL_FROM_API\fR is set\.
-.
+\fBHOMEBREW_AUTO_UPDATE_SECS\fP
+Run \fBbrew update\fP once every \fBHOMEBREW_AUTO_UPDATE_SECS\fP seconds before some commands, e\.g\. \fBbrew install\fP, \fBbrew upgrade\fP and \fBbrew tap\fP\&\. Alternatively, disable auto\-update entirely with \fBHOMEBREW_NO_AUTO_UPDATE\fP\&\.
+.RS
+.P
+\fIDefault:\fP \fB86400\fP (24 hours), \fB3600\fP (1 hour) if a developer command has been run or \fB300\fP (5 minutes) if \fBHOMEBREW_NO_INSTALL_FROM_API\fP is set\.
+.RE
.TP
-\fBHOMEBREW_AUTOREMOVE\fR
-.
-.br
-If set, calls to \fBbrew cleanup\fR and \fBbrew uninstall\fR will automatically remove unused formula dependents and if \fBHOMEBREW_NO_INSTALL_CLEANUP\fR is not set, \fBbrew cleanup\fR will start running \fBbrew autoremove\fR periodically\.
-.
+\fBHOMEBREW_AUTOREMOVE\fP
+If set, calls to \fBbrew cleanup\fP and \fBbrew uninstall\fP will automatically remove unused formula dependents and if \fBHOMEBREW_NO_INSTALL_CLEANUP\fP is not set, \fBbrew cleanup\fP will start running \fBbrew autoremove\fP periodically\.
.TP
-\fBHOMEBREW_BAT\fR
-.
-.br
-If set, use \fBbat\fR for the \fBbrew cat\fR command\.
-.
+\fBHOMEBREW_BAT\fP
+If set, use \fBbat\fP for the \fBbrew cat\fP command\.
.TP
-\fBHOMEBREW_BAT_CONFIG_PATH\fR
-.
-.br
-Use this as the \fBbat\fR configuration file\.
-.
-.IP
-\fIDefault:\fR \fB$BAT_CONFIG_PATH\fR\.
-.
+\fBHOMEBREW_BAT_CONFIG_PATH\fP
+Use this as the \fBbat\fP configuration file\.
+.RS
+.P
+\fIDefault:\fP \fB$BAT_CONFIG_PATH\fP\&\.
+.RE
.TP
-\fBHOMEBREW_BAT_THEME\fR
-.
-.br
-Use this as the \fBbat\fR theme for syntax highlighting\.
-.
-.IP
-\fIDefault:\fR \fB$BAT_THEME\fR\.
-.
+\fBHOMEBREW_BAT_THEME\fP
+Use this as the \fBbat\fP theme for syntax highlighting\.
+.RS
+.P
+\fIDefault:\fP \fB$BAT_THEME\fP\&\.
+.RE
.TP
-\fBHOMEBREW_BOOTSNAP\fR
-.
-.br
-If set, use Bootsnap to speed up repeated \fBbrew\fR calls\. A no\-op when using Homebrew\'s vendored, relocatable Ruby on macOS (as it doesn\'t work)\.
-.
+\fBHOMEBREW_BOOTSNAP\fP
+If set, use Bootsnap to speed up repeated \fBbrew\fP calls\. A no\-op when using Homebrew\[u2019]s vendored, relocatable Ruby on macOS (as it doesn\[u2019]t work)\.
.TP
-\fBHOMEBREW_BOTTLE_DOMAIN\fR
-.
-.br
-Use this URL as the download mirror for bottles\. If bottles at that URL are temporarily unavailable, the default bottle domain will be used as a fallback mirror\. For example, \fBHOMEBREW_BOTTLE_DOMAIN=http://localhost:8080\fR will cause all bottles to download from the prefix \fBhttp://localhost:8080/\fR\. If bottles are not available at \fBHOMEBREW_BOTTLE_DOMAIN\fR they will be downloaded from the default bottle domain\.
-.
-.IP
-\fIDefault:\fR \fBhttps://ghcr\.io/v2/homebrew/core\fR\.
-.
+\fBHOMEBREW_BOTTLE_DOMAIN\fP
+Use this URL as the download mirror for bottles\. If bottles at that URL are temporarily unavailable, the default bottle domain will be used as a fallback mirror\. For example, \fBHOMEBREW_BOTTLE_DOMAIN=http://localhost:8080\fP will cause all bottles to download from the prefix \fBhttp://localhost:8080/\fP\&\. If bottles are not available at \fBHOMEBREW_BOTTLE_DOMAIN\fP they will be downloaded from the default bottle domain\.
+.RS
+.P
+\fIDefault:\fP \fBhttps://ghcr\.io/v2/homebrew/core\fP\&\.
+.RE
.TP
-\fBHOMEBREW_BREW_GIT_REMOTE\fR
-.
-.br
-Use this URL as the Homebrew/brew \fBgit\fR(1) remote\.
-.
-.IP
-\fIDefault:\fR \fBhttps://github\.com/Homebrew/brew\fR\.
-.
+\fBHOMEBREW_BREW_GIT_REMOTE\fP
+Use this URL as the Homebrew/brew \fBgit\fP(1) remote\.
+.RS
+.P
+\fIDefault:\fP \fBhttps://github\.com/Homebrew/brew\fP\&\.
+.RE
.TP
-\fBHOMEBREW_BROWSER\fR
-.
-.br
+\fBHOMEBREW_BROWSER\fP
Use this as the browser when opening project homepages\.
-.
-.IP
-\fIDefault:\fR \fB$BROWSER\fR or the OS\'s default browser\.
-.
+.RS
+.P
+\fIDefault:\fP \fB$BROWSER\fP or the OS\[u2019]s default browser\.
+.RE
.TP
-\fBHOMEBREW_CACHE\fR
-.
-.br
+\fBHOMEBREW_CACHE\fP
Use this directory as the download cache\.
-.
-.IP
-\fIDefault:\fR macOS: \fB$HOME/Library/Caches/Homebrew\fR, Linux: \fB$XDG_CACHE_HOME/Homebrew\fR or \fB$HOME/\.cache/Homebrew\fR\.
-.
+.RS
+.P
+\fIDefault:\fP macOS: \fB$HOME/Library/Caches/Homebrew\fP, Linux: \fB$XDG_CACHE_HOME/Homebrew\fP or \fB$HOME/\.cache/Homebrew\fP\&\.
+.RE
.TP
-\fBHOMEBREW_CASK_OPTS\fR
-.
-.br
-Append these options to all \fBcask\fR commands\. All \fB\-\-*dir\fR options, \fB\-\-language\fR, \fB\-\-require\-sha\fR, \fB\-\-no\-quarantine\fR and \fB\-\-no\-binaries\fR are supported\. For example, you might add something like the following to your \fB~/\.profile\fR, \fB~/\.bash_profile\fR, or \fB~/\.zshenv\fR:
-.
-.IP
-\fBexport HOMEBREW_CASK_OPTS="\-\-appdir=~/Applications \-\-fontdir=/Library/Fonts"\fR
-.
+\fBHOMEBREW_CASK_OPTS\fP
+Append these options to all \fBcask\fP commands\. All \fB\-\-*dir\fP options, \fB\-\-language\fP, \fB\-\-require\-sha\fP, \fB\-\-no\-quarantine\fP and \fB\-\-no\-binaries\fP are supported\. For example, you might add something like the following to your \fB~/\.profile\fP, \fB~/\.bash_profile\fP, or \fB~/\.zshenv\fP:
+.RS
+.P
+\fBexport HOMEBREW_CASK_OPTS="\-\-appdir=~/Applications \-\-fontdir=/Library/Fonts"\fP
+.RE
.TP
-\fBHOMEBREW_CLEANUP_MAX_AGE_DAYS\fR
-.
-.br
+\fBHOMEBREW_CLEANUP_MAX_AGE_DAYS\fP
Cleanup all cached files older than this many days\.
-.
-.IP
-\fIDefault:\fR \fB120\fR\.
-.
+.RS
+.P
+\fIDefault:\fP \fB120\fP\&\.
+.RE
.TP
-\fBHOMEBREW_CLEANUP_PERIODIC_FULL_DAYS\fR
-.
-.br
-If set, \fBbrew install\fR, \fBbrew upgrade\fR and \fBbrew reinstall\fR will cleanup all formulae when this number of days has passed\.
-.
-.IP
-\fIDefault:\fR \fB30\fR\.
-.
+\fBHOMEBREW_CLEANUP_PERIODIC_FULL_DAYS\fP
+If set, \fBbrew install\fP, \fBbrew upgrade\fP and \fBbrew reinstall\fP will cleanup all formulae when this number of days has passed\.
+.RS
+.P
+\fIDefault:\fP \fB30\fP\&\.
+.RE
.TP
-\fBHOMEBREW_COLOR\fR
-.
-.br
+\fBHOMEBREW_COLOR\fP
If set, force colour output on non\-TTY outputs\.
-.
.TP
-\fBHOMEBREW_CORE_GIT_REMOTE\fR
-.
-.br
-Use this URL as the Homebrew/homebrew\-core \fBgit\fR(1) remote\.
-.
-.IP
-\fIDefault:\fR \fBhttps://github\.com/Homebrew/homebrew\-core\fR\.
-.
+\fBHOMEBREW_CORE_GIT_REMOTE\fP
+Use this URL as the Homebrew/homebrew\-core \fBgit\fP(1) remote\.
+.RS
+.P
+\fIDefault:\fP \fBhttps://github\.com/Homebrew/homebrew\-core\fP\&\.
+.RE
.TP
-\fBHOMEBREW_CURL_PATH\fR
-.
-.br
-Linux only: Set this value to a new enough \fBcurl\fR executable for Homebrew to use\.
-.
-.IP
-\fIDefault:\fR \fBcurl\fR\.
-.
+\fBHOMEBREW_CURL_PATH\fP
+Linux only: Set this value to a new enough \fBcurl\fP executable for Homebrew to use\.
+.RS
+.P
+\fIDefault:\fP \fBcurl\fP\&\.
+.RE
.TP
-\fBHOMEBREW_CURL_RETRIES\fR
-.
-.br
-Pass the given retry count to \fB\-\-retry\fR when invoking \fBcurl\fR(1)\.
-.
-.IP
-\fIDefault:\fR \fB3\fR\.
-.
+\fBHOMEBREW_CURL_RETRIES\fP
+Pass the given retry count to \fB\-\-retry\fP when invoking \fBcurl\fP(1)\.
+.RS
+.P
+\fIDefault:\fP \fB3\fP\&\.
+.RE
.TP
-\fBHOMEBREW_CURL_VERBOSE\fR
-.
-.br
-If set, pass \fB\-\-verbose\fR when invoking \fBcurl\fR(1)\.
-.
+\fBHOMEBREW_CURL_VERBOSE\fP
+If set, pass \fB\-\-verbose\fP when invoking \fBcurl\fP(1)\.
.TP
-\fBHOMEBREW_CURLRC\fR
-.
-.br
-If set to an absolute path (i\.e\. beginning with \fB/\fR), pass it with \fB\-\-config\fR when invoking \fBcurl\fR(1)\. If set but \fInot\fR a valid path, do not pass \fB\-\-disable\fR, which disables the use of \fB\.curlrc\fR\.
-.
+\fBHOMEBREW_CURLRC\fP
+If set to an absolute path (i\.e\. beginning with \fB/\fP), pass it with \fB\-\-config\fP when invoking \fBcurl\fP(1)\. If set but \fInot\fP a valid path, do not pass \fB\-\-disable\fP, which disables the use of \fB\&\.curlrc\fP\&\.
.TP
-\fBHOMEBREW_DEBUG\fR
-.
-.br
-If set, always assume \fB\-\-debug\fR when running commands\.
-.
+\fBHOMEBREW_DEBUG\fP
+If set, always assume \fB\-\-debug\fP when running commands\.
.TP
-\fBHOMEBREW_DEVELOPER\fR
-.
-.br
+\fBHOMEBREW_DEVELOPER\fP
If set, tweak behaviour to be more relevant for Homebrew developers (active or budding) by e\.g\. turning warnings into errors\.
-.
.TP
-\fBHOMEBREW_DISABLE_LOAD_FORMULA\fR
-.
-.br
+\fBHOMEBREW_DISABLE_LOAD_FORMULA\fP
If set, refuse to load formulae\. This is useful when formulae are not trusted (such as in pull requests)\.
-.
.TP
-\fBHOMEBREW_DISPLAY\fR
-.
-.br
-Use this X11 display when opening a page in a browser, for example with \fBbrew home\fR\. Primarily useful on Linux\.
-.
-.IP
-\fIDefault:\fR \fB$DISPLAY\fR\.
-.
+\fBHOMEBREW_DISPLAY\fP
+Use this X11 display when opening a page in a browser, for example with \fBbrew home\fP\&\. Primarily useful on Linux\.
+.RS
+.P
+\fIDefault:\fP \fB$DISPLAY\fP\&\.
+.RE
.TP
-\fBHOMEBREW_DISPLAY_INSTALL_TIMES\fR
-.
-.br
+\fBHOMEBREW_DISPLAY_INSTALL_TIMES\fP
If set, print install times for each formula at the end of the run\.
-.
.TP
-\fBHOMEBREW_DOCKER_REGISTRY_BASIC_AUTH_TOKEN\fR
-.
-.br
-Use this base64 encoded username and password for authenticating with a Docker registry proxying GitHub Packages\. If \fBHOMEBREW_DOCKER_REGISTRY_TOKEN\fR is set, it will be used instead\.
-.
+\fBHOMEBREW_DOCKER_REGISTRY_BASIC_AUTH_TOKEN\fP
+Use this base64 encoded username and password for authenticating with a Docker registry proxying GitHub Packages\. If \fBHOMEBREW_DOCKER_REGISTRY_TOKEN\fP is set, it will be used instead\.
.TP
-\fBHOMEBREW_DOCKER_REGISTRY_TOKEN\fR
-.
-.br
-Use this bearer token for authenticating with a Docker registry proxying GitHub Packages\. Preferred over \fBHOMEBREW_DOCKER_REGISTRY_BASIC_AUTH_TOKEN\fR\.
-.
+\fBHOMEBREW_DOCKER_REGISTRY_TOKEN\fP
+Use this bearer token for authenticating with a Docker registry proxying GitHub Packages\. Preferred over \fBHOMEBREW_DOCKER_REGISTRY_BASIC_AUTH_TOKEN\fP\&\.
.TP
-\fBHOMEBREW_EDITOR\fR
-.
-.br
+\fBHOMEBREW_EDITOR\fP
Use this editor when editing a single formula, or several formulae in the same directory\.
-.
-.IP
-\fINote:\fR \fBbrew edit\fR will open all of Homebrew as discontinuous files and directories\. Visual Studio Code can handle this correctly in project mode, but many editors will do strange things in this case\.
-.
-.IP
-\fIDefault:\fR \fB$EDITOR\fR or \fB$VISUAL\fR\.
-.
+.RS
+.P
+\fINote:\fP \fBbrew edit\fP will open all of Homebrew as discontinuous files and directories\. Visual Studio Code can handle this correctly in project mode, but many editors will do strange things in this case\.
+.P
+\fIDefault:\fP \fB$EDITOR\fP or \fB$VISUAL\fP\&\.
+.RE
.TP
-\fBHOMEBREW_EVAL_ALL\fR
-.
-.br
-If set, \fBbrew\fR commands evaluate all formulae and casks, executing their arbitrary code, by default without requiring \fB\-\-eval\-all\fR\. Required to cache formula and cask descriptions\.
-.
+\fBHOMEBREW_EVAL_ALL\fP
+If set, \fBbrew\fP commands evaluate all formulae and casks, executing their arbitrary code, by default without requiring \fB\-\-eval\-all\fP\&\. Required to cache formula and cask descriptions\.
.TP
-\fBHOMEBREW_FAIL_LOG_LINES\fR
-.
-.br
-Output this many lines of output on formula \fBsystem\fR failures\.
-.
-.IP
-\fIDefault:\fR \fB15\fR\.
-.
+\fBHOMEBREW_FAIL_LOG_LINES\fP
+Output this many lines of output on formula \fBsystem\fP failures\.
+.RS
+.P
+\fIDefault:\fP \fB15\fP\&\.
+.RE
.TP
-\fBHOMEBREW_FORBIDDEN_LICENSES\fR
-.
-.br
+\fBHOMEBREW_FORBIDDEN_LICENSES\fP
A space\-separated list of licenses\. Homebrew will refuse to install a formula if it or any of its dependencies has a license on this list\.
-.
.TP
-\fBHOMEBREW_FORCE_BREWED_CA_CERTIFICATES\fR
-.
-.br
-If set, always use a Homebrew\-installed \fBca\-certificates\fR rather than the system version\. Automatically set if the system version is too old\.
-.
+\fBHOMEBREW_FORCE_BREWED_CA_CERTIFICATES\fP
+If set, always use a Homebrew\-installed \fBca\-certificates\fP rather than the system version\. Automatically set if the system version is too old\.
.TP
-\fBHOMEBREW_FORCE_BREWED_CURL\fR
-.
-.br
-If set, always use a Homebrew\-installed \fBcurl\fR(1) rather than the system version\. Automatically set if the system version of \fBcurl\fR is too old\.
-.
+\fBHOMEBREW_FORCE_BREWED_CURL\fP
+If set, always use a Homebrew\-installed \fBcurl\fP(1) rather than the system version\. Automatically set if the system version of \fBcurl\fP is too old\.
.TP
-\fBHOMEBREW_FORCE_BREWED_GIT\fR
-.
-.br
-If set, always use a Homebrew\-installed \fBgit\fR(1) rather than the system version\. Automatically set if the system version of \fBgit\fR is too old\.
-.
+\fBHOMEBREW_FORCE_BREWED_GIT\fP
+If set, always use a Homebrew\-installed \fBgit\fP(1) rather than the system version\. Automatically set if the system version of \fBgit\fP is too old\.
.TP
-\fBHOMEBREW_FORCE_VENDOR_RUBY\fR
-.
-.br
-If set, always use Homebrew\'s vendored, relocatable Ruby version even if the system version of Ruby is new enough\.
-.
+\fBHOMEBREW_FORCE_VENDOR_RUBY\fP
+If set, always use Homebrew\[u2019]s vendored, relocatable Ruby version even if the system version of Ruby is new enough\.
.TP
-\fBHOMEBREW_GIT_EMAIL\fR
-.
-.br
+\fBHOMEBREW_GIT_EMAIL\fP
Set the Git author and committer email to this value\.
-.
.TP
-\fBHOMEBREW_GIT_NAME\fR
-.
-.br
+\fBHOMEBREW_GIT_NAME\fP
Set the Git author and committer name to this value\.
-.
.TP
-\fBHOMEBREW_GIT_PATH\fR
-.
-.br
-Linux only: Set this value to a new enough \fBgit\fR executable for Homebrew to use\.
-.
-.IP
-\fIDefault:\fR \fBgit\fR\.
-.
+\fBHOMEBREW_GIT_PATH\fP
+Linux only: Set this value to a new enough \fBgit\fP executable for Homebrew to use\.
+.RS
+.P
+\fIDefault:\fP \fBgit\fP\&\.
+.RE
.TP
-\fBHOMEBREW_GITHUB_API_TOKEN\fR
-.
-.br
-Use this personal access token for the GitHub API, for features such as \fBbrew search\fR\. You can create one at \fIhttps://github\.com/settings/tokens\fR\. If set, GitHub will allow you a greater number of API requests\. For more information, see: \fIhttps://docs\.github\.com/en/rest/overview/rate\-limits\-for\-the\-rest\-api\fR
-.
-.IP
-\fINote:\fR Homebrew doesn\'t require permissions for any of the scopes, but some developer commands may require additional permissions\.
-.
+\fBHOMEBREW_GITHUB_API_TOKEN\fP
+Use this personal access token for the GitHub API, for features such as \fBbrew search\fP\&\. You can create one at
+.UR https://github\.com/settings/tokens
+.UE \&\. If set, GitHub will allow you a greater number of API requests\. For more information, see:
+.UR https://docs\.github\.com/en/rest/overview/rate\-limits\-for\-the\-rest\-api
+.UE
+.RS
+.P
+\fINote:\fP Homebrew doesn\[u2019]t require permissions for any of the scopes, but some developer commands may require additional permissions\.
+.RE
.TP
-\fBHOMEBREW_GITHUB_PACKAGES_TOKEN\fR
-.
-.br
+\fBHOMEBREW_GITHUB_PACKAGES_TOKEN\fP
Use this GitHub personal access token when accessing the GitHub Packages Registry (where bottles may be stored)\.
-.
.TP
-\fBHOMEBREW_GITHUB_PACKAGES_USER\fR
-.
-.br
+\fBHOMEBREW_GITHUB_PACKAGES_USER\fP
Use this username when accessing the GitHub Packages Registry (where bottles may be stored)\.
-.
.TP
-\fBHOMEBREW_INSTALL_BADGE\fR
-.
-.br
+\fBHOMEBREW_INSTALL_BADGE\fP
Print this text before the installation summary of each successful build\.
-.
-.IP
-\fIDefault:\fR The "Beer Mug" emoji\.
-.
+.RS
+.P
+\fIDefault:\fP The \[u201c]Beer Mug\[u201d] emoji\.
+.RE
.TP
-\fBHOMEBREW_LIVECHECK_WATCHLIST\fR
-.
-.br
-Consult this file for the list of formulae to check by default when no formula argument is passed to \fBbrew livecheck\fR\.
-.
-.IP
-\fIDefault:\fR \fB$XDG_CONFIG_HOME/homebrew/livecheck_watchlist\.txt\fR if \fB$XDG_CONFIG_HOME\fR is set or \fB$HOME/\.homebrew/livecheck_watchlist\.txt\fR otherwise\.
-.
+\fBHOMEBREW_LIVECHECK_WATCHLIST\fP
+Consult this file for the list of formulae to check by default when no formula argument is passed to \fBbrew livecheck\fP\&\.
+.RS
+.P
+\fIDefault:\fP \fB$XDG_CONFIG_HOME/homebrew/livecheck_watchlist\.txt\fP if \fB$XDG_CONFIG_HOME\fP is set or \fB$HOME/\.homebrew/livecheck_watchlist\.txt\fP otherwise\.
+.RE
.TP
-\fBHOMEBREW_LOGS\fR
-.
-.br
+\fBHOMEBREW_LOGS\fP
Use this directory to store log files\.
-.
-.IP
-\fIDefault:\fR macOS: \fB$HOME/Library/Logs/Homebrew\fR, Linux: \fB$XDG_CACHE_HOME/Homebrew/Logs\fR or \fB$HOME/\.cache/Homebrew/Logs\fR\.
-.
+.RS
+.P
+\fIDefault:\fP macOS: \fB$HOME/Library/Logs/Homebrew\fP, Linux: \fB$XDG_CACHE_HOME/Homebrew/Logs\fP or \fB$HOME/\.cache/Homebrew/Logs\fP\&\.
+.RE
.TP
-\fBHOMEBREW_MAKE_JOBS\fR
-.
-.br
-Use this value as the number of parallel jobs to run when building with \fBmake\fR(1)\.
-.
-.IP
-\fIDefault:\fR The number of available CPU cores\.
-.
+\fBHOMEBREW_MAKE_JOBS\fP
+Use this value as the number of parallel jobs to run when building with \fBmake\fP(1)\.
+.RS
+.P
+\fIDefault:\fP The number of available CPU cores\.
+.RE
.TP
-\fBHOMEBREW_NO_ANALYTICS\fR
-.
-.br
-If set, do not send analytics\. Google Analytics were destroyed\. For more information, see: \fIhttps://docs\.brew\.sh/Analytics\fR
-.
+\fBHOMEBREW_NO_ANALYTICS\fP
+If set, do not send analytics\. Google Analytics were destroyed\. For more information, see:
+.UR https://docs\.brew\.sh/Analytics
+.UE
.TP
-\fBHOMEBREW_NO_AUTO_UPDATE\fR
-.
-.br
-If set, do not automatically update before running some commands, e\.g\. \fBbrew install\fR, \fBbrew upgrade\fR and \fBbrew tap\fR\. Alternatively, run this less often by setting \fBHOMEBREW_AUTO_UPDATE_SECS\fR to a value higher than the default\.
-.
+\fBHOMEBREW_NO_AUTO_UPDATE\fP
+If set, do not automatically update before running some commands, e\.g\. \fBbrew install\fP, \fBbrew upgrade\fP and \fBbrew tap\fP\&\. Alternatively, run this less often by setting \fBHOMEBREW_AUTO_UPDATE_SECS\fP to a value higher than the default\.
.TP
-\fBHOMEBREW_NO_BOOTSNAP\fR
-.
-.br
-If set, do not use Bootsnap to speed up repeated \fBbrew\fR calls\.
-.
+\fBHOMEBREW_NO_BOOTSNAP\fP
+If set, do not use Bootsnap to speed up repeated \fBbrew\fP calls\.
.TP
-\fBHOMEBREW_NO_CLEANUP_FORMULAE\fR
-.
-.br
+\fBHOMEBREW_NO_CLEANUP_FORMULAE\fP
A comma\-separated list of formulae\. Homebrew will refuse to clean up or autoremove a formula if it appears on this list\.
-.
.TP
-\fBHOMEBREW_NO_COLOR\fR
-.
-.br
+\fBHOMEBREW_NO_COLOR\fP
If set, do not print text with colour added\.
-.
-.IP
-\fIDefault:\fR \fB$NO_COLOR\fR\.
-.
+.RS
+.P
+\fIDefault:\fP \fB$NO_COLOR\fP\&\.
+.RE
.TP
-\fBHOMEBREW_NO_EMOJI\fR
-.
-.br
-If set, do not print \fBHOMEBREW_INSTALL_BADGE\fR on a successful build\.
-.
+\fBHOMEBREW_NO_EMOJI\fP
+If set, do not print \fBHOMEBREW_INSTALL_BADGE\fP on a successful build\.
.TP
-\fBHOMEBREW_NO_ENV_HINTS\fR
-.
-.br
-If set, do not print any hints about changing Homebrew\'s behaviour with environment variables\.
-.
+\fBHOMEBREW_NO_ENV_HINTS\fP
+If set, do not print any hints about changing Homebrew\[u2019]s behaviour with environment variables\.
.TP
-\fBHOMEBREW_NO_GITHUB_API\fR
-.
-.br
+\fBHOMEBREW_NO_GITHUB_API\fP
If set, do not use the GitHub API, e\.g\. for searches or fetching relevant issues after a failed install\.
-.
.TP
-\fBHOMEBREW_NO_INSECURE_REDIRECT\fR
-.
-.br
+\fBHOMEBREW_NO_INSECURE_REDIRECT\fP
If set, forbid redirects from secure HTTPS to insecure HTTP\.
-.
-.IP
-\fINote:\fR while ensuring your downloads are fully secure, this is likely to cause from\-source SourceForge, some GNU & GNOME\-hosted formulae to fail to download\.
-.
+.RS
+.P
+\fINote:\fP while ensuring your downloads are fully secure, this is likely to cause from\-source SourceForge, some GNU & GNOME\-hosted formulae to fail to download\.
+.RE
.TP
-\fBHOMEBREW_NO_INSTALL_CLEANUP\fR
-.
-.br
-If set, \fBbrew install\fR, \fBbrew upgrade\fR and \fBbrew reinstall\fR will never automatically cleanup installed/upgraded/reinstalled formulae or all formulae every \fBHOMEBREW_CLEANUP_PERIODIC_FULL_DAYS\fR days\. Alternatively, \fBHOMEBREW_NO_CLEANUP_FORMULAE\fR allows specifying specific formulae to not clean up\.
-.
+\fBHOMEBREW_NO_INSTALL_CLEANUP\fP
+If set, \fBbrew install\fP, \fBbrew upgrade\fP and \fBbrew reinstall\fP will never automatically cleanup installed/upgraded/reinstalled formulae or all formulae every \fBHOMEBREW_CLEANUP_PERIODIC_FULL_DAYS\fP days\. Alternatively, \fBHOMEBREW_NO_CLEANUP_FORMULAE\fP allows specifying specific formulae to not clean up\.
.TP
-\fBHOMEBREW_NO_INSTALL_FROM_API\fR
-.
-.br
-If set, do not install formulae and casks in homebrew/core and homebrew/cask taps using Homebrew\'s API and instead use (large, slow) local checkouts of these repositories\.
-.
+\fBHOMEBREW_NO_INSTALL_FROM_API\fP
+If set, do not install formulae and casks in homebrew/core and homebrew/cask taps using Homebrew\[u2019]s API and instead use (large, slow) local checkouts of these repositories\.
.TP
-\fBHOMEBREW_NO_INSTALL_UPGRADE\fR
-.
-.br
-If set, \fBbrew install\fR \fIformula|cask\fR will not upgrade \fIformula|cask\fR if it is installed but outdated\.
-.
+\fBHOMEBREW_NO_INSTALL_UPGRADE\fP
+If set, \fBbrew install\fP \fIformula|cask\fP will not upgrade \fIformula|cask\fP if it is installed but outdated\.
.TP
-\fBHOMEBREW_NO_INSTALLED_DEPENDENTS_CHECK\fR
-.
-.br
-If set, do not check for broken linkage of dependents or outdated dependents after installing, upgrading or reinstalling formulae\. This will result in fewer dependents (and their dependencies) being upgraded or reinstalled but may result in more breakage from running \fBbrew install\fR \fIformula\fR or \fBbrew upgrade\fR \fIformula\fR\.
-.
+\fBHOMEBREW_NO_INSTALLED_DEPENDENTS_CHECK\fP
+If set, do not check for broken linkage of dependents or outdated dependents after installing, upgrading or reinstalling formulae\. This will result in fewer dependents (and their dependencies) being upgraded or reinstalled but may result in more breakage from running \fBbrew install\fP \fIformula\fP or \fBbrew upgrade\fP \fIformula\fP\&\.
.TP
-\fBHOMEBREW_NO_UPDATE_REPORT_NEW\fR
-.
-.br
-If set, \fBbrew update\fR will not show the list of newly added formulae/casks\.
-.
+\fBHOMEBREW_NO_UPDATE_REPORT_NEW\fP
+If set, \fBbrew update\fP will not show the list of newly added formulae/casks\.
.TP
-\fBHOMEBREW_PIP_INDEX_URL\fR
-.
-.br
-If set, \fBbrew install\fR \fIformula\fR will use this URL to download PyPI package resources\.
-.
-.IP
-\fIDefault:\fR \fBhttps://pypi\.org/simple\fR\.
-.
+\fBHOMEBREW_PIP_INDEX_URL\fP
+If set, \fBbrew install\fP \fIformula\fP will use this URL to download PyPI package resources\.
+.RS
+.P
+\fIDefault:\fP \fBhttps://pypi\.org/simple\fP\&\.
+.RE
.TP
-\fBHOMEBREW_PRY\fR
-.
-.br
-If set, use Pry for the \fBbrew irb\fR command\.
-.
+\fBHOMEBREW_PRY\fP
+If set, use Pry for the \fBbrew irb\fP command\.
.TP
-\fBHOMEBREW_UPGRADE_GREEDY\fR
-.
-.br
-If set, pass \fB\-\-greedy\fR to all cask upgrade commands\.
-.
+\fBHOMEBREW_UPGRADE_GREEDY\fP
+If set, pass \fB\-\-greedy\fP to all cask upgrade commands\.
.TP
-\fBHOMEBREW_SIMULATE_MACOS_ON_LINUX\fR
-.
-.br
+\fBHOMEBREW_SIMULATE_MACOS_ON_LINUX\fP
If set, running Homebrew on Linux will simulate certain macOS code paths\. This is useful when auditing macOS formulae while on Linux\.
-.
.TP
-\fBHOMEBREW_SKIP_OR_LATER_BOTTLES\fR
-.
-.br
-If set along with \fBHOMEBREW_DEVELOPER\fR, do not use bottles from older versions of macOS\. This is useful in development on new macOS versions\.
-.
+\fBHOMEBREW_SKIP_OR_LATER_BOTTLES\fP
+If set along with \fBHOMEBREW_DEVELOPER\fP, do not use bottles from older versions of macOS\. This is useful in development on new macOS versions\.
.TP
-\fBHOMEBREW_SORBET_RUNTIME\fR
-.
-.br
-If set, enable runtime typechecking using Sorbet\. Set by default for \fBHOMEBREW_DEVELOPER\fR or when running some developer commands\.
-.
+\fBHOMEBREW_SORBET_RUNTIME\fP
+If set, enable runtime typechecking using Sorbet\. Set by default for \fBHOMEBREW_DEVELOPER\fP or when running some developer commands\.
.TP
-\fBHOMEBREW_SSH_CONFIG_PATH\fR
-.
-.br
-If set, Homebrew will use the given config file instead of \fB~/\.ssh/config\fR when fetching Git repositories over SSH\.
-.
-.IP
-\fIDefault:\fR \fB$HOME/\.ssh/config\fR
-.
+\fBHOMEBREW_SSH_CONFIG_PATH\fP
+If set, Homebrew will use the given config file instead of \fB~/\.ssh/config\fP when fetching Git repositories over SSH\.
+.RS
+.P
+\fIDefault:\fP \fB$HOME/\.ssh/config\fP
+.RE
.TP
-\fBHOMEBREW_SVN\fR
-.
-.br
-Use this as the \fBsvn\fR(1) binary\.
-.
-.IP
-\fIDefault:\fR A Homebrew\-built Subversion (if installed), or the system\-provided binary\.
-.
+\fBHOMEBREW_SVN\fP
+Use this as the \fBsvn\fP(1) binary\.
+.RS
+.P
+\fIDefault:\fP A Homebrew\-built Subversion (if installed), or the system\-provided binary\.
+.RE
.TP
-\fBHOMEBREW_SYSTEM_ENV_TAKES_PRIORITY\fR
-.
-.br
-If set in Homebrew\'s system\-wide environment file (\fB/etc/homebrew/brew\.env\fR), the system\-wide environment file will be loaded last to override any prefix or user settings\.
-.
+\fBHOMEBREW_SYSTEM_ENV_TAKES_PRIORITY\fP
+If set in Homebrew\[u2019]s system\-wide environment file (\fB/etc/homebrew/brew\.env\fP), the system\-wide environment file will be loaded last to override any prefix or user settings\.
.TP
-\fBHOMEBREW_SUDO_THROUGH_SUDO_USER\fR
-.
-.br
-If set, Homebrew will use the \fBSUDO_USER\fR environment variable to define the user to \fBsudo\fR(8) through when running \fBsudo\fR(8)\.
-.
+\fBHOMEBREW_SUDO_THROUGH_SUDO_USER\fP
+If set, Homebrew will use the \fBSUDO_USER\fP environment variable to define the user to \fBsudo\fP(8) through when running \fBsudo\fP(8)\.
.TP
-\fBHOMEBREW_TEMP\fR
-.
-.br
+\fBHOMEBREW_TEMP\fP
Use this path as the temporary directory for building packages\. Changing this may be needed if your system temporary directory and Homebrew prefix are on different volumes, as macOS has trouble moving symlinks across volumes when the target does not yet exist\. This issue typically occurs when using FileVault or custom SSD configurations\.
-.
-.IP
-\fIDefault:\fR macOS: \fB/private/tmp\fR, Linux: \fB/tmp\fR\.
-.
+.RS
+.P
+\fIDefault:\fP macOS: \fB/private/tmp\fP, Linux: \fB/tmp\fP\&\.
+.RE
.TP
-\fBHOMEBREW_UPDATE_TO_TAG\fR
-.
-.br
+\fBHOMEBREW_UPDATE_TO_TAG\fP
If set, always use the latest stable tag (even if developer commands have been run)\.
-.
.TP
-\fBHOMEBREW_VERBOSE\fR
-.
-.br
-If set, always assume \fB\-\-verbose\fR when running commands\.
-.
+\fBHOMEBREW_VERBOSE\fP
+If set, always assume \fB\-\-verbose\fP when running commands\.
.TP
-\fBHOMEBREW_VERBOSE_USING_DOTS\fR
-.
-.br
-If set, verbose output will print a \fB\.\fR no more than once a minute\. This can be useful to avoid long\-running Homebrew commands being killed due to no output\.
-.
+\fBHOMEBREW_VERBOSE_USING_DOTS\fP
+If set, verbose output will print a \fB\&\.\fP no more than once a minute\. This can be useful to avoid long\-running Homebrew commands being killed due to no output\.
.TP
-\fBSUDO_ASKPASS\fR
-.
-.br
-If set, pass the \fB\-A\fR option when calling \fBsudo\fR(8)\.
-.
+\fBSUDO_ASKPASS\fP
+If set, pass the \fB\-A\fP option when calling \fBsudo\fP(8)\.
.TP
-\fBall_proxy\fR
-.
-.br
-Use this SOCKS5 proxy for \fBcurl\fR(1), \fBgit\fR(1) and \fBsvn\fR(1) when downloading through Homebrew\.
-.
+\fBall_proxy\fP
+Use this SOCKS5 proxy for \fBcurl\fP(1), \fBgit\fP(1) and \fBsvn\fP(1) when downloading through Homebrew\.
.TP
-\fBftp_proxy\fR
-.
-.br
-Use this FTP proxy for \fBcurl\fR(1), \fBgit\fR(1) and \fBsvn\fR(1) when downloading through Homebrew\.
-.
+\fBftp_proxy\fP
+Use this FTP proxy for \fBcurl\fP(1), \fBgit\fP(1) and \fBsvn\fP(1) when downloading through Homebrew\.
.TP
-\fBhttp_proxy\fR
-.
-.br
-Use this HTTP proxy for \fBcurl\fR(1), \fBgit\fR(1) and \fBsvn\fR(1) when downloading through Homebrew\.
-.
+\fBhttp_proxy\fP
+Use this HTTP proxy for \fBcurl\fP(1), \fBgit\fP(1) and \fBsvn\fP(1) when downloading through Homebrew\.
.TP
-\fBhttps_proxy\fR
-.
-.br
-Use this HTTPS proxy for \fBcurl\fR(1), \fBgit\fR(1) and \fBsvn\fR(1) when downloading through Homebrew\.
-.
+\fBhttps_proxy\fP
+Use this HTTPS proxy for \fBcurl\fP(1), \fBgit\fP(1) and \fBsvn\fP(1) when downloading through Homebrew\.
.TP
-\fBno_proxy\fR
-.
-.br
-A comma\-separated list of hostnames and domain names excluded from proxying by \fBcurl\fR(1), \fBgit\fR(1) and \fBsvn\fR(1) when downloading through Homebrew\.
-.
+\fBno_proxy\fP
+A comma\-separated list of hostnames and domain names excluded from proxying by \fBcurl\fP(1), \fBgit\fP(1) and \fBsvn\fP(1) when downloading through Homebrew\.
.SH "USING HOMEBREW BEHIND A PROXY"
-Set the \fBhttp_proxy\fR, \fBhttps_proxy\fR, \fBall_proxy\fR, \fBftp_proxy\fR and/or \fBno_proxy\fR environment variables documented above\.
-.
+Set the \fBhttp_proxy\fP, \fBhttps_proxy\fP, \fBall_proxy\fP, \fBftp_proxy\fP and/or \fBno_proxy\fP environment variables documented above\.
.P
For example, to use an unauthenticated HTTP or SOCKS5 proxy:
-.
-.IP "" 4
-.
-.nf
-
+.sp
+.RS 4
+.EX
export http_proxy=http://$HOST:$PORT
export all_proxy=socks5://$HOST:$PORT
-.
-.fi
-.
-.IP "" 0
-.
+.EE
+.RE
.P
And for an authenticated HTTP proxy:
-.
-.IP "" 4
-.
-.nf
-
+.sp
+.RS 4
+.EX
export http_proxy=http://$USER:$PASSWORD@$HOST:$PORT
-.
-.fi
-.
-.IP "" 0
-.
+.EE
+.RE
.SH "SEE ALSO"
-Homebrew Documentation: \fIhttps://docs\.brew\.sh\fR
-.
+Homebrew Documentation:
+.UR https://docs\.brew\.sh
+.UE
.P
-Homebrew API: \fIhttps://rubydoc\.brew\.sh\fR
-.
+Homebrew API:
+.UR https://rubydoc\.brew\.sh
+.UE
.P
-\fBgit\fR(1), \fBgit\-log\fR(1)
-.
+\fBgit\fP(1), \fBgit\-log\fP(1)
.SH "AUTHORS"
-Homebrew\'s Project Leader is Mike McQuaid\.
-.
+Homebrew\[u2019]s Project Leader is Mike McQuaid\.
.P
-Homebrew\'s Project Leadership Committee is Colin Dean, Issy Long, Mike McQuaid, Patrick Linnane and Vanessa Gennarelli\.
-.
+Homebrew\[u2019]s Project Leadership Committee is Colin Dean, Issy Long, Mike McQuaid, Patrick Linnane and Vanessa Gennarelli\.
.P
-Homebrew\'s Technical Steering Committee is Bo Anderson, FX Coudert, Michka Popoff, Mike McQuaid and Rylan Polster\.
-.
+Homebrew\[u2019]s Technical Steering Committee is Bo Anderson, FX Coudert, Michka Popoff, Mike McQuaid and Rylan Polster\.
.P
-Homebrew\'s maintainers are Alexander Bayandin, Bevan Kay, Bo Anderson, Branch Vincent, Caleb Xu, Carlo Cabrera, David Baumgold, Douglas Eichelberger, Dustin Rodrigues, Eric Knibbe, FX Coudert, Issy Long, Justin Krehel, Markus Reiter, Miccal Matthews, Michael Cho, Michka Popoff, Mike McQuaid, Nanda H Krishna, Patrick Linnane, Razvan Azamfirei, Rui Chen, Ruoyu Zhong, Rylan Polster, Sam Ford, Sean Molenaar and Thierry Moisan\.
-.
+Homebrew\[u2019]s maintainers are Alexander Bayandin, Bevan Kay, Bo Anderson, Branch Vincent, Caleb Xu, Carlo Cabrera, David Baumgold, Douglas Eichelberger, Dustin Rodrigues, Eric Knibbe, FX Coudert, Issy Long, Justin Krehel, Markus Reiter, Miccal Matthews, Michael Cho, Michka Popoff, Mike McQuaid, Nanda H Krishna, Patrick Linnane, Razvan Azamfirei, Rui Chen, Ruoyu Zhong, Rylan Polster, Sam Ford, Sean Molenaar and Thierry Moisan\.
.P
-Former maintainers with significant contributions include Misty De Méo, Shaun Jackman, Vítor Galvão, Claudia Pellegrino, Seeker, William Woodruff, Jan Viljanen, JCount, commitay, Dominyk Tiller, Tim Smith, Baptiste Fontaine, Xu Cheng, Martin Afanasjew, Brett Koonce, Charlie Sharpsteen, Jack Nagel, Adam Vandenberg, Andrew Janke, Alex Dunn, neutric, Tomasz Pajor, Uladzislau Shablinski, Alyssa Ross, ilovezfs, Chongyu Zhu and Homebrew\'s creator: Max Howell\.
-.
+Former maintainers with significant contributions include Misty De Méo, Shaun Jackman, Vítor Galvão, Claudia Pellegrino, Seeker, William Woodruff, Jan Viljanen, JCount, commitay, Dominyk Tiller, Tim Smith, Baptiste Fontaine, Xu Cheng, Martin Afanasjew, Brett Koonce, Charlie Sharpsteen, Jack Nagel, Adam Vandenberg, Andrew Janke, Alex Dunn, neutric, Tomasz Pajor, Uladzislau Shablinski, Alyssa Ross, ilovezfs, Chongyu Zhu and Homebrew\[u2019]s creator: Max Howell\.
.SH "BUGS"
See our issues on GitHub:
-.
.TP
-\fBHomebrew/brew\fR
-.
-.br
-\fIhttps://github\.com/Homebrew/brew/issues\fR
-.
+\fBHomebrew/brew\fP
+.UR https://github\.com/Homebrew/brew/issues
+.UE
.TP
-\fBHomebrew/homebrew\-core\fR
-.
-.br
-\fIhttps://github\.com/Homebrew/homebrew\-core/issues\fR
-.
+\fBHomebrew/homebrew\-core\fP
+.UR https://github\.com/Homebrew/homebrew\-core/issues
+.UE
.TP
-\fBHomebrew/homebrew\-cask\fR
-.
-.br
-\fIhttps://github\.com/Homebrew/homebrew\-cask/issues\fR
-
+\fBHomebrew/homebrew\-cask\fP
+.UR https://github\.com/Homebrew/homebrew\-cask/issues
+.UE