From 5f05aa2b6e96e2f93af6b41c22d033121d794968 Mon Sep 17 00:00:00 2001 From: ras0219 <533828+ras0219@users.noreply.github.com> Date: Wed, 3 Feb 2021 11:17:07 -0800 Subject: [PATCH] [vcpkg] Emit parse errors to match '::: error: ' for better IDE compatibility (#15926) Co-authored-by: Robert Schumacher --- toolsrc/src/vcpkg-test/json.cpp | 2 +- toolsrc/src/vcpkg/base/json.cpp | 2 +- toolsrc/src/vcpkg/base/parse.cpp | 5 ++--- 3 files changed, 4 insertions(+), 5 deletions(-) diff --git a/toolsrc/src/vcpkg-test/json.cpp b/toolsrc/src/vcpkg-test/json.cpp index 6858a5ac82eeed..b03fe2aec7d844 100644 --- a/toolsrc/src/vcpkg-test/json.cpp +++ b/toolsrc/src/vcpkg-test/json.cpp @@ -234,7 +234,7 @@ TEST_CASE ("JSON track newlines", "[json]") auto res = Json::parse("{\n,", fs::u8path("filename")); REQUIRE(!res); REQUIRE(res.error()->format() == - R"(Error: filename:2:1: Unexpected character; expected property name + R"(filename:2:1: error: Unexpected character; expected property name on expression: , ^ )"); diff --git a/toolsrc/src/vcpkg/base/json.cpp b/toolsrc/src/vcpkg/base/json.cpp index d99fa73925d9b5..c287eae7812d00 100644 --- a/toolsrc/src/vcpkg/base/json.cpp +++ b/toolsrc/src/vcpkg/base/json.cpp @@ -1062,7 +1062,7 @@ namespace vcpkg::Json ExpectedT, std::unique_ptr> parse(StringView json, const fs::path& filepath) noexcept { - return Parser::parse(json, fs::generic_u8string(filepath)); + return Parser::parse(json, fs::u8string(filepath)); } ExpectedT, std::unique_ptr> parse(StringView json, StringView origin) noexcept diff --git a/toolsrc/src/vcpkg/base/parse.cpp b/toolsrc/src/vcpkg/base/parse.cpp index a082c4d9c710b5..fb1b4c3bfa6322 100644 --- a/toolsrc/src/vcpkg/base/parse.cpp +++ b/toolsrc/src/vcpkg/base/parse.cpp @@ -34,13 +34,12 @@ namespace vcpkg::Parse caret_spacing.push_back(cp == '\t' ? '\t' : ' '); } - return Strings::concat("Error: ", - origin, + return Strings::concat(origin, ":", row, ":", column, - ": ", + ": error: ", message, "\n" " on expression: ", // 18 columns