mirror of
https://github.com/xonsh/xonsh.git
synced 2025-03-04 16:34:47 +01:00
25 lines
749 B
Python
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")
|