Hi, I'm working on nREPL server for Phel (Clojure-like for PHP) and got Calva working on primitive level. Phel nREPL server implementation is kinda interesting as it uses async co-routines/fibers which is quite recent addition to standard PHP distribution (8.1+). https://github.com/jasalt/phel-nrepl
While I'm primarily working with Emacs/Cider myself, I thought to note a couple oddities I noted with the "vanilla" Calva connection.
- Startup command needs to be disabled/modified, that was solved with (setq cider-repl-init-code "") on Cider.
- Answer probably in https://calva.io/customizing-jack-in-and-connect/
- Clojure standard lib is included in the completion quite aggressively which I didn't note with Cider.
- Needs disabling somehow?
These could be something that Phel VSCode extension should probably customize https://github.com/phel-lang/phel-vs-code-extension.
Hi! Very cool with a new nrepl server!
> Clojure standard lib is included in the completion Not sure what this means. Can you eleborate?
Ah, I think I see it now. Thatโs probably clojure-lsp. You may need to disable some things in its config. But you could start with confirming by stopping clojure-lsp. (Can be done via the button in the status bar, and other ways.)
For the startup code, I think it is calva.autoEvaluateCode you need to update.
@pez thank's, I'll check these.
Let's say I added a library which provides custom clj-kondo hooks โ I can see them in .clj-kondo/imports/...hooks/ What's the proper way to customize some of the rules provided?
I think hacking on the provided config should work. Itโs not Calva managing this so itโs a bit opaque to me. Is it kondo downloading these, @borkdude?
these configs are bundled with the dependency. if you don't agree with the config for a dependency you can either try to convince the author with an issue + PR or override the config / hooks in your own config
here are some docs that might be helpful: https://github.com/clj-kondo/clj-kondo/blob/master/doc/hooks.md
and https://github.com/clj-kondo/clj-kondo/blob/master/doc/config.md#exporting-and-importing-configuration which is the mechanism of how the configurations are extracted from the dependencies
What I did: placed a config.edn file inside .clj-kondo folder, copied a hook, modified it, and linked it from config.edn file Seems to be working! edit. kondo.edn -> config.edn
Did you mean config.edn?
Right, config.edn inside .clj-kondo