Skip to content

Commit

Permalink
fix(project): changed structure to correctly emit schema for overrides (
Browse files Browse the repository at this point in the history
  • Loading branch information
ematipico authored Oct 26, 2023
1 parent c6dda82 commit 74a26f4
Show file tree
Hide file tree
Showing 5 changed files with 15 additions and 32 deletions.
19 changes: 8 additions & 11 deletions crates/biome_service/src/configuration/overrides.rs
Original file line number Diff line number Diff line change
Expand Up @@ -17,12 +17,8 @@ use std::str::FromStr;

#[derive(Debug, Default, Serialize, Deserialize, Eq, PartialEq, Clone, Bpaf)]
#[cfg_attr(feature = "schema", derive(schemars::JsonSchema))]
#[serde(rename_all = "camelCase", default, deny_unknown_fields)]
pub struct Overrides {
#[serde(skip_serializing_if = "Vec::is_empty")]
#[bpaf(hide)]
pub list: Vec<OverridePattern>,
}
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct Overrides(#[bpaf(hide)] pub Vec<OverridePattern>);

impl FromStr for Overrides {
type Err = String;
Expand All @@ -34,8 +30,8 @@ impl FromStr for Overrides {

impl MergeWith<Overrides> for Overrides {
fn merge_with(&mut self, other: Overrides) {
let mut self_iter = self.list.iter_mut();
let mut other_iter = other.list.into_iter();
let mut self_iter = self.0.iter_mut();
let mut other_iter = other.0.into_iter();
while let (Some(self_item), Some(other_item)) = (self_iter.next(), other_iter.next()) {
self_item.merge_with(other_item);
}
Expand All @@ -45,8 +41,8 @@ impl MergeWith<Overrides> for Overrides {
where
Overrides: Default,
{
let mut self_iter = self.list.iter_mut();
let mut other_iter = other.list.into_iter();
let mut self_iter = self.0.iter_mut();
let mut other_iter = other.0.into_iter();
while let (Some(self_item), Some(other_item)) = (self_iter.next(), other_iter.next()) {
self_item.merge_with_if_not_default(other_item);
}
Expand Down Expand Up @@ -94,6 +90,7 @@ pub struct OverridePattern {
#[bpaf(external(override_organize_imports_configuration), optional, hide)]
pub organize_imports: Option<OverrideOrganizeImportsConfiguration>,
}

impl OverridePattern {
pub const KNOWN_KEYS: &'static [&'static str] = &[
"ignore",
Expand Down Expand Up @@ -359,7 +356,7 @@ impl TryFrom<Overrides> for OverrideSettings {

fn try_from(overrides: Overrides) -> Result<Self, Self::Error> {
let mut override_settings = OverrideSettings::default();
for mut pattern in overrides.list {
for mut pattern in overrides.0 {
let formatter = pattern.formatter.take().unwrap_or_default();
let formatter = OverrideFormatSettings::try_from(formatter)?;

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -20,8 +20,8 @@ impl VisitNode<JsonLanguage> for Overrides {
) -> Option<()> {
let mut pattern = OverridePattern::default();
let element = AnyJsonValue::cast_ref(element)?;
self.map_to_object(&element, "hooks", &mut pattern, diagnostics)?;
self.list.push(pattern);
self.map_to_object(&element, "overrides", &mut pattern, diagnostics)?;
self.0.push(pattern);
Some(())
}
}
Expand Down
10 changes: 2 additions & 8 deletions editors/vscode/configuration_schema.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

4 changes: 1 addition & 3 deletions packages/@biomejs/backend-jsonrpc/src/workspace.ts

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

10 changes: 2 additions & 8 deletions packages/@biomejs/biome/configuration_schema.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

0 comments on commit 74a26f4

Please sign in to comment.