bhb / pretty-spec

Pretty print clojure.spec forms

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Pretty-Spec

A clojure.spec form pretty printer for Clojure and ClojureScript.

Extends fipp pretty printer with rules for printing clojure.spec forms.

This is just a simple library that does this one thing.

Checkout inspectable or expound if you are looking for spec browsing and explain-data analyzing.

Installation

To include the library add the following to your :dependencies

[pretty-spec "0.1.1"]

Usage

user> (require '[clojure.spec.alpha :as s])
nil
user> (require '[pretty-spec.core :as pspec])
nil
user> (pspec/pprint (s/form 'clojure.core/let))

(clojure.spec.alpha/fspec
 :args (clojure.spec.alpha/cat
        :bindings :clojure.core.specs.alpha/bindings
        :body (clojure.spec.alpha/* clojure.core/any?))
 :ret clojure.core/any?
 :fn nil)
 
nil

Comparing to vanilla clojure.pprint:

user> (clojure.pprint/pprint (s/form 'clojure.core/let))

(clojure.spec.alpha/fspec
 :args
 (clojure.spec.alpha/cat
  :bindings
  :clojure.core.specs.alpha/bindings
  :body
  (clojure.spec.alpha/* clojure.core/any?))
 :ret
 clojure.core/any?
 :fn
 nil)
 
nil

About

Pretty print clojure.spec forms

License:Eclipse Public License 1.0


Languages

Language:Clojure 96.8%Language:HTML 3.2%