[proposal] split project settings into shared and local parts
When working with certain languages, it could be useful
to keep the .kateproject
file tracked by a VCS and share
the global settings (just like .kateconfig). However, it
is often needed to adapt that file in order to work in a
local workspace (hard-coded paths for LSP, build, etc.),
but right now you are forced either to track the whole configuration
or to keep .kateproject
out from the repository.
This patch will allow to separate the project settings in two
files: the shared one (the good old .kateproject
), and
a local one.
When a .kateproject
file is found, the plugin will look
for the local file, and when found, its values will take
preference.
The file for the local part of the project settings follows
the same convention than the project notes
file:
<dir_name>.kateproject.workspace
.kateproject.local
If the value defined in the local part is an object, it will
be merged with the object in .kateproject
. Otherwise, the
local value will override completely the shared value.
One use case is to allow the LSP server to be aware of a python module installed only in a virtual environment.