Skip to content

Commit

Permalink
Merge branch 'master' into kw/change-to-lowercase-field
Browse files Browse the repository at this point in the history
  • Loading branch information
kevaundray authored Feb 26, 2024
2 parents 630cbc1 + cd796de commit 48d498b
Show file tree
Hide file tree
Showing 4 changed files with 27 additions and 5 deletions.
14 changes: 13 additions & 1 deletion tooling/nargo_fmt/src/utils.rs
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
use std::borrow::Cow;

use crate::items::HasItem;
use crate::rewrite;
use crate::visitor::{FmtVisitor, Shape};
Expand Down Expand Up @@ -143,7 +145,7 @@ impl HasItem for Param {
fn format(self, visitor: &FmtVisitor, shape: Shape) -> String {
let pattern = visitor.slice(self.pattern.span());
let visibility = match self.visibility {
Visibility::Public => "pub ",
Visibility::Public => "pub",
Visibility::Private => "",
Visibility::DataBus => "call_data",
};
Expand All @@ -152,6 +154,7 @@ impl HasItem for Param {
pattern.to_string()
} else {
let ty = rewrite::typ(visitor, shape, self.typ);
let visibility = append_space_if_nonempty(visibility.into());
format!("{pattern}: {visibility}{ty}")
}
}
Expand Down Expand Up @@ -183,6 +186,15 @@ pub(crate) fn last_line_contains_single_line_comment(s: &str) -> bool {
s.lines().last().map_or(false, |line| line.contains("//"))
}

pub(crate) fn append_space_if_nonempty(mut string: Cow<str>) -> Cow<str> {
if !string.is_empty() {
let inner = string.to_mut();
inner.push(' ');
}

string
}

pub(crate) fn last_line_used_width(s: &str, offset: usize) -> usize {
if s.contains('\n') {
last_line_width(s)
Expand Down
14 changes: 10 additions & 4 deletions tooling/nargo_fmt/src/visitor/item.rs
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,10 @@ use noirc_frontend::{

use crate::{
rewrite::{self, UseTree},
utils::{last_line_contains_single_line_comment, last_line_used_width, FindToken},
utils::{
append_space_if_nonempty, last_line_contains_single_line_comment, last_line_used_width,
FindToken,
},
visitor::expr::{format_seq, NewlineMode},
};

Expand Down Expand Up @@ -119,9 +122,12 @@ impl super::FmtVisitor<'_> {
result.push_str("distinct ");
}

if let Visibility::Public = func.def.return_visibility {
result.push_str("pub ");
}
let visibility = match func.def.return_visibility {
Visibility::Public => "pub",
Visibility::DataBus => "return_data",
Visibility::Private => "",
};
result.push_str(&append_space_if_nonempty(visibility.into()));

let typ = rewrite::typ(self, self.shape(), func.return_type());
result.push_str(&typ);
Expand Down
2 changes: 2 additions & 0 deletions tooling/nargo_fmt/tests/expected/databus.nr
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
fn main(x: pub u8, y: call_data u8) -> return_data u32 {}

2 changes: 2 additions & 0 deletions tooling/nargo_fmt/tests/input/databus.nr
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
fn main(x: pub u8, y: call_data u8) -> return_data u32 {}

0 comments on commit 48d498b

Please sign in to comment.