mirror of https://github.com/Textualize/rich.git
fix for syntax measure
This commit is contained in:
parent
13dd9c2c2e
commit
fe1ed5399e
|
@ -25,6 +25,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|||
- Fix missing `mode` property on file wrapper breaking uploads via `requests` https://github.com/Textualize/rich/pull/2495
|
||||
- Fix mismatching default value of parameter `ensure_ascii` https://github.com/Textualize/rich/pull/2538
|
||||
- Remove unused height parameter in `Layout` class https://github.com/Textualize/rich/pull/2540
|
||||
- Fixed exception in Syntax.__rich_measure__ for empty files
|
||||
|
||||
|
||||
### Changed
|
||||
|
|
|
@ -593,10 +593,11 @@ class Syntax(JupyterMixin):
|
|||
if self.code_width is not None:
|
||||
width = self.code_width + self._numbers_column_width + padding + 1
|
||||
return Measurement(self._numbers_column_width, width)
|
||||
lines = self.code.splitlines()
|
||||
width = (
|
||||
self._numbers_column_width
|
||||
+ padding
|
||||
+ max(cell_len(line) for line in self.code.splitlines())
|
||||
+ (max(cell_len(line) for line in lines) if lines else 0)
|
||||
)
|
||||
if self.line_numbers:
|
||||
width += 1
|
||||
|
|
|
@ -392,6 +392,9 @@ def test_syntax_measure():
|
|||
code = Syntax("Hello, World", "python", code_width=20, line_numbers=True)
|
||||
assert code.__rich_measure__(console, console.options) == Measurement(3, 24)
|
||||
|
||||
code = Syntax("", "python", code_width=20, line_numbers=True)
|
||||
assert code.__rich_measure__(console, console.options) == Measurement(3, 24)
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
syntax = Panel.fit(
|
||||
|
|
Loading…
Reference in New Issue