mirror of
https://github.com/xonsh/xonsh.git
synced 2025-03-09 02:41:00 +01:00
Add ptk 2.0 completer
This commit is contained in:
parent
a5b5b9acf5
commit
30247da2d0
2 changed files with 16 additions and 2 deletions
|
@ -108,3 +108,17 @@ class PromptToolkitCompleter(Completer):
|
||||||
else:
|
else:
|
||||||
return LayoutDimension()
|
return LayoutDimension()
|
||||||
window._height = comp_height
|
window._height = comp_height
|
||||||
|
|
||||||
|
|
||||||
|
class PromptToolkit2Completer(PromptToolkitCompleter):
|
||||||
|
"""Completer for ptk2.
|
||||||
|
"""
|
||||||
|
def suggestion_completion(self, document, line):
|
||||||
|
"""Provides a completion based on the current auto-suggestion."""
|
||||||
|
cli = self.shell.prompter.cli
|
||||||
|
sug = self.hist_suggester.get_suggestion(cli.app.current_buffer, document)
|
||||||
|
if sug is None:
|
||||||
|
return None
|
||||||
|
comp, _, _ = sug.text.partition(' ')
|
||||||
|
_, _, prev = line.rpartition(' ')
|
||||||
|
return prev + comp
|
||||||
|
|
|
@ -9,7 +9,7 @@ from prompt_toolkit.layout.lexers import PygmentsLexer
|
||||||
from xonsh.platform import ptk_version_info
|
from xonsh.platform import ptk_version_info
|
||||||
from xonsh.base_shell import BaseShell
|
from xonsh.base_shell import BaseShell
|
||||||
from xonsh.tools import print_exception, carriage_return
|
from xonsh.tools import print_exception, carriage_return
|
||||||
from xonsh.ptk.completer import PromptToolkitCompleter
|
from xonsh.ptk.completer import PromptToolkitCompleter, PromptToolkit2Completer
|
||||||
from xonsh.ptk.history import PromptToolkitHistory
|
from xonsh.ptk.history import PromptToolkitHistory
|
||||||
from xonsh.ptk.key_bindings import load_xonsh_bindings
|
from xonsh.ptk.key_bindings import load_xonsh_bindings
|
||||||
from xonsh.ptk.shortcuts import get_prompter
|
from xonsh.ptk.shortcuts import get_prompter
|
||||||
|
@ -337,7 +337,7 @@ class PromptToolkitShell2(PromptToolkitShell):
|
||||||
self._first_prompt = True
|
self._first_prompt = True
|
||||||
self.prompter = get_prompter()
|
self.prompter = get_prompter()
|
||||||
self.history = PromptToolkitHistory()
|
self.history = PromptToolkitHistory()
|
||||||
self.pt_completer = PromptToolkitCompleter(
|
self.pt_completer = PromptToolkit2Completer(
|
||||||
self.completer, self.ctx, self)
|
self.completer, self.ctx, self)
|
||||||
self.key_bindings = KeyBindings()
|
self.key_bindings = KeyBindings()
|
||||||
load_xonsh_bindings(self.key_bindings)
|
load_xonsh_bindings(self.key_bindings)
|
||||||
|
|
Loading…
Add table
Reference in a new issue