Merge pull request #680 from Textualize/css-syntax-error-message

Improve error message for CSS syntax error
This commit is contained in:
Will McGugan
2022-08-18 10:38:42 +01:00
committed by GitHub
2 changed files with 5 additions and 2 deletions

View File

@@ -4,7 +4,7 @@ Screen {
#left_pane {
background: red;
width: 20;
width: 20
overflow: scroll scroll;
}

View File

@@ -12,6 +12,7 @@ import rich.repr
from rich.syntax import Syntax
from rich.text import Text
from ._error_tools import friendly_list
from .._loop import loop_last
@@ -203,11 +204,13 @@ class Tokenizer:
line = self.lines[line_no]
match = expect.match(line, col_no)
if match is None:
expected = friendly_list(" ".join(name.split("_")) for name in expect.names)
message = f"Expected one of {expected}.; Did you forget a semicolon at the end of a line?"
raise TokenError(
self.path,
self.code,
(line_no, col_no),
"expected " + ", ".join(name.upper() for name in expect.names),
message,
)
iter_groups = iter(match.groups())
next(iter_groups)