From 3308cdde1cb9ecebda3fca28f20af6db4bb41016 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rodrigo=20Gir=C3=A3o=20Serr=C3=A3o?= <5621605+rodrigogiraoserrao@users.noreply.github.com> Date: Tue, 23 May 2023 15:32:49 +0100 Subject: [PATCH] Use FIFOCache. Related comments: https://github.com/Textualize/textual/pull/2604#discussion_r1202431626 --- src/textual/suggester.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/textual/suggester.py b/src/textual/suggester.py index b290b1804..619dbb470 100644 --- a/src/textual/suggester.py +++ b/src/textual/suggester.py @@ -4,6 +4,7 @@ from abc import ABC, abstractmethod from dataclasses import dataclass from typing import Iterable +from ._cache import FIFOCache from .dom import DOMNode from .message import Message @@ -26,7 +27,7 @@ class Suggester(ABC): See [`SuggestFromList`][textual.suggester.SuggestFromList] for an example. """ - cache: dict[str, str | None] | None + cache: FIFOCache[str, str | None] | None """Suggestion cache, if used.""" def __init__(self, use_cache: bool = True): @@ -35,7 +36,7 @@ class Suggester(ABC): Args: use_cache: Whether to cache suggestion results. """ - self.cache = {} if use_cache else None + self.cache = FIFOCache(1024) if use_cache else None async def _get_suggestion(self, requester: DOMNode, value: str) -> None: """Used by widgets to get completion suggestions.