From c4944669e960c3e92b252fb4236a694346017fda Mon Sep 17 00:00:00 2001 From: Anthony Sottile Date: Mon, 24 Feb 2020 15:05:05 -0800 Subject: [PATCH] Temporarily restore 3.6.0 support --- .pre-commit-config.yaml | 7 ++----- babi.py | 46 ++++++++++++++++++++++++++--------------- 2 files changed, 31 insertions(+), 22 deletions(-) diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index ed3cb12..6afb4d8 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -11,9 +11,10 @@ repos: - id: name-tests-test - id: requirements-txt-fixer - repo: https://gitlab.com/pycqa/flake8 - rev: 3.7.8 + rev: 3.7.9 hooks: - id: flake8 + additional_dependencies: [flake8-typing-imports==1.7.0] - repo: https://github.com/pre-commit/mirrors-autopep8 rev: v1.4.4 hooks: @@ -33,7 +34,3 @@ repos: hooks: - id: pyupgrade args: [--py36-plus] -- repo: https://github.com/pre-commit/mirrors-mypy - rev: v0.730 - hooks: - - id: mypy diff --git a/babi.py b/babi.py index 7a87ddd..b9fc6fe 100644 --- a/babi.py +++ b/babi.py @@ -137,25 +137,37 @@ class Margin(NamedTuple): header: bool footer: bool - @property - def body_lines(self) -> int: - return curses.LINES - self.header - self.footer - @property - def page_size(self) -> int: - if self.body_lines <= 2: - return 1 - else: - return self.body_lines - 2 +@property +def body_lines(self) -> int: + return curses.LINES - self.header - self.footer - @classmethod - def from_screen(cls, screen: 'curses._CursesWindow') -> 'Margin': - if curses.LINES == 1: - return cls(header=False, footer=False) - elif curses.LINES == 2: - return cls(header=False, footer=True) - else: - return cls(header=True, footer=True) + +Margin.body_lines = body_lines + + +@property +def page_size(self) -> int: + if self.body_lines <= 2: + return 1 + else: + return self.body_lines - 2 + + +Margin.page_size = page_size + + +@classmethod +def from_screen(cls, screen: 'curses._CursesWindow') -> 'Margin': + if curses.LINES == 1: + return cls(header=False, footer=False) + elif curses.LINES == 2: + return cls(header=False, footer=True) + else: + return cls(header=True, footer=True) + + +Margin.from_screen = from_screen def _get_color_pair_mapping() -> Dict[Tuple[int, int], int]: