Releases: CodingCellist/idris2-dot-parse
Added some filtering utils
This adds some structure and utility functions for filtering the graphs for e.g. invisible edges.
Curently, it is limited to explicitly invisible edges, i.e. edges following an edge [style=invis]
statement will not be filtered. Contributions (also for other stuff) welcome!
Public export the interfaces for converting to the AST
In the previous release, all interfaces were export
only. This meant that they could not be implemented outside of the library sources, which was obviously not the intended behaviour for the interfaces which indicate that a type can be converted to a DOT AST representation.
Use built-in `Show ParsingError`
This updates the library to work with the (at the time of writing) latest commit of Idris2.
New AST, parser, and interfaces
This updates the AST to be more restrictive as to what goes where (previously you could put any DOT
anywhere, e.g. a subgraph where there should be a keyword). Along with this, the parser obviously needed changing to produce this new AST.
Interfaces (yes, plural) for converting to the new AST types have been added, along with Show
and Eq
implementations.
Hopefully this is more convenient to work with. GLHF!
Intermediary release with both ASTs
This is an intermediary release where both the old and new AST exist.
AST
andASTv2
exist at the same timeDOTAble
for the stuff inASTv2
; to help with conversion- there are reader functions for both ASTs
Show
instances for (hopefully) all your needs- new interfaces to convert to
ASTv2
/!\ This release is mainly in case anyone needs/relies on the old AST, and
/!\ should not be used otherwise. Please use the latest release if at
/!\ all possible.
You too can be a `DOT`
This adds the DOTAble
interface, which allows types to specify that they can be converted into a DOT
AST (provided they implement the required toDOT
function, of course).
Now with `Show DOTError`
v0.1.1 readDOTFile uses HasIO; implemented Show DOTError
Initial experimental release
I don't really know how this works, but I think the package should now be in a usable state so I guess it's good practice to make a release?... GL;HF y'all!