use serde::{Deserialize, Serialize};
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct FormattingRules {
pub session_blank_lines_before: usize,
pub session_blank_lines_after: usize,
pub normalize_seq_markers: bool,
pub unordered_seq_marker: char,
pub max_blank_lines: usize,
pub indent_string: String,
pub preserve_trailing_blanks: bool,
pub normalize_verbatim_markers: bool,
}
impl Default for FormattingRules {
fn default() -> Self {
Self {
session_blank_lines_before: 1,
session_blank_lines_after: 1,
normalize_seq_markers: true,
unordered_seq_marker: '-',
max_blank_lines: 2,
indent_string: " ".to_string(),
preserve_trailing_blanks: false,
normalize_verbatim_markers: true,
}
}
}
#[cfg(test)]
mod tests {
use super::*;
#[test]
fn test_default_rules() {
let rules = FormattingRules::default();
assert_eq!(rules.session_blank_lines_before, 1);
assert_eq!(rules.indent_string, " ");
}
}