Skip to content

Commit adc1152

Browse files
committed
Also annotate local mixins
1 parent 19f4531 commit adc1152

File tree

1 file changed

+10
-2
lines changed

1 file changed

+10
-2
lines changed

src/LuaFileParser.php

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -73,17 +73,25 @@ private function extractMixins(string $fileContents, ?string $linkPrefix): array
7373
$mixins,
7474
);
7575

76+
// e.g. `local FooMixin = CreateFromMixins({BarMixin, BazMixin})`
77+
$this->parseMixinRegex(
78+
'/^local (?<match>(?<name>\S+Mixin)\s*=\s*CreateFromMixins\((?<extends>[^)]+)\))/m',
79+
$fileContents,
80+
$linkPrefix,
81+
$mixins,
82+
);
83+
7684
// e.g. `FooMixin = {}`
7785
$this->parseMixinRegex(
78-
'/^(?<match>(?<name>\S+Mixin)\s*=\s*{\s*})/m',
86+
'/^(?:local )?(?<match>(?<name>\S+Mixin)\s*=\s*{\s*})/m',
7987
$fileContents,
8088
$linkPrefix,
8189
$mixins,
8290
);
8391

8492
// e.g. `FooMixin = {\n Bar = 1,\n Baz = 2,\n}`
8593
$this->parseMixinRegex(
86-
'/^(?<match>(?<name>\S+Mixin)\s*=\s*{[^\n}]*\n.*?\n})/ms',
94+
'/^(?:local )?(?<match>(?<name>\S+Mixin)\s*=\s*{[^\n}]*\n.*?\n})/ms',
8795
$fileContents,
8896
$linkPrefix,
8997
$mixins,

0 commit comments

Comments
 (0)