dprint_plugin_sql/configuration/
resolve_config.rs1use super::Configuration;
2use dprint_core::configuration::*;
3
4pub fn resolve_config(
27 config: ConfigKeyMap,
28 global_config: &GlobalConfiguration,
29) -> ResolveConfigurationResult<Configuration> {
30 let mut diagnostics = Vec::new();
31 let mut config = config;
32
33 let resolved_config = Configuration {
34 use_tabs: get_value(
35 &mut config,
36 "useTabs",
37 global_config
38 .use_tabs
39 .unwrap_or(RECOMMENDED_GLOBAL_CONFIGURATION.use_tabs),
40 &mut diagnostics,
41 ),
42 indent_width: get_value(
43 &mut config,
44 "indentWidth",
45 global_config
46 .indent_width
47 .unwrap_or(RECOMMENDED_GLOBAL_CONFIGURATION.indent_width),
48 &mut diagnostics,
49 ),
50 new_line_kind: get_value(
51 &mut config,
52 "newLineKind",
53 global_config
54 .new_line_kind
55 .unwrap_or(RECOMMENDED_GLOBAL_CONFIGURATION.new_line_kind),
56 &mut diagnostics,
57 ),
58 uppercase: get_value(&mut config, "uppercase", false, &mut diagnostics),
59 lines_between_queries: get_value(&mut config, "linesBetweenQueries", 1, &mut diagnostics),
60 };
61
62 diagnostics.extend(get_unknown_property_diagnostics(config));
63
64 ResolveConfigurationResult {
65 config: resolved_config,
66 diagnostics,
67 }
68}