theme.rs 911 B

1234567891011121314151617181920212223242526272829303132333435
  1. use std::collections::HashMap;
  2. #[derive(Debug)]
  3. pub struct Colors {
  4. pub inner: HashMap<String, String>,
  5. }
  6. impl Default for Colors {
  7. fn default() -> Self {
  8. let def = vec![
  9. ("grey", "#9999a1"),
  10. ("dark_grey", "#333333"),
  11. ("beige", "#fdf0d5"),
  12. ("light_grey", "#eeeeee"),
  13. ("yellow", "#fdca40"),
  14. ("orange", "#f79824"),
  15. ("green", "#29bf12"),
  16. ("dark_red", "#780000"),
  17. ("red", "#c1121f"),
  18. ("blue", "#669bbc"),
  19. ("dark_blue", "#003049"),
  20. ];
  21. let inner: HashMap<_, _> = def
  22. .into_iter()
  23. .map(|(k, v)| (k.to_string(), v.to_string()))
  24. .collect();
  25. Self { inner }
  26. }
  27. }
  28. impl Colors {
  29. pub fn get(&self, key: &str) -> String {
  30. self.inner.get(key).cloned().unwrap_or_else(|| "#669bbc".to_string())
  31. }
  32. }