Fork me on GitHub
#emacs
<
2020-03-04
>
sogaiu00:03:44

fwiw, https://github.com/sogaiu/alc.index-defs will generate TAGS (etags) / tags (ctags) for clojure source projects. i use emacs with the generated TAGS file -- it works with the dependencies as well. i use the ctags output for other editors (e.g. vscode).

practicalli-johnny11:03:04

Looks very interesting, I will give it a try, thank you.

sogaiu11:03:19

however it turns out, i hope you can find some good jump-to-def solution -- can be so helpful in maintaining concentration and focus.

dotemacs09:03:49

Thanks for sharing this @UG1C3AD5Z it reminded me a bit about this project: https://github.com/sanel/lein-codeindex

sogaiu09:03:39

thanks for taking an interest! ah, i see it's by the author of monroe -- nice! lein-codeindex may be more useful now than before because the universal ctags side of things has improved their clojure support somewhat in recent times. i would guess it's faster than alc.index-defs too. i don't know what's involved in getting ctags and/or friends to go over the dependecies of one's project. do you happen to know? i'm guessing that alc.index-defs does a somewhat more accurate (and broader?) job of analyzing things because it uses clj-kondo (assuming i didn't mess things up 🙂 )

sogaiu09:03:04

btw, you might find this of interest if you haven't seen it already: https://github.com/jpmonettas/clindex (maintainer was very nice too)

dotemacs14:03:01

Oh, wow, this is very cool. TIL. I was even “fantasising” that when I get some free time, it would be cool to create a tool that would be a replacement for what (now dead) service used to do: index all the opensource projects and make them available for reference. Looks like this tool handles most of that now. Obviously it would need some extra work, but it would be a useful resource.

dotemacs15:03:23

The reason clindex resonated with me is because it reminded me of this post: https://outline.com/2eMR6C

sogaiu00:03:20

it uses clj-kondo to perform the analysis -- it is thorough but definitely not real-time.