summaryrefslogtreecommitdiff
path: root/Source/Core/Common/Assembler/AssemblerShared.cpp
blob: 77d7e737f932da29c6721d2f60255e262376fd86 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
// Copyright 2023 Dolphin Emulator Project
// SPDX-License-Identifier: GPL-2.0-or-later

#include "Common/Assembler/AssemblerShared.h"

#include <fmt/format.h>

namespace Common::GekkoAssembler
{
std::string AssemblerError::FormatError() const
{
  const char* space_char = col == 0 ? "" : " ";

  std::string_view line_str = error_line;
  if (line_str.back() == '\n')
  {
    line_str = line_str.substr(0, line_str.length() - 1);
  }

  return fmt::format("Error on line {0} col {1}:\n"
                     "  {2}\n"
                     "  {3:{4}}{5:^^{6}}\n"
                     "{7}",
                     line + 1, col + 1, line_str, space_char, col, '^', len, message);
}
}  // namespace Common::GekkoAssembler