full-moon
full-moon copied to clipboard
Does not support leading &
From https://github.com/JohnnyMorganz/StyLua/issues/877:
local f: & number & string = "hi"This is valid Luau code:
StyLua cannot format it, though:
sarah@localhost ~/project (main) [2]> StyLua example.luau error: could not format file example.luau: error parsing: error occurred while creating ast: unexpected token `&`. (starting from line 1, character 10 and ending on line 1, character 11) additional information: expected type after colon sarah@localhost ~/project (main) [2]> StyLua --version stylua 0.20.0 sarah@localhost ~/project (main)>StyLua was installed from aftman.
The issue appears to be that full-moon cannot parse it, so StyLua fails.
Fixed by #306
When the leading & or | are used in some specific cases, they don't parse. Here are the cases I found so far
-- in function return types
type Fn = () -> & A & B
local function oof(): & A & B end
-- in generic parameters
type A = Generic<&boolean & string>
-- in variadic type packs
type Fn = (...&boolean & string) -> ()