xonsh/xontrib/fish_completer.py
Noortheen Raja 78091a22f3 style: isort imports
fix #4584
2022-01-31 11:16:51 -05:00

25 lines
749 B
Python

from xonsh.completers import completer
from xonsh.completers.tools import complete_from_sub_proc, contextual_command_completer
from xonsh.parsers.completion_context import CommandContext
@contextual_command_completer
def fish_proc_completer(ctx: CommandContext):
"""Populate completions using fish shell and remove bash-completer"""
if not ctx.args:
return
line = ctx.text_before_cursor
script_lines = [
f"complete --no-files {ctx.command}", # switch off basic file completions for the executable
f"complete -C '{line}'",
]
yield from complete_from_sub_proc(
"fish",
"-c",
"; ".join(script_lines),
)
completer.add_one_completer("fish", fish_proc_completer, "<bash")