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 ( ) {
cobra . OnInitialize ( initConfig )
// 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-02-09 09:44:35 -06: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.json=true" )
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
}
// initConfig reads in config file and ENV variables if set.
func initConfig ( ) {
2024-02-04 10:11:04 -06:00
// @todo
2024-02-09 09:44:35 -06:00
2024-01-26 19:32:21 -06:00
}