Skip to content

Commit 7588091

Browse files
committed
Make DiagnosticsConfig.severity field private
The severity field should not be public since we provide public API methods (get_severity and is_enabled) for accessing it. This follows proper encapsulation patterns already established in the Settings struct. Changes: - Make severity field private in DiagnosticsConfig - Update tests to use get_severity() instead of direct field access - Maintains proper pub/private boundaries throughout the codebase
1 parent 847985d commit 7588091

File tree

2 files changed

+19
-17
lines changed

2 files changed

+19
-17
lines changed

crates/djls-conf/src/diagnostics.rs

Lines changed: 8 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -60,7 +60,7 @@ pub struct DiagnosticsConfig {
6060
/// - Prefixes: "S" (all S-series), "T" (all T-series), "S1" (S100-S199)
6161
/// - More specific patterns override less specific ones
6262
#[serde(default)]
63-
pub severity: HashMap<String, DiagnosticSeverity>,
63+
severity: HashMap<String, DiagnosticSeverity>,
6464
}
6565

6666
impl DiagnosticsConfig {
@@ -273,14 +273,13 @@ mod tests {
273273
"#;
274274

275275
let config: DiagnosticsConfig = toml::from_str(toml).unwrap();
276-
assert_eq!(config.severity.get("S100"), Some(&DiagnosticSeverity::Off));
277-
assert_eq!(
278-
config.severity.get("S101"),
279-
Some(&DiagnosticSeverity::Warning)
280-
);
281-
assert_eq!(config.severity.get("S102"), Some(&DiagnosticSeverity::Hint));
282-
assert_eq!(config.severity.get("T"), Some(&DiagnosticSeverity::Off));
283-
assert_eq!(config.severity.get("T100"), Some(&DiagnosticSeverity::Info));
276+
assert_eq!(config.get_severity("S100"), DiagnosticSeverity::Off);
277+
assert_eq!(config.get_severity("S101"), DiagnosticSeverity::Warning);
278+
assert_eq!(config.get_severity("S102"), DiagnosticSeverity::Hint);
279+
// T prefix applies to T900
280+
assert_eq!(config.get_severity("T900"), DiagnosticSeverity::Off);
281+
// T100 has specific override
282+
assert_eq!(config.get_severity("T100"), DiagnosticSeverity::Info);
284283
}
285284

286285
#[test]

crates/djls-conf/src/lib.rs

Lines changed: 11 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -298,21 +298,24 @@ T100 = "hint"
298298
)
299299
.unwrap();
300300
let settings = Settings::new(Utf8Path::from_path(dir.path()).unwrap(), None).unwrap();
301+
// Test via public API
301302
assert_eq!(
302-
settings.diagnostics.severity.get("S100"),
303-
Some(&DiagnosticSeverity::Off)
303+
settings.diagnostics.get_severity("S100"),
304+
DiagnosticSeverity::Off
304305
);
305306
assert_eq!(
306-
settings.diagnostics.severity.get("S101"),
307-
Some(&DiagnosticSeverity::Warning)
307+
settings.diagnostics.get_severity("S101"),
308+
DiagnosticSeverity::Warning
308309
);
310+
// T prefix applies to T900
309311
assert_eq!(
310-
settings.diagnostics.severity.get("T"),
311-
Some(&DiagnosticSeverity::Off)
312+
settings.diagnostics.get_severity("T900"),
313+
DiagnosticSeverity::Off
312314
);
315+
// T100 has specific override
313316
assert_eq!(
314-
settings.diagnostics.severity.get("T100"),
315-
Some(&DiagnosticSeverity::Hint)
317+
settings.diagnostics.get_severity("T100"),
318+
DiagnosticSeverity::Hint
316319
);
317320
}
318321
}

0 commit comments

Comments
 (0)