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

25 lines
811 B
Python

"""Completers for gh CLI"""
from xonsh.completers.tools import completion_from_cmd_output, sub_proc_get_output
from xonsh.parsers.completion_context import CommandContext
def _complete(cmd, *args):
out, _ = sub_proc_get_output(cmd, "__complete", *args)
if out:
# directives
# shellCompDirectiveError 1
# shellCompDirectiveNoSpace 2
# shellCompDirectiveNoFileComp 4
# shellCompDirectiveFilterFileExt 8
# shellCompDirectiveFilterDirs 16
# todo: implement directive-numbers above
*lines, dir_num = out.decode().splitlines()
for ln in lines:
yield completion_from_cmd_output(ln)
def xonsh_complete(ctx: CommandContext):
cmd, *args = [arg.value for arg in ctx.args] + [ctx.prefix]
return _complete(cmd, *args)