Coder Social home page Coder Social logo

Comments (24)

ericdallo avatar ericdallo commented on June 9, 2024 4

Found the bug!
the issue hapens because: after 2023.08.06-00.28.06 we had a huge performnace improvement excluding keywords analysis from external files, files that are not part of the project code, the problem is that we are considering the root deps.edn as external because it's not included in the the classpath (clj -Spath), but we know it's a valid project file, I think we can fix it considering it somehow, I'll check that

from clojure-lsp.

ericdallo avatar ericdallo commented on June 9, 2024 2

It should be fixed on master/nightly build!

from clojure-lsp.

helins avatar helins commented on June 9, 2024

Same, also using Neovim 0.9.5

from clojure-lsp.

Kaspazza avatar Kaspazza commented on June 9, 2024

@julienvincent Hi, running in deps.edn buffer command "clojure-mode" should help.
I've had that issue just like you (and I'm using newest clojure-lsp). And after one use it's automatically choosing clojure-mode for future .edn buffers.

from clojure-lsp.

julienvincent avatar julienvincent commented on June 9, 2024

@Kaspazza What do you mean run a "clojure-mode" command?

from clojure-lsp.

Kaspazza avatar Kaspazza commented on June 9, 2024

If you are using doom emacs and you have Clojure in your doom config enabled it’s default it’s M-x clojure-mode
https://github.com/clojure-emacs/clojure-mode

from clojure-lsp.

ericdallo avatar ericdallo commented on June 9, 2024

@julienvincent I really can't repro this and not sure it's aclojure-lsp fault, most likely it's on client side, do you have a repro where I can try? clojure-lsp edn files works great to me.

from clojure-lsp.

julienvincent avatar julienvincent commented on June 9, 2024

I'm not sure how to fully verify where the issue is - all I can say is that the only variable I am changing in my config is the version of clojure-lsp I have installed and that is enough to reproduce this issue.

Also to clarify I think this issue is only showing up for deps.edn files and not arbitrary .edn files.

@ericdallo I'm not sure how would be best for me to provide a repro. I can reproduce it reliably with my Neovim config (located here: https://github.com/julienvincent/config.nvim). If you are comfortable with Neovim you could use that to reproduce it:

  • Clone the repo to ~/.config/nvim
  • Open neovim
  • Run :MasonInstall clojure-lsp (which will install the latest)

Then :MasonInstall [email protected] and the problem goes away.

If you can suggest a better way to try reproduce let me know I'd be happy to try.

from clojure-lsp.

ericdallo avatar ericdallo commented on June 9, 2024

@julienvincent I still think it could be a client issue (neovim), but if you can reliable confirm it's fixed rolling back to that version we can double check, checking the changelog the only thing I can see that could affect that is this change where we now ignore analytsis elements for extenal deps (not project code), but a deps.edn file should be considered project code, and if you manually open it it should be linted as well and fill color so not sure it's realy that.

My suggestion is to get client<->server logs so we can confirm clojure-lsp is not responding to any textDocument/semanticTokens/full request.

from clojure-lsp.

julienvincent avatar julienvincent commented on June 9, 2024

@ericdallo I ran the server with --trace-level verbose and these are the logs produced:

Clojure-LSP Logs
2024-01-31T14:36:00.783Z  DEBUG [clojure-lsp.server:55] - [Trace - 2024-01-31T14:36:00.783Z] Sending notification '$/progress'
Params: {
  "token" : "enable-progress",
  "value" : {
    "kind" : "report",
    "message" : "Finding kondo config",
    "percentage" : 5
  }
}



2024-01-31T14:36:00.784Z  DEBUG [clojure-lsp.server:55] - [Trace - 2024-01-31T14:36:00.783Z] Sending notification '$/progress'
Params: {
  "token" : "enable-progress",
  "value" : {
    "kind" : "report",
    "message" : "Finding cache",
    "percentage" : 10
  }
}



2024-01-31T14:36:01.138Z  INFO [clojure-lsp.db:77] - [DB] Reading transit analysis cache from /Users/julienvincent/code/scratch/repl/.lsp/.cache/db.transit.json db took 354ms
2024-01-31T14:36:01.260Z  INFO [clojure-lsp.dep-graph:269] - :maintain-dep-graph 118ms
2024-01-31T14:36:01.269Z  INFO [clojure-lsp.startup:254] - [Startup] Using cached classpath #{"/Users/julienvincent/.m2/repository/io/opentelemetry/instrumentation/opentelemetry-resources/1.27.0-alpha/opentelemetry-resources-1.27.0-alpha.jar" "/Users/julienvincent/.m2/repository/transit-engineering/gatekeeper-client/2.1.3.0/gatekeeper-client-2.1.3.0.jar" "/Users/julienvincent/.m2/repository/org/jetbrains/kotlin/kotlin-stdlib/1.6.20/kotlin-stdlib-1.6.20.jar" "/Users/julienvincent/.m2/repository/io/opentelemetry/opentelemetry-sdk-common/1.29.0/opentelemetry-sdk-common-1.29.0.jar" "/Users/julienvincent/.m2/repository/io/opentelemetry/opentelemetry-api/1.29.0/opentelemetry-api-1.29.0.jar" "/Users/julienvincent/.m2/repository/com/fasterxml/jackson/core/jackson-databind/2.15.2/jackson-databind-2.15.2.jar" "/Users/julienvincent/.m2/repository/org/mongodb/bson/4.11.1/bson-4.11.1.jar" "/Users/julienvincent/.m2/repository/borkdude/edamame/1.3.23/edamame-1.3.23.jar" "/Users/julienvincent/.m2/repository/org/apache/httpcomponents/httpcore-nio/4.4.10/httpcore-nio-4.4.10.jar" "/Users/julienvincent/.m2/repository/tick/tick/0.7.5/tick-0.7.5.jar" "/Users/julienvincent/.m2/repository/io/opentelemetry/opentelemetry-exporter-otlp-common/1.29.0/opentelemetry-exporter-otlp-common-1.29.0.jar" "/Users/julienvincent/.m2/repository/org/apache/commons/commons-pool2/2.12.0/commons-pool2-2.12.0.jar" "/Users/julienvincent/.m2/repository/com/github/steffan-westcott/clj-otel-instrumentation-resources/0.2.3/clj-otel-instrumentation-resources-0.2.3.jar" "/Users/julienvincent/.m2/repository/com/fasterxml/jackson/datatype/jackson-datatype-jsr310/2.15.2/jackson-datatype-jsr310-2.15.2.jar" "/Users/julienvincent/.m2/repository/http-kit/http-kit/2.7.0/http-kit-2.7.0.jar" "/Users/julienvincent/.m2/repository/transit-engineering/opx/0.0.1.0/opx-0.0.1.0.jar" "/Users/julienvincent/.m2/repository/org/slf4j/log4j-over-slf4j/1.7.36/log4j-over-slf4j-1.7.36.jar" "/Users/julienvincent/.m2/repository/transit-engineering/op.clj/1.82.0.3/op.clj-1.82.0.3.jar" "/Users/julienvincent/.m2/repository/com/fasterxml/jackson/core/jackson-core/2.15.2/jackson-core-2.15.2.jar" "/Users/julienvincent/.m2/repository/com/fzakaria/slf4j-timbre/0.4.0/slf4j-timbre-0.4.0.jar" "/Users/julienvincent/.m2/repository/com/github/strojure/zmap/1.3.26/zmap-1.3.26.jar" "/Users/julienvincent/.m2/repository/com/taoensso/nippy/3.3.0/nippy-3.3.0.jar" "/Users/julienvincent/.m2/repository/transit-platform/kid.clj/1.77.1/kid.clj-1.77.1.jar" "/Users/julienvincent/.m2/repository/org/codehaus/mojo/animal-sniffer-annotations/1.21/animal-sniffer-annotations-1.21.jar" "/Users/julienvincent/.m2/repository/io/opentelemetry/opentelemetry-semconv/1.29.0-alpha/opentelemetry-semconv-1.29.0-alpha.jar" "/Users/julienvincent/.m2/repository/com/taoensso/timbre/6.3.1/timbre-6.3.1.jar" "/Users/julienvincent/.m2/repository/transit-engineering/accounts-client/4.0.0.0/accounts-client-4.0.0.0.jar" "/Users/julienvincent/.m2/repository/com/widdindustries/time-literals/0.1.10/time-literals-0.1.10.jar" "/Users/julienvincent/.m2/repository/metosin/malli/0.13.0/malli-0.13.0.jar" "/Users/julienvincent/.m2/repository/org/jetbrains/annotations/13.0/annotations-13.0.jar" "/Users/julienvincent/.m2/repository/com/taoensso/carmine/3.3.2/carmine-3.3.2.jar" "/Users/julienvincent/.m2/repository/com/google/android/annotations/4.1.1.4/annotations-4.1.1.4.jar" "/Users/julienvincent/.m2/repository/com/google/guava/failureaccess/1.0.1/failureaccess-1.0.1.jar" "/Users/julienvincent/.m2/repository/kepler16/glitch.clj/3.0.0.0/glitch.clj-3.0.0.0.jar" "/Users/julienvincent/.m2/repository/io/opentelemetry/opentelemetry-sdk-logs/1.29.0/opentelemetry-sdk-logs-1.29.0.jar" "/Users/julienvincent/.m2/repository/org/clojure/data.csv/1.0.1/data.csv-1.0.1.jar" "/Users/julienvincent/.m2/repository/clj-tuple/clj-tuple/0.2.2/clj-tuple-0.2.2.jar" "/Users/julienvincent/.m2/repository/potemkin/potemkin/0.4.5/potemkin-0.4.5.jar" "/Users/julienvincent/.m2/repository/org/jetbrains/kotlin/kotlin-stdlib-common/1.6.20/kotlin-stdlib-common-1.6.20.jar" "/Users/julienvincent/.m2/repository/io/opentelemetry/opentelemetry-exporter-otlp/1.29.0/opentelemetry-exporter-otlp-1.29.0.jar" "/Users/julienvincent/.m2/repository/com/google/j2objc/j2objc-annotations/1.3/j2objc-annotations-1.3.jar" "/Users/julienvincent/.m2/repository/com/google/guava/listenablefuture/9999.0-empty-to-avoid-conflict-with-guava/listenablefuture-9999.0-empty-to-avoid-conflict-with-guava.jar" "/Users/julienvincent/.m2/repository/transit-engineering/schema/0.2.0.3/schema-0.2.0.3.jar" "/Users/julienvincent/.m2/repository/org/apache/httpcomponents/httpclient-cache/4.5.13/httpclient-cache-4.5.13.jar" "/Users/julienvincent/.m2/repository/io/opentelemetry/opentelemetry-sdk-trace/1.29.0/opentelemetry-sdk-trace-1.29.0.jar" "/Users/julienvincent/.m2/repository/io/grpc/grpc-context/1.52.1/grpc-context-1.52.1.jar" "/Users/julienvincent/.m2/repository/io/sentry/sentry/6.33.1/sentry-6.33.1.jar" "/Users/julienvincent/.m2/repository/io/opentelemetry/opentelemetry-sdk-extension-autoconfigure-spi/1.29.0/opentelemetry-sdk-extension-autoconfigure-spi-1.29.0.jar" "/Users/julienvincent/.m2/repository/mvxcvi/alphabase/2.1.1/alphabase-2.1.1.jar" "/Users/julienvincent/.m2/repository/mvxcvi/arrangement/2.1.0/arrangement-2.1.0.jar" "/Users/julienvincent/.m2/repository/io/opentelemetry/opentelemetry-sdk/1.29.0/opentelemetry-sdk-1.29.0.jar" "src" "/Users/julienvincent/.m2/repository/io/grpc/grpc-protobuf-lite/1.52.1/grpc-protobuf-lite-1.52.1.jar" "/Users/julienvincent/.m2/repository/io/perfmark/perfmark-api/0.25.0/perfmark-api-0.25.0.jar" "/Users/julienvincent/.m2/repository/com/google/errorprone/error_prone_annotations/2.14.0/error_prone_annotations-2.14.0.jar" "/Users/julienvincent/.m2/repository/org/clojure/spec.alpha/0.3.218/spec.alpha-0.3.218.jar" "/Users/julienvincent/.m2/repository/io/aviso/pretty/1.4.4/pretty-1.4.4.jar" "/Users/julienvincent/.m2/repository/com/github/rosejn/msgpack-cljc/2.0.359/msgpack-cljc-2.0.359.jar" "/Users/julienvincent/.m2/repository/io/opentelemetry/opentelemetry-exporter-sender-okhttp/1.29.0/opentelemetry-exporter-sender-okhttp-1.29.0.jar" "/Users/julienvincent/.m2/repository/com/fasterxml/jackson/core/jackson-annotations/2.15.2/jackson-annotations-2.15.2.jar" "/Users/julienvincent/.m2/repository/com/widdindustries/cljs.java-time/0.1.20/cljs.java-time-0.1.20.jar" "/Users/julienvincent/.m2/repository/io/opentelemetry/instrumentation/opentelemetry-instrumentation-api-semconv/1.29.0-alpha/opentelemetry-instrumentation-api-semconv-1.29.0-alpha.jar" "/Users/julienvincent/.m2/repository/com/fasterxml/uuid/java-uuid-generator/4.1.0/java-uuid-generator-4.1.0.jar" "/Users/julienvincent/.m2/repository/mongo-driver-3/mongo-driver-3/0.7.0/mongo-driver-3-0.7.0.jar" "/Users/julienvincent/.m2/repository/io/opentelemetry/opentelemetry-extension-incubator/1.29.0-alpha/opentelemetry-extension-incubator-1.29.0-alpha.jar" "/Users/julienvincent/.m2/repository/io/grpc/grpc-protobuf/1.52.1/grpc-protobuf-1.52.1.jar" "/Users/julienvincent/.m2/repository/com/squareup/okio/okio-jvm/3.2.0/okio-jvm-3.2.0.jar" "/Users/julienvincent/.m2/repository/org/slf4j/slf4j-api/2.0.9/slf4j-api-2.0.9.jar" "/Users/julienvincent/.m2/repository/org/jetbrains/kotlin/kotlin-stdlib-jdk8/1.6.20/kotlin-stdlib-jdk8-1.6.20.jar" "/Users/julienvincent/.m2/repository/org/slf4j/jcl-over-slf4j/2.0.9/jcl-over-slf4j-2.0.9.jar" "/Users/julienvincent/.m2/repository/commons-logging/commons-logging/1.2/commons-logging-1.2.jar" "/Users/julienvincent/.m2/repository/io/grpc/grpc-core/1.52.1/grpc-core-1.52.1.jar" "/Users/julienvincent/.m2/repository/com/widdindustries/cljc.java-time/0.1.21/cljc.java-time-0.1.21.jar" "/Users/julienvincent/.m2/repository/org/slf4j/osgi-over-slf4j/1.7.36/osgi-over-slf4j-1.7.36.jar" "/Users/julienvincent/.m2/repository/org/mongodb/mongodb-driver-sync/4.11.1/mongodb-driver-sync-4.11.1.jar" "/Users/julienvincent/.m2/repository/com/google/code/gson/gson/2.9.0/gson-2.9.0.jar" "/Users/julienvincent/.m2/repository/io/grpc/grpc-netty-shaded/1.52.1/grpc-netty-shaded-1.52.1.jar" "/Users/julienvincent/.m2/repository/commons-codec/commons-codec/1.16.0/commons-codec-1.16.0.jar" "/Users/julienvincent/.m2/repository/org/mongodb/bson-record-codec/4.11.1/bson-record-codec-4.11.1.jar" "/Users/julienvincent/.m2/repository/org/clojure/tools.logging/1.2.4/tools.logging-1.2.4.jar" "/Users/julienvincent/.m2/repository/io/opentelemetry/instrumentation/opentelemetry-mongo-3.1/1.29.0-alpha/opentelemetry-mongo-3.1-1.29.0-alpha.jar" "/Users/julienvincent/.m2/repository/transit-engineering/mongo.clj/1.85.0.8/mongo.clj-1.85.0.8.jar" "/Users/julienvincent/.m2/repository/org/clojure/clojure/1.11.1/clojure-1.11.1.jar" "/Users/julienvincent/.m2/repository/camel-snake-kebab/camel-snake-kebab/0.4.3/camel-snake-kebab-0.4.3.jar" "/Users/julienvincent/.m2/repository/org/iq80/snappy/snappy/0.4/snappy-0.4.jar" "/Users/julienvincent/.m2/repository/org/apache/httpcomponents/httpclient/4.5.13/httpclient-4.5.13.jar" "/Users/julienvincent/.m2/repository/com/taoensso/encore/3.68.0/encore-3.68.0.jar" "/Users/julienvincent/.m2/repository/transit-engineering/kql/0.3.0.3/kql-0.3.0.3.jar" "/Users/julienvincent/.m2/repository/com/squareup/okhttp3/okhttp/4.11.0/okhttp-4.11.0.jar" "/Users/julienvincent/.m2/repository/org/clojure/core.rrb-vector/0.1.2/core.rrb-vector-0.1.2.jar" "/Users/julienvincent/.m2/repository/funcool/promesa/11.0.678/promesa-11.0.678.jar" "/Users/julienvincent/.m2/repository/org/clojure/core.specs.alpha/0.2.62/core.specs.alpha-0.2.62.jar" "/Users/julienvincent/.m2/repository/com/google/api/grpc/proto-google-common-protos/2.9.0/proto-google-common-protos-2.9.0.jar" "/Users/julienvincent/.m2/repository/com/google/protobuf/protobuf-java/3.21.7/protobuf-java-3.21.7.jar" "/Users/julienvincent/.m2/repository/org/lz4/lz4-java/1.8.0/lz4-java-1.8.0.jar" "/Users/julienvincent/.m2/repository/io/opentelemetry/instrumentation/opentelemetry-instrumentation-api/1.29.0/opentelemetry-instrumentation-api-1.29.0.jar" "/Users/julienvincent/.m2/repository/com/taoensso/truss/1.11.0/truss-1.11.0.jar" "/Users/julienvincent/.m2/repository/org/mongodb/mongodb-driver-core/4.11.1/mongodb-driver-core-4.11.1.jar" "/Users/julienvincent/.m2/repository/org/msgpack/msgpack-core/0.9.6/msgpack-core-0.9.6.jar" "/Users/julienvincent/.m2/repository/io/opentelemetry/opentelemetry-api-events/1.29.0-alpha/opentelemetry-api-events-1.29.0-alpha.jar" "/Users/julienvincent/.m2/repository/commons-io/commons-io/2.8.0/commons-io-2.8.0.jar" "/Users/julienvincent/.m2/repository/com/squareup/okio/okio/3.2.0/okio-3.2.0.jar" "/Users/julienvincent/.m2/repository/metosin/jsonista/0.3.8/jsonista-0.3.8.jar" "/Users/julienvincent/.m2/repository/io/opentelemetry/opentelemetry-sdk-metrics/1.29.0/opentelemetry-sdk-metrics-1.29.0.jar" "/Users/julienvincent/.m2/repository/transit-engineering/telemetry.clj/2.2.3.0/telemetry.clj-2.2.3.0.jar" "/Users/julienvincent/.m2/repository/riddley/riddley/0.1.12/riddley-0.1.12.jar" "/Users/julienvincent/.m2/repository/borkdude/dynaload/0.3.5/dynaload-0.3.5.jar" "/Users/julienvincent/.m2/repository/io/grpc/grpc-stub/1.52.1/grpc-stub-1.52.1.jar" "/Users/julienvincent/.m2/repository/io/opentelemetry/opentelemetry-exporter-common/1.29.0/opentelemetry-exporter-common-1.29.0.jar" "/Users/julienvincent/.m2/repository/com/github/steffan-westcott/clj-otel-api/0.2.3/clj-otel-api-0.2.3.jar" "/Users/julienvincent/.m2/repository/org/slf4j/jul-to-slf4j/1.7.36/jul-to-slf4j-1.7.36.jar" "/Users/julienvincent/.m2/repository/fipp/fipp/0.6.26/fipp-0.6.26.jar" "/Users/julienvincent/.m2/repository/org/jetbrains/kotlin/kotlin-stdlib-jdk7/1.6.20/kotlin-stdlib-jdk7-1.6.20.jar" "/Users/julienvincent/.m2/repository/io/opentelemetry/opentelemetry-context/1.29.0/opentelemetry-context-1.29.0.jar" "/Users/julienvincent/.m2/repository/org/apache/httpcomponents/httpcore/4.4.14/httpcore-4.4.14.jar" "/Users/julienvincent/.m2/repository/org/tukaani/xz/1.9/xz-1.9.jar" "/Users/julienvincent/.m2/repository/com/taoensso/tufte/2.6.3/tufte-2.6.3.jar" "/Users/julienvincent/.m2/repository/clj-http/clj-http/3.12.3/clj-http-3.12.3.jar" "/Users/julienvincent/.m2/repository/com/google/guava/guava/31.1-android/guava-31.1-android.jar" "/Users/julienvincent/.m2/repository/org/apache/httpcomponents/httpmime/4.5.13/httpmime-4.5.13.jar" "/Users/julienvincent/.m2/repository/org/clojure/test.check/1.1.1/test.check-1.1.1.jar" "/Users/julienvincent/.m2/repository/com/github/steffan-westcott/clj-otel-sdk/0.2.3/clj-otel-sdk-0.2.3.jar" "/Users/julienvincent/.m2/repository/com/google/code/findbugs/jsr305/3.0.2/jsr305-3.0.2.jar" "/Users/julienvincent/.m2/repository/org/clojure/tools.reader/1.3.6/tools.reader-1.3.6.jar" "/Users/julienvincent/.m2/repository/org/checkerframework/checker-qual/3.12.0/checker-qual-3.12.0.jar" "resources" "test" "/Users/julienvincent/.m2/repository/org/apache/httpcomponents/httpasyncclient/4.1.4/httpasyncclient-4.1.4.jar" "/Users/julienvincent/.m2/repository/babashka/fs/0.4.19/fs-0.4.19.jar" "/Users/julienvincent/.m2/repository/slingshot/slingshot/0.12.2/slingshot-0.12.2.jar" "/Users/julienvincent/.m2/repository/io/grpc/grpc-api/1.52.1/grpc-api-1.52.1.jar"}
2024-01-31T14:36:01.270Z  INFO [clojure-lsp.source-paths:85] - [Startup] Using source-paths from classpath: ["/Users/julienvincent/code/scratch/repl/src" "/Users/julienvincent/code/scratch/repl/resources" "/Users/julienvincent/code/scratch/repl/test"]
2024-01-31T14:36:01.270Z  INFO [clojure-lsp.startup:142] - Copying kondo configs from classpath to project if any...
2024-01-31T14:36:01.270Z  DEBUG [clojure-lsp.server:55] - [Trace - 2024-01-31T14:36:01.270Z] Sending notification '$/progress'
Params: {
  "token" : "enable-progress",
  "value" : {
    "kind" : "report",
    "message" : "Copying kondo configs",
    "percentage" : 15
  }
}



2024-01-31T14:36:01.341Z  WARN [clojure-lsp.kondo:363] - Non-fatal error from clj-kondo: Configs copied:
- .clj-kondo/babashka/fs
- .clj-kondo/com.github.steffan-westcott/clj-otel-api
- .clj-kondo/config.edn
- .clj-kondo/funcool/promesa
- .clj-kondo/hooks/transit
- .clj-kondo/http-kit/http-kit
- .clj-kondo/metosin/malli
- .clj-kondo/taoensso/encore

2024-01-31T14:36:01.341Z  INFO [clojure-lsp.startup:144] - Copied kondo configs, took 71ms secs.
2024-01-31T14:36:01.341Z  INFO [clojure-lsp.startup:290] - [Startup] Analyzing source paths for project root /Users/julienvincent/code/scratch/repl
2024-01-31T14:36:01.341Z  DEBUG [clojure-lsp.server:55] - [Trace - 2024-01-31T14:36:01.341Z] Sending notification '$/progress'
Params: {
  "token" : "enable-progress",
  "value" : {
    "kind" : "report",
    "message" : "Resolving config paths",
    "percentage" : 15
  }
}



2024-01-31T14:36:01.342Z  DEBUG [clojure-lsp.server:55] - [Trace - 2024-01-31T14:36:01.341Z] Sending notification '$/progress'
Params: {
  "token" : "enable-progress",
  "value" : {
    "kind" : "report",
    "message" : "Analyzing project files",
    "percentage" : 20
  }
}



2024-01-31T14:36:01.342Z  INFO [clojure-lsp.startup:75] - [Startup] Project only paths analyzed by clj-depend, took 0ms
2024-01-31T14:36:01.345Z  DEBUG [clojure-lsp.server:55] - [Trace - 2024-01-31T14:36:01.345Z] Sending notification '$/progress'
Params: {
  "token" : "enable-progress",
  "value" : {
    "kind" : "report",
    "message" : "Analyzing project files",
    "percentage" : 27
  }
}



2024-01-31T14:36:01.350Z  DEBUG [clojure-lsp.server:55] - [Trace - 2024-01-31T14:36:01.350Z] Sending notification '$/progress'
Params: {
  "token" : "enable-progress",
  "value" : {
    "kind" : "report",
    "message" : "Analyzing project files",
    "percentage" : 34
  }
}



2024-01-31T14:36:01.353Z  DEBUG [clojure-lsp.server:55] - [Trace - 2024-01-31T14:36:01.353Z] Sending notification '$/progress'
Params: {
  "token" : "enable-progress",
  "value" : {
    "kind" : "report",
    "message" : "Analyzing project files",
    "percentage" : 41
  }
}



2024-01-31T14:36:01.354Z  DEBUG [clojure-lsp.server:55] - [Trace - 2024-01-31T14:36:01.354Z] Sending notification '$/progress'
Params: {
  "token" : "enable-progress",
  "value" : {
    "kind" : "report",
    "message" : "Analyzing project files",
    "percentage" : 48
  }
}



2024-01-31T14:36:01.357Z  DEBUG [clojure-lsp.server:55] - [Trace - 2024-01-31T14:36:01.357Z] Sending notification '$/progress'
Params: {
  "token" : "enable-progress",
  "value" : {
    "kind" : "report",
    "message" : "Analyzing project files",
    "percentage" : 55
  }
}



2024-01-31T14:36:01.357Z  DEBUG [clojure-lsp.server:55] - [Trace - 2024-01-31T14:36:01.357Z] Sending notification '$/progress'
Params: {
  "token" : "enable-progress",
  "value" : {
    "kind" : "report",
    "message" : "Analyzing project files",
    "percentage" : 62
  }
}



2024-01-31T14:36:01.358Z  DEBUG [clojure-lsp.server:55] - [Trace - 2024-01-31T14:36:01.358Z] Sending notification '$/progress'
Params: {
  "token" : "enable-progress",
  "value" : {
    "kind" : "report",
    "message" : "Analyzing project files",
    "percentage" : 69
  }
}



2024-01-31T14:36:01.359Z  DEBUG [clojure-lsp.server:55] - [Trace - 2024-01-31T14:36:01.359Z] Sending notification '$/progress'
Params: {
  "token" : "enable-progress",
  "value" : {
    "kind" : "report",
    "message" : "Analyzing project files",
    "percentage" : 76
  }
}



2024-01-31T14:36:01.360Z  DEBUG [clojure-lsp.server:55] - [Trace - 2024-01-31T14:36:01.360Z] Sending notification '$/progress'
Params: {
  "token" : "enable-progress",
  "value" : {
    "kind" : "report",
    "message" : "Analyzing project files",
    "percentage" : 83
  }
}



2024-01-31T14:36:01.361Z  DEBUG [clojure-lsp.server:55] - [Trace - 2024-01-31T14:36:01.361Z] Sending notification '$/progress'
Params: {
  "token" : "enable-progress",
  "value" : {
    "kind" : "report",
    "message" : "Analyzing project files",
    "percentage" : 90
  }
}



2024-01-31T14:36:01.361Z  DEBUG [clojure-lsp.server:55] - [Trace - 2024-01-31T14:36:01.361Z] Sending notification '$/progress'
Params: {
  "token" : "enable-progress",
  "value" : {
    "kind" : "report",
    "message" : "Analyzing project files",
    "percentage" : 98
  }
}



2024-01-31T14:36:01.380Z  INFO [clojure-lsp.dep-graph:269] - :maintain-dep-graph 0ms
2024-01-31T14:36:01.389Z  INFO [clojure-lsp.kondo:242] - Linting whole project for unused-public-var took 11ms
2024-01-31T14:36:01.389Z  WARN [clojure-lsp.kondo:363] - Non-fatal error from clj-kondo: No configs copied.

2024-01-31T14:36:01.390Z  INFO [clojure-lsp.startup:71] - [Startup] Project only paths analyzed by clj-kondo, took 49ms
2024-01-31T14:36:01.391Z  INFO [clojure-lsp.dep-graph:269] - :maintain-dep-graph 0ms
2024-01-31T14:36:01.391Z  DEBUG [clojure-lsp.server:55] - [Trace - 2024-01-31T14:36:01.391Z] Sending notification '$/progress'
Params: {
  "token" : "enable-progress",
  "value" : {
    "kind" : "report",
    "message" : "Project analyzed",
    "percentage" : 99
  }
}



2024-01-31T14:36:01.392Z  INFO [clojure-lsp.handlers:192] - [Startup] Analyzing test paths for project root file:///Users/julienvincent/code/scratch/repl
2024-01-31T14:36:01.392Z  DEBUG [clojure-lsp.server:55] - [Trace - 2024-01-31T14:36:01.392Z] Sending notification '$/progress'
Params: {
  "token" : "enable-progress",
  "value" : {
    "kind" : "report",
    "message" : "Fetching Clojuredocs"
  }
}



2024-01-31T14:36:01.392Z  INFO [clojure-lsp.handlers:165] - :initialize 609ms
2024-01-31T14:36:01.392Z  INFO [clojure-lsp.feature.clojuredocs:21] - [Clojuredocs] Refreshing clojuredocs cache...
2024-01-31T14:36:01.392Z  INFO [clojure-lsp.server:102] - :publish-diagnostics 0ms
2024-01-31T14:36:01.392Z  INFO [clojure-lsp.server:102] - :publish-diagnostics 0ms
2024-01-31T14:36:01.392Z  INFO [clojure-lsp.server:102] - :publish-diagnostics 0ms
2024-01-31T14:36:01.392Z  INFO [clojure-lsp.server:102] - :publish-diagnostics 0ms
2024-01-31T14:36:01.393Z  INFO [clojure-lsp.server:102] - :publish-diagnostics 0ms
2024-01-31T14:36:01.393Z  INFO [clojure-lsp.server:102] - :publish-diagnostics 0ms
2024-01-31T14:36:01.393Z  INFO [clojure-lsp.server:102] - :publish-diagnostics 0ms
2024-01-31T14:36:01.393Z  INFO [clojure-lsp.server:508] - Initialized!
2024-01-31T14:36:01.393Z  INFO [clojure-lsp.server:102] - :publish-diagnostics 0ms
2024-01-31T14:36:01.393Z  INFO [clojure-lsp.server:102] - :publish-diagnostics 0ms
2024-01-31T14:36:01.393Z  INFO [clojure-lsp.server:102] - :publish-diagnostics 0ms
2024-01-31T14:36:01.395Z  INFO [clojure-lsp.dep-graph:269] - :maintain-dep-graph 0ms
2024-01-31T14:36:01.396Z  WARN [clojure-lsp.kondo:363] - Non-fatal error from clj-kondo: No configs copied.

2024-01-31T14:36:01.396Z  INFO [clojure-lsp.dep-graph:269] - :maintain-dep-graph 0ms
2024-01-31T14:36:01.396Z  INFO [clojure-lsp.handlers:197] - :did-open 3ms
2024-01-31T14:36:01.396Z  INFO [clojure-lsp.server:102] - :publish-diagnostics 0ms
2024-01-31T14:36:01.396Z  INFO [clojure-lsp.server:102] - :publish-diagnostics 0ms
2024-01-31T14:36:01.397Z  INFO [clojure-lsp.dep-graph:269] - :maintain-dep-graph 0ms
2024-01-31T14:36:01.398Z  WARN [clojure-lsp.kondo:363] - Non-fatal error from clj-kondo: No configs copied.

2024-01-31T14:36:01.398Z  INFO [clojure-lsp.dep-graph:269] - :maintain-dep-graph 0ms
2024-01-31T14:36:01.398Z  INFO [clojure-lsp.handlers:197] - :did-open 2ms
2024-01-31T14:36:01.398Z  INFO [clojure-lsp.handlers:502] - :semantic-tokens-full 0ms
2024-01-31T14:36:01.398Z  INFO [clojure-lsp.handlers:502] - :semantic-tokens-full 0ms
2024-01-31T14:36:01.423Z  INFO [clojure-lsp.server:102] - :publish-diagnostics 0ms
2024-01-31T14:36:02.432Z  INFO [clojure-lsp.feature.clojuredocs:23] - [Clojuredocs] Refreshing clojuredocs cache took 1040ms.
2024-01-31T14:36:03.706Z  INFO [clojure-lsp.db:77] - [DB] Reading transit analysis cache from /Users/julienvincent/.cache/clojure-lsp/db.transit.json db took 1273ms
2024-01-31T14:36:03.706Z  INFO [clojure-lsp.feature.java-interop:271] - [Java] JDK source already present on global LSP cache dir.
2024-01-31T14:36:03.714Z  INFO [clojure-lsp.dep-graph:269] - :maintain-dep-graph 5ms
2024-01-31T14:36:03.716Z  INFO [clojure-lsp.feature.java-interop:312] - [Java] JDK source analysis cache loaded successfully.
2024-01-31T14:36:07.009Z  INFO [clojure-lsp.handlers:302] - :document-highlight 0ms

from clojure-lsp.

ericdallo avatar ericdallo commented on June 9, 2024

@julienvincent I don't see client sending any textDocument/semanticTokens/full requests, so that's probably the problem, I'd investigate if you have LSP semantic tokens enabled in your editor

from clojure-lsp.

armed avatar armed commented on June 9, 2024

Maybe this observation can help (with one small correction).

It's not about deps.edn file, if you copy it to somewhere in the :paths semantic tokens starts working immediately. Any .edn file stops rendering semantic tokens when it is located not in the :paths of the project. For .clj files all seems fine though.

Whenever I open non-path edn file I get this logs (clearing log file on each attempt):

2024-02-13T06:01:14.265Z  INFO [clojure-lsp.handlers:302] - :document-highlight 0ms
2024-02-13T06:01:15.837Z  INFO [clojure-lsp.dep-graph:269] - :maintain-dep-graph 0ms
2024-02-13T06:01:15.843Z  WARN [clojure-lsp.kondo:363] - Non-fatal error from clj-kondo: No configs copied.

2024-02-13T06:01:15.843Z  INFO [clojure-lsp.dep-graph:269] - :maintain-dep-graph 0ms
2024-02-13T06:01:15.843Z  INFO [clojure-lsp.handlers:197] - :did-open 11ms
2024-02-13T06:01:15.843Z  INFO [clojure-lsp.handlers:488] - :code-lens 0ms
2024-02-13T06:01:15.848Z  INFO [clojure-lsp.handlers:302] - :document-highlight 0ms
2024-02-13T06:01:15.869Z  INFO [clojure-lsp.handlers:502] - :semantic-tokens-full 0ms
2024-02-13T06:01:15.873Z  INFO [clojure-lsp.server:102] - :publish-diagnostics 0ms

with no highlights.

When I open edn file in the :path

2024-02-13T06:02:21.130Z  INFO [clojure-lsp.handlers:302] - :document-highlight 0ms
2024-02-13T06:02:24.774Z  INFO [clojure-lsp.handlers:302] - :document-highlight 0ms
2024-02-13T06:02:29.730Z  INFO [clojure-lsp.dep-graph:269] - :maintain-dep-graph 0ms
2024-02-13T06:02:29.736Z  WARN [clojure-lsp.kondo:363] - Non-fatal error from clj-kondo: No configs copied.

2024-02-13T06:02:29.736Z  INFO [clojure-lsp.dep-graph:269] - :maintain-dep-graph 0ms
2024-02-13T06:02:29.737Z  INFO [clojure-lsp.handlers:197] - :did-open 12ms
2024-02-13T06:02:29.737Z  INFO [clojure-lsp.handlers:488] - :code-lens 0ms
2024-02-13T06:02:29.742Z  INFO [clojure-lsp.handlers:302] - :document-highlight 0ms
2024-02-13T06:02:29.763Z  INFO [clojure-lsp.server:102] - :publish-diagnostics 0ms
2024-02-13T06:02:29.768Z  INFO [clojure-lsp.handlers:502] - :semantic-tokens-full 1ms

highlights are shown.

from clojure-lsp.

julienvincent avatar julienvincent commented on June 9, 2024

@ericdallo Here are the logs produced when opening the same file in the same project with the same editor config with the only difference being that clojure-lsp is version 2023.08.06-00.28.06:

Details
2024-02-13T10:25:39.991Z  INFO [clojure-lsp.server:513] - Shutting down...
2024-02-13T10:25:39.994Z  INFO [clojure-lsp.server:477] - Exiting...
2024-02-13T10:25:41.073Z  INFO [clojure-lsp.db:77] - [DB] Reading transit analysis cache from /Users/julienvincent/code/scratch/repl/.lsp/.cache/db.transit.json db took 559ms
2024-02-13T10:25:41.128Z  INFO [clojure-lsp.dep-graph:269] - :maintain-dep-graph 15ms
2024-02-13T10:25:41.241Z  INFO [clojure-lsp.startup:225] - [Startup] Using cached classpath #{"/Users/julienvincent/.m2/repository/io/opentelemetry/instrumentation/opentelemetry-resources/1.27.0-alpha/opentelemetry-resources-1.27.0-alpha.jar" "/Users/julienvincent/.m2/repository/transit-engineering/gatekeeper-client/2.1.3.0/gatekeeper-client-2.1.3.0.jar" "/Users/julienvincent/.m2/repository/org/jetbrains/kotlin/kotlin-stdlib/1.6.20/kotlin-stdlib-1.6.20.jar" "/Users/julienvincent/.m2/repository/io/opentelemetry/opentelemetry-sdk-common/1.29.0/opentelemetry-sdk-common-1.29.0.jar" "/Users/julienvincent/.m2/repository/io/opentelemetry/opentelemetry-api/1.29.0/opentelemetry-api-1.29.0.jar" "/Users/julienvincent/.m2/repository/com/fasterxml/jackson/core/jackson-databind/2.15.2/jackson-databind-2.15.2.jar" "/Users/julienvincent/.m2/repository/org/mongodb/bson/4.11.1/bson-4.11.1.jar" "/Users/julienvincent/.m2/repository/borkdude/edamame/1.3.23/edamame-1.3.23.jar" "/Users/julienvincent/.m2/repository/org/apache/httpcomponents/httpcore-nio/4.4.10/httpcore-nio-4.4.10.jar" "/Users/julienvincent/.m2/repository/tick/tick/0.7.5/tick-0.7.5.jar" "/Users/julienvincent/.m2/repository/io/opentelemetry/opentelemetry-exporter-otlp-common/1.29.0/opentelemetry-exporter-otlp-common-1.29.0.jar" "/Users/julienvincent/.m2/repository/org/apache/commons/commons-pool2/2.12.0/commons-pool2-2.12.0.jar" "/Users/julienvincent/.m2/repository/com/github/steffan-westcott/clj-otel-instrumentation-resources/0.2.3/clj-otel-instrumentation-resources-0.2.3.jar" "/Users/julienvincent/.m2/repository/com/fasterxml/jackson/datatype/jackson-datatype-jsr310/2.15.2/jackson-datatype-jsr310-2.15.2.jar" "/Users/julienvincent/.m2/repository/http-kit/http-kit/2.7.0/http-kit-2.7.0.jar" "/Users/julienvincent/.m2/repository/transit-engineering/opx/0.0.1.0/opx-0.0.1.0.jar" "/Users/julienvincent/.m2/repository/org/slf4j/log4j-over-slf4j/1.7.36/log4j-over-slf4j-1.7.36.jar" "/Users/julienvincent/.m2/repository/transit-engineering/op.clj/1.82.0.3/op.clj-1.82.0.3.jar" "/Users/julienvincent/.m2/repository/com/fasterxml/jackson/core/jackson-core/2.15.2/jackson-core-2.15.2.jar" "/Users/julienvincent/.m2/repository/com/fzakaria/slf4j-timbre/0.4.0/slf4j-timbre-0.4.0.jar" "/Users/julienvincent/.m2/repository/com/github/strojure/zmap/1.3.26/zmap-1.3.26.jar" "/Users/julienvincent/.m2/repository/com/taoensso/nippy/3.3.0/nippy-3.3.0.jar" "/Users/julienvincent/.m2/repository/transit-platform/kid.clj/1.77.1/kid.clj-1.77.1.jar" "/Users/julienvincent/.m2/repository/org/codehaus/mojo/animal-sniffer-annotations/1.21/animal-sniffer-annotations-1.21.jar" "/Users/julienvincent/.m2/repository/io/opentelemetry/opentelemetry-semconv/1.29.0-alpha/opentelemetry-semconv-1.29.0-alpha.jar" "/Users/julienvincent/.m2/repository/com/taoensso/timbre/6.3.1/timbre-6.3.1.jar" "/Users/julienvincent/.m2/repository/transit-engineering/accounts-client/4.0.0.0/accounts-client-4.0.0.0.jar" "/Users/julienvincent/.m2/repository/com/widdindustries/time-literals/0.1.10/time-literals-0.1.10.jar" "/Users/julienvincent/.m2/repository/metosin/malli/0.13.0/malli-0.13.0.jar" "/Users/julienvincent/.m2/repository/org/jetbrains/annotations/13.0/annotations-13.0.jar" "/Users/julienvincent/.m2/repository/com/taoensso/carmine/3.3.2/carmine-3.3.2.jar" "/Users/julienvincent/.m2/repository/com/google/android/annotations/4.1.1.4/annotations-4.1.1.4.jar" "/Users/julienvincent/.m2/repository/com/google/guava/failureaccess/1.0.1/failureaccess-1.0.1.jar" "/Users/julienvincent/.m2/repository/kepler16/glitch.clj/3.0.0.0/glitch.clj-3.0.0.0.jar" "/Users/julienvincent/.m2/repository/io/opentelemetry/opentelemetry-sdk-logs/1.29.0/opentelemetry-sdk-logs-1.29.0.jar" "/Users/julienvincent/.m2/repository/org/clojure/data.csv/1.0.1/data.csv-1.0.1.jar" "/Users/julienvincent/.m2/repository/clj-tuple/clj-tuple/0.2.2/clj-tuple-0.2.2.jar" "/Users/julienvincent/.m2/repository/potemkin/potemkin/0.4.5/potemkin-0.4.5.jar" "/Users/julienvincent/.m2/repository/org/jetbrains/kotlin/kotlin-stdlib-common/1.6.20/kotlin-stdlib-common-1.6.20.jar" "/Users/julienvincent/.m2/repository/io/opentelemetry/opentelemetry-exporter-otlp/1.29.0/opentelemetry-exporter-otlp-1.29.0.jar" "/Users/julienvincent/.m2/repository/com/google/j2objc/j2objc-annotations/1.3/j2objc-annotations-1.3.jar" "/Users/julienvincent/.m2/repository/com/google/guava/listenablefuture/9999.0-empty-to-avoid-conflict-with-guava/listenablefuture-9999.0-empty-to-avoid-conflict-with-guava.jar" "/Users/julienvincent/.m2/repository/transit-engineering/schema/0.2.0.3/schema-0.2.0.3.jar" "/Users/julienvincent/.m2/repository/org/apache/httpcomponents/httpclient-cache/4.5.13/httpclient-cache-4.5.13.jar" "/Users/julienvincent/.m2/repository/io/opentelemetry/opentelemetry-sdk-trace/1.29.0/opentelemetry-sdk-trace-1.29.0.jar" "/Users/julienvincent/.m2/repository/io/grpc/grpc-context/1.52.1/grpc-context-1.52.1.jar" "/Users/julienvincent/.m2/repository/io/sentry/sentry/6.33.1/sentry-6.33.1.jar" "/Users/julienvincent/.m2/repository/io/opentelemetry/opentelemetry-sdk-extension-autoconfigure-spi/1.29.0/opentelemetry-sdk-extension-autoconfigure-spi-1.29.0.jar" "/Users/julienvincent/.m2/repository/mvxcvi/alphabase/2.1.1/alphabase-2.1.1.jar" "/Users/julienvincent/.m2/repository/mvxcvi/arrangement/2.1.0/arrangement-2.1.0.jar" "/Users/julienvincent/.m2/repository/io/opentelemetry/opentelemetry-sdk/1.29.0/opentelemetry-sdk-1.29.0.jar" "src" "/Users/julienvincent/.m2/repository/io/grpc/grpc-protobuf-lite/1.52.1/grpc-protobuf-lite-1.52.1.jar" "/Users/julienvincent/.m2/repository/io/perfmark/perfmark-api/0.25.0/perfmark-api-0.25.0.jar" "/Users/julienvincent/.m2/repository/com/google/errorprone/error_prone_annotations/2.14.0/error_prone_annotations-2.14.0.jar" "/Users/julienvincent/.m2/repository/org/clojure/spec.alpha/0.3.218/spec.alpha-0.3.218.jar" "/Users/julienvincent/.m2/repository/io/aviso/pretty/1.4.4/pretty-1.4.4.jar" "/Users/julienvincent/.m2/repository/com/github/rosejn/msgpack-cljc/2.0.359/msgpack-cljc-2.0.359.jar" "/Users/julienvincent/.m2/repository/io/opentelemetry/opentelemetry-exporter-sender-okhttp/1.29.0/opentelemetry-exporter-sender-okhttp-1.29.0.jar" "/Users/julienvincent/.m2/repository/com/fasterxml/jackson/core/jackson-annotations/2.15.2/jackson-annotations-2.15.2.jar" "/Users/julienvincent/.m2/repository/com/widdindustries/cljs.java-time/0.1.20/cljs.java-time-0.1.20.jar" "/Users/julienvincent/.m2/repository/io/opentelemetry/instrumentation/opentelemetry-instrumentation-api-semconv/1.29.0-alpha/opentelemetry-instrumentation-api-semconv-1.29.0-alpha.jar" "/Users/julienvincent/.m2/repository/com/fasterxml/uuid/java-uuid-generator/4.1.0/java-uuid-generator-4.1.0.jar" "/Users/julienvincent/.m2/repository/mongo-driver-3/mongo-driver-3/0.7.0/mongo-driver-3-0.7.0.jar" "/Users/julienvincent/.m2/repository/io/opentelemetry/opentelemetry-extension-incubator/1.29.0-alpha/opentelemetry-extension-incubator-1.29.0-alpha.jar" "/Users/julienvincent/.m2/repository/io/grpc/grpc-protobuf/1.52.1/grpc-protobuf-1.52.1.jar" "/Users/julienvincent/.m2/repository/com/squareup/okio/okio-jvm/3.2.0/okio-jvm-3.2.0.jar" "/Users/julienvincent/.m2/repository/org/slf4j/slf4j-api/2.0.9/slf4j-api-2.0.9.jar" "/Users/julienvincent/.m2/repository/org/jetbrains/kotlin/kotlin-stdlib-jdk8/1.6.20/kotlin-stdlib-jdk8-1.6.20.jar" "/Users/julienvincent/.m2/repository/org/slf4j/jcl-over-slf4j/2.0.9/jcl-over-slf4j-2.0.9.jar" "/Users/julienvincent/.m2/repository/commons-logging/commons-logging/1.2/commons-logging-1.2.jar" "/Users/julienvincent/.m2/repository/io/grpc/grpc-core/1.52.1/grpc-core-1.52.1.jar" "/Users/julienvincent/.m2/repository/com/widdindustries/cljc.java-time/0.1.21/cljc.java-time-0.1.21.jar" "/Users/julienvincent/.m2/repository/org/slf4j/osgi-over-slf4j/1.7.36/osgi-over-slf4j-1.7.36.jar" "/Users/julienvincent/.m2/repository/org/mongodb/mongodb-driver-sync/4.11.1/mongodb-driver-sync-4.11.1.jar" "/Users/julienvincent/.m2/repository/com/google/code/gson/gson/2.9.0/gson-2.9.0.jar" "/Users/julienvincent/.m2/repository/io/grpc/grpc-netty-shaded/1.52.1/grpc-netty-shaded-1.52.1.jar" "/Users/julienvincent/.m2/repository/commons-codec/commons-codec/1.16.0/commons-codec-1.16.0.jar" "/Users/julienvincent/.m2/repository/org/mongodb/bson-record-codec/4.11.1/bson-record-codec-4.11.1.jar" "/Users/julienvincent/.m2/repository/org/clojure/tools.logging/1.2.4/tools.logging-1.2.4.jar" "/Users/julienvincent/.m2/repository/io/opentelemetry/instrumentation/opentelemetry-mongo-3.1/1.29.0-alpha/opentelemetry-mongo-3.1-1.29.0-alpha.jar" "/Users/julienvincent/.m2/repository/transit-engineering/mongo.clj/1.85.0.8/mongo.clj-1.85.0.8.jar" "/Users/julienvincent/.m2/repository/org/clojure/clojure/1.11.1/clojure-1.11.1.jar" "/Users/julienvincent/.m2/repository/camel-snake-kebab/camel-snake-kebab/0.4.3/camel-snake-kebab-0.4.3.jar" "/Users/julienvincent/.m2/repository/org/iq80/snappy/snappy/0.4/snappy-0.4.jar" "/Users/julienvincent/.m2/repository/org/apache/httpcomponents/httpclient/4.5.13/httpclient-4.5.13.jar" "/Users/julienvincent/.m2/repository/com/taoensso/encore/3.68.0/encore-3.68.0.jar" "/Users/julienvincent/.m2/repository/transit-engineering/kql/0.3.0.3/kql-0.3.0.3.jar" "/Users/julienvincent/.m2/repository/com/squareup/okhttp3/okhttp/4.11.0/okhttp-4.11.0.jar" "/Users/julienvincent/.m2/repository/org/clojure/core.rrb-vector/0.1.2/core.rrb-vector-0.1.2.jar" "/Users/julienvincent/.m2/repository/funcool/promesa/11.0.678/promesa-11.0.678.jar" "/Users/julienvincent/.m2/repository/org/clojure/core.specs.alpha/0.2.62/core.specs.alpha-0.2.62.jar" "/Users/julienvincent/.m2/repository/com/google/api/grpc/proto-google-common-protos/2.9.0/proto-google-common-protos-2.9.0.jar" "/Users/julienvincent/.m2/repository/com/google/protobuf/protobuf-java/3.21.7/protobuf-java-3.21.7.jar" "/Users/julienvincent/.m2/repository/org/lz4/lz4-java/1.8.0/lz4-java-1.8.0.jar" "/Users/julienvincent/.m2/repository/io/opentelemetry/instrumentation/opentelemetry-instrumentation-api/1.29.0/opentelemetry-instrumentation-api-1.29.0.jar" "/Users/julienvincent/.m2/repository/com/taoensso/truss/1.11.0/truss-1.11.0.jar" "/Users/julienvincent/.m2/repository/org/mongodb/mongodb-driver-core/4.11.1/mongodb-driver-core-4.11.1.jar" "/Users/julienvincent/.m2/repository/org/msgpack/msgpack-core/0.9.6/msgpack-core-0.9.6.jar" "/Users/julienvincent/.m2/repository/io/opentelemetry/opentelemetry-api-events/1.29.0-alpha/opentelemetry-api-events-1.29.0-alpha.jar" "/Users/julienvincent/.m2/repository/commons-io/commons-io/2.8.0/commons-io-2.8.0.jar" "/Users/julienvincent/.m2/repository/com/squareup/okio/okio/3.2.0/okio-3.2.0.jar" "/Users/julienvincent/.m2/repository/metosin/jsonista/0.3.8/jsonista-0.3.8.jar" "/Users/julienvincent/.m2/repository/io/opentelemetry/opentelemetry-sdk-metrics/1.29.0/opentelemetry-sdk-metrics-1.29.0.jar" "/Users/julienvincent/.m2/repository/transit-engineering/telemetry.clj/2.2.3.0/telemetry.clj-2.2.3.0.jar" "/Users/julienvincent/.m2/repository/riddley/riddley/0.1.12/riddley-0.1.12.jar" "/Users/julienvincent/.m2/repository/borkdude/dynaload/0.3.5/dynaload-0.3.5.jar" "/Users/julienvincent/.m2/repository/io/grpc/grpc-stub/1.52.1/grpc-stub-1.52.1.jar" "/Users/julienvincent/.m2/repository/io/opentelemetry/opentelemetry-exporter-common/1.29.0/opentelemetry-exporter-common-1.29.0.jar" "/Users/julienvincent/.m2/repository/com/github/steffan-westcott/clj-otel-api/0.2.3/clj-otel-api-0.2.3.jar" "/Users/julienvincent/.m2/repository/org/slf4j/jul-to-slf4j/1.7.36/jul-to-slf4j-1.7.36.jar" "/Users/julienvincent/.m2/repository/fipp/fipp/0.6.26/fipp-0.6.26.jar" "/Users/julienvincent/.m2/repository/org/jetbrains/kotlin/kotlin-stdlib-jdk7/1.6.20/kotlin-stdlib-jdk7-1.6.20.jar" "/Users/julienvincent/.m2/repository/io/opentelemetry/opentelemetry-context/1.29.0/opentelemetry-context-1.29.0.jar" "/Users/julienvincent/.m2/repository/org/apache/httpcomponents/httpcore/4.4.14/httpcore-4.4.14.jar" "/Users/julienvincent/.m2/repository/org/tukaani/xz/1.9/xz-1.9.jar" "/Users/julienvincent/.m2/repository/com/taoensso/tufte/2.6.3/tufte-2.6.3.jar" "/Users/julienvincent/.m2/repository/clj-http/clj-http/3.12.3/clj-http-3.12.3.jar" "/Users/julienvincent/.m2/repository/com/google/guava/guava/31.1-android/guava-31.1-android.jar" "/Users/julienvincent/.m2/repository/org/apache/httpcomponents/httpmime/4.5.13/httpmime-4.5.13.jar" "/Users/julienvincent/.m2/repository/org/clojure/test.check/1.1.1/test.check-1.1.1.jar" "/Users/julienvincent/.m2/repository/com/github/steffan-westcott/clj-otel-sdk/0.2.3/clj-otel-sdk-0.2.3.jar" "/Users/julienvincent/.m2/repository/com/google/code/findbugs/jsr305/3.0.2/jsr305-3.0.2.jar" "/Users/julienvincent/.m2/repository/org/clojure/tools.reader/1.3.6/tools.reader-1.3.6.jar" "/Users/julienvincent/.m2/repository/org/checkerframework/checker-qual/3.12.0/checker-qual-3.12.0.jar" "resources" "test" "/Users/julienvincent/.m2/repository/org/apache/httpcomponents/httpasyncclient/4.1.4/httpasyncclient-4.1.4.jar" "/Users/julienvincent/.m2/repository/babashka/fs/0.4.19/fs-0.4.19.jar" "/Users/julienvincent/.m2/repository/slingshot/slingshot/0.12.2/slingshot-0.12.2.jar" "/Users/julienvincent/.m2/repository/io/grpc/grpc-api/1.52.1/grpc-api-1.52.1.jar"}
2024-02-13T10:25:41.242Z  INFO [clojure-lsp.source-paths:85] - [Startup] Using source-paths from classpath: ["/Users/julienvincent/code/scratch/repl/src" "/Users/julienvincent/code/scratch/repl/resources" "/Users/julienvincent/code/scratch/repl/test"]
2024-02-13T10:25:41.242Z  INFO [clojure-lsp.startup:113] - Copying kondo configs from classpath to project if any...
2024-02-13T10:25:41.299Z  WARN [clojure-lsp.kondo:355] - Non-fatal error from clj-kondo: Configs copied:
- .clj-kondo/babashka/fs
- .clj-kondo/com.github.steffan-westcott/clj-otel-api
- .clj-kondo/config.edn
- .clj-kondo/funcool/promesa
- .clj-kondo/hooks/transit
- .clj-kondo/http-kit/http-kit
- .clj-kondo/metosin/malli
- .clj-kondo/taoensso/encore

2024-02-13T10:25:41.299Z  INFO [clojure-lsp.startup:115] - Copied kondo configs, took 57ms secs.
2024-02-13T10:25:41.299Z  INFO [clojure-lsp.startup:261] - [Startup] Analyzing source paths for project root /Users/julienvincent/code/scratch/repl
2024-02-13T10:25:41.299Z  INFO [clojure-lsp.startup:74] - [Startup] Project only paths analyzed by clj-depend, took 0ms
2024-02-13T10:25:41.359Z  INFO [clojure-lsp.dep-graph:269] - :maintain-dep-graph 0ms
2024-02-13T10:25:41.360Z  INFO [clojure-lsp.kondo:230] - Linting whole project for unused-public-var took 4ms
2024-02-13T10:25:41.360Z  WARN [clojure-lsp.kondo:355] - Non-fatal error from clj-kondo: No configs copied.

2024-02-13T10:25:41.362Z  INFO [clojure-lsp.startup:70] - [Startup] Project only paths analyzed by clj-kondo, took 63ms
2024-02-13T10:25:41.363Z  INFO [clojure-lsp.dep-graph:269] - :maintain-dep-graph 0ms
2024-02-13T10:25:41.364Z  INFO [clojure-lsp.handlers:192] - [Startup] Analyzing test paths for project root file:///Users/julienvincent/code/scratch/repl
2024-02-13T10:25:41.364Z  INFO [clojure-lsp.feature.clojuredocs:21] - [Clojuredocs] Refreshing clojuredocs cache...
2024-02-13T10:25:41.364Z  INFO [clojure-lsp.handlers:165] - :initialize 852ms
2024-02-13T10:25:41.364Z  INFO [clojure-lsp.server:102] - :publish-diagnostics 0ms
2024-02-13T10:25:41.364Z  INFO [clojure-lsp.server:102] - :publish-diagnostics 0ms
2024-02-13T10:25:41.364Z  INFO [clojure-lsp.server:102] - :publish-diagnostics 0ms
2024-02-13T10:25:41.364Z  INFO [clojure-lsp.server:102] - :publish-diagnostics 0ms
2024-02-13T10:25:41.365Z  INFO [clojure-lsp.server:102] - :publish-diagnostics 0ms
2024-02-13T10:25:41.365Z  INFO [clojure-lsp.server:102] - :publish-diagnostics 0ms
2024-02-13T10:25:41.369Z  INFO [clojure-lsp.server:102] - :publish-diagnostics 4ms
2024-02-13T10:25:41.369Z  INFO [clojure-lsp.server:102] - :publish-diagnostics 0ms
2024-02-13T10:25:41.369Z  INFO [clojure-lsp.server:102] - :publish-diagnostics 0ms
2024-02-13T10:25:41.369Z  INFO [clojure-lsp.server:102] - :publish-diagnostics 0ms
2024-02-13T10:25:41.369Z  INFO [clojure-lsp.server:102] - :publish-diagnostics 0ms
2024-02-13T10:25:41.369Z  INFO [clojure-lsp.server:102] - :publish-diagnostics 0ms
2024-02-13T10:25:41.370Z  INFO [clojure-lsp.server:505] - Initialized!
2024-02-13T10:25:41.372Z  INFO [clojure-lsp.dep-graph:269] - :maintain-dep-graph 0ms
2024-02-13T10:25:41.373Z  WARN [clojure-lsp.kondo:355] - Non-fatal error from clj-kondo: No configs copied.

2024-02-13T10:25:41.373Z  INFO [clojure-lsp.dep-graph:269] - :maintain-dep-graph 0ms
2024-02-13T10:25:41.373Z  INFO [clojure-lsp.handlers:197] - :did-open 4ms
2024-02-13T10:25:41.374Z  INFO [clojure-lsp.dep-graph:269] - :maintain-dep-graph 0ms
2024-02-13T10:25:41.375Z  WARN [clojure-lsp.kondo:355] - Non-fatal error from clj-kondo: No configs copied.

2024-02-13T10:25:41.375Z  INFO [clojure-lsp.dep-graph:269] - :maintain-dep-graph 0ms
2024-02-13T10:25:41.375Z  INFO [clojure-lsp.handlers:197] - :did-open 2ms
2024-02-13T10:25:41.375Z  INFO [clojure-lsp.server:102] - :publish-diagnostics 0ms
2024-02-13T10:25:41.375Z  INFO [clojure-lsp.server:102] - :publish-diagnostics 0ms
2024-02-13T10:25:41.376Z  INFO [clojure-lsp.handlers:501] - :semantic-tokens-full 0ms
2024-02-13T10:25:41.376Z  INFO [clojure-lsp.handlers:501] - :semantic-tokens-full 0ms
2024-02-13T10:25:41.702Z  INFO [clojure-lsp.feature.clojuredocs:23] - [Clojuredocs] Refreshing clojuredocs cache took 338ms.
2024-02-13T10:25:43.538Z  INFO [clojure-lsp.db:77] - [DB] Reading transit analysis cache from /Users/julienvincent/.cache/clojure-lsp/db.transit.json db took 1836ms
2024-02-13T10:25:43.539Z  INFO [clojure-lsp.feature.java-interop:271] - [Java] JDK source already present on global LSP cache dir.
2024-02-13T10:25:43.548Z  INFO [clojure-lsp.dep-graph:269] - :maintain-dep-graph 7ms
2024-02-13T10:25:43.550Z  INFO [clojure-lsp.feature.java-interop:312] - [Java] JDK source analysis cache loaded successfully.

from clojure-lsp.

ericdallo avatar ericdallo commented on June 9, 2024

@armed are you facing that on vim as well? I can't repro this with vscode and Emacs so that's what makes me believe it's a vim client issue

from clojure-lsp.

ericdallo avatar ericdallo commented on June 9, 2024

@julienvincent that's server logs (clojure-lsp ones) which is helpful to debug exceptions and other things on server side, but this issue require us to check the JSON LSP logs between client and server which is detailed here, every LSP client (editor) has that, if you find how to get on vim side, please LMK so we can update that docs mentioning that as well

from clojure-lsp.

armed avatar armed commented on June 9, 2024

@ericdallo right, I completely forgot about that logs. Here is nvim LSP client<->server logs.
for root deps.edn:

[DEBUG][2024-02-16 13:12:49] ...m/lsp/client.lua:565	"LSP[clojure_lsp]"	"client.request"	1	"textDocument/documentHighlight"	{  position = {    character = 0,    line = 0  },  textDocument = {    uri = "file:///Users/armed/Developer/lol/deps.edn"  }}	<function 1>	3
[DEBUG][2024-02-16 13:12:49] .../vim/lsp/rpc.lua:282	"rpc.send"	{  id = 560,  jsonrpc = "2.0",  method = "textDocument/documentHighlight",  params = {    position = {      character = 0,      line = 0    },    textDocument = {      uri = "file:///Users/armed/Developer/lol/deps.edn"    }  }}
[DEBUG][2024-02-16 13:12:49] ...m/lsp/client.lua:565	"LSP[clojure_lsp]"	"client.request"	1	"textDocument/codeLens"	{  textDocument = {    uri = "file://"  }}	<function 1>	246
[DEBUG][2024-02-16 13:12:49] .../vim/lsp/rpc.lua:282	"rpc.send"	{  id = 561,  jsonrpc = "2.0",  method = "textDocument/codeLens",  params = {    textDocument = {      uri = "file://"    }  }}
[DEBUG][2024-02-16 13:12:49] .../vim/lsp/rpc.lua:404	"rpc.receive"	{  id = 560,  jsonrpc = "2.0",  result = {}}
[DEBUG][2024-02-16 13:12:49] .../vim/lsp/rpc.lua:404	"rpc.receive"	{  error = {    code = -32603,    data = {      id = 561,      method = "textDocument/codeLens"    },    message = "Internal error"  },  id = 561,  jsonrpc = "2.0"}
[ERROR][2024-02-16 13:12:49] ...lsp/codelens.lua:265	"codelens"	{  code = -32603,  data = {    id = 561,    method = "textDocument/codeLens"  },  message = "Internal error",  <metatable> = {    __tostring = <function 1>  }}
[DEBUG][2024-02-16 13:12:49] ...m/lsp/client.lua:565	"LSP[clojure_lsp]"	"client.request"	1	"textDocument/documentHighlight"	{  position = {    character = 0,    line = 0  },  textDocument = {    uri = "file:///Users/armed/Developer/lol/deps.edn"  }}	<function 1>	3
[DEBUG][2024-02-16 13:12:49] .../vim/lsp/rpc.lua:282	"rpc.send"	{  id = 562,  jsonrpc = "2.0",  method = "textDocument/documentHighlight",  params = {    position = {      character = 0,      line = 0    },    textDocument = {      uri = "file:///Users/armed/Developer/lol/deps.edn"    }  }}
[DEBUG][2024-02-16 13:12:49] .../vim/lsp/rpc.lua:282	"rpc.send"	{  jsonrpc = "2.0",  method = "textDocument/didClose",  params = {    textDocument = {      uri = "file:///Users/armed/Developer/lol/deps.edn"    }  }}
[DEBUG][2024-02-16 13:12:49] .../vim/lsp/rpc.lua:404	"rpc.receive"	{  id = 562,  jsonrpc = "2.0",  result = {}}
[DEBUG][2024-02-16 13:12:49] .../vim/lsp/rpc.lua:282	"rpc.send"	{  jsonrpc = "2.0",  method = "textDocument/didOpen",  params = {    textDocument = {      languageId = "clojure",      text = '{:mvn/repos {"example" {:url "https://example.repo.com"} }\n :paths ["src"]\n :deps {metosin/malli {:mvn/version "0.14.0"}\n        my/library {:local/root "../my-library"}}}\n',      uri = "file:///Users/armed/Developer/lol/deps.edn",      version = 0    }  }}
[DEBUG][2024-02-16 13:12:49] ...m/lsp/client.lua:565	"LSP[clojure_lsp]"	"client.request"	1	"textDocument/codeLens"	{  textDocument = {    uri = "file:///Users/armed/Developer/lol/deps.edn"  }}<function 1>	246
[DEBUG][2024-02-16 13:12:49] .../vim/lsp/rpc.lua:282	"rpc.send"	{  id = 563,  jsonrpc = "2.0",  method = "textDocument/codeLens",  params = {    textDocument = {      uri = "file:///Users/armed/Developer/lol/deps.edn"    }  }}
[DEBUG][2024-02-16 13:12:49] .../vim/lsp/rpc.lua:404	"rpc.receive"	{  id = 563,  jsonrpc = "2.0",  result = {}}
[DEBUG][2024-02-16 13:12:49] .../vim/lsp/rpc.lua:404	"rpc.receive"	{  jsonrpc = "2.0",  method = "textDocument/publishDiagnostics",  params = {    diagnostics = {},    uri = "file:///Users/armed/Developer/lol/deps.edn"  }}
[DEBUG][2024-02-16 13:12:49] ...m/lsp/client.lua:565	"LSP[clojure_lsp]"	"client.request"	1	"textDocument/semanticTokens/full"	{  textDocument = {    uri = "file:///Users/armed/Developer/lol/deps.edn"  }}	<function 1>	3
[DEBUG][2024-02-16 13:12:49] .../vim/lsp/rpc.lua:282	"rpc.send"	{  id = 564,  jsonrpc = "2.0",  method = "textDocument/semanticTokens/full",  params = {    textDocument = {      uri = "file:///Users/armed/Developer/lol/deps.edn"    }  }}
[DEBUG][2024-02-16 13:12:49] .../vim/lsp/rpc.lua:404	"rpc.receive"	{  id = 564,  jsonrpc = "2.0",  result = {    data = {}  }}
[TRACE][2024-02-16 13:12:49] ...m/lsp/client.lua:880	"notification"	"textDocument/publishDiagnostics"	{  diagnostics = {},  uri = "file:///Users/armed/Developer/lol/deps.edn"}

for deps.edn in the src folder:

[DEBUG][2024-02-16 13:14:48] .../vim/lsp/rpc.lua:282	"rpc.send"	{  id = 577,  jsonrpc = "2.0",  method = "textDocument/codeLens",  params = {    textDocument = {      uri = "file:///Users/armed/Developer/lol/src/deps.edn"    }  }}
[DEBUG][2024-02-16 13:14:48] .../vim/lsp/rpc.lua:404	"rpc.receive"	{  id = 577,  jsonrpc = "2.0",  result = {}}
[DEBUG][2024-02-16 13:14:48] ...m/lsp/client.lua:565	"LSP[clojure_lsp]"	"client.request"	1	"textDocument/semanticTokens/full"	{  textDocument = {    uri = "file:///Users/armed/Developer/lol/src/deps.edn"  }}	<function 1>	246
[DEBUG][2024-02-16 13:14:48] .../vim/lsp/rpc.lua:282	"rpc.send"	{  id = 578,  jsonrpc = "2.0",  method = "textDocument/semanticTokens/full",  params = {    textDocument = {      uri = "file:///Users/armed/Developer/lol/src/deps.edn"    }  }}
[DEBUG][2024-02-16 13:14:48] .../vim/lsp/rpc.lua:404	"rpc.receive"	{  id = 578,  jsonrpc = "2.0",  result = {    data = { 0, 2, 3, 1, 0, 0, 3, 1, 8, 0, 0, 1, 5, 4, 0, 0, 19, 3, 4, 0, 1, 2, 5, 4, 0, 1, 2, 4, 4, 0, 0, 22, 3, 1, 0, 0, 3, 1, 8, 0, 0, 1, 7, 4, 0, 1, 21, 5, 1, 0, 0, 5, 1, 8, 0, 0, 1, 4, 4, 0 }  }}
[DEBUG][2024-02-16 13:14:48] .../vim/lsp/rpc.lua:404	"rpc.receive"	{  jsonrpc = "2.0",  method = "textDocument/publishDiagnostics",  params = {    diagnostics = {},    uri = "file:///Users/armed/Developer/lol/src/deps.edn"  }}
[TRACE][2024-02-16 13:14:48] ...m/lsp/client.lua:880	"notification"	"textDocument/publishDiagnostics"	{  diagnostics = {},  uri = "file:///Users/armed/Developer/lol/src/deps.edn"}

it's a sample project with sigle deps.edn

{:mvn/repos {"example" {:url "https://example.repo.com"} }
 :paths ["src"]
 :deps {metosin/malli {:mvn/version "0.14.0"}
        my/library {:local/root "../my-library"}}}

I believe the interesting parts are last with semanticTokens method. I can see that in the second case (src folder) we have a non empty data, which contains semantic tokens coords.

from clojure-lsp.

ericdallo avatar ericdallo commented on June 9, 2024

@armed that's weird, I'm seeing some internal error messages for the root deps.edn, would you mind create a public repo with that sample please so I can try too?

from clojure-lsp.

armed avatar armed commented on June 9, 2024

@ericdallo sure: https://github.com/armed/clojure-lsp-1759-repro

from clojure-lsp.

ericdallo avatar ericdallo commented on June 9, 2024

@armed I think I managed to repro with emacs, but since clojure-mode has a default syntax hightlight, the colors were being applied so that's why other editors didn't notice.
Indeed clojure-lsp is not returning elements for the root deps.edn but for the other deps.edn yes, I'll take a closer look

from clojure-lsp.

ericdallo avatar ericdallo commented on June 9, 2024

One thing I noticed is that if I manually edit the root deps.edn then the elements become available, does that work for you too @armed ?

from clojure-lsp.

julienvincent avatar julienvincent commented on June 9, 2024

@ericdallo Not sure about @armed but that doesn't work for me.

from clojure-lsp.

julienvincent avatar julienvincent commented on June 9, 2024

Cool! Thanks for fixing <3

from clojure-lsp.

julienvincent avatar julienvincent commented on June 9, 2024

@ericdallo I can confirm that this is fixed for deps.edn files using the latest release. But now that I am running the latest release I am seeing similar issues with other files:

  • If I have some project with .edn config files that are outside of the configured project class-path then the .edn files do not get syntax highlighting. This is a bit annoying.

  • If I do something like go-to-definition on something that resolves to an external dependency then I again have no syntax highlighting for the keywords defined in the dependency. I do a lot of source-code reading for code in dependencies and I would rather have the syntax highlighting than improved performance.

Could this behaviour of excluding highlighting for external keywords be made configurable? I would rather leave it on.

Maybe I should open a new issue for this?

from clojure-lsp.

ericdallo avatar ericdallo commented on June 9, 2024

yeah, it's not easy to make a flag for that, the ideal would be to fix it or support it somehow, needs more thought on that, please open a new issue

from clojure-lsp.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.