Skip to content

Commit 862b72e

Browse files
committed
FuzzyCompleter: compile re pattern on init
1 parent 6695411 commit 862b72e

1 file changed

Lines changed: 4 additions & 12 deletions

File tree

src/prompt_toolkit/completion/fuzzy_completer.py

Lines changed: 4 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -55,9 +55,10 @@ def __init__(
5555
assert pattern is None or pattern.startswith("^")
5656

5757
self.completer = completer
58-
self.pattern = pattern
5958
self.WORD = WORD
60-
self.pattern = pattern
59+
self.pattern = re.compile(
60+
pattern or (r"[^\s]+" if WORD else "^[a-zA-Z0-9_]*"),
61+
)
6162
self.enable_fuzzy = to_filter(enable_fuzzy)
6263

6364
def get_completions(
@@ -68,19 +69,10 @@ def get_completions(
6869
else:
6970
return self.completer.get_completions(document, complete_event)
7071

71-
def _get_pattern(self) -> str:
72-
if self.pattern:
73-
return self.pattern
74-
if self.WORD:
75-
return r"[^\s]+"
76-
return "^[a-zA-Z0-9_]*"
77-
7872
def _get_fuzzy_completions(
7973
self, document: Document, complete_event: CompleteEvent
8074
) -> Iterable[Completion]:
81-
word_before_cursor = document.get_word_before_cursor(
82-
pattern=re.compile(self._get_pattern())
83-
)
75+
word_before_cursor = document.get_word_before_cursor(pattern=self.pattern)
8476

8577
# Get completions
8678
document2 = Document(

0 commit comments

Comments
 (0)