Commit graph

7 commits

Author SHA1 Message Date
Vito Castellano
aeee3b93b1
feat: add Brewfile mode for curated package collections (#37)
* feat: add Brewfile mode for curated package collections

This commit introduces Brewfile mode, allowing users to launch bbrew with
a curated list of packages using the -f flag. When a Brewfile is provided,
the application displays only those packages, enabling themed collections
like IDE choosers or developer tool sets.

The implementation includes a Brewfile parser for brew and cask entries,
automatic filtering of the package catalog, and a refactored API with the
IsBrewfileMode() method for cleaner code. Critical bugs were fixed including
a synchronization issue between the displayed table and the filtered packages
array that caused incorrect package selection.

This feature is designed for Project Bluefin integration, providing curated
package experiences where users can browse predefined collections. Includes
example Brewfiles and comprehensive documentation.

* feat: add Install All functionality for Brewfile mode

Add ctrl+a keybinding to install all packages from a Brewfile at once,
available exclusively in Brewfile mode.

* feat: add Remove All for Brewfile mode

Add ctrl+r keybinding to batch remove all installed packages from
Brewfile with real-time progress counter. Validates packages are
installed before proceeding and skips non-installed packages.
Available only in Brewfile mode
2025-11-23 18:54:56 +01:00
Vito Castellano
806f9f735f
changed import module name 2025-02-12 00:39:12 +01:00
Vito Castellano
190dce6b48
update module name 2025-02-12 00:33:13 +01:00
Vito Castellano
c1dbd3db07
update module name 2025-02-12 00:29:07 +01:00
Vito Castellano
4c1449a3a7
setup golangci linter 2025-02-12 00:00:53 +01:00
Vito Castellano
387f699eea
cs refactor 2025-02-10 17:46:27 +01:00
Vito Castellano
9d9d8bc37b
moved main into cmd 2025-01-26 00:50:50 +01:00