dprint_plugin_biome/configuration/
configuration.rs1use dprint_core::configuration::ParseConfigurationError;
2use dprint_core::generate_str_to_from;
3use serde::{Deserialize, Serialize};
4
5#[derive(Clone, PartialEq, Copy, Serialize, Deserialize)]
6#[serde(rename_all = "camelCase")]
7pub enum IndentStyle {
8 Tab,
9 Space,
10}
11
12generate_str_to_from![IndentStyle, [Tab, "tab"], [Space, "space"]];
13
14#[derive(Clone, PartialEq, Copy, Serialize, Deserialize)]
15#[serde(rename_all = "camelCase")]
16pub enum Semicolons {
17 Always,
18 AsNeeded,
19}
20
21generate_str_to_from![Semicolons, [Always, "always"], [AsNeeded, "asNeeded"]];
22
23#[derive(Clone, PartialEq, Copy, Serialize, Deserialize)]
24#[serde(rename_all = "camelCase")]
25pub enum QuoteStyle {
26 Single,
27 Double,
28}
29
30generate_str_to_from![QuoteStyle, [Single, "single"], [Double, "double"]];
31
32#[derive(Clone, PartialEq, Copy, Serialize, Deserialize)]
33#[serde(rename_all = "camelCase")]
34pub enum QuoteProperties {
35 AsNeeded,
36 Preserve,
37}
38
39generate_str_to_from![QuoteProperties, [AsNeeded, "asNeeded"], [Preserve, "preserve"]];
40
41#[derive(Clone, PartialEq, Copy, Serialize, Deserialize)]
42#[serde(rename_all = "camelCase")]
43pub enum ArrowParentheses {
44 Always,
45 AsNeeded,
46}
47
48generate_str_to_from![ArrowParentheses, [Always, "always"], [AsNeeded, "asNeeded"]];
49
50#[derive(Clone, PartialEq, Copy, Serialize, Deserialize)]
51#[serde(rename_all = "camelCase")]
52pub enum TrailingComma {
53 All,
54 Es5,
55 None,
56}
57
58generate_str_to_from![TrailingComma, [All, "all"], [Es5, "es5"], [None, "none"]];
59
60#[derive(Default, Clone, Serialize, Deserialize)]
61#[serde(rename_all = "camelCase")]
62pub struct Configuration {
63 pub javascript_indent_style: Option<IndentStyle>,
64 pub javascript_indent_size: Option<u8>,
65 pub javascript_line_width: Option<u16>,
66 pub json_indent_style: Option<IndentStyle>,
67 pub json_indent_size: Option<u8>,
68 pub json_line_width: Option<u16>,
69 pub semicolons: Option<Semicolons>,
70 pub quote_style: Option<QuoteStyle>,
71 pub jsx_quote_style: Option<QuoteStyle>,
72 pub quote_properties: Option<QuoteProperties>,
73 pub arrow_parentheses: Option<ArrowParentheses>,
74 pub trailing_comma: Option<TrailingComma>,
75}