diff options
author | Charles Brunet <charles.brunet@optelgroup.com> | 2024-06-12 14:00:13 -0400 |
---|---|---|
committer | Eli Schwartz <eschwartz93@gmail.com> | 2024-06-19 00:09:29 -0400 |
commit | 8967090149cb89f7b82fc6c8f72764975912fa58 (patch) | |
tree | 8c3bc55386f14843f44e061bab36e17d23c700ce | |
parent | bef2fbf75bcea180affc19ebba280708109247a2 (diff) | |
download | meson-8967090149cb89f7b82fc6c8f72764975912fa58.zip meson-8967090149cb89f7b82fc6c8f72764975912fa58.tar.gz meson-8967090149cb89f7b82fc6c8f72764975912fa58.tar.bz2 |
mformat: fix else token not correctly indented
fixes #13316
-rw-r--r-- | mesonbuild/mformat.py | 4 | ||||
-rw-r--r-- | test cases/format/1 default/indentation.meson | 4 |
2 files changed, 6 insertions, 2 deletions
diff --git a/mesonbuild/mformat.py b/mesonbuild/mformat.py index 5e37019..e20e458 100644 --- a/mesonbuild/mformat.py +++ b/mesonbuild/mformat.py @@ -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) diff --git a/test cases/format/1 default/indentation.meson b/test cases/format/1 default/indentation.meson index 31a809a..b1edc3a 100644 --- a/test cases/format/1 default/indentation.meson +++ b/test cases/format/1 default/indentation.meson @@ -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 |