Skip to content

Commit bc278ef

Browse files
committed
Implement awslabs#28: Add auto suggest completions.
1 parent 91a0d8a commit bc278ef

File tree

2 files changed

+7
-1
lines changed

2 files changed

+7
-1
lines changed

awsshell/app.py

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@
1616
from prompt_toolkit.interface import AbortAction, AcceptAction
1717
from prompt_toolkit.key_binding.manager import KeyBindingManager
1818
from prompt_toolkit.utils import Callback
19+
from prompt_toolkit.auto_suggest import AutoSuggestFromHistory
1920

2021
from awsshell.ui import create_default_layout
2122

@@ -86,6 +87,8 @@ def create_layout(self):
8687
def create_buffer(self, completer, history):
8788
return Buffer(
8889
history=history,
90+
auto_suggest=AutoSuggestFromHistory(),
91+
enable_history_search=True,
8992
completer=completer,
9093
complete_while_typing=Always(),
9194
accept_action=AcceptAction.RETURN_DOCUMENT)
@@ -94,6 +97,7 @@ def create_application(self, completer, history):
9497
key_bindings_registry = KeyBindingManager(
9598
enable_search=True,
9699
enable_abort_and_exit_bindings=True,
100+
enable_auto_suggest_bindings=True,
97101
enable_vi_mode=True,
98102
enable_system_bindings=False,
99103
enable_open_in_editor=False).registry

awsshell/ui.py

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010
MultiColumnCompletionsMenu
1111
from prompt_toolkit.layout.processors import PasswordProcessor, \
1212
HighlightSearchProcessor, HighlightSelectionProcessor, \
13-
ConditionalProcessor
13+
ConditionalProcessor, AppendAutoSuggestion
1414
from prompt_toolkit.layout.prompt import DefaultPrompt
1515
from prompt_toolkit.layout.screen import Char
1616
from prompt_toolkit.layout.toolbars import ValidationToolbar, \
@@ -77,6 +77,8 @@ def create_default_layout(app, message='',
7777
HighlightSearchProcessor(preview_search=Always()),
7878
HasFocus(SEARCH_BUFFER)),
7979
HighlightSelectionProcessor(),
80+
ConditionalProcessor(
81+
AppendAutoSuggestion(), HasFocus(DEFAULT_BUFFER) & ~IsDone()),
8082
ConditionalProcessor(PasswordProcessor(), is_password)
8183
]
8284

0 commit comments

Comments
 (0)