Add SVG restyle to match vscode theme
Summary
Intercept the SVG generated by graphviz and change the colors according to the vscode current theme.
Address the #24 "Make graph nicer." milestone
How it works
Explore the graph using a BFF algorithm, for each node, change the children's values according to their classes.
Evidences
@beicause I used the selection background color for the nodes and it isn't ideal in every theme, but in most of them it looks good.
I think we'd better to theme the graphviz( .dot ) file directly. Changing the style of svg doesn't affect the .dot file we save.
@beicause Sure! Should we have this as a temporary solution and then I can open an issue to migrate the solution to the other end of the file generation? With this strategy, we would have themes for the graphs right away.
I have no reason to merge this PR now which adds unnecessary complexity if there is a better approach. Let's improve it firstly.
@beicause I was investigating the options and AFAIK that the color palette is only available at the web view step - we could use some placeholders and interpolate them, but this would add some complexity and processing to the rendering step too.
Do you have an idea on how to approach this? Thank you.
Edit: My previous assumptions were incorrect.
@beicause Please revisit this thread
I suggest using graphviz attribute (color, bgcolor or fillcolor, etc) to style graphs. Refer to https://graphviz.org/doc/info/attrs.html
@beicause I changed the approach compared to the last version. Now it injects the color in the .dot generation and it replaces it once we have access to the theme RGB in the html step. Please check if it makes sense. Thank you
@beicause Hey. I updated and tested the extension. Now we should be able to support the colors directly in the dot file.
@beicause can you check it out please?
@beicause Hey. Can you please check this out? Thanks!