Haha, thanks for collecting these. I've been meaning to do that...
- Queries
- All Stories
- Search
- Advanced Search
- Transactions
- Transaction Logs
Advanced Search
Jun 8 2015
Jun 4 2015
Jun 3 2015
Jun 2 2015
The same thing applies to ArcanistDuplicateKeysInArrayXHPASTLinterRule.
Content hidden at the moment, though. Will check it when available to see if they do anything special.
Jun 1 2015
May 31 2015
May 29 2015
D10105 has an example of a linter that's more 'I need to look at the whole repo' instead of individual files.
May 28 2015
May 27 2015
May 26 2015
May 25 2015
May 20 2015
May 19 2015
May 18 2015
May 17 2015
This will be much easier to test after T8042.
May 15 2015
May 14 2015
May 13 2015
See D12419.
May 12 2015
May 11 2015
May 10 2015
May 6 2015
Ah, nice. Happy to accept a diff to stub out getCommitHookMode() for a few months if anyone still has a use case.
May 5 2015
Yeah that sounds reasonable.
I think it would be reasonable to leave getCommitHookMode() around as a stub which just emits a deprecation warning and does return false; -- I believe none of the other changed APIs are likely to be used by third-party stuff which isn't materially affected by the changes.
This appears to break cassowary which [uses getCommitHookMode()](https://github.com/imobile3/cassowary/blob/master/libcassowary/src/lint/engine/MobileLintEngine.php#L52).
It seems that LINT_NAMING_CONVENTIONS doesn't work at the top level scope either.
May 4 2015
ScriptAndRegexLinter needs to be modernized, but is strictly more powerful than the proposed linter. Something like this will implement your desired lint rule after the linter modernizes:
May 3 2015
Apr 30 2015
Apr 27 2015
Apr 23 2015
Couple things offhand:
Here's an updated profile
Here's an updated profile, this time from linting rP:
I think php_compat_info.json is the biggest easy win.
Those regexps can also be memoized.
This can probably build a single huge regexp and drop time to nearly zero:
The profile likely overstates the cost of functions like idx() and mpull(), but occasionally they're worth reducing to isset() or similar if they're really getting hit tens of thousands of times.
I don't see any huuuuge wins, but:
It looks like the most significant function is AASTNode::getTokens.
Here is a better profile (F379444), see https://secure.phabricator.com/xhprof/profile/PHID-FILE-k7tcfv6t7e7o3itxfwns/.
Apr 15 2015
Apr 14 2015
Apr 13 2015
As @cburroughs says, it's the default linter of Chef, so is at least as common in the wild as Chef is.