This page is not created by, affiliated with, or supported by Slack Technologies, Inc.
2021-03-26
Channels
- # announcements (3)
- # architecture (53)
- # babashka (6)
- # beginners (101)
- # bitcoin (3)
- # calva (4)
- # cider (3)
- # clara (7)
- # cljdoc (2)
- # cljsrn (14)
- # clojure (104)
- # clojure-europe (96)
- # clojure-germany (21)
- # clojure-nl (6)
- # clojure-serbia (3)
- # clojure-spain (1)
- # clojure-uk (13)
- # clojuredesign-podcast (4)
- # clojurescript (14)
- # cursive (5)
- # data-science (19)
- # datomic (16)
- # emacs (15)
- # fulcro (33)
- # graalvm (5)
- # honeysql (3)
- # instaparse (2)
- # jobs (3)
- # lsp (82)
- # malli (2)
- # off-topic (11)
- # pedestal (4)
- # polylith (62)
- # practicalli (4)
- # shadow-cljs (56)
- # tools-deps (53)
- # vim (17)
- # xtdb (53)
Idea: Is it possible to display additional information in the UI sidebar? For example, marking private vars as such, noting a macro, showing # of references, etc.? That might be kind of cool. Something I noticed: References are counted when the function calls itself from a separate arity. Is that intentional?
> Something I noticed: > References are counted when the function calls itself from a separate arity. Is that intentional? IMO looks correct
that’s the one i mentioned, but perhaps lsp-treemacs-symbols could achieve something similar
hrm, seems to now be doing it even when i remove the foo
. will clear .cache and sqlite and look again
this is me changing it to call itself, do a lsp-lens-hide and lsp-lens-show, then changing it back and doing it again.
anddddd, now my stupidity is revealed. I just needed to turn lsp-lens-mode on i’m 0/2 tonight
BTW lsp-ui-menu only show documentSymbol, but yeah, you can bring this idea to lsp-mode and see what they think, we could have multiple functions that call different lap methods am show on the sidebar or a summary one
just as a note: I think it’s generally a bit unclear what packages you need installed to get the feature, or which M-x cmd
matches which feature, or if there’s a default binding for it, etc. There may be a good reason for this, I don’t know.
hi anyone using neovim 5
and clojure-lsp
and nvim-lspconfig
? no coc-nvim
Yeah me neither, I'm waiting 5 go to stable to make the move.
I do. There’s still a little bit of brittleness here and there meaning I have to start a new neovim instance to reset state.
But I like the experience and I’ll keep using it. I actually run Clojure-lsp from source to be able to debug some stuff.
doesn't it start automatically ?
It does. It just that some times thing end up out of sync or LSP stops working entirely.
yes it happens with other languages
I'm using this pretty basic setup https://github.com/neovim/nvim-lspconfig/blob/master/CONFIG.md#clojure_lsp but no luck. LSP does not start so no autocomplete etc etc.
ha got an error
1049 [ ERROR ] 2021-03-26T10:35:29-0300 ] /usr/local/share/nvim/runtime/lua/vim/lsp/rpc.lua:458 ]> "rpc">"clojure-lsp">"stderr"> "Mar 26, 2021 10:35:29 AM org.eclipse.lsp4j.jsonrpc.json.StreamMessageProducer fireError\nSEVERE: Unable to invoke no-args constructor for class org.eclipse.lsp4j.ShowDocumentCapabilities.
I would ask @ericdallo about this error...
It's indeed a graalvm missing reflect config, but I can repro with both integration tests and emacs
first try using brew
then I removed it and got the latest zip release
ok will try it again
yes same error
anyway no rush. I'm a newbie setting up my environment to start playing w clojure.
Coming from Ruby Elixir JS
kk appreciate. Thanks !
Found the issue, it's a feature lsp-mode () has https://github.com/emacs-lsp/lsp-mode/issues/2459, I'm fixing on clojure-lsp side
@UR3P9DHLL fixed on master, before I release it, could you test with a local release?
removing it from brew first ?
you don't need to remove, you can point on nvim to the generated binary on clojure-lsp root
actually, you will need to point to it to use the generated, otherwise it will not find on your PATH
Perfect !
I should release that fix soon, then you can use it via brew again, I'll just include other fix/features before
I don't trust the NeoVim client too much @ericdallo 🙂 I think clojure-lsp is mostly OK these days.
My experience of using neovim (4), conjure, clojure-lsp and coc is rock solid. I know others use deoplete instead of coc and they have a good experience too.
I have these functions defined to fiddle with the neovim client
function! LSPLog()
lua vim.cmd(":e"..vim.lsp.get_log_path())
endfunction
command LSPLog call LSPLog()
function! LSPDev()
lua vim.lsp.stop_client(vim.lsp.get_active_clients())
lua require('lspconfig').clojure_lsp_dev.autostart()
endfunction
command LSPDev call LSPDev()
I should try coc after @dharrigan enthusastic approval. I think deoplete is just for autocompletion though, still relies on the built-in neovim LSP client.
I've been using coc for a couple years now. its basically a compilation of the vscode implementation which is why it's so rock solid. There's a lot to it and my experience with the neovim project leads me to think it will be 2-3 years before they have a solid, matching implementation.
I've been thinking of writing a sci + rewrite-clj scripting tool (compiled with GraalVM) for instantly rewriting Clojure code from the command line: but here's another thought: what if users can plug in their own scripts into clojure-lsp for customly rewriting code and hook it up to some action in their editor?
It could work, it'd need to implement things not following LSP spec and implement it on every client side editor though