Bug 246343

Summary: editors/neovim: Rename to unify graphical vs. console editor naming scheme
Product: Ports & Packages Reporter: Jake Bauer <jbauer>
Component: Individual Port(s)Assignee: Adam Weinberger <adamw>
Status: Closed Works As Intended    
Severity: Affects Many People CC: contact
Priority: --- Flags: bugzilla: maintainer-feedback? (adamw)
Version: Latest   
Hardware: Any   
OS: Any   

Description Jake Bauer 2020-05-10 01:01:28 UTC
Editor packages are typically split between console-based versions and versions with graphical elements if it is logical to do so. For example, there is `vim-console`, the console-only version of vim, and `vim`, which comes with GUI features. There is also emacs, for the graphical version, and emacs-nox for the console version.

Neovim, on the other hand, does not follow this naming scheme. The `neovim` package is the console based version whereas the `neovim-qt` package is the graphical version. This can be confusing to users who are new to FreeBSD (as it was for me), and may also trip up even experienced users.

Renaming the `neovim` package to something like `neovim-console` would be clearer as it would follow the naming scheme of the other popular editor packages.
Comment 1 Adam Weinberger freebsd_committer freebsd_triage 2020-05-10 06:29:05 UTC
The difference in naming scheme is definitely confusing.

vim, vim-console, and vim-tiny are all different build configurations from a single source tarball. They are one and the same. The same is true of emacs.

neovim and neovim-qt are completely separate codebases. neovim-qt is not neovim; it is a third-party frontend, one of many. We can't rename both of them from their actual names, nor should we call neovim-qt the One True Frontend.

The vim naming scheme is, IMO, a bad idea that I inherited. The vim package should install just the console vim, and you should be able to install whichever toolkit you want as a separate package. The same goes for emacs.
Comment 2 Evilham 2020-05-10 13:35:16 UTC
\o hi, for a bit of context, this started as a very informal conversation on the fediverse: https://social.paritybit.ca/@jbauer/104139315294826147

I just wanted to add that, indeed, this is something that I experienced myself when I started using FreeBSD and have seen people "struggle" understanding when first using FreeBSD.

With the goal of easening adoption of the OS, wouldn't it make sense to at least open a discussion about: e.g. maybe switching the naming scheme for things like vim and emacs to be always explicit as to whether or not they use graphics?

For example if vim as a port doesn't exist, but vim-gtk and vim-console do, that means a user is not "tricked" into installing something they don't want, same goes for, e.g. hypothetical emacs_gtk kand emacs_nox


So, maybe instead of closing with works as intended, reassigning to editors/vim and editors/emacs would be more beneficial for the project as a whole; I really don't think this is the kind of issue that should be looked at from the "local maximum" (aka per-port) point of view, but rather trying to maximise the end-state of the ports tree.

I hope that makes sense and this bug develops in a somewhat more constructive long-term thinking fashion.

Cheers,
Comment 3 Adam Weinberger freebsd_committer freebsd_triage 2020-05-10 19:17:32 UTC
(In reply to Evilham from comment #2)

I'm in complete agreement. I would love for the names be explicit about what frontend they contain.

Unfortunately, vim is such a fundamental port, so I am very hesitant to change it after over 20 years of the vim package installing a GUI.