Skip to content
This repository has been archived by the owner on Apr 1, 2020. It is now read-only.

What is a neovim front end? #32

Closed
chopfitzroy opened this issue Dec 5, 2016 · 4 comments
Closed

What is a neovim front end? #32

chopfitzroy opened this issue Dec 5, 2016 · 4 comments

Comments

@chopfitzroy
Copy link

Could somebody please help me get an understanding of the advantages a front end has versus something like the terminal I am trying to wrap my head around it.

I noticed that oni plugins can be written in JS which is pretty cool but does that mean my usual plugins (deoplete, fzf, etc...) won't work?

Also are all neovim front ends the same (except for the language they are implemented in)?

@keforbes
Copy link
Collaborator

keforbes commented Dec 5, 2016

Same basic reason why gvim exists in addition to vim. Some people like launching an application in a separate window rather than within a terminal. In fact, some projects (https://github.com/fmoralesc/neovim-gnome-terminal-wrapper and https://github.com/harish2704/neovim-konsole) are literally just wrapping a terminal session in their own application so there really is nothing else added.

For this project though, didn't you see the animated gifs on the project page? This project is attempting to create more of an IDE rather than just neovim in a separate window. I think the intent is to add more capabilities than neovim can provide in a terminal while still allowing you to use all your current neovim plugins.

Sorry, I don't have anything to do with this project but I felt I could answer your question since I'm interested in seeing where this project goes. 😄

@chopfitzroy
Copy link
Author

Hey @keforbes,

Cheers for the response, yes I did see the animated gifs but most of that I can achieve in a terminal like environment so I am just trying to get a really solid understanding of what separates a front end from something like a terminal.

@bryphe
Copy link
Member

bryphe commented Dec 6, 2016

Thanks @keforbes, great answer :)

Terminals are usually limited to character-by-character rendering - sometimes there are very creative workarounds to draw more interesting things, like patched fonts, or some of the crazy stuff Emacs does, but in general you're limited to that restriction.

Neovim's architecture is decoupled, meaning you aren't constrained to a terminal anymore, and so there are lots of front-end UIs now that render to places besides a terminal. Whether or not that is actually useful for you is for you to decide :)

If you're interested to see some others, check this out:
https://github.com/neovim/neovim/wiki/Related-projects#gui-projects

And just to give a comparison, this project was a pure-terminal progenitor to this one:
https://github.com/extr0py/vim-electrify-typescript-completion

Thanks for checking out the project!

@chopfitzroy
Copy link
Author

Hey @extr0py cheers for the respons.

That has helped to clear things up.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

No branches or pull requests

3 participants