mirror of
https://github.com/kennethreitz/pipenv.git
synced 2026-06-05 22:50:18 +00:00
Merge pull request #4445 from GlenRSmith/master
Add `pipenv scripts` command to list scripts in Pipfile
This commit is contained in:
@@ -191,6 +191,8 @@ Fish is the best shell. You should use it.
|
||||
lock Generates Pipfile.lock.
|
||||
open View a given module in your editor.
|
||||
run Spawns a command installed into the virtualenv.
|
||||
scripts Displays the shortcuts in the (optional) [scripts] section of
|
||||
Pipfile.
|
||||
shell Spawns a shell within the virtualenv.
|
||||
sync Installs all packages specified in Pipfile.lock.
|
||||
uninstall Un-installs a provided package and removes it from Pipfile.
|
||||
|
||||
@@ -428,6 +428,15 @@ For example:
|
||||
$ pipenv run echospam "indeed"
|
||||
I am really a very silly example indeed
|
||||
|
||||
You can then display the names and commands of your shortcuts by running ``pipenv scripts`` in your terminal.
|
||||
|
||||
::
|
||||
|
||||
$ pipenv scripts
|
||||
command script
|
||||
echospam echo I am really a very silly example
|
||||
|
||||
|
||||
☤ Support for Environment Variables
|
||||
-----------------------------------
|
||||
|
||||
|
||||
@@ -0,0 +1,2 @@
|
||||
Add a new command ``pipenv scripts`` to display shortcuts from Pipfile.
|
||||
|
||||
@@ -716,5 +716,26 @@ def clean(ctx, state, dry_run=False, bare=False, user=False):
|
||||
system=state.system)
|
||||
|
||||
|
||||
@cli.command(
|
||||
short_help="Lists scripts in current environment config.",
|
||||
context_settings=subcommand_context_no_interspersion,
|
||||
)
|
||||
@common_options
|
||||
@argument("args", nargs=-1)
|
||||
@pass_state
|
||||
def scripts(state, args):
|
||||
"""Lists scripts in current environment config."""
|
||||
from ..core import project
|
||||
if not project:
|
||||
echo(u"project not found", err=True)
|
||||
exit(1)
|
||||
scripts = project.parsed_pipfile.get('scripts', {})
|
||||
rpt = u"command\tscript\n"
|
||||
for k, v in scripts.items():
|
||||
rpt += u"{0}\t{1}".format(k, v)
|
||||
echo(rpt)
|
||||
return 0
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
cli()
|
||||
|
||||
@@ -197,6 +197,20 @@ def test_bare_output(PipenvInstance):
|
||||
assert p.pipenv('').out
|
||||
|
||||
|
||||
@pytest.mark.cli
|
||||
def test_scripts(PipenvInstance):
|
||||
with PipenvInstance() as p:
|
||||
with open(p.pipfile_path, "w") as f:
|
||||
contents = """
|
||||
[scripts]
|
||||
pyver = "which python"
|
||||
""".strip()
|
||||
f.write(contents)
|
||||
c = p.pipenv('scripts')
|
||||
assert 'pyver' in c.out
|
||||
assert 'which python' in c.out
|
||||
|
||||
|
||||
@pytest.mark.cli
|
||||
def test_help(PipenvInstance):
|
||||
with PipenvInstance() as p:
|
||||
|
||||
Reference in New Issue
Block a user