magefile / mage

a Make/rake-like dev tool using Go
https://magefile.org
Apache License 2.0
4.12k stars 251 forks source link

Enhancement: mage -l should print arguments too #482

Open afjoseph opened 12 months ago

afjoseph commented 12 months ago

Describe the feature Currently, mage -l doesn't print the arguments: just a description of each, like this:

afjoseph :: dev/own/my-project » mage -l
Targets:
  buildProject
  buildIosDemoWithProject       Build the iOS Demo app with project
  buildIosDemoWithoutProject    Build the iOS Demo app without project
  runUnitTests

What I would love to see is:

afjoseph :: dev/own/my-project » mage -l
Targets:
  buildProject
    - verbose bool
  buildIosDemoWithProject       Build the iOS Demo app with project
    - binPath string
    - verbose bool
  buildIosDemoWithoutProject    Build the iOS Demo app without project
    - verbose bool
  runUnitTests
    - withRace bool

I don't think it's incredibly hard. If this hasn't been considered, I might take a stab at it if the community accepts it.

Fantastic project, btw ❤️

mloskot commented 9 months ago

Instead of changing the current semantic of -l i.e. list mage targets in this directory, why not recognise combination of -l -v as a way to obtain the output you suggest,

The -v is already there to show verbose output, so it could be used to show verbose listing of targets i.e. with lists of arguments, but not all details. Mind, you there already is mage -h <target> to get full details with arguments as well as aliases.

Fantastic project, btw ❤️

Yeah, it is! I'm personally worried though it feels like it's been a bit orphaned now.