2024-01-26 19:32:21 -06:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								/ *  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								Copyright  ©  2024  Dan  Jones  < danjones @ goodevilgenius . org >  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								This  program  is  free  software :  you  can  redistribute  it  and / or  modify  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								it  under  the  terms  of  the  GNU  Affero  General  Public  License  as  published  by  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								the  Free  Software  Foundation ,  either  version  3  of  the  License ,  or  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								( at  your  option )  any  later  version .  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								This  program  is  distributed  in  the  hope  that  it  will  be  useful ,  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								but  WITHOUT  ANY  WARRANTY ;  without  even  the  implied  warranty  of  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								MERCHANTABILITY  or  FITNESS  FOR  A  PARTICULAR  PURPOSE .   See  the  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								GNU  Affero  General  Public  License  for  more  details .  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								You  should  have  received  a  copy  of  the  GNU  Affero  General  Public  License  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								along  with  this  program .  If  not ,  see  < http : //www.gnu.org/licenses/>.  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								* /  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								package  cmd  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								import  (  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									"os" 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2024-02-04 18:19:19 -06:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									"codeberg.org/danjones000/my-log/config" 
							 
						 
					
						
							
								
									
										
										
										
											2024-01-26 19:32:21 -06:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
									"github.com/spf13/cobra" 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								)  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								// rootCmd represents the base command when called without any subcommands  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								var  rootCmd  =  & cobra . Command {  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									Use :    "my-log" , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									Short :  "A brief description of your application" , 
							 
						 
					
						
							
								
									
										
										
										
											2024-02-04 10:11:04 -06:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									//Long: ``, 
							 
						 
					
						
							
								
									
										
										
										
											2024-01-26 19:32:21 -06:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
									// Uncomment the following line if your bare application 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									// has an action associated with it: 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									// Run: func(cmd *cobra.Command, args []string) { }, 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								}  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								// Execute adds all child commands to the root command and sets flags appropriately.  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								// This is called by main.main(). It only needs to happen once to the rootCmd.  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								func  Execute ( )  {  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									err  :=  rootCmd . Execute ( ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									if  err  !=  nil  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										os . Exit ( 1 ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									} 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								}  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								func  init ( )  {  
						 
					
						
							
								
									
										
										
										
											2024-02-24 20:38:27 -06:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									//cobra.OnInitialize(initConfig) 
							 
						 
					
						
							
								
									
										
										
										
											2024-01-26 19:32:21 -06:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									// Here you will define your flags and configuration settings. 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									// Cobra supports persistent flags, which, if defined here, 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									// will be global for your application. 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2024-02-04 18:19:19 -06:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									rootCmd . PersistentFlags ( ) . StringVarP ( & config . ConfigPath ,  "config" ,  "c" ,  config . ConfigPath ,  "config file" ) 
							 
						 
					
						
							
								
									
										
										
										
											2024-03-10 21:08:34 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									rootCmd . PersistentFlags ( ) . StringToStringVarP ( & config . Overrides ,  "config-value" ,  "v" ,  config . Overrides ,  "Override config values. Use dot syntax to specify key. E.g. -v output.stdout.config.format=json" ) 
							 
						 
					
						
							
								
									
										
										
										
											2024-01-26 19:32:21 -06:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									// Cobra also supports local flags, which will only run 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									// when this action is called directly. 
							 
						 
					
						
							
								
									
										
										
										
											2024-02-04 18:19:19 -06:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									// rootCmd.Flags().BoolP("toggle", "t", false, "Help message for toggle") 
							 
						 
					
						
							
								
									
										
										
										
											2024-01-26 19:32:21 -06:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								}