diff mercurial/error.py @ 45899:98399dd1b96c

errors: make formatparse() an instance method on ParseError It's just a little simpler this way. Don't ask me what the "hg: " prefix signifies to the user, I just left it as it was. I think we should consider changing the prefixes later (maybe always use "abort: ", or maybe use more specific prefixes in general). Differential Revision: https://phab.mercurial-scm.org/D9347
author Martin von Zweigbergk <martinvonz@google.com>
date Fri, 20 Nov 2020 08:51:45 -0800
parents 1817b66897ad
children 600aec73f309
line wrap: on
line diff
--- a/mercurial/error.py	Thu Nov 19 11:23:59 2020 -0800
+++ b/mercurial/error.py	Fri Nov 20 08:51:45 2020 -0800
@@ -267,6 +267,20 @@
 
     __bytes__ = _tobytes
 
+    def format(self):
+        from .i18n import _
+
+        if self.location is not None:
+            message = _(b"hg: parse error at %s: %s\n") % (
+                pycompat.bytestr(self.location),
+                self.message,
+            )
+        else:
+            message = _(b"hg: parse error: %s\n") % self.message
+        if self.hint:
+            message += _(b"(%s)\n") % self.hint
+        return message
+
 
 class PatchError(Exception):
     __bytes__ = _tobytes