kbrw / neovim-elixir Goto Github PK
View Code? Open in Web Editor NEWNeovim host plugin for Elixir (use https://github.com/awetzel/elixir.nvim for a packaged version)
Neovim host plugin for Elixir (use https://github.com/awetzel/elixir.nvim for a packaged version)
I am trying to get this to work, but unfortunately it doesn't seem to be compatible with the current HEAD of neovim anymore. Is anyone still using/working on this project and could help me out?
With OTP/19 there is some basic support for UNIX sockets, I think it's a good time to update to a newer version of elixir. Procket dependency could be dropped, I am up for rewriting this part, if you think it's a good idea.
Hop, text below is a copy of @dm1try proposal on #1 to continue the thread on a new issue.
I agree, the integration testing is important here. Also some functional tests for the main modules can help new developers. I mostly use espec
framework. So I can try to help but if I can use it for this :)
For the logging thing, yes, I think a 10 LOC File Backend for Logger would be nice with comments on the confix.exs for debugging.
Then I think it would be nice to have one branch of vim-elixir containing the Host per Erlang version to ensure compatibility with your version.
π
About a different project for host and client I am not sure exactly what you mean since the only addition to make the client a host are :
Ok, thanks for the clarifying this. I've noticed the "smell" - MIX_ENV=host
it seems like the env var is used for make the difference between apps but not the difference between environments.
I thought that client responsibilities: connect to nvim,retrieve the nvim API/provide an interface to call this API; host responsibilities: make a bridge between Elixir plugins and nvim(load the plugins/translate their interfaces to nvim compatible and return them by a request, allow to use the client API inside plugins).
Anyway, I've realized that the different projects is overhead here!
But I have another proposals :) (btw, we should close this issue and continue in other tread, it's the last message π )
I updated the autocomplete script with project-depended autocompletion(inspired by alchemist-server) and bunch of small tweaks: show the first sentence/autoclose the doc-preview window then I go to the next line/etc..
I also will add smart refactoring tools to this "script". I write this stuff using usual flow(tests/many levels of abstraction π and so on). And I wanna share this with community. So gists will not work here. But the mix
already solves this.
The proposal is the adding to neovim-elixir
framework-like(AKA fluid
π) responsibilities:
mix archive.install ../neovim-elixir-0.1.1.ez, neovim_elixir.install_host
As a result of this neovim-elixir
can be able to process usual dynamically loaded Elixir
scripts and community packaged plugins(a host must be recompiled).
Don't get me wrong, I don't wanna make things complicated. As for me it's just some way to go.
You've already solved most non-trivial problems(thanks!) but there is still room for βimprovement
My priority for all those proposals:
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.