labels: allow restoring cache-map

E.g. with unexpected termination for mu it is possible that the
labels-cache (i.e., the one that is used for auto-completion) gets disconnected
from reality.

Add a --restore option to `mu label list` to restore the actual labels from the
labels seen in the store.
This commit is contained in:
Dirk-Jan C. Binnema
2025-09-02 21:08:54 +03:00
committed by Seth Ladygo
parent 76031d93d1
commit 124b371850
9 changed files with 83 additions and 17 deletions

View File

@ -30,6 +30,8 @@
namespace Mu {
class Store;
/**
* The cache keeps track of what labels are being used. This can be used
* for completion etc. and `mu label list`
@ -143,6 +145,17 @@ public:
return map;
}
/**
* Restore the labels-cache from the labels seen in the store.
*
* @param store a store
*
* @return Ok() or some error
*/
Result<void> restore(const Store& store);
/**
* Is the cache "dirty"?
*
@ -159,8 +172,6 @@ private:
mutable bool dirty_{};
};
class Store;
/**
* Export labels to a file
*