Fork me on GitHub
#vim
<
2019-10-14
>
dominicm07:10:16

Nothing that intense. Wow.

dharrigan07:10:57

It was for an (ex)bank

dominicm07:10:21

Same. Tier 1 investment bank.

sogaiu09:10:52

it sounds like wanting an audit trail πŸ™‚

martinklepsch10:10:46

Fireplace always asks me for a host or port despite there being an .nrepl-port file β€” is this normal?

dominicm10:10:29

Are you running :Connect?

dominicm10:10:32

if you are, you don't need to

martinklepsch10:10:02

Ah, I am doing that

martinklepsch10:10:45

Is there something like Emacs’ *messages* buffer that I could inspect to understand what is happening (& maybe not working) in the background?

dominicm11:10:31

Nothing is happening, as a rule πŸ™‚

πŸ˜„ 4
dominicm11:10:46

What are you looking for?

dominicm11:10:11

fwiw, most things will :echo on failure, or if you're lucky :echom and be present in :messages

martinklepsch11:10:20

Well, for instance I’m trying to get https://github.com/guns/vim-clojure-highlight to work but calling :ClojureHighlightReferences doesn’t do anything

dominicm11:10:07

Nothing happens in the background with that. I believe it broke a while ago, I thought someone sent in a PR though.

martinklepsch11:10:00

I mean by background I meant whatever happens after I hit enter πŸ™‚

martinklepsch11:10:16

(i.e. not a background process)

dominicm11:10:34

ah, :verbose as a prefix to the command will sometimes highlight some information

dominicm11:10:05

I'd try that fork though ^ πŸ™‚

dominicm11:10:20

Normally you get errors. I think in this case they are silenced though.

dominicm11:10:08

they're silenced because this plugin runs on an autocmd, so they don't want to spit out messages in a number of cases. Not sure it totally makes sense πŸ™‚

martinklepsch11:10:34

do you use regular vim syntax highlighting? I’m finding it a little… sparse?

dominicm11:10:33

what do you mean by vim regular syntax highlighting?

dominicm11:10:23

here's what code looks like for me

martinklepsch11:10:24

yeah, similar. In Emacs things are a bit more nuanced. Can share a screenshot if that code is public?

dominicm11:10:16

highlights namespace aliases separately. That's the big thing I notice πŸ™‚

martinklepsch12:10:16

does fireplace somehow maintain repl sessions when vim is restarted?

walterl12:10:42

What do you mean by "repl session"? Since fireplace connects to a running nrepl, the state of that nrepl will be preserved across (n)vim restarts, as long as that nrepl keeps running. cc @U09LZR36F

dominicm12:10:53

Yup. There's also the concept of nrepl sessions which don't persist.

martinklepsch12:10:39

also it seems that evaluations can still block editing/movement, is that expected / is there anything that can be done about that?

dominicm12:10:05

But yes, evaluations from commands/operations are synchronous. You could write a background variant too though.

dominicm12:10:52

Sessions aren't maintained iirc. But I'm not positive on that. It may store them in ShaDa

martinklepsch12:10:48

Interesting, I thought that was the whole point of NeoVim πŸ˜„

dominicm12:10:20

APIs are async, and some things take advantage of that. e.g. :RunTests does.

dominicm12:10:37

Neovim didn't magically make everything async though. It's up to plugins to use that in a way they see fit.

martinklepsch12:10:38

that makes sense I guess πŸ™‚ thanks for the explanation!

martinklepsch12:10:51

and sorry for my blissful ignorance πŸ˜„

martinklepsch12:10:10

now using nvim in alacritty and everything is sooooo fast!

dominicm12:10:18

zoom πŸ™‚ no problem

martinklepsch13:10:27

what do you use to enable folding?

dominicm13:10:45

:help foldmethod

dominicm14:10:17

because foo/bar?

dominicm14:10:27

it's a single form to the reader

walterl14:10:35

To the reader, sure. But are there any cases where you'd want to treat it as a single element when editing? Instead it has broken *-searching of referred functions or library usages.

walterl14:10:05

Also, it's easier to broaden your search to include multiple words, than it is to search for sub-`words`.

dominicm15:10:59

I think keywords are used for omnicompletion

dominicm15:10:11

so this makes a lot of sense.

dominicm15:10:23

else it wouldn't include set/ in your completion

dominicm15:10:58

hmm, no. That doesn't seem to be correct.

dominicm15:10:09

oh, it is, but only for fireplace πŸ™‚

walterl16:10:25

Could you ellaborrate on what that means, please? Do you mean fugitive only complets on full words (the entire ns/atom)?

dominicm16:10:06

Fireplace uses iskeyword to determine what to complete on.

dominicm20:10:29

Fwiw there's an operator-star plugin

walterl22:10:54

Thanks, I understand now πŸ‘

walterl22:10:41

Although, I must say it seems kinkda weird: in OO languages you have completion "across" non-`word` chars. I.e. when you press . (a non-`word` char) you get completion based on the symbol before the .. Why would the / in Clojure work differently?

walterl22:10:43

(I'm probably misunderstanding something.)

dominicm06:10:28

I think it's just how fireplace is implemented tbh

dominicm06:10:40

This could possibly change

walterl15:10:16

I see. Thanks your responses πŸ™‚

dave14:10:16

hey @martinklepsch! πŸ‘‹ on the subject of asynchronous evaluation, i have to plug https://github.com/Olical/conjure, a new plugin that's based around prepl connections. i've been using it for a while now and i love it. evaluation is asynchronous, and the results all go into a dedicated buffer

dave14:10:21

see also: #conjure

martinklepsch14:10:34

hi @dave πŸ™‚ I saw that and initially played with it but I’m using shadow-cljs and the connecting was a little to cumbersome

martinklepsch14:10:46

(or how I understood how it works anyways)

Olical14:10:51

I can't get shadow-cljs' prepl to work, even through netcat 😬 I think once it's up Conjure will be fine. Also as far as async goes, it's async within your editor but only one eval happens at a time sequentially. It won't let you eval multiple things and return in the order they complete... for now anyway. (I'd love it if someone could point me to a minimal good shadow-cljs repo that I can prepl into through netcat!)

walterl22:10:41

Although, I must say it seems kinkda weird: in OO languages you have completion "across" non-`word` chars. I.e. when you press . (a non-`word` char) you get completion based on the symbol before the .. Why would the / in Clojure work differently?