clojure-vim / nvim-parinfer.js Goto Github PK
View Code? Open in Web Editor NEWneovim plugin for parinfer
Home Page: https://shaunlebron.github.io/parinfer
neovim plugin for parinfer
Home Page: https://shaunlebron.github.io/parinfer
Is this supposed to work with all lisps or only clojure? I'm using guile and it doesnt seem to be working.
I installed both node-host and parinfer through vim-plug, ran npm install inside node-host and used UpdateRemotePlugins inside neovim. But when I open a .scm file in neovim there doesnt seem to be anything going on.
Possible failure point:
Vim-Plug says the git clone returns an error on the first install, but after reinstall it succeeds.
The fix you made in 3591df7 stops the Parinfer mode showing in the Airline.
Using the >>
and <<
mappings along with the .
(repeat) command does not work as expected in normal mode.
Expected: >>.
would indent twice. Actual: whatever random command before the >>
is repeated, not the indent.
Plug no longer loads as of this commit, causes neovim to completely hang up!
Seeing this on your end? (intentional in-dev thing..ish?)
It's very nice to have <<
and >>
that adjust indentation automatically.
and It's will be more convenient if indent always following the indent that provide by clojure-static
.
When trying to de-indent a form with shift + <
I get the below error:
Error detected while processing function <SNR>17_parinferShiftCmd:
line 11:
E117: Unknown function: ParinferShift
Parinfer isn't published to Clojars & therefore cannot be found. I'm not sure if trying to mirror Parinfer onto Clojars is the best idea. Is there a way to just "depend" on the directory somewhat?
When I run it with the latest version of node-host (v1.0.0) I get Unknown function: ParinferIndent
. Downgrading back to v0.0.1 fixes the problem.
neovim/node-host@0c116cb mentions that breaking changes are incoming, so it looks like whatever changes they made broke this plugin.
Are there any plans to support the new node-host or should I just stay on v0.0.1 for now?
Would it be possible to have the bufenter command automatically run with paren mode? Using indent mode breaks incorrectly indented files.
If possible, it would be nice to be able to change the default before this is executed.
Should the directory structure be changed, to accommodate for plugin managers?
junegunn/vim-plug#125 it's somewhat suggested here that you should provide your own rplugin/node directory, this will also alleviate worries of naming with the .js a little.
e.g. how floobits does it: https://github.com/Floobits/floobits-neovim
I've tried this with all my other plugins and settings turned off. (ie testing with just 'snoe/nvim-parinfer.js' and 'neovim/node-host').
The first indent seems to indent only one space, then the next ones indent 2 spaces. So you have this odd situation where you have a 3 space indent.
On bufferEnter
(one space before :description
):
(defproject graphic-design "0.1.0-SNAPSHOT"
:description "FIXME: write description"
after >>
(three spaces before :description
):
(defproject graphic-design "0.1.0-SNAPSHOT"
:description "FIXME: write description"
Anyone else getting this?
When first opening a cljs file it looks like indentparen
is run. Subsequently running :Gdiff
to view the changes in the file also runs the same process on the new buffer created by fugitive rending the Gdiff
function useless.
It'll be nice to have a built-in way to toggle the mode. At lease we can provide a function to do it.
If possible, it might be good if we can click on the airline section to toggle the mode.
I install Neovim from the Ubuntu PPA.
I wasn't updating daily but the last version of Neovim I have that worked with nvim-parinfer.js correctly is
vim_0.1.2ubuntu1+git201605270822+2539+19~ubuntu14.04.1_amd64.deb
.
I updated to vim_0.1.4ubuntu1+git201606071432+2575+20~ubuntu14.04.1_amd64.deb
and now I get an error on startup (it goes away too quickly to read), and the below error every time there is a change in the file and the plugin runs.
Error dectected while processing function <SNR>17_indent[6]..ParinferIndent:
line 1:
Invalid channel "2"
I have updated to the daily Neovim from the PPA today and the errors still appear.
When I install the last working version nvim-parinfer.js runs without issue again.
The core Parinfer algorithm is now available as a Vimscript library: https://github.com/oakmac/parinfer-viml
If I open a file with the following extension .xtm
(which uses Lisp style expressions) and try to edit, I get this error in neovim:
Error detected while processing function <SNR>100_indent:
line 6:
E117: Unknown function: ParinferIndent
This also happens only if I have 'timburgess/extempore.vim' installed. If I remove it there is no more problem. But I need extempore
plugin to work with extempore.
I just added to my vimrc:
au BufNewFile,BufRead *.xtm let g:parinfer_mode = "off"
to avoid this error while waiting to know what's going wrong.
With the lastes neovim checkout I get the following error when I'm running UpdateRemotePlugins
:
2016/02/13 12:06:16 [info @ main:523] 10252 - Starting Neovim main loop.
2016/02/13 12:06:27 [error @ forward_stderr:333] 10252 - Channel 2 stderr: events.js:154
throw er; // Unhandled 'error' event
^
TypeError: list argument must be an Array of Buffers
at Function.Buffer.concat (buffer.js:229:13)
at BufferList.copy (/home/jojo/.config/nvim/plugged/node-host/node_modules/bl/bl.js
2016/02/13 12:06:27 [error @ forward_stderr:333] 10252 - Channel 2 stderr: :118:21)
at BufferList.slice (/home/jojo/.config/nvim/plugged/node-host/node_modules/bl/bl.js:93:15)
at Object.encode (/home/jojo/.config/nvim/plugged/node-host/node_modules/msgpack5/index.js:188:18)
at Encoder._transform (/home/jojo/.config/n
2016/02/13 12:06:27 [error @ forward_stderr:333] 10252 - Channel 2 stderr: vim/plugged/node-host/node_modules/msgpack5/lib/streams.js:37:25)
at Encoder.Transform._read (/home/jojo/.config/nvim/plugged/node-host/node_modules/readable-stream/lib/_stream_transform.js:184:10)
at Encoder.Transform._write (/home/jojo/.config/n
2016/02/13 12:06:27 [error @ forward_stderr:333] 10252 - Channel 2 stderr: vim/plugged/node-host/node_modules/readable-stream/lib/_stream_transform.js:172:12)
at doWrite (/home/jojo/.config/nvim/plugged/node-host/node_modules/readable-stream/lib/_stream_writable.js:279:12)
at writeOrBuffer (/home/jojo/.config/nvim/plugge
2016/02/13 12:06:27 [error @ forward_stderr:333] 10252 - Channel 2 stderr: d/node-host/node_modules/readable-stream/lib/_stream_writable.js:266:5)
at Encoder.Writable.write (/home/jojo/.config/nvim/plugged/node-host/node_modules/readable-stream/lib/_stream_writable.js:211:11)
2016/02/13 12:06:27 [error @ call_set_error:743] 10252 - msgpack-rpc: Channel was closed by the client
I also ran it with NEOVIM_JS_DEBUG
, but the log file is empty.
This error message shows when launching nvim without airline installed:
E117: Unknown function: airline#add_statusline_func
Press ENTER or type command to continue
The below error occurs all the time (making the extension unusable) when running with Node 5.9.1 (Installed with a deb from Nodesource [specifically this package '5.9.1-1nodesource1~trusty1']):
Error detected while processing function <SNR>17_indent[6]..ParinferIndent:
line 1:
Invalid channel "2"
Press ENTER or type command to continue
Downgrading to v4 has fixed the problem.
I can't say if this is a new problem with v5 as I was on 0.12 before and needed to upgrade for something other than nvim-parinfer.js so this is the first and only time I have run with v5.
This error seems almost random (race condition?)
But occurs occasionally (and then refuses to go away until I restart neovim)
Error detected while processing TextChangedI Auto commands for "*.clj*":
Invalid channel "3"
I found this issue, has a similar error: neovim/pynvim#80 Might be related?
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.