Hello, I am happy to announce version 1.5.0 of Slamhound, technomancy's amazing ns rewriting tool.
;; ~/.lein/profiles.clj
{:user {:dependencies [[slamhound "1.5.0"]]}}
This is a *major* bugfix release. If you've tried Slamhound in the past
and felt frustrated, now is a great time to give it another try.
If you're unfamiliar with Slamhound, I've posted a short screencast
here:
https://vimeo.com/80650659
Many thanks to Phil Hagelberg for allowing me to take the reins for this
release.
Enhancements since the last version include:
- Greatly improved detection and disambiguation of missing ns
references. Slamhound is now much better at DWIM.
- References in the existing ns form are always preferred over other
candidates on the classpath.
- Mass-referred namespaces (via :use or :refer :all) are preserved
as (:require [my.ns :refer :all]). Simply remove it from the ns
form to get a vector of explicit refers.
- File comment headers, ns metadata maps, docstrings, and :require
flags (:reload et al), are correctly preserved.
- Multiple options per require libspec are emitted correctly.
e.g. (:require [clojure.test :as t :refer [deftest]])
- Classes created via defrecord/deftype etc are correctly found.
- Capitalized vars that shadow class names are no longer ignored.
A full changelog is available here:
https://github.com/technomancy/slamhound/blob/master/CHANGES
Finally, for Vim users there is a new plugin for Slamhound integration:
https://github.com/guns/vim-slamhound
It was always easy to use Slamhound from fireplace.vim, but now it's
just a Pathogen infect away.
Cheers,
guns
pgprTWW8hPLqL.pgp
Description: PGP signature
