nvim-lua / kickstart.nvim

A launch point for your personal nvim configuration
MIT License
20.06k stars 24.43k forks source link

development language assumptions bad? #63

Closed errantepiphany closed 1 year ago

errantepiphany commented 1 year ago

I'm wondering if it's "bad" to make so many assumptions on which languages people will want to develop with:

ensure_installed = { 'c', 'cpp', 'go', 'lua', 'python', 'rust', 'typescript', 'help' },
...
local servers = { 'clangd', 'rust_analyzer', 'pyright', 'tsserver', 'sumneko_lua', 'gopls' }

Granted, on one hand I can see how it's good to have examples, however:

  1. Such assumptions can cause problems. One such example is this one for gopls: https://github.com/nvim-lua/kickstart.nvim/issues/58#issuecomment-1356899810
  2. It's unnecessary to take the time to download and install so many language servers, when it's unlikely that most people will be developing in all those languages.

My opinion is that things should be a lot more minimal and "safe" (dependency-wise):

ensure_installed = { 'lua', 'vim', 'help' },
...
local servers = { 'sumneko_lua', 'vimls' }

Thoughts?

seantwie03 commented 1 year ago

The README states: "This repo is meant to be used as a starting point for a user's own configuration; remove the things you don't use and add what you miss."

I don't think having a few servers and parsers as examples is a bad idea. That being said, I do think that removing gopls might be a good idea because it adds an extra system dependency (golang).

errantepiphany commented 1 year ago

Curious... Does one need python installed for the pyright language server to at least install (even if it won't "work")? Or rust available for rust_analyzer installation? Or a cc++ compiler available for clangd installation? I'm on Linux, and those tools are by default available for me, so I honestly don't know what would happen to Windows or Mac users if they don't have those tools installed.

yoray314 commented 1 year ago

Curious... Does one need python installed for the pyright language server to at least install (even if it won't "work")? Or rust available for rust_analyzer installation? Or a cc++ compiler available for clangd installation? I'm on Linux, and those tools are by default available for me, so I honestly don't know what would happen to Windows or Mac users if they don't have those tools installed.

Can confirm that I got error messages because I don't have cc++ ( gcc, clang ) on my PC ( linux, opensuse tumbleweed ) but no issues with gopls ( I don't have go on my PC either ) or any of the others.

Update: Started nvim again and got what I believe to be the same error and its from treesitter - nvim-treesitter[python]: Error during compilation cc: fatal error: cannot execute 'cc1plus': execvp: No such file or directory compilation terminated.

tjdevries commented 1 year ago

I wanted to show out of the box that many languages can be supported easily if you are developing with them. I don't think I'll remove them by default, it's pretty easy to remove.

I'll think about moving it back to a smaller amount of languages though.