@@ -34,7 +34,7 @@ use std::process;
3434
3535use ansi_term::Colour::Green;
3636
37−use app::App;
37+use app::{App, Config};
3838use assets::{clear_assets, config_dir, HighlightingAssets};
3939use controller::Controller;
4040
@@ -128,10 +128,14 @@ pub fn list_languages(assets: &HighlightingAssets, term_width: usize) {
128128 }
129129}
130130
131−pub fn list_themes(assets: &HighlightingAssets) {
131+pub fn list_themes(assets: &HighlightingAssets, config: &mut Config) {
132132 let themes = &assets.theme_set.themes;
133133 for (theme, _) in themes.iter() {
134134 println!("{}", theme);
135+ config.theme = theme.to_string();
136+ config.files = vec![Some("assets/hello.rs")];
137+ let controller = Controller::new(&config, &assets);
138+ let _res = controller.run();
135139 }
136140}
137141
@@ -146,7 +150,7 @@ fn run() -> Result<bool> {
146150 Ok(true)
147151 }
148152 _ => {
149− let config = app.config()?;
153+ let mut config = app.config()?;
150154 let assets = HighlightingAssets::new();
151155
152156 if app.matches.is_present("list-languages") {
@@ -154,7 +158,7 @@ fn run() -> Result<bool> {
154158
155159 Ok(true)
156160 } else if app.matches.is_present("list-themes") {
157− list_themes(&assets);
161+ list_themes(&assets, &mut config);
158162
159163 Ok(true)
160164 } else {