clj.orcery

Language, Expression and Design

Sunday

09

October 2016

vinyasa moved -> lucidity

by Chris Zheng,

I've spent the last couple of weeks consolidated a bunch of tooling libraries together into a code base that I can manage a little better. Essentially, lucidity is the merging of lein-midje-doc, vinyasa and jai with more emphasis on in-repl and in-emacs functionality.

I've put a lot of thought into how to write code without getting lost and I've realised that documentation should be a habit. The quicker we get into testing and publishing pretty documents, the further along we are into the release cycle. That's why lucid.unit and lucid.publish are such a fundamental pieces in the tool suite.

A video, outlining how they are used in my everyday workflow can be seen below:

It's quite an opinionated set of tools but it suits my own workflow. Those that are used to vinyasa should have a look at the updated profiles.clj

{:user 
  {:dependencies 
   [[im.chit/lucid.mind "1.2.0"]
    [im.chit/lucid.publish "1.2.0"]
    [im.chit/lucid.space "1.2.0"]
    [im.chit/lucid.unit "1.2.0"]
    [im.chit/lucid.core.debug "1.2.0"]
    [im.chit/lucid.core.inject "1.2.0"]
    [im.chit/lucid.core.namespace "1.2.0"]
    [im.chit/hara.test "2.4.5"]]

   :injections   
   [(require '[lucid.core.inject :as inject])
    (inject/in [lucid.core.inject :refer [inject [in inject-in]]]
               [clojure.pprint pprint]
               [clojure.java.shell sh]
               [clojure.repl doc source]
               [hara.test :refer [[run-namespace test-namespace]]]
               [lucid.publish publish]
               [lucid.space pull]
               [lucid.core.namespace run clear-aliases clear-mappings]
               [lucid.unit import scaffold purge missing orphaned in-order? arrange]

               clojure.core
               [lucid.mind .& .> .? .* .% .%> .>var .>ns]

               clojure.core
               [lucid.core.debug :refer [[dbg-> *->] [dbg->> *->>]]])]}}
comments powered by Disqus