```shell
$ brew typecheck homebrew/bundle
No sorbet/ directory found. Maybe you want to run 'srb init'?
A type checker for Ruby
Usage:
srb Same as "srb t"
srb (init | initialize) Initializes the `sorbet` directory
srb rbi [options] Manage the `sorbet` directory
srb (t | tc | typecheck) [options] Typechecks the code
Options:
-h, --help View help for this subcommand.
--version Show version.
For full help:
https://sorbet.org
Check https://docs.brew.sh/Typechecking for more information on how to resolve these errors.
```
- Update outdated and add new recommended extensions
- Exclude some vendored code from search results by default
- Add more VSCode editor settings that are consistent with our linting
- Provide configuration for coverage visualization in VSCode but disable
it by default
- Add SimpleCov coverage for `eval` and ensure that we always default to
line coverage in case upstream defaults ever change
- Previously I thought that comments were fine to discourage people from
wasting their time trying to bump things that used `undef` that Sorbet
didn't support. But RuboCop is better at this since it'll complain if
the comments are unnecessary.
- Suggested in https://github.com/Homebrew/brew/pull/18018#issuecomment-2283369501.
- I've gone for a mixture of `rubocop:disable` for the files that can't
be `typed: strict` (use of undef, required before everything else, etc)
and `rubocop:todo` for everything else that should be tried to make
strictly typed. There's no functional difference between the two as
`rubocop:todo` is `rubocop:disable` with a different name.
- And I entirely disabled the cop for the docs/ directory since
`typed: strict` isn't going to gain us anything for some Markdown
linting config files.
- This means that now it's easier to track what needs to be done rather
than relying on checklists of files in our big Sorbet issue:
```shell
$ git grep 'typed: true # rubocop:todo Sorbet/StrictSigil' | wc -l
268
```
- And this is confirmed working for new files:
```shell
$ git status
On branch use-rubocop-for-sorbet-strict-sigils
Untracked files:
(use "git add <file>..." to include in what will be committed)
Library/Homebrew/bad.rb
Library/Homebrew/good.rb
nothing added to commit but untracked files present (use "git add" to track)
$ brew style
Offenses:
bad.rb:1:1: C: Sorbet/StrictSigil: Sorbet sigil should be at least strict got true.
^^^^^^^^^^^^^
1340 files inspected, 1 offense detected
```