Could someone tell me how to color two different edges between the same two vertices with a different color? The last time a related question was asked is 4 years ago, so I am wondering if the following can sort of be made to work now ... This is what I have tried:
1) {Style[DirectedEdge[1,2],Red],Style[DirectedEdge[1,2],Green]}//Graph
I would like the edges in the above multigraph to be red and green, however this makes them all red. If I use EdgeStyle in the usual way, the edges take the last color that appears instead of the first one. I have never had to do this, surprisingly, and I thought it would be a cinch (I know the graph functionality of M quite well) but to my surprise I couldn’t make this work. So help will be appreciated. Perhaps a more complex fix is needed ???
I wonder also, if this is not easy to achieve, whether there is igraph functionality for it. I am not thoroughly familiar with the package
Thank you in advance.

g1=Graph[{0 -> 1,0 -> 1,0 -> 1},EdgeStyle -> {(0 -> 1) -> {Red, Directive[Dashed, Blue], Orange}}]; styles = Association[PropertyValue[g1, EdgeStyle]] ; esf = { Dashing[{}],First[styles[#2] = RotateRight[styles[#2]]], Arrowheads[Large],GraphElementData["Arrow"][##]} &; Graph[g1, EdgeShapeFunction -> esf]? – kglr Aug 26 '19 at 16:57