mformat: fix else token not correctly indented

fixes #13316
pull/11594/head
Charles Brunet 8 months ago committed by Eli Schwartz
parent bef2fbf75b
commit 8967090149
  1. 4
      mesonbuild/mformat.py
  2. 4
      test cases/format/1 default/indentation.meson

@ -458,10 +458,10 @@ class TrimWhitespaces(FullAstVisitor):
super().visit_IfClauseNode(node)
self.move_whitespaces(node.endif, node)
for if_node in node.ifs:
if_node.whitespaces.value += node.condition_level * self.config.indent_by
if isinstance(node.elseblock, mparser.ElseNode):
node.elseblock.whitespaces.value += node.condition_level * self.config.indent_by
else:
node.ifs[-1].whitespaces.value += node.condition_level * self.config.indent_by
def visit_IfNode(self, node: mparser.IfNode) -> None:
super().visit_IfNode(node)

@ -69,5 +69,9 @@ if meson.project_version().version_compare('>1.2')
],
}
endforeach
elif 42 in d
d += {'foo': 43}
else # ensure else is correctly indented (issue #13316)
k = 'k'
endif
endif

Loading…
Cancel
Save