#pragma once #include "LibLsp/JsonRpc/serializer.h" #include struct lsDocumentUri { static lsDocumentUri FromPath(AbsolutePath const& path); lsDocumentUri(); lsDocumentUri(AbsolutePath const& path); lsDocumentUri(lsDocumentUri const& other); ; bool operator==(lsDocumentUri const& other) const; bool operator==(std::string const& other) const; void SetPath(AbsolutePath const& path); std::string GetRawPath() const; AbsolutePath GetAbsolutePath() const; std::string raw_uri_; void swap(lsDocumentUri& arg) noexcept { raw_uri_.swap(arg.raw_uri_); } }; extern void Reflect(Writer& visitor, lsDocumentUri& value); extern void Reflect(Reader& visitor, lsDocumentUri& value); extern std::string make_file_scheme_uri(std::string const& absolute_path);