Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Pioneering]: Support Neovim #899

Open
kantord opened this issue Feb 4, 2025 · 0 comments
Open

[Pioneering]: Support Neovim #899

kantord opened this issue Feb 4, 2025 · 0 comments
Assignees

Comments

@kantord
Copy link
Member

kantord commented Feb 4, 2025

Description

Why

While Neovim is far less popular than VS Code, it's users are typically much more interested in open source and much more security-aware than VS Code users. I don't have hard data to suggest that interest around Neovim could be even close to that of VS Code users, but I suspect that the user base might still be significant, and punch above their weight in terms of investing time into security efforts.

Interest in Neovim seems to have been growing recently as well, and seems like the interest in Neovim is especially concentrated in China: https://trends.google.com/trends/explore?date=today%205-y&q=neovim

Keep in mind that Google has less than 2% market share in China, so the level of interest in Neovim in China might be much higher than that graph suggests https://www.statista.com/statistics/253340/market-share-of-search-engines-in-china-pageviews

I could not find any detailed articles or studies analyzing this phenomenon, but I suspect that a potential factor could be an avoidance of vendor-lock in, or perhaps problems with taking full advantage of VS Code while using a Chinese ISP.

Neovim is the best choice of editor as it has effectively zero vendor lock-in (there are multiple well-maintained vim-like editors, and most editors have plugins or built-in features to provide a vim-like experience. Vim and neovim both survived the unfortunate passing of Vim's original maintainer). It can be used in a fully-open source way. Albeit most of the plugins/community around Neovim (and vim) is hosted on GitHub, which seems like most Chinese developers use: https://www.reddit.com/r/programming/comments/14yhuan/how_are_chinese_devs_able_to_use_github/

Chinese developers don't only seem to be disproportionately interested in using Neovim, but are actually very active in the Neovim community. One of the most popular plugin platforms for Neovim - coc.nvim - is created and maintained mostly by Chinese developers. (24.6k ⭐ on GitHub). There is also a Neoclide IDE community in GitHub, which seems to be oriented around using Neoclide as an IDE partially by porting VS Code extensions to work using coc.nvim. coc.nvim was probably the most popular way to use LSPs in Neovim around 2022 (I myself used it), although now there are fewer reasons to use it, because Neovim now has built-in LSP support and plugins that automate the installation of LSPs.

Challenges

The main challenge is that compared to VS Code, Neovim architectures are very diverse.

The silver lining is that support would be mostly still consist on simply documenting how to change the API URL in each plugin, so this process would not really be any different.

The bigger challenge would be developing an independent CodeGate plugin that would work both in Neovim and VS Code. This could be more of a challenge.

How

The AI plugin world of Neovim is not dissimilar to that of VS Code: there are various plugins and each have their user base.

The 2 most complete/feature-packed AI plugins with any popularity for neovim seem to be these:

Supporting these should still be fundamentally a matter of changing the base-url and documenting how to do it. Since the plugins are open source, asking the maintainer to merge a CodeGate-related PR (to have a built-in CodeGate support without having to manually specify a base url) is also an option if we want to invest more time. (This could increase CodeGate's clout, and also help that plugin by letting them claim they have "Buit in security using CodeGate").

One strength (or weakness) of Neovim is that it is CLI-oriented. This presents a challenge when integrating web-based interfaces into Neovim, but at the same time presents an opportunity to integrate CLI/TUI. This means that if codegate ever creates CLI/TUI style interfaces for some of the features available through the web-based dashboard, these could be nearly trivial to integrate.

Additional Context

No response

@lukehinds lukehinds changed the title [Story]: Support Neovim Support Neovim Feb 4, 2025
@lukehinds lukehinds changed the title Support Neovim [Pioneering]: Support Neovim Feb 7, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants