Merge pull request #9242 from reitermarkus/sorbet-delegate
Add Sorbet plugin for `delegate`.
This commit is contained in:
commit
6177db7521
21
Library/Homebrew/sorbet/plugins/delegate.rb
Normal file
21
Library/Homebrew/sorbet/plugins/delegate.rb
Normal file
@ -0,0 +1,21 @@
|
|||||||
|
# typed: strict
|
||||||
|
# frozen_string_literal: true
|
||||||
|
|
||||||
|
source = ARGV[5]
|
||||||
|
|
||||||
|
methods = if (single = source[/delegate\s+([^:]+):\s+/, 1])
|
||||||
|
[single]
|
||||||
|
else
|
||||||
|
multiple = source[/delegate\s+\[(.*?)\]\s+=>\s+/m, 1]
|
||||||
|
non_comments = multiple.gsub(/\#.*$/, "")
|
||||||
|
non_comments.scan(/:([^:,\s]+)/).flatten
|
||||||
|
end
|
||||||
|
|
||||||
|
methods.each do |method|
|
||||||
|
puts <<~RUBY
|
||||||
|
# typed: strict
|
||||||
|
|
||||||
|
sig {params(arg0: T.untyped).returns(T.untyped)}
|
||||||
|
def #{method}(*arg0); end
|
||||||
|
RUBY
|
||||||
|
end
|
||||||
@ -4,3 +4,4 @@ ruby_extra_args:
|
|||||||
triggers:
|
triggers:
|
||||||
using: sorbet/plugins/unpack_strategy_magic.rb
|
using: sorbet/plugins/unpack_strategy_magic.rb
|
||||||
attr_predicate: sorbet/plugins/attr_predicate.rb
|
attr_predicate: sorbet/plugins/attr_predicate.rb
|
||||||
|
delegate: sorbet/plugins/delegate.rb
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user