diff --git a/tooling/nargo_fmt/src/visitor/expr.rs b/tooling/nargo_fmt/src/visitor/expr.rs index fa55ac71f78..291685d319e 100644 --- a/tooling/nargo_fmt/src/visitor/expr.rs +++ b/tooling/nargo_fmt/src/visitor/expr.rs @@ -39,6 +39,12 @@ impl FmtVisitor<'_> { self.format_expr(infix.rhs) ) } + ExpressionKind::Index(index_expr) => { + let formatted_collection = + self.format_expr(index_expr.collection).trim_end().to_string(); + let formatted_index = self.format_expr(index_expr.index); + format!("{}[{}]", formatted_collection, formatted_index) + } ExpressionKind::Literal(literal) => match literal { Literal::Integer(_) => slice!(self, span.start(), span.end()).to_string(), Literal::Array(ArrayLiteral::Repeated { repeated_element, length }) => { diff --git a/tooling/nargo_fmt/tests/expected/index.nr b/tooling/nargo_fmt/tests/expected/index.nr new file mode 100644 index 00000000000..79430e5c0e6 --- /dev/null +++ b/tooling/nargo_fmt/tests/expected/index.nr @@ -0,0 +1,5 @@ +fn foo() { + let arr = [10, 20, 30, 40]; + arr[2]; + arr[2]; +} diff --git a/tooling/nargo_fmt/tests/input/index.nr b/tooling/nargo_fmt/tests/input/index.nr new file mode 100644 index 00000000000..e1c6fed02c1 --- /dev/null +++ b/tooling/nargo_fmt/tests/input/index.nr @@ -0,0 +1,5 @@ +fn foo() { + let arr = [10, 20, 30, 40]; + arr [2]; + arr [2]; +} \ No newline at end of file