Skip to content

cmd/update_report: format new formulae/casks as table#23058

Open
branchv wants to merge 1 commit into
Homebrew:mainfrom
branchv:update-report-table
Open

cmd/update_report: format new formulae/casks as table#23058
branchv wants to merge 1 commit into
Homebrew:mainfrom
branchv:update-report-table

Conversation

@branchv

@branchv branchv commented Jul 11, 2026

Copy link
Copy Markdown
Member

  • Have you followed our Contributing guidelines?
  • Have you checked for other open Pull Requests for the same change?
  • Have you explained what your changes do? Performance claims (e.g. "this is faster") must include Hyperfine benchmarks.
  • Have you explained why you'd like these changes included, not just what they do?
  • For bug fixes, have you given step-by-step brew commands to reproduce the bug?
  • Have you written new tests (excluding integration tests)? Here's an example.
  • Have you successfully run brew lgtm (style, typechecking and tests) locally?

  • AI was used to generate or assist with generating this PR.

Very minor style tweak to print new formulae/casks as a table with evenly spaced columns. Generally, I am mainly glancing at the package names and then read the description for anything that catches my eye. Currently, the names/descriptions blend in and can be noisy to me, especially with a lots of new packages.

This PR tries to help readers quickly distinguish the name from the description, which I find more readable

Example:

$ git -C $(brew --repo homebrew/core) checkout @{3.days.ago}
$ brew update

Before:

==> New Formulae
filtlong: Quality filtering of long noisy DNA sequencing reads
librefang: Self-hostable operating system for autonomous AI agents
netcode: Secure client/server protocol for multiplayer games built on top of UDP
opencv@4: Open source computer vision library
rawtoaces: Utility for converting camera RAW image files to ACES
reliable: Simple packet acknowledgement system for UDP-based protocols
salmon: Transcript-level quantification from RNA-seq reads
smithery-cli: Install and list Model Context Protocol servers from Smithery
soar: Fast, modern package manager for Static Binaries, Portable Formats and more
trim-galore: Quality and adapter trimming for FastQ sequencing reads

After:

==> New Formulae
filtlong       Quality filtering of long noisy DNA sequencing reads
librefang      Self-hostable operating system for autonomous AI agents
netcode        Secure client/server protocol for multiplayer games built on top of UDP
opencv@4       Open source computer vision library
rawtoaces      Utility for converting camera RAW image files to ACES
reliable       Simple packet acknowledgement system for UDP-based protocols
salmon         Transcript-level quantification from RNA-seq reads
smithery-cli   Install and list Model Context Protocol servers from Smithery
soar           Fast, modern package manager for Static Binaries, Portable Formats and more
trim-galore    Quality and adapter trimming for FastQ sequencing reads

Copilot AI review requested due to automatic review settings July 11, 2026 03:42

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR adjusts brew update’s update report output to display “New Formulae” and “New Casks” in a two-column, table-like format to better visually separate names from descriptions.

Changes:

  • Collect new formulae and casks into [name, description] rows instead of printing each line directly.
  • Add a print_table helper to compute column width and render aligned output.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread Library/Homebrew/cmd/update_report/reporter_hub.rb
Comment thread Library/Homebrew/cmd/update_report/reporter_hub.rb
@branchv branchv force-pushed the update-report-table branch from 33ef706 to 2f11e8d Compare July 11, 2026 03:53

@MikeMcQuaid MikeMcQuaid left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks! Code looks good but want to have some shared "print table" implementation.

end

sig { params(items: T::Array[[String, String]]).void }
def print_table(items)

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Look at services/subcommand/list.rb, Library/Homebrew/cmd/info.rb: this would be at least the third "print a table" implementation we have. Would be good to extract all these to utils so they can be shared

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants