This page is not created by, affiliated with, or supported by Slack Technologies, Inc.
2020-04-23
Channels
- # announcements (3)
- # babashka (68)
- # beginners (297)
- # calva (13)
- # cider (4)
- # clj-kondo (8)
- # cljs-dev (10)
- # cljsrn (26)
- # clojure (100)
- # clojure-europe (4)
- # clojure-germany (1)
- # clojure-italy (9)
- # clojure-nl (5)
- # clojure-spec (9)
- # clojure-uk (41)
- # clojurescript (69)
- # conjure (70)
- # cursive (44)
- # data-science (20)
- # datascript (2)
- # datomic (55)
- # emacs (1)
- # exercism (3)
- # graalvm (2)
- # kaocha (11)
- # leiningen (6)
- # meander (9)
- # mental-health (1)
- # off-topic (73)
- # pathom (6)
- # pedestal (1)
- # re-frame (3)
- # reagent (52)
- # reitit (8)
- # rum (39)
- # shadow-cljs (152)
- # spacemacs (10)
- # tools-deps (28)
- # xtdb (5)
* Autocompletion will now just silently fail when you don't have a connection or the server doesn't support it now. (@sergiusz)
* I've moved "view source" and the *e *1 *2 *3 mappings to a v
prefix for "view" since they weren't really to do with eval anyway. (@nate, avoids conflicting with your mapping too)
* Fixed and improved interrupt so now it'll interrupt the right eval on the right session and then fallback to sending a generic interrupt to your session. This allows you to kill long running evals that Conjure doesn't know about that may be running in the session. (this is mapped to <prefix>ei
)
* I can't reproduce the log printing out of order or whatever when there's lots of output, will keep trying.
* I can't reproduce the HUD getting stuck open when connection is lost, again, will keep trying. (@nate for those last two)
I can confirm it works for me. Nice one.
Just recently moved to using colemak, really like the leader-e* mappings now! π
thank you for changing the view source mapping, I think that v for view
works well as a mnemonic
I only had the stuck HUD once, even though I did the actions that led to it being stuck multiple times
I can't see how the HUD / log can get into these race conditions since access to the state is restricted to the logging module via access functions which are all running in a single thread.
Obviously it can get messed up, I just have no idea how right now. Something about all the async callbacks involved with the Clojure client I guess.
Hey @olical I was reading the docs, before trying out the develop version I have two questions (sorry I'm dumb)
β’ The ["K"]
means that is doesn't need localleader for using this command? I mean, I usually remap conjure's K
and gd
to use localleader as well and let the default ones for the LSP which load faster. So if I what to let this behaviour I can just configure "K"
and "gd"
to get this?
β’ The conjure config is saved in ~/.config/conjure/conjure.edn
? I didn't found anywhere in the docs saying where the config is saved.
There's no conjure specific config file anymore it just goes in your vim config βΊοΈ
But I can't do something like <localleader>K?
Ah nice! Thanks I will try to swap for develop this afternoon, for coc I just need to use coc-conjure-olical
plugin right?
Yep! Then it should work as usual! I've added g:conjure_config if you're lazy loading conjure and you can't call the ConjureConfig command yet.
Hey @olical sorry to disturb, but where in the vim config is saved the conjure config?
I use two machines and I like to sync configs between them
no showing for me
If conjure is loaded you can use ConjureConfig, if it isn't loaded yet you can use g:conjure_config
do I need to run something to save?
:def-word "gd" :doc-word "K"
doc-word is working, but def-word is not
So in my ~/.config/nvim/init.vim
I could put some lines that began with ConjureConfig
. As long as it was after plug#end()
since that's when the plugins get loaded.
If you want to lazy load Conjure you have to use let g:conjure_config = {...}
which will be read by Conjure when it loads up.
yeah using let g:conjure_config = {"mappings.doc-word": "K", "mappings.def-word": "gd"}
on my init.vim worked fine
sorry to disturb π¨
If I can't reply, I can't reply, I was just worried I wasn't answering your question and I was misunderstanding
Send questions whenever you want, I want to help as much as I can. If the docs aren't clear I want to improve them, so please do say if what I've written so far is just bad π
β’ sure thing thanks a lot
I will send another one in the main thread
i'm in the process of trying out the develop branch now, loving it so far! i'm curious, at this point, what are the features missing when your nrepl doesn't include the cider middleware?
i noticed that gd
doesn't work and there is a message "Unsupported operation: info", whereas K
does work
Yep, different things! go to def works MUCH better with info compared to my hacky approach. Info may end up in the core nREPL middleware alongside a simple complete soon too!
i'm really loving having the nrepl session persist after i restart neovim! very handy if i'm messing with my vim config and i get into a weird state and want to nuke neovim and start over
sharing my personal tweaks here in case they're helpful to anyone:
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
" => conjure
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
function! ToggleConjureLog() abort
if expand('%:t') =~ ".*conjure-log-.*"
execute 'Bclose'
else
" Ideally I could call some function provided by Conjure directly to do
" this, but I wasn't able to figure out how to do that. This mapping will
" need to be adjusted if I ever configure Conjure to use a different mapping
" to open the log in a tab, or if Conjure ever changes the default mapping.
" I think those two things are both pretty unlikely to happen, so meh.
"
" Another thing worth noting: normal apparently doesn't work with <leader>
" and <localleader>, so you have to do some hackery like what's going on
" here () or just give up and type
" your actual (local)leader key in the mapping. I'm doing the second one.
normal \lt
endif
endfunction
augroup additional_conjure_bindings
autocmd!
autocmd FileType clojure
\ nnoremap <buffer>
\ <localleader>cc :call ToggleConjureLog()<CR>
" mnemonic: eval prompt
" (like how <localleader>ee is eval expression)
autocmd FileType clojure
\ nnoremap <buffer>
\ <localleader>ep :ConjureEval<space>
" press q to close the log buffer
autocmd BufEnter conjure-log-*.cljc nnoremap <buffer> q :Bclose<CR>
augroup END
Bclose
is another custom thing i have in my vimrc. it basically just closes a buffer in the way that i like to do that
with the tweaks above, i can press <localleader>cc
to show the conjure log in a tab (i.e. fullscreen) and then press it again to close it. it toggles showing/hiding the log, in other words
That should be captured perhaps on the github page as User Submissions? Or on the Wiki?
eh, i'd hesitate to share it out in the open like that. it's very particular to my own preferences and vim setup π
like maybe there are some issues with making q
close the buffer on some people's vim setups. who knows?
for the record, i do use macros extensively, i've just also gotten used to pressing q
to close certain types of buffers that i consider more ephemeral. i would never think to define a macro in those buffers