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
30 lines
650 B
C++
30 lines
650 B
C++
#pragma once
|
|
///@file
|
|
|
|
#include "lix/libutil/experimental-features.hh"
|
|
#include "lix/libutil/json-utils.hh"
|
|
|
|
namespace nix {
|
|
|
|
/**
|
|
* Compute the documentation of all experimental features.
|
|
*
|
|
* See `doc/manual` for how this information is used.
|
|
*/
|
|
nlohmann::json documentExperimentalFeatures();
|
|
|
|
/**
|
|
* Semi-magic conversion to and from json.
|
|
* See the nlohmann/json readme for more details.
|
|
*/
|
|
void to_json(nlohmann::json &, const ExperimentalFeature &);
|
|
void from_json(const nlohmann::json &, ExperimentalFeature &);
|
|
|
|
/**
|
|
* It is always rendered as a string
|
|
*/
|
|
template<>
|
|
struct json_avoids_null<ExperimentalFeature> : std::true_type {};
|
|
|
|
};
|