diff options
author | Devtools Arcadia <arcadia-devtools@yandex-team.ru> | 2022-02-07 18:08:42 +0300 |
---|---|---|
committer | Devtools Arcadia <arcadia-devtools@mous.vla.yp-c.yandex.net> | 2022-02-07 18:08:42 +0300 |
commit | 1110808a9d39d4b808aef724c861a2e1a38d2a69 (patch) | |
tree | e26c9fed0de5d9873cce7e00bc214573dc2195b7 /contrib/python/prompt-toolkit/py2/prompt_toolkit/search_state.py | |
download | ydb-1110808a9d39d4b808aef724c861a2e1a38d2a69.tar.gz |
intermediate changes
ref:cde9a383711a11544ce7e107a78147fb96cc4029
Diffstat (limited to 'contrib/python/prompt-toolkit/py2/prompt_toolkit/search_state.py')
-rw-r--r-- | contrib/python/prompt-toolkit/py2/prompt_toolkit/search_state.py | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/contrib/python/prompt-toolkit/py2/prompt_toolkit/search_state.py b/contrib/python/prompt-toolkit/py2/prompt_toolkit/search_state.py new file mode 100644 index 0000000000..3c494ea1a9 --- /dev/null +++ b/contrib/python/prompt-toolkit/py2/prompt_toolkit/search_state.py @@ -0,0 +1,36 @@ +from .enums import IncrementalSearchDirection +from .filters import to_simple_filter + +__all__ = ( + 'SearchState', +) + + +class SearchState(object): + """ + A search 'query'. + """ + __slots__ = ('text', 'direction', 'ignore_case') + + def __init__(self, text='', direction=IncrementalSearchDirection.FORWARD, ignore_case=False): + ignore_case = to_simple_filter(ignore_case) + + self.text = text + self.direction = direction + self.ignore_case = ignore_case + + def __repr__(self): + return '%s(%r, direction=%r, ignore_case=%r)' % ( + self.__class__.__name__, self.text, self.direction, self.ignore_case) + + def __invert__(self): + """ + Create a new SearchState where backwards becomes forwards and the other + way around. + """ + if self.direction == IncrementalSearchDirection.BACKWARD: + direction = IncrementalSearchDirection.FORWARD + else: + direction = IncrementalSearchDirection.BACKWARD + + return SearchState(text=self.text, direction=direction, ignore_case=self.ignore_case) |