This page is not created by, affiliated with, or supported by Slack Technologies, Inc.
2021-10-26
Channels
- # announcements (28)
- # asami (13)
- # babashka (10)
- # beginners (170)
- # boot (1)
- # calva (35)
- # cider (21)
- # circleci (13)
- # clara (6)
- # clj-http (1)
- # clj-kondo (29)
- # cljdoc (5)
- # clojure (89)
- # clojure-czech (2)
- # clojure-europe (20)
- # clojure-france (16)
- # clojure-nl (6)
- # clojure-uk (5)
- # clojurescript (80)
- # community-development (6)
- # conjure (13)
- # cursive (18)
- # datascript (9)
- # datomic (1)
- # duct (1)
- # gratitude (2)
- # helix (7)
- # jobs (2)
- # kaocha (3)
- # lsp (22)
- # malli (5)
- # meander (1)
- # other-languages (34)
- # pathom (18)
- # polylith (24)
- # quil (10)
- # re-frame (5)
- # releases (1)
- # remote-jobs (4)
- # reveal (7)
- # shadow-cljs (8)
- # tools-deps (53)
clj-refactor.el
and refactor-nrepl
3.0 are out! You can read more about the new releases here https://metaredux.com/posts/2021/10/26/clj-refactor-3-0.html
As the post says, there’s no shortage of ideas for what we can improve :) Expect various fixes and performance improvements short- and medium-term. The main bottleneck remains being tools.analyzer (as it does for e.g. Eastwood) but recently I've been hammocking a safe way to parallelize it. I've done similar parallelization work in a tools.namespace fork so I'd be pretty confident that it will work.
@U45T93RA6 do you have some profiling data for tools.analyzer?
I profile it from time to time with different tools depending on the task at hand Anything specific you're chasing?
If you have flame graph for a big chunk of analysis (like an entire file) it would be nice
Here's the minimally viable snippet for reproducing what refactor-nrepl ultimately does with tools.analyzer (intentionally skipping its caching layer):
(let [your-ns 'clojure.string]
(time
(do
(#'refactor-nrepl.analyzer/build-ast your-ns (ns-aliases your-ns))
nil)))
nothing of interest, it offloads to t.ana pretty directly https://github.com/clojure-emacs/refactor-nrepl/blob/a3f9de809b1246101786ec6160df3b8c66585f74/src/refactor_nrepl/analyzer.clj#L74-L93
Hi everyone! We've published a new library to work with the DocuSign eSignature API. The library also provides an Integrant key so it can be used with Duct or Integrant. https://github.com/magnetcoop/esignatures.docusign
Hi, updated release of PGMig 0.7.1 is out: https://github.com/leafclick/pgmig/releases/tag/v0.7.1 ## [0.7.1] - 2021-10-26 - Added windows cmd script to create the x64 native binary (exe) - Updated to GraalVM 21.2 - Fix DNS resolution issues in pre-built docker image
The https://clojure.org/releases/tools#v1.10.3.998 is now available
• Remove bottle :unneeded
from brew formulas (no longer needed)
• https://clojure.atlassian.net/browse/TDEPS-209 Include only jar files in classpath from Maven artifacts
• Update to tools.tools v0.2.1 (minor improvements in clj -Ttools list
)
• Use https://github.com/clojure/tools.deps.alpha/blob/master/CHANGELOG.md 0.12.1058
is there a way to get help for a tool other than knowing in advance what it does?
I found out about clj -Ttools list
in your announcement.
Is there a way to see what other things are available besides list
?
Is there a way to print docs for those ?
Most CLI tools offer a --help or a man page.
I tried some of the things I know
clj -Ttools
No function found on command line or in :exec-fn
clj -Ttools help
Function not found: clojure.tools.tools.api/help
clj -Ttools --help
Function not found: clojure.tools.tools.api/--help
This works but for clj, not for the tools.
clj --help
IMO I think it's important for this part to play like the rest of the tooling ecosystem so the experience is nice.there is some more work to do on the help side of tools for sure
https://ask.clojure.org is always the best place to raise questions/issues
we do actually have an existing ticket that's near this but it would be helpful to just ask this too
https://clojure.atlassian.net/browse/TDEPS-201 is the one I was thinking of but it's really a different issue so no need to link
@U011NGC5FFY You can get help for -Ttools
like this:
(! 649)-> clojure -A:deps -Ttools help/doc
This api provides functions that can be executed from the Clojure tools using -Ttools.
-------------------------
clojure.tools.tools.api/install
([{:keys [as], :as args}])
Install a tool under a local tool name for later use. On install, the tool is procured, and
persisted with the tool name for later use.
...
(! 650)-> clojure -A:deps -Ttools help/dir
install
list
remove
show
(! 651)-> clojure -A:deps -Ttools help/doc :fn show
-------------------------
clojure.tools.tools.api/show
([{:keys [tool], :as args}])
Print info and usage for this :tool.
Options:
:tool (required) - tool name to show
Example:
clj -Ttools show deps-graph
I have deps-new
installed as tools
and so I can get help for that:
(! 653)-> clojure -A:deps -Tnew help/doc
The next generation of clj-new. Uses tools.build and
tools.deps.alpha heavily to provide a simpler 'shim'
around template processing.
-------------------------
org.corfield.new/app
([opts])
Exec function to create an application project.
Thansk @U04V70XH6. Hard to remember that. and very hard for new folk who come to clojure and need to use the tools to "gues".
I'm more of the my-program --help
(or similar) persuasion 🙂
Yeah, I sympathize. I've been immersed in the CLI stuff for long enough that some of the "weird" command-line conventions have become second nature but I know they're not "normal".