Skip to content

pkamenarsky/typedraw

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

20 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

typedraw

An experimental visualization of types.

Type visualization 1 Type visualization 2

Installation

Install Fira Code. Clone this repository, then:

npm -g install .

Usage

typedraw <typemap.json> <out.png>

typedraw reads from stdin, i.e. you can do the following:

cat examples/foreach | typedraw examples/typemap2.json out.png

typedraw replaces all occurences of a type with a visual shape described in a typemap.

Typemaps

Typemaps are simple json files that describe how to render a given type (i.e. st):

{
  "st": [
    [ "rect", "#333", 0, 0, 1, 1 ],
    [ "rect", "#D4145A", 0.25, 0.25, 0.5, 0.5 ]
  ],

  "s": [
    [ "circle", "#D4145A", 0.5, 0.5, 0.25 ]
  ],
}

Only two shapes are supported currently, rects:

[ "rect", color, x, y, width, height ] // coordinates are in the 0 - 1 range

and circles:

[ "circle", color, x, y, radius ] // coordinates are in the 0 - 1 range

Check out the example typemap1.json and typemap2.json files.

About

Visually describe Haskell/Purescript/Elm types

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published