This page is not created by, affiliated with, or supported by Slack Technologies, Inc.
2019-09-25
Channels
- # announcements (2)
- # babashka (22)
- # beginners (31)
- # calva (4)
- # cider (26)
- # clj-kondo (10)
- # clojure (32)
- # clojure-europe (1)
- # clojure-italy (3)
- # clojure-nl (3)
- # clojure-spec (16)
- # clojure-switzerland (5)
- # clojure-uk (25)
- # clojurescript (108)
- # clojutre (15)
- # code-reviews (3)
- # data-science (1)
- # datomic (92)
- # emacs (1)
- # fulcro (8)
- # graalvm (8)
- # jackdaw (8)
- # jobs (1)
- # jobs-discuss (1)
- # leiningen (6)
- # off-topic (56)
- # pathom (6)
- # pedestal (5)
- # re-frame (11)
- # remote-jobs (1)
- # shadow-cljs (4)
- # spacemacs (2)
- # sql (41)
- # tools-deps (7)
- # xtdb (25)
@borkdude what paths are actually needed for clj-kondo? 🙂 see this: https://github.com/thheller/shadow-cljs/issues/558#event-2643788138
thheller asked:
> Does clj-kondo really require the full classpath? Wouldn't the actual :source-paths
suffice?
It depends. If you lint your libraries then clj-kondo knows about arities and other information about library functions. If it doesn't know about them, it won't emit warnings when you call them incorrectly.
@borkdude i'm investigating the idea of generating TAGS / tags files using clj-kondo analysis data, but iiuc, there are few pieces of info that don't get picked up (or stored at any rate). the motivation is that, iiuc, clj-kondo understands clojure source better than the various ctags implementations so it ought to be able to index better. the two thoughts that come up are: 1) using the analysis data, revisit all of the relevant files to collect the info -OR- 2) is there some way to hook into / customize clj-kondo's process of visiting files so that the data might be collected in a customized fashion? the missing pieces for the etags version of TAGS are, iiuc, for each identifier: * some text preceding the identifier (as well as the identifier) also get stored separately from the identifier. e.g. for a namespace clojure.core, that text might be:
(ns ^{:doc "The core Clojure language."
:author "Rich Hickey"}
clojure.core
for a function definition for start
, it might be:
(defn start
* the byte-offset of the beginning of that text from the beginning of the file it lives in
cf: https://en.wikipedia.org/wiki/Ctags#Tags_file_formats
(i haven't really digested what's needed for the other ctags tags formats yet as my initial interest is getting something working with emacs.)
any thoughts?