mirror of
https://github.com/Textualize/textual.git
synced 2025-10-17 02:38:12 +03:00
Better error message for undefined variables
This commit is contained in:
@@ -1,49 +0,0 @@
|
|||||||
/* CSS file for dev_sandbox.py */
|
|
||||||
|
|
||||||
App > View {
|
|
||||||
docks: side=left/1;
|
|
||||||
text: on #20639b;
|
|
||||||
}
|
|
||||||
|
|
||||||
Widget:hover {
|
|
||||||
outline: heavy;
|
|
||||||
text: bold !important;
|
|
||||||
}
|
|
||||||
|
|
||||||
#sidebar {
|
|
||||||
text: #09312e on #3caea3;
|
|
||||||
dock: side;
|
|
||||||
width: 30;
|
|
||||||
offset-x: -100%;
|
|
||||||
transition: offset 500ms in_out_cubic;
|
|
||||||
border-right: outer #09312e;
|
|
||||||
}
|
|
||||||
|
|
||||||
#sidebar.-active {
|
|
||||||
offset-x: 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
#header {
|
|
||||||
text: white on #173f5f;
|
|
||||||
height: 3;
|
|
||||||
border: hkey;
|
|
||||||
}
|
|
||||||
|
|
||||||
#header.-visible {
|
|
||||||
visibility: hidden;
|
|
||||||
}
|
|
||||||
|
|
||||||
#content {
|
|
||||||
text: white on #20639b;
|
|
||||||
border-bottom: hkey #0f2b41;
|
|
||||||
offset-y: -3;
|
|
||||||
}
|
|
||||||
|
|
||||||
#content.-content-visible {
|
|
||||||
visibility: hidden;
|
|
||||||
}
|
|
||||||
|
|
||||||
#footer {
|
|
||||||
text: #3a3009 on #f6d55c;
|
|
||||||
height: 3;
|
|
||||||
}
|
|
||||||
@@ -29,4 +29,4 @@ class BasicApp(App):
|
|||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
BasicApp.run(css_file="test_app.css", watch_css=True, log="textual.log")
|
BasicApp.run(css_file="dev_sandbox.scss", watch_css=True, log="textual.log")
|
||||||
|
|||||||
58
examples/dev_sandbox.scss
Normal file
58
examples/dev_sandbox.scss
Normal file
@@ -0,0 +1,58 @@
|
|||||||
|
/* CSS file for dev_sandbox.py */
|
||||||
|
|
||||||
|
$text: #f0f0f0;
|
||||||
|
$primary: #021720;
|
||||||
|
$secondary:#95d52a;
|
||||||
|
$background: #262626;
|
||||||
|
|
||||||
|
$primary-style: $text on $background;
|
||||||
|
$animation-speed: 500ms;
|
||||||
|
$animation: offset $animation-speed in_out_cubic;
|
||||||
|
|
||||||
|
App > View {
|
||||||
|
docks: side=left/1;
|
||||||
|
text: on $foo;
|
||||||
|
}
|
||||||
|
|
||||||
|
Widget:hover {
|
||||||
|
outline: heavy;
|
||||||
|
text: bold !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
#sidebar {
|
||||||
|
text: $primary-style;
|
||||||
|
dock: side;
|
||||||
|
width: 30;
|
||||||
|
offset-x: -100%;
|
||||||
|
transition: $animation;
|
||||||
|
border-right: outer $secondary;
|
||||||
|
}
|
||||||
|
|
||||||
|
#sidebar.-active {
|
||||||
|
offset-x: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
#header {
|
||||||
|
text: $text on $primary;
|
||||||
|
height: 3;
|
||||||
|
border-bottom: hkey $secondary;
|
||||||
|
}
|
||||||
|
|
||||||
|
#header.-visible {
|
||||||
|
visibility: hidden;
|
||||||
|
}
|
||||||
|
|
||||||
|
#content {
|
||||||
|
text: $text on $background;
|
||||||
|
offset-y: -3;
|
||||||
|
}
|
||||||
|
|
||||||
|
#content.-content-visible {
|
||||||
|
visibility: hidden;
|
||||||
|
}
|
||||||
|
|
||||||
|
#footer {
|
||||||
|
text: $text on $primary;
|
||||||
|
height: 3;
|
||||||
|
border-top: hkey $secondary;
|
||||||
|
}
|
||||||
@@ -211,9 +211,10 @@ def _is_whitespace(token: Token) -> bool:
|
|||||||
def _unresolved(
|
def _unresolved(
|
||||||
variable_name: str, location: tuple[int, int]
|
variable_name: str, location: tuple[int, int]
|
||||||
) -> UnresolvedVariableError:
|
) -> UnresolvedVariableError:
|
||||||
|
line_no, col = location
|
||||||
return UnresolvedVariableError(
|
return UnresolvedVariableError(
|
||||||
f"variable ${variable_name} is not defined. "
|
f"variable ${variable_name} is not defined. "
|
||||||
f"attempted reference at location {location!r}"
|
f"attempted reference at location on line {line_no}, column {col}."
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user