clojure-emacs/cider

i'm unable to access javadocs

Opened this issue · 2 comments

Expected behavior

I expect that running cider-inspect on the symbol KafkaConsumer will display the JavaDocs at the bottom of the cider-inspect buffer.

Actual behavior

It doesn't, instead the cider-inspect buffer will correctly open and display everything (e.g interfaces, constructors, etc..) but the javadocs.

Steps to reproduce the problem

First set emacs variable cider-enrich-classpath to t, then clone this repo, navigate within it using emacs to the file with KafkaConsumer , from that file run cider-jack-in, then with your cursor on KafkaConsumer, run cider-inspect, you should expect to see the cider-inspect emacs buffer to open, if you scroll the the bottom, you don't see the javadocs. In this case, it would be these docs. Which you can get to, as demonstrated here, from emacs using the clojure.java.javadoc/javadoc function if you add the right remote.

Environment & Version information

CIDER version information

Include here the version string displayed when
CIDER's REPL is launched. Here's an example:

;; CIDER 1.14.0-snapshot (package: 20240201.2038), nREPL 1.0.0
;; Clojure 1.11.1, Java 17.0.9

Startup: bash /home/drewverlee/.emacs.d/elpa/29.2/develop/cider-20240201.2038/clojure.sh /usr/local/bin/clojure -Sdeps \{\:deps\ \{nrepl/nrepl\ \{\:mvn/version\ \"1.0.0\"\}\ cider/cider-nrepl\ \{\:mvn/version\ \"0.45.0\"\}\}\ \:aliases\ \{\:cider/nrepl\ \{\:main-opts\ \[\"-m\"\ \"nrepl.cmdline\"\ \"--middleware\"\ \"\[cider.nrepl/cider-middleware\]\"\]\}\}\} -M:cider/nrepl


Clojure CLI version

clojure --version
Clojure CLI version 1.11.1.1413

Emacs version

GNU Emacs 29.2 (build 1, x86_64-pc-linux-gnu, GTK+ Version 3.24.33, cairo version 1.16.0) of 2024-02-11

Operating system

Distributor ID: Ubuntu
Description: Ubuntu 22.04.3 LTS
Release: 22.04
Codename: jammy

JDK distribution

[openjdk version "21.0.1" 2023-10-17
OpenJDK Runtime Environment Homebrew (build 21.0.1)
OpenJDK 64-Bit Server VM Homebrew (build 21.0.1, mixed mode, sharing)H

Classpath of example project

/home/drewverlee/.m2/repository/com/billpiel/sayid/0.1.0/sayid-0.1.0.jar
/home/drewverlee/.m2/repository/djblue/portal/0.51.1/portal-0.51.1.jar
/home/drewverlee/.m2/repository/org/apache/kafka/kafka-clients/2.8.0/kafka-clients-2.8.0.jar
/home/drewverlee/.m2/repository/org/clojure/clojure/1.11.1/clojure-1.11.1.jar
/home/drewverlee/.m2/repository/vvvvalvalval/scope-capture/0.3.3/scope-capture-0.3.3.jar
/home/drewverlee/.m2/repository/org/clojure/tools.namespace/1.0.0/tools.namespace-1.0.0.jar
/home/drewverlee/.m2/repository/org/clojure/tools.reader/1.3.2/tools.reader-1.3.2.jar
/home/drewverlee/.m2/repository/tamarin/tamarin/0.1.2/tamarin-0.1.2.jar
/home/drewverlee/.m2/repository/com/cognitect/transit-clj/1.0.333/transit-clj-1.0.333.jar
/home/drewverlee/.m2/repository/com/cognitect/transit-cljs/0.8.280/transit-cljs-0.8.280.jar
/home/drewverlee/.m2/repository/com/google/code/gson/gson/2.10.1/gson-2.10.1.jar
/home/drewverlee/.m2/repository/http-kit/http-kit/2.7.0/http-kit-2.7.0.jar
/home/drewverlee/.m2/repository/org/clojure/data.json/2.4.0/data.json-2.4.0.jar
/home/drewverlee/.m2/repository/com/github/luben/zstd-jni/1.4.9-1/zstd-jni-1.4.9-1.jar
/home/drewverlee/.m2/repository/org/lz4/lz4-java/1.7.1/lz4-java-1.7.1.jar
/home/drewverlee/.m2/repository/org/slf4j/slf4j-api/1.7.30/slf4j-api-1.7.30.jar
/home/drewverlee/.m2/repository/org/xerial/snappy/snappy-java/1.1.8.1/snappy-java-1.1.8.1.jar
/home/drewverlee/.m2/repository/org/clojure/core.specs.alpha/0.2.62/core.specs.alpha-0.2.62.jar
/home/drewverlee/.m2/repository/org/clojure/spec.alpha/0.3.218/spec.alpha-0.3.218.jar
/home/drewverlee/.m2/repository/org/clojure/java.classpath/1.0.0/java.classpath-1.0.0.jar
/home/drewverlee/.m2/repository/com/cognitect/transit-java/1.0.371/transit-java-1.0.371.jar
/home/drewverlee/.m2/repository/com/cognitect/transit-js/0.8.874/transit-js-0.8.874.jar
/home/drewverlee/.m2/repository/com/fasterxml/jackson/core/jackson-core/2.14.2/jackson-core-2.14.2.jar
/home/drewverlee/.m2/repository/javax/xml/bind/jaxb-api/2.4.0-b180830.0359/jaxb-api-2.4.0-b180830.0359.jar
/home/drewverlee/.m2/repository/org/msgpack/msgpack/0.6.12/msgpack-0.6.12.jar
/home/drewverlee/.m2/repository/javax/activation/javax.activation-api/1.2.0/javax.activation-api-1.2.0.jar
/home/drewverlee/.m2/repository/com/googlecode/json-simple/json-simple/1.1.1/json-simple-1.1.1.jar
/home/drewverlee/.m2/repository/org/javassist/javassist/3.18.1-GA/javassist-3.18.1-GA.jar

Calling cider-inspect on CSVReader in (import '(com.opencsv CSVReader)) in the project does show the java docs. Well, it shows some docs at the bottom:

image

This indicates to me that this means the KafkaConsumer failing to get the docs might be unique to the way the Apache Kafka project is put together.

vemv commented

Thanks, sorry for the delay, I had this pending to check out.

enrich-classpath intentionally excludes some .jars. It could be that (which I intend to improve).

It's useful that you reflect that you see it working for at least one case. Similarly the JDK should be an easy case.