nvrim/diagnostics/
config.rs1use nvim_oxi::Array;
7use nvim_oxi::Dictionary;
8use nvim_oxi::Object;
9use strum::IntoEnumIterator;
10use ytil_noxi::dict::DictionaryExt;
11
12use crate::diagnostics::DiagnosticSeverity;
13use crate::diagnostics::formatter;
14
15pub fn get() -> Dictionary {
17 let texts_signs: Array = DiagnosticSeverity::iter().map(|s| Object::from(s.symbol())).collect();
18
19 dict! {
20 "severity_sort": true,
21 "signs": true,
22 "underline": true,
23 "update_in_insert": false,
24 "virtual_text": false,
25 "float": dict! {
26 "anchor_bias": "above",
27 "border": crate::style_opts::dict()
28 .get_dict(&["window"])
29 .unwrap_or_default()
30 .unwrap_or_default()
31 .get_t::<nvim_oxi::String>("border").unwrap_or_else(|_| "none".to_string()),
32 "focusable": true,
33 "format": fn_from!(formatter::format),
34 "header": "",
35 "prefix": "",
36 "source": false,
37 "suffix": "",
38 },
39 "signs": dict! {
40 "text": texts_signs
41 }
42 }
43}