@eraserhd: cool 😎
link to avi?
a VI in clojure?
I'm wondering how much, if any, playing off Vims modality can hide parinfer's.
By the way, as someone learning formal logic and proof systems because I'm tired of broken, almost-working software, I'm really happy about parinfer's algorithm approach. // @shaunlebron
I'm not sure how well it would work since non-insert modes still change the buffer and need parinfer to run (pasting/search replace/indenting/etc...)
however, having i
do vim-insert/parinfer-insert and some other binding put you into vim-insert/parinfer-paren might be interesting to try. basically splitting vim-insert into two.
in my plugin, I kept them separate so you have a vim mode and a parinfer mode and they don't meet.
@snoe I was thinking (hoping) that most vim users change indentation through <
and >
motions, so that insert mode is paren mode.
Yeah, that was a low hanging fruit (and my plugin could still be improved to work on the motion instead of just >>
and <<
), but you get situations like changing the name of a function that pushes the params to the right so you want to be in paren-mode but then you want to change a do to a let so you want to be in insert-mode and the vim-mode in which you make those changes shouldn't really matter (sometimes I use insert, sometimes ex, sometimes normal)
@snoe What plugin did you write?
Oh, that's sweet, as I'm using neovim now!
I shall install after lunch.
I removed vim-sexp* but kept vim-fireplace.
did you run :UpdateRemotePlugins
and restart?
no... that must be a neovim thing?
ah yeah, it's a node-host plugin so the readme should walk you through it, unfortunately it's not plug and play
Hrmm... It creates an empty rplugin.vim which doesn't mention Node.js. Is Node.js new?
I mean, support for it in NeoVim?
it's the rplugin stuff, one of the core neovim goals to allow plugins written in other languages instead of the vimscript/pythonserver/language client dance that vim takes https://github.com/neovim/neovim/wiki/Plugin-UI-architecture
so you have node-host installed with pathogen too?
Oh, I did not know about that.
It lives!
On occasion, nvim-parinfer.js changes my indentation when it's already well formed and I'm not in insert mode. Just now I entered a buffer and it dedented two lines by one space, from
(task main-marketing-content "57d02a49-5ad8-43aa-afaf-3800424d211f"
"Create content")
(task main-marketing-uat "57d02a49-1681-4d3e-a96c-fa1151e748f6"
"UAT")
to (task main-marketing-content "57d02a49-5ad8-43aa-afaf-3800424d211f"
"Create content")
(task main-marketing-uat "57d02a49-1681-4d3e-a96c-fa1151e748f6"
"UAT")
. Why is that?we need to run paren-mode on the file on bufenter to make sure everything is balanced (or else indent-mode can introduce errors), but IIRC that maintains whitespace unless there's a change - I could be wrong I haven't touched in awhile.