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
601 B
C++
27 lines
601 B
C++
#pragma once
|
|
///@file
|
|
|
|
#include "lix/libutil/references.hh"
|
|
#include "lix/libstore/path.hh"
|
|
|
|
namespace nix {
|
|
|
|
std::pair<StorePathSet, HashResult> scanForReferences(const Path & path, const StorePathSet & refs);
|
|
|
|
StorePathSet scanForReferences(Sink & toTee, const Path & path, const StorePathSet & refs);
|
|
|
|
class PathRefScanSink : public RefScanSink
|
|
{
|
|
std::map<std::string, StorePath> backMap;
|
|
|
|
PathRefScanSink(StringSet && hashes, std::map<std::string, StorePath> && backMap);
|
|
|
|
public:
|
|
|
|
static PathRefScanSink fromPaths(const StorePathSet & refs);
|
|
|
|
StorePathSet getResultPaths();
|
|
};
|
|
|
|
}
|