#[non_exhaustive]pub struct PrettyConfig {
pub depth_limit: usize,
pub new_line: String,
pub indentor: String,
pub separator: String,
pub struct_names: bool,
pub separate_tuple_members: bool,
pub enumerate_arrays: bool,
pub extensions: Extensions,
pub compact_arrays: bool,
}
Expand description
Pretty serializer configuration.
§Examples
use ron::ser::PrettyConfig;
let my_config = PrettyConfig::new()
.depth_limit(4)
// definitely superior (okay, just joking)
.indentor("\t".to_owned());
Fields (Non-exhaustive)§
This struct is marked as non-exhaustive
Struct { .. }
syntax; cannot be matched against without a wildcard ..
; and struct update syntax will not work.depth_limit: usize
Limit the pretty-ness up to the given depth.
new_line: String
New line string
indentor: String
Indentation string
separator: String
Separator string
struct_names: bool
§separate_tuple_members: bool
Separate tuple members with indentation
enumerate_arrays: bool
Enumerate array items in comments
extensions: Extensions
Enable extensions. Only configures ‘implicit_some’, ‘unwrap_newtypes’, and ‘unwrap_variant_newtypes’ for now.
compact_arrays: bool
Enable compact arrays
Implementations§
Source§impl PrettyConfig
impl PrettyConfig
Sourcepub fn new() -> Self
pub fn new() -> Self
Creates a default PrettyConfig
.
Sourcepub fn depth_limit(self, depth_limit: usize) -> Self
pub fn depth_limit(self, depth_limit: usize) -> Self
Limits the pretty-formatting based on the number of indentations. I.e., with a depth limit of 5, starting with an element of depth (indentation level) 6, everything will be put into the same line, without pretty formatting.
Default: usize::MAX
Sourcepub fn new_line(self, new_line: String) -> Self
pub fn new_line(self, new_line: String) -> Self
Configures the newlines used for serialization.
Default: \r\n
on Windows, \n
otherwise
Sourcepub fn indentor(self, indentor: String) -> Self
pub fn indentor(self, indentor: String) -> Self
Configures the string sequence used for indentation.
Default: 4 spaces
Sourcepub fn separator(self, separator: String) -> Self
pub fn separator(self, separator: String) -> Self
Configures the string sequence used to separate items inline.
Default: 1 space
Sourcepub fn struct_names(self, struct_names: bool) -> Self
pub fn struct_names(self, struct_names: bool) -> Self
Configures whether to emit struct names.
Default: false
Sourcepub fn separate_tuple_members(self, separate_tuple_members: bool) -> Self
pub fn separate_tuple_members(self, separate_tuple_members: bool) -> Self
Configures whether tuples are single- or multi-line.
If set to true
, tuples will have their fields indented and in new
lines. If set to false
, tuples will be serialized without any
newlines or indentations.
Default: false
Sourcepub fn enumerate_arrays(self, enumerate_arrays: bool) -> Self
pub fn enumerate_arrays(self, enumerate_arrays: bool) -> Self
Configures whether a comment shall be added to every array element, indicating the index.
Default: false
Sourcepub fn compact_arrays(self, compact_arrays: bool) -> Self
pub fn compact_arrays(self, compact_arrays: bool) -> Self
Configures whether every array should be a single line (true
)
or a multi line one (false
).
When false
, ["a","b"]
(as well as any array) will serialize to
[
"a",
"b",
]
When true
, ["a","b"]
(as well as any array) will serialize to
["a","b"]
Default: false
Sourcepub fn extensions(self, extensions: Extensions) -> Self
pub fn extensions(self, extensions: Extensions) -> Self
Configures extensions
Default: Extensions::empty()
Trait Implementations§
Source§impl Clone for PrettyConfig
impl Clone for PrettyConfig
Source§fn clone(&self) -> PrettyConfig
fn clone(&self) -> PrettyConfig
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read more