mirror of
https://github.com/httpie/cli.git
synced 2024-11-25 17:23:25 +01:00
28 lines
745 B
Python
28 lines
745 B
Python
from typing import Optional
|
|
|
|
from .tokens import Token, HIGHLIGHTER
|
|
|
|
|
|
class NestedJSONSyntaxError(ValueError):
|
|
def __init__(
|
|
self,
|
|
source: str,
|
|
token: Optional[Token],
|
|
message: str,
|
|
message_kind: str = 'Syntax',
|
|
) -> None:
|
|
self.source = source
|
|
self.token = token
|
|
self.message = message
|
|
self.message_kind = message_kind
|
|
|
|
def __str__(self):
|
|
lines = [f'HTTPie {self.message_kind} Error: {self.message}']
|
|
if self.token is not None:
|
|
lines.append(self.source)
|
|
lines.append(
|
|
' ' * self.token.start
|
|
+ HIGHLIGHTER * (self.token.end - self.token.start)
|
|
)
|
|
return '\n'.join(lines)
|