Skip to content

Commit

Permalink
Rename sugar -> template_syntax, cleanup warnings
Browse files Browse the repository at this point in the history
  • Loading branch information
craigfay committed May 26, 2022
1 parent f7e291e commit f638a95
Show file tree
Hide file tree
Showing 3 changed files with 10 additions and 37 deletions.
13 changes: 6 additions & 7 deletions distill/src/main.rs
Original file line number Diff line number Diff line change
@@ -1,14 +1,13 @@

mod lib;
mod sugar;
mod template_syntax;

use lib::{Transformations, TokenGroups, Intermediate};
use sugar::{SugarRuleSet, transformations_from_sugar_rules};
use lib::{TokenGroups, Intermediate};
use template_syntax::{CSSTemplate, transformations_from_templates};
use serde::{Deserialize};
use std::io::BufReader;
use std::path::Path;
use std::fs;
use serde_json as json;
use serde_yaml as yaml;

#[derive(Deserialize, Debug)]
Expand Down Expand Up @@ -44,7 +43,7 @@ fn main() {
let config = RCFile::load_from_json(&path_to_config);

let mut all_token_groups = TokenGroups::new();
let mut ruleset = SugarRuleSet::new();
let mut ruleset = CSSTemplate::new();

for path in config.design_tokens {
let file = fs::File::open(path).unwrap();
Expand All @@ -58,13 +57,13 @@ fn main() {
for path in config.templates {
let file = fs::File::open(path).unwrap();
let reader = BufReader::new(file);
let partial_ruleset: SugarRuleSet = yaml::from_reader(reader).unwrap();
let partial_ruleset: CSSTemplate = yaml::from_reader(reader).unwrap();
for (atom_name_template, block) in partial_ruleset {
ruleset.insert(atom_name_template, block);
}
}

let transformations = transformations_from_sugar_rules(&ruleset);
let transformations = transformations_from_templates(&ruleset);

let intermediate = Intermediate::build(all_token_groups, transformations);
let css = intermediate.stringify();
Expand Down
33 changes: 3 additions & 30 deletions distill/src/sugar.rs → distill/src/template_syntax.rs
Original file line number Diff line number Diff line change
@@ -1,6 +1,4 @@

use serde_yaml as yaml;
use serde::Deserialize;
use regex::Regex;

use super::lib::{
Expand All @@ -11,35 +9,18 @@ use super::lib::{
CSSRule,
};

use std::collections::{HashMap, BTreeMap};
use std::collections::{BTreeMap};
use indexmap::IndexMap;


const _SRC: &str = r#"
bg-[$colors.key]:
background-color: var(--$colors.key)
bg-[$colors.key]:
background-color: var(--$colors.key)
mt-[$sizes.key]:
margin-top: $sizes.value
m-[$sizes.key]:
margin: $sizes.value
"#;

type AtomName = String;
type CSSProperty = String;
type CSSValue = String;
type VariableMaps = IndexMap<String, IndexMap<String, String>>;

pub type SugarRuleSet = IndexMap<AtomName, SugarBlock>;
pub type CSSTemplate = IndexMap<AtomName, SugarBlock>;
pub type SugarBlock = IndexMap<CSSProperty, CSSValue>;

pub fn transformations_from_sugar_rules(ruleset: &SugarRuleSet) -> Transformations {
pub fn transformations_from_templates(ruleset: &CSSTemplate) -> Transformations {
let mut list = Vec::new();

let mut variable_maps: VariableMaps = IndexMap::new();
Expand Down Expand Up @@ -212,11 +193,3 @@ fn detect_token_loop(atom_name_template: &str, block: &SugarBlock) -> Option<Man
fn get_atom_selector(atom_name: &str) -> String {
format!(".{}", atom_name)
}

#[test]
fn detect_loop() {
let ruleset: SugarRuleSet = yaml::from_str(_SRC).unwrap();

let transforms = transformations_from_sugar_rules(&ruleset);
println!("{}", yaml::to_string(&transforms).unwrap());
}
1 change: 1 addition & 0 deletions distill/tachyons-flex.yml
Original file line number Diff line number Diff line change
Expand Up @@ -58,6 +58,7 @@ justify-[$alignments.key]:
content-[$alignments.key]:
align-content: $alignments.value

# Ordering
$orderings:
1: 1
2: 2
Expand Down

0 comments on commit f638a95

Please sign in to comment.