Code Monkey home page Code Monkey logo

Comments (7)

JBakamovic avatar JBakamovic commented on August 17, 2024

If neovim is backwards compatible with vim then I suppose it could work.

from yavide.

TamaMcGlinn avatar TamaMcGlinn commented on August 17, 2024

How would we go about this? It's unclear to me from the docs what yavide actually is - seems to be more than a collection of plugins, as you have to compile it when installing; and yet, it depends on your version of vim, rather than using its source code in the project. Could you elaborate, e.g. on the introduction page, how yavide is set up, so that we can see how to extend it or port it to neovim?

from yavide.

TamaMcGlinn avatar TamaMcGlinn commented on August 17, 2024

By the way, changing the alias the installation puts in your ~/.bashrc file to use vim instead of gvim allows you to run yavide through the terminal:

alias yavide="vim --servername yavide -f -N -u /opt/yavide/.vimrc"

that seems to work fine but the client-server stuff is different in nvim, it outputs an error:

nvim: Unknown option argument: "--servername"

from yavide.

JBakamovic avatar JBakamovic commented on August 17, 2024

It's unclear to me from the docs what yavide actually is - seems to be more than a collection of plugins ...

That is correct. Besides the pre-selected third-party plugins it also implements its own API to support asynchronous processing. It implements improved (semantic) syntax highlighting, compiling, automatic code formatting and indexing. Implementation of more services is yet to come.

it depends on your version of vim

It does not. I'm not sure where did you get this from? I think the only requirement would be that vim version has to be at least 7.3.

Could you elaborate, e.g. on the introduction page, how yavide is set up, so that we can see how to extend it or port it to neovim?

There is nothing magic about yavide. It is an ordinary vim configuration and someone familiar with vimscript will find nothing unusual there. Extra stuff which is not found in other vim configurations is framework for async processing and services built on top of that framework.

from yavide.

JBakamovic avatar JBakamovic commented on August 17, 2024

By the way, changing the alias the installation puts in your ~/.bashrc file to use vim instead of gvim allows you to run yavide through the terminal

vim is different from gvim in couple of command line parameters that are crucial for implementing some of the yavide functionality and one of them for example being the servername. It is not supported by vim.

In order this to work, your system has to have vim deployed with +clientserver support compiled in. This is for example, not a case on my system (Fedora 24) and I think I found the same to be true on some recent versions of Ubuntu. It seems like it is not usual to have vim deployed with '+clientserver' support for some reasons which are explained under :help x11-clientserver.

that seems to work fine but the client-server stuff is different in nvim, it outputs an error

See above.

from yavide.

TamaMcGlinn avatar TamaMcGlinn commented on August 17, 2024

Ok; so "depends on your version of vim" should be "it uses whatever gvim installation you have, which should be at least 7.3" ?

The point is, neovim is a fork of vim that supports asynchronous processing, but does work through a terminal. So I think that porting the functionality mentioned (e.g. automatic code formatting and indexing) to neovim would most likely give us a better version. There's also a good chance that the stability issues I've seen are related to gvim, not yavide, and would therefore also be solved with a neovim port.

from yavide.

JBakamovic avatar JBakamovic commented on August 17, 2024

Well, async processing in yavide is implemented via clientserver architecture and as far as I can tell neovim does not support it. To port the functionality you would need to replace it with the alternative available in neovim. Stability issues that you personally have described are really really strange and if you try to give me more details maybe I can be of more help.

from yavide.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.