Skip to content

Releases: tmr232/function-graph-overview

v0.0.11 - Getting Started Experience

01 Dec 21:03
3059ba1
Compare
Choose a tag to compare
Pre-release

I've been informed that the getting-started experience on VSCode was bad.
Added some docs & changed some settings in the hope of alleviating this.

Specifically, the Function Graph Overview: Show Graph Overview should now be available via the command-palette, making it easier to show the graph view.

v0.0.10 - C++ Support

01 Dec 16:53
d094ea6
Compare
Choose a tag to compare
v0.0.10 - C++ Support Pre-release
Pre-release

This release adds support for C++ code!

v0.0.9 - Dark Mode

10 Oct 13:55
6272dac
Compare
Choose a tag to compare
v0.0.9 - Dark Mode Pre-release
Pre-release
  • Dark-mode and custom color schemes
  • Default light/dark mode based on VSCode theme
  • Color-scheme creation in the interactive demo
  • Documented the color-scheme options

v0.0.7 - Graph Navigation

05 Oct 15:27
bacef0c
Compare
Choose a tag to compare
Pre-release

You can now click nodes in the graph to jump to the relevant lines!

Added

  • Clicking a node in the graph now places the cursor on the matching line.
  • The demo has a debug URL parameter to enable some debug features.

Changed

  • Backlinks are now using the dir=back DOT attribute to improve graph layouts.

0.0.6 - Node Highlighting

26 Sep 18:17
09d8dac
Compare
Choose a tag to compare
Pre-release

Highlights

The CFG view now highlights (in black) the node matching the cursor location in the code.
This can be disabled via the settings.

Added

  • The CFG view now highlights (in black) the node matching the cursor position.
  • Basic CFG caching for tests, making them twice as fast.
  • The extension learned to only generate a CFG on code or config changes.
    If the cursor just moves inside the same function, we don't regenerate the CFG.

Fixed

  • Rendering of select blocks in Go was broken.
  • Empty case clauses in switch statements no longer cause crashes.
  • Last case of a Python match statement no longer assumed to match.

Changed

  • Massive refactoring of CFGBuilder classes.
    New design now uses the sameGenericCFGBuilder class for all languages,
    and takes statement handlers as arguments.
    This reduces code duplication and makes it easier to add
    new languages in the future.
  • Flat switches now generate nodes for the conditions, and not only the consequence.
  • The CodeMirror editor in the demo got it's own Svelte component now, Editor.svelte.
    This allows better state management and handling/dispatching events.

v0.0.5 Python Support

18 Sep 10:34
6f250d2
Compare
Choose a tag to compare
v0.0.5 Python Support Pre-release
Pre-release

Added

  • Initial support for Python.
  • Support for node clusters. This is used heavily in Python, for context-managers and exception-handling.
  • A "share" feature to the demo
  • A "save SVG" option to the demo

Testing

  • Enable live-testing with the web viewer. Requires that you run both bun web-tests --watch and bun web at the same time.
  • By default, bun web only shows failing tests
  • bun web color-codes tests to note which are failing
  • bun lint added tsc --noEmit
  • DOT output in bun web is not pretty-printed, and can be automatically opened in GraphvizOnline

Fixed

  • Switch-like structures in flatSwitch now show an alternative edge from the head to the exit node.
    This was previously missing.
  • Thick-backlinks (for loops) are now generated correctly based on loop detection.

Basic C Support

10 Sep 12:40
Compare
Choose a tag to compare
Basic C Support Pre-release
Pre-release

Added basic support for the C language, both in the demo and the extension.

v0.0.3

07 Sep 13:52
Compare
Choose a tag to compare
v0.0.3 Pre-release
Pre-release
  • Learned Go's fallthrough keyword
  • Learned an option to draw flat-switches (where all cases are direct descendants of the switch head)
  • Added utilities for basic reachability testing
  • Expose simplify and flat switch settings in demo
  • Expose flat switch setting in extension

v0.0.2

06 Sep 12:38
Compare
Choose a tag to compare
v0.0.2 Pre-release
Pre-release
  • Interactive demo website, use bun demo to run.
  • Publish demo via Github Pages
  • Updated readme to point to the demo
  • Automatically publish releases

Initial Release!

05 Sep 15:01
Compare
Choose a tag to compare
Initial Release! Pre-release
Pre-release
v0.0.1

Updated documentation