Somewhere in your main, you should be calling rootCmd.Execute(). Instead:

func main() {
   // first, make sure there are at least 2 args. Then, process the
1st parameter
   // Then
   rootCmd.SetArgs(os.Args[2:])
   rootCmd.Execute()
}

On Sun, Feb 25, 2024 at 1:50 PM David Karr <davidmichaelk...@gmail.com> wrote:
>
> But where would that be done?  I'm not certain of the exact role of the 
> "rootCmd.Execute()" function, or the optional "Run" function in the Command 
> object. Neither of those appear to be executed, when I just run "<app> 
> <param> <subcommand"". I put a print statement in the "Run" function in the 
> subcommand, and that gets printed, but nothing else.
>
> On Sunday, February 25, 2024 at 10:52:10 AM UTC-8 burak serdar wrote:
>>
>> You can do rootCmd.SetArgs(os.Args[2:]), and process the first
>> parameter yourself.
>>
>> On Sun, Feb 25, 2024 at 11:43 AM David Karr <davidmic...@gmail.com> wrote:
>> >
>> > I am not a new programmer, but I am pretty new to golang, having only 
>> > written a couple of small applications, and that was several months ago. 
>> > I'm trying to construct an application using Cobra, using some nonstandard 
>> > conventions. Is it better to ask a question like this in an issue in the 
>> > Cobra github site?
>> >
>> > The application I am trying to write will be used extremely often, and I 
>> > want to minimize the required syntax.
>> >
>> > I want to set up a command line like the following:
>> >
>> > <applicationname> <parameter> <subcommand> <parameters>
>> >
>> > The parameter right after the application name will always be present. I 
>> > don't want it to be a flag. After that parameter value will be a 
>> > subcommand, followed by additional parameters, also not flags. There are 
>> > some situations where I want to allow for flags, but that will be uncommon.
>> >
>> > It's not clear to me how to cleanly set up this organization. Is it simply 
>> > not practical to do with Cobra? Should I just do ad hoc parameter 
>> > processing?
>> >
>> > --
>> > You received this message because you are subscribed to the Google Groups 
>> > "golang-nuts" group.
>> > To unsubscribe from this group and stop receiving emails from it, send an 
>> > email to golang-nuts...@googlegroups.com.
>> > To view this discussion on the web visit 
>> > https://groups.google.com/d/msgid/golang-nuts/14b9efb1-7fbb-45a6-8e0e-56f25be310a3n%40googlegroups.com.
>
> --
> You received this message because you are subscribed to the Google Groups 
> "golang-nuts" group.
> To unsubscribe from this group and stop receiving emails from it, send an 
> email to golang-nuts+unsubscr...@googlegroups.com.
> To view this discussion on the web visit 
> https://groups.google.com/d/msgid/golang-nuts/9d8fac62-f70a-488d-8bf9-7800b5d44d34n%40googlegroups.com.

-- 
You received this message because you are subscribed to the Google Groups 
"golang-nuts" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to golang-nuts+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/golang-nuts/CAMV2RqoOs2TacBQ6iLxybwP6Wv74WDmTUk%2B2WR2kYFKmJQrFoQ%40mail.gmail.com.

Reply via email to