chadhq / slamhound-lt Goto Github PK
View Code? Open in Web Editor NEWIntegrate Slamhound into LightTable
License: GNU General Public License v3.0
Integrate Slamhound into LightTable
License: GNU General Public License v3.0
Hello,
I'd love to link to this plugin in the Slamhound README, but I think it would be nice if the LT plugin offered the same "reconstruct in place" function as the Emacs and Vim plugins.
This can be done quite easily using Slamhound's command line entry function:
(binding [clojure.pprint/*print-right-margin* buffer-text-width]
(let [file (java.io.File. "path/to/current/file")]
(slam.hound/swap-in-reconstructed-ns-form file)))
The *print-right-margin*
binding is optional, but the clojure.pprint
default of 72 chars is a little narrow for my taste.
Thanks!
EDIT:
I changed the recommendation from slam.hound/-main to slam.hound/swap-in-reconstructed-ns-form; I forgot that the extra error messages with the latter would be helpful for debugging.
Hey!
I've been trying to use slamhound-lt for some time, but it just throws the following error:
java.io.FileNotFoundException: Could not locate slam/hound__init.class or slam/hound.clj on classpath:
RT.java:443 clojure.lang.RT.load
RT.java:411 clojure.lang.RT.load
core.clj:5641 clojure.core/load[fn]
core.clj:5640 clojure.core/load
RestFn.java:408 clojure.lang.RestFn.invoke
core.clj:5446 clojure.core/load-one
core.clj:5486 clojure.core/load-lib[fn]
core.clj:5485 clojure.core/load-lib
RestFn.java:142 clojure.lang.RestFn.applyTo
core.clj:626 clojure.core/apply
core.clj:5524 clojure.core/load-libs
RestFn.java:137 clojure.lang.RestFn.applyTo
core.clj:626 clojure.core/apply
core.clj:5607 clojure.core/require
RestFn.java:408 clojure.lang.RestFn.invoke
/home/redpanda/clojure/game-of-life/src/game_of_life/core.clj:19 game-of-life.core/eval8868
Compiler.java:6703 clojure.lang.Compiler.eval
Compiler.java:6692 clojure.lang.Compiler.eval
Compiler.java:6666 clojure.lang.Compiler.eval
core.clj:2927 clojure.core/eval
eval.clj:76 lighttable.nrepl.eval/->result
AFn.java:156 clojure.lang.AFn.applyToHelper
AFn.java:144 clojure.lang.AFn.applyTo
core.clj:626 clojure.core/apply
core.clj:2468 clojure.core/partial[fn]
RestFn.java:408 clojure.lang.RestFn.invoke
core.clj:2559 clojure.core/map[fn]
LazySeq.java:40 clojure.lang.LazySeq.sval
LazySeq.java:49 clojure.lang.LazySeq.seq
RT.java:484 clojure.lang.RT.seq
core.clj:133 clojure.core/seq
core.clj:2595 clojure.core/filter[fn]
LazySeq.java:40 clojure.lang.LazySeq.sval
LazySeq.java:49 clojure.lang.LazySeq.seq
RT.java:484 clojure.lang.RT.seq
core.clj:133 clojure.core/seq
core.clj:2855 clojure.core/dorun
core.clj:2871 clojure.core/doall
eval.clj:125 lighttable.nrepl.eval/eval-clj
RestFn.java:442 clojure.lang.RestFn.invoke
eval.clj:191 lighttable.nrepl.eval/eval2149[fn]
AFn.java:152 clojure.lang.AFn.applyToHelper
AFn.java:144 clojure.lang.AFn.applyTo
core.clj:624 clojure.core/apply
core.clj:1862 clojure.core/with-bindings*
RestFn.java:425 clojure.lang.RestFn.invoke
eval.clj:176 lighttable.nrepl.eval/eval2149[fn]
eval.clj:175 lighttable.nrepl.eval/eval2149[fn]
MultiFn.java:227 clojure.lang.MultiFn.invoke
core.clj:97 lighttable.nrepl.core/queued[fn]
core.clj:2402 clojure.core/comp[fn]
interruptible_eval.clj:159 clojure.tools.nrepl.middleware.interruptible-eval/run-next[fn]
AFn.java:22 clojure.lang.AFn.run
ThreadPoolExecutor.java:1145 java.util.concurrent.ThreadPoolExecutor.runWorker
ThreadPoolExecutor.java:615 java.util.concurrent.ThreadPoolExecutor$Worker.run
Thread.java:745 java.lang.Thread.run
When I try to install it in lighttable 0.8.1 I get the following error:
Failed to load resource: the server responded with a status of 403 (Forbidden): https://api.github.com/repos/LightTable/plugin-metadata/commits
Error: Error downloading: https://api.github.com/repos/chadhq/slamhound-lt/tarball/0.0.3 status code: 403
at Error (native)
at Request.<anonymous> (file:///C:/lighttable/resources/app/core/node_modules/lighttable/bootstrap.js:28764:11)
at emitOne (events.js:77:13)
at Request.emit (events.js:169:7)
at ClientRequest.<anonymous> (C:\lighttable\resources\app\core\node_modules\request\main.js:733:12)
at ClientRequest.g (events.js:260:16)
at emitOne (events.js:77:13)
at ClientRequest.emit (events.js:169:7)
at HTTPParser.parserOnIncomingClient [as onIncoming] (_http_client.js:415:21)
at HTTPParser.parserOnHeadersComplete (_http_common.js:88:23)
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.