aboutsummaryrefslogtreecommitdiffstats
path: root/contrib/python/prompt-toolkit/py2/prompt_toolkit/search_state.py
diff options
context:
space:
mode:
authornkozlovskiy <nmk@ydb.tech>2023-09-29 12:24:06 +0300
committernkozlovskiy <nmk@ydb.tech>2023-09-29 12:41:34 +0300
commite0e3e1717e3d33762ce61950504f9637a6e669ed (patch)
treebca3ff6939b10ed60c3d5c12439963a1146b9711 /contrib/python/prompt-toolkit/py2/prompt_toolkit/search_state.py
parent38f2c5852db84c7b4d83adfcb009eb61541d1ccd (diff)
downloadydb-e0e3e1717e3d33762ce61950504f9637a6e669ed.tar.gz
add ydb deps
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)