Fork me on GitHub

clj-refactor.el and refactor-nrepl 3.0 are out! You can read more about the new releases here

cider 18
clojure-spin 11
🎉 11

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.

Ben Sless08:10:23

@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?

Ben Sless08:10:57

If you have flame graph for a big chunk of analysis (like an entire file) it would be nice

👍 1

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]
      (#'refactor-nrepl.analyzer/build-ast your-ns (ns-aliases your-ns))

Ben Sless09:10:53

build-ast just calls tools.analyzer or is there anything happening in between?

Ben Sless11:10:05

Cool, I'll try to poke at it later today


Awesome project, congrats fro the awesome work!

❤️ 1

Love the clean-ns fix

partywombat 2
Ben Sless16:10:44

@U45T93RA6 I have a flame graph and some initial insights if you're curious

👀 1

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.

🎉 13

Thank you. I need exactly this for my product in the next couple of months!


Hi, updated release of PGMig 0.7.1 is out: ## [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

🎉 5

The is now available • Remove bottle :unneeded from brew formulas (no longer needed) • Include only jar files in classpath from Maven artifacts • Update to v0.2.1 (minor improvements in clj -Ttools list) • Use 0.12.1058

clojure-spin 16
🎉 7

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:
clj -Ttools --help
Function not found:
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


whre is the best place to raise an issue to track this ?

alexmiller12:10:26 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


ok, I'll ask this and if I find the ticket include that too

alexmiller12:10:34 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.

([{: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
(! 651)-> clojure -A:deps -Ttools help/doc :fn show
([{:keys [tool], :as args}])
  Print info and usage for this :tool.

    :tool (required) - tool name to show

    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 and
  tools.deps.alpha heavily to provide a simpler 'shim'
  around template processing.

  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".