Extensions can define both global and per-workspace configuration options. I would like to suggest that Nova implicitly lets the user override any global configuration options per workspace.
Currently, I have extensions where I copy most of the global configuration options to the workspace options and then write code that first looks in the workspace and then in the global options. This works well with values that can be empty – e.g.
path – but types like
boolean don’t have an empty value.
Now does it make sense to let the user override any global value per workspace? I think it does. Often, global configuration specifies things like external tools to use (e.g. language server, compiler, formatter). Different projects might need different versions of these tools. Global configuration might also define behavior, like e.g. whether to auto-format a file on saving. There might be a project where this is unwanted because it uses a different style guide, while you do want to use auto-formatting for other projects.
Mind you, needing to override the global configuration in a workspace doesn’t happen with every second project, it is somewhat of an exotic use-case. Still, it would be great if Nova would support this, because currently, with every global option I add, I think about whether the user might want to override this per workspace, and then usually copy the option to the workspace, because you never know.