John Blackbourn
John Blackbourn
Since its inception, QM has been a (mostly) zero-config plugin. This is out of idealism more than practicality. It's time to introduce the ability for panels in QM to be...
The server-side generation of QM's HTML output leaves a lot to be desired. If the user doesn't interact with QM then all that rendering happens for nothing. When the output...
**App version** 4.0.5 **Installation source** - homebrew **Describe the bug** I have an event in my calendar today which is a 24 hour event that runs from 00:00 to 00:00....
> What is the problem you're trying to solve? My project contains a `.gitignore` file that I'd like to use as the basis for my stylelint ignore rules. I can...
I'd love to pipe CSV data into Tad on the CLI and have it open with the data. Behind the scenes, Tad could actually save the data to a temporary...
This implements part of #106. I'm learning more about PHPStan internals as I work on this, so it's going to take some time 😄 . Once everything's working and covered...
I'm planning on working on some rules that check the use of `add_action()` and `add_filter()` when the action or filter is from WordPress core. [The wp-hooks library](https://github.com/johnbillion/wp-hooks) facilitates this, and...
@szepeviktor [PHPStan 1.6 added support for conditional return types in docblocks](https://phpstan.org/blog/phpstan-1-6-0-with-conditional-return-types), eg `@return ($as_float is true ? float : string)`. Some of the dynamic return type extensions (eg. `CurrentTimeDynamicFunctionReturnTypeExtension`) could...
Return type extension for `WP_Query->query()` and `WP_Query->get_posts()`. As `get_posts()` ultimately calls `WP_Query->query()` and `WP_Query->get_posts()`, they all share the same return type pattern. Not sure if you want to combine them...
In the WordPress core test suite the following assertion methods are available: * `$this->assertNotWPError()` * `$this->assertWPError()` It would be great if this extension treated these methods as type-narrowing functions, so...