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
Config file #1119
Config file #1119
Conversation
Personally I think such settings should be handled from within neovim (via |
I've made my thoughts known elsewhere, but briefly I am strongly in favor of a dedicated config file -- I don't see a reason for shoehorning configuration for one program (Neovide) into that of another program (Neovim). I know that was historically the done thing (coming from vanilla Vim, where the GUI was not a separate program), but I believe this no longer serves a purpose in the Neovim and Lua world, for basically two reasons:
So why not do something that from the beginning is tailored towards Neovide? (Be it TOML, YAML, JSON, or a text file, as long as I can plop it in |
The situation is a bit tricky. Some options like A settings file in addition to those would be ideal IMO, where the settings can be specified in both, but the command line always overrides the stored settings. But when it comes to runtime stuff, that you can change at runtime, I think all of that should be inside vim. That allows you to bind keybindings and stuff. Even the current frameless command line option, should be there IMO, which would allow you to toggle frames on and off, on demand. I think the regular For guifont and Neovide, I think that needs to be deperecated in favor of something more structured and extensible, to support all kinds of stuff like custom font weights, separate bold and non-bold fonts, stylistic sets and so on. It's hard to get that all into a single string, and it's non-standard anyway. |
For the sake of completeness: I was only considering one-time setup options and not runtime changes (which I don't see a lot of use for, to be honest); for the latter, I would similarly prefer exposing functionality via a Lua module (similarly to Uivonim) rather than global variables. |
I agree with pretty much everything fredizzimo said. Some things are impossible (or at least hard) to change at runtime and don't make sense to change at runtime. Config file makes sense for those settings. Rather than specifying command line options or setting environment variables. |
Yes, that is exactly what I am suggesting. I don't consider this bad. (Just to make it clear: anything Neovim-specific should of course stay in |
Note that this comment was supposed to be for any settings set after we connect to neovim. I didn't realize this PR was for settings connecting before that. In that case, I supporting putting options such as multigrid under a configuration file |
im very in favor of this addition, ive stated in other issues that i agree with the idea of having a seperate config file for neovide. |
This would be very useful for those of us who start nvim instances on remote systems and then connect to them with Neovide. Currently, we have to configure Neovide on each remote system, which is rather unusual for a locally running client. |
because setting the environment variable to `false` disables vsync
@LoipesMas let's finish this. Need any help or feedback? |
@last-partizan IMO it's ready to be tested by users. Any improvements can be made incrementally in the future. |
@fredizzimo take a look, maybe you spot some rough spots also. |
This would be great for when you want to run Neovide as a client to a remote Neovim instance. Config such as GUI font and A dedicated config file would be perfect for this. To that end, I would like to humbly request that |
@Hubro That would be nice. But those settings are handled a bit differently, so it's not that simple. I'd suggest creating a new issue for that (if there isn't one already open). |
Dang 🤕 I opened a new issue: #1891 |
Updated documentation. I think it's better to have single example, instead of list + example. And it's better to have default values, so people can just copy it and change whatever they need.
What kind of change does this PR introduce?
Adds configuration file for some settings. It's described in more detail in
website/docs/config-file.md
file.Did this PR introduce a breaking change?
No