mirror of
https://github.com/xonsh/xonsh.git
synced 2025-03-04 00:14:41 +01:00
feat: add xontrib-django
This commit is contained in:
parent
18d655e16f
commit
1476f1adaa
4 changed files with 37 additions and 19 deletions
23
news/xontrib-django.rst
Normal file
23
news/xontrib-django.rst
Normal file
|
@ -0,0 +1,23 @@
|
||||||
|
**Added:**
|
||||||
|
|
||||||
|
* new `xontrib-django <https://github.com/jnoortheen/xontrib-django>`_ for django management completions
|
||||||
|
|
||||||
|
**Changed:**
|
||||||
|
|
||||||
|
* <news item>
|
||||||
|
|
||||||
|
**Deprecated:**
|
||||||
|
|
||||||
|
* <news item>
|
||||||
|
|
||||||
|
**Removed:**
|
||||||
|
|
||||||
|
* <news item>
|
||||||
|
|
||||||
|
**Fixed:**
|
||||||
|
|
||||||
|
* <news item>
|
||||||
|
|
||||||
|
**Security:**
|
||||||
|
|
||||||
|
* <news item>
|
|
@ -1,15 +0,0 @@
|
||||||
"""Completers for pip."""
|
|
||||||
|
|
||||||
from xonsh.completers.tools import comp_based_completer
|
|
||||||
from xonsh.parsers.completion_context import CommandContext
|
|
||||||
|
|
||||||
|
|
||||||
def xonsh_complete(ctx: CommandContext):
|
|
||||||
"""Completes python's package manager pip."""
|
|
||||||
# adapted from https://github.com/django/django/blob/main/extras/django_bash_completion
|
|
||||||
|
|
||||||
# todo: find a way to get description for the completions like here
|
|
||||||
# 1. https://github.com/apie/fish-django-completions/blob/master/fish_django_completions.py
|
|
||||||
# 2. complete python manage.py invocations
|
|
||||||
# https://github.com/django/django/blob/main/extras/django_bash_completion
|
|
||||||
return comp_based_completer(ctx, DJANGO_AUTO_COMPLETE="1")
|
|
|
@ -281,7 +281,7 @@ def complete_from_sub_proc(*args: str, sep=None, filter_prefix=None, **env_vars:
|
||||||
yield comp
|
yield comp
|
||||||
|
|
||||||
|
|
||||||
def comp_based_completer(ctx: CommandContext, **env: str):
|
def comp_based_completer(ctx: CommandContext, start_index=0, **env: str):
|
||||||
"""Helper function to complete commands such as ``pip``,``django-admin``,... that use bash's ``complete``"""
|
"""Helper function to complete commands such as ``pip``,``django-admin``,... that use bash's ``complete``"""
|
||||||
prefix = ctx.prefix
|
prefix = ctx.prefix
|
||||||
|
|
||||||
|
@ -290,9 +290,9 @@ def comp_based_completer(ctx: CommandContext, **env: str):
|
||||||
args.append(prefix)
|
args.append(prefix)
|
||||||
|
|
||||||
yield from complete_from_sub_proc(
|
yield from complete_from_sub_proc(
|
||||||
args[0],
|
*args[: start_index + 1],
|
||||||
sep=shlex.split,
|
sep=shlex.split,
|
||||||
COMP_WORDS=os.linesep.join(args) + os.linesep,
|
COMP_WORDS=os.linesep.join(args[start_index:]) + os.linesep,
|
||||||
COMP_CWORD=str(ctx.arg_index),
|
COMP_CWORD=str(ctx.arg_index - start_index),
|
||||||
**env,
|
**env,
|
||||||
)
|
)
|
||||||
|
|
|
@ -304,6 +304,16 @@ def define_xontribs():
|
||||||
"distributed",
|
"distributed",
|
||||||
"The distributed parallel computing library hooks for xonsh.",
|
"The distributed parallel computing library hooks for xonsh.",
|
||||||
),
|
),
|
||||||
|
"django": Xontrib(
|
||||||
|
url="https://github.com/jnoortheen/xontrib-django",
|
||||||
|
description="Django management command completions for Xonsh shell",
|
||||||
|
package=_XontribPkg(
|
||||||
|
name="xontrib-django",
|
||||||
|
license="MIT",
|
||||||
|
install={"pip": "xpip install xontrib-django"},
|
||||||
|
url="https://github.com/jnoortheen/xontrib-django",
|
||||||
|
),
|
||||||
|
),
|
||||||
"jupyter": get_xontrib(
|
"jupyter": get_xontrib(
|
||||||
"jupyter-shell",
|
"jupyter-shell",
|
||||||
"Jupyter Notebook kernel for Xonsh",
|
"Jupyter Notebook kernel for Xonsh",
|
||||||
|
|
Loading…
Add table
Reference in a new issue