about summary refs log tree commit diff
path: root/compiler/rustc_mir/src/dataflow/framework
diff options
context:
space:
mode:
authorRich Kadel <richkadel@google.com>2020-09-08 16:08:35 -0700
committerRich Kadel <richkadel@google.com>2020-09-08 17:19:38 -0700
commitc19b2370e419c0be7b46cc9ae7767773560a072c (patch)
tree8f5fdd4b673789eb476a0877f408d9eb8a172643 /compiler/rustc_mir/src/dataflow/framework
parent5099914a16a215794ad243df0cc7a05d91d168e0 (diff)
downloadrust-c19b2370e419c0be7b46cc9ae7767773560a072c.tar.gz
rust-c19b2370e419c0be7b46cc9ae7767773560a072c.zip
Add -Zgraphviz_dark_mode
Many developers use a dark theme with editors and IDEs, but this
typically doesn't extend to graphviz output.

When I bring up a MIR graphviz document, the white background is
strikingly bright. This new option changes the colors used for graphviz
output to work better in dark-themed UIs.
Diffstat (limited to 'compiler/rustc_mir/src/dataflow/framework')
-rw-r--r--compiler/rustc_mir/src/dataflow/framework/engine.rs6
1 files changed, 5 insertions, 1 deletions
diff --git a/compiler/rustc_mir/src/dataflow/framework/engine.rs b/compiler/rustc_mir/src/dataflow/framework/engine.rs
index d3ad42f6bbc..0b5b437d186 100644
--- a/compiler/rustc_mir/src/dataflow/framework/engine.rs
+++ b/compiler/rustc_mir/src/dataflow/framework/engine.rs
@@ -306,7 +306,11 @@ where
     let mut buf = Vec::new();
 
     let graphviz = graphviz::Formatter::new(body, def_id, results, style);
-    dot::render_opts(&graphviz, &mut buf, &[dot::RenderOption::Monospace])?;
+    let mut render_opts = vec![dot::RenderOption::Monospace];
+    if tcx.sess.opts.debugging_opts.graphviz_dark_mode {
+        render_opts.push(dot::RenderOption::DarkTheme);
+    }
+    dot::render_opts(&graphviz, &mut buf, &render_opts)?;
 
     if let Some(parent) = path.parent() {
         fs::create_dir_all(parent)?;