aboutsummaryrefslogtreecommitdiffstats
path: root/contrib/python/prompt-toolkit/py2/prompt_toolkit/search_state.py
diff options
context:
space:
mode:
authorDevtools Arcadia <arcadia-devtools@yandex-team.ru>2022-02-07 18:08:42 +0300
committerDevtools Arcadia <arcadia-devtools@mous.vla.yp-c.yandex.net>2022-02-07 18:08:42 +0300
commit1110808a9d39d4b808aef724c861a2e1a38d2a69 (patch)
treee26c9fed0de5d9873cce7e00bc214573dc2195b7 /contrib/python/prompt-toolkit/py2/prompt_toolkit/search_state.py
downloadydb-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.py36
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)