52 lines
1 KiB
Go
52 lines
1 KiB
Go
![]() |
package main
|
||
|
|
||
|
import (
|
||
|
"fmt"
|
||
|
"os"
|
||
|
"tools_quickpaste/cmd/pastes"
|
||
|
|
||
|
"github.com/urfave/cli/v2"
|
||
|
)
|
||
|
|
||
|
func main() {
|
||
|
app := &cli.App{
|
||
|
Name: "paste-cli",
|
||
|
Usage: "Securely share code, text, and messages with anyone.",
|
||
|
Commands: []*cli.Command{
|
||
|
{
|
||
|
Name: "create",
|
||
|
Aliases: []string{"c"},
|
||
|
Usage: "Create a new paste from text input",
|
||
|
Action: pastes.CreateNewPaste,
|
||
|
ArgsUsage: "<content>",
|
||
|
},
|
||
|
{
|
||
|
Name: "file",
|
||
|
Aliases: []string{"f"},
|
||
|
Usage: "Create a new paste from a file",
|
||
|
Action: pastes.ReadFileAndCreatePaste,
|
||
|
ArgsUsage: "<filepath>",
|
||
|
},
|
||
|
{
|
||
|
Name: "get",
|
||
|
Aliases: []string{"g"},
|
||
|
Usage: "Get a paste",
|
||
|
ArgsUsage: "<paste_id>",
|
||
|
Action: pastes.GetPaste,
|
||
|
Flags: []cli.Flag{
|
||
|
&cli.BoolFlag{
|
||
|
Name: "raw",
|
||
|
Aliases: []string{"r"},
|
||
|
Usage: "Display raw content only",
|
||
|
},
|
||
|
},
|
||
|
},
|
||
|
},
|
||
|
}
|
||
|
|
||
|
if err := app.Run(os.Args); err != nil {
|
||
|
fmt.Fprintf(os.Stderr, "Error: %v\n", err)
|
||
|
os.Exit(1)
|
||
|
}
|
||
|
}
|