Fork me on GitHub

With the new :paths alias data feature, I’m assuming that those aliases are just fished directly out of the :aliases map in the (combined system/user/project) deps.edn map? i.e. there’s no alias selection done based on which aliases are passed by the user, or anything like that.


One further question: Cursive also shows aliases that the user can select in a tool window, which allows the user to decide which source paths etc should be synced to their project. I assume it doesn’t make sense to show these aliases there, i.e. it only makes sense to show those aliases whose value is a map.


@cfleming That's my understanding based on playing with it a bit.


Thanks @seancorfield. It gets a little confusing in the case of :extra-paths - those are calculated using the provided aliases, but then their alias values are taken from the raw map (I think).

Alex Miller (Clojure team)04:08:19

In the latter question, aliases should be resolved from the merged edn map, same as paths. But maybe I’m not getting some nuance of your question


Yep, that was what I had assumed.


So using this map:

{:paths ["src" :clj-paths :resource-paths]
 :aliases {:clj-paths ["src2"]
           :resource-paths ["resources"]
           :moar {:extra-paths ["src3" :moar-paths]}
           :moar-paths ["src4"]}}


src, src2 and resources will always be selected. src3 and src4 will be selected if the user has chosen to use the moar alias.


@U064X3EF3 It feels like this is part of a bigger picture that we don't have all the pieces of -- since the alias references in ;paths etc is all static at the moment, so you can't actually override any of it yet?

Alex Miller (Clojure team)12:08:55

@seancorfield not sure what you mean about overriding

Alex Miller (Clojure team)12:08:21

This is about giving names to sunsets of paths

Alex Miller (Clojure team)12:08:52

One important place these names show up is in the classpath data in the basis


By "override" I meant that project aliases override user-level, and you can further override those on the command-line -- so I was thinking that you could provide a new :clj-paths alias on the command-line to "override" a :clj-paths alias in the project deps.edn.


Like I say, I'm still not seeing much benefit in that feature yet, so I assume there's a "bigger picture" and it will make more sense "soon" 🙂

Alex Miller (Clojure team)17:08:18

you could do all that but I do not have any use case in mind where that would be a good idea

Alex Miller (Clojure team)17:08:54

better to manipulate with a -C alias modifying :extra-paths or overrides


Aye, and that's what I would tend to do -- so, again, I'm not seeing much benefit in being able to specify parts of paths etc as aliases right now.

Alex Miller (Clojure team)17:08:34

then you should not do it :)


I guess you can supply new values via the command-line (`-Sdeps`) but I don't see much value in it as it stands.


I assume it's part of a bigger picture that we don't have all the pieces of yet...


What does -S stand for? Just a random name?

Janne Sauvala11:08:17

Based on all the comments I guess it stands for “something” 😁

Alex Miller (Clojure team)12:08:44

but "something" or "stuff" is pretty good too :)

😄 3

Btw, I have wondered how you prevent :) turning into an emoticon. Is that a setting?


Nm, I found it :)


I just went through deps guide and reference searching for words starting with "s". My guess is it means "Some option" or "Specify"


I think it was script