Skip to content

[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.

Edited by Héctor Mesa Jiménez

Merge request reports