fix: align multiline assignment continuation lines
- Fix formatter to detect continuation lines that don't start with operators (e.g., #variable AND ... continuation lines) - All continuation lines now align vertically after :=
This commit is contained in:
+13
-3
@@ -330,9 +330,19 @@ function M.format_document(content, options)
|
||||
trimmed = collapse_attribute_block(trimmed)
|
||||
|
||||
-- Check if continuing assignment
|
||||
if in_assignment and is_assignment_continuation(trimmed) then
|
||||
table.insert(formatted_lines, assignment_continuation_indent .. trimmed)
|
||||
goto continue
|
||||
-- Continuation if: in assignment AND (starts with operator OR doesn't start new statement)
|
||||
if in_assignment then
|
||||
local starts_with_operator = is_assignment_continuation(trimmed)
|
||||
local is_new_statement = trimmed:match("^%w+") and (
|
||||
trimmed:match(":=") or
|
||||
BLOCKS[trimmed:match("^([%w_]+)")] or
|
||||
SAME_LEVEL[trimmed:match("^([%w_]+)")] or
|
||||
VAR_KEYWORDS[trimmed:match("^([%w_]+)")]
|
||||
)
|
||||
if starts_with_operator or not is_new_statement then
|
||||
table.insert(formatted_lines, assignment_continuation_indent .. trimmed)
|
||||
goto continue
|
||||
end
|
||||
end
|
||||
in_assignment = false
|
||||
|
||||
|
||||
Reference in New Issue
Block a user