clangd broke because it can't look through symlinks. compile_commands manipulation does not fix it, clangd configuration does not fix it, a vfs overlay does not fix it, and while a combination of those can fix it with a bind mount in place that's just too cursed to even consider clangd bug: https://github.com/llvm/llvm-project/issues/116877 Change-Id: I8e3e8489548eb3a7aa65ac9d12a5ec8abf814aec
27 lines
603 B
C++
27 lines
603 B
C++
#pragma once
|
|
///@file
|
|
|
|
#include "lix/libstore/store-api.hh"
|
|
|
|
|
|
namespace nix {
|
|
|
|
struct LogStore : public virtual Store
|
|
{
|
|
inline static std::string operationName = "Build log storage and retrieval";
|
|
|
|
/**
|
|
* Return the build log of the specified store path, if available,
|
|
* or null otherwise.
|
|
*/
|
|
std::optional<std::string> getBuildLog(const StorePath & path);
|
|
|
|
virtual std::optional<std::string> getBuildLogExact(const StorePath & path) = 0;
|
|
|
|
virtual void addBuildLog(const StorePath & path, std::string_view log) = 0;
|
|
|
|
static LogStore & require(Store & store);
|
|
};
|
|
|
|
}
|