From 3f5d27e2c52c894a266828e70e7475069e74e8e9 Mon Sep 17 00:00:00 2001 From: Nick Taylor Date: Fri, 6 Sep 2024 11:10:19 -0400 Subject: [PATCH] feat: now the documentation for the pizza-cli can be generated via pizza docs (#143) * feat: now the documentation for the pizza-cli can be generated via pizza docs * test: added some test for the docs command * disabled auto generation of Cobra tail end in markdown Co-authored-by: John McBride * added docs/ to gitignore * now docs are generated from the root command * now all autogen tagging is disabled for doc generation * docs command now hidden * refactored directory creation out into functions * simplified absolute filepath generation Co-authored-by: John McBride * docs: added CLI docs * some cleanup --------- Co-authored-by: John McBride --- cmd/docs/docs.go | 78 +++++++++++++++++++++ cmd/docs/docs_test.go | 82 +++++++++++++++++++++++ cmd/root/root.go | 6 ++ docs/pizza.md | 30 +++++++++ docs/pizza_completion.md | 33 +++++++++ docs/pizza_completion_bash.md | 52 ++++++++++++++ docs/pizza_completion_fish.md | 43 ++++++++++++ docs/pizza_completion_powershell.md | 40 +++++++++++ docs/pizza_completion_zsh.md | 54 +++++++++++++++ docs/pizza_generate.md | 34 ++++++++++ docs/pizza_generate_codeowners.md | 39 +++++++++++ docs/pizza_insights.md | 35 ++++++++++ docs/pizza_insights_contributors.md | 34 ++++++++++ docs/pizza_insights_repositories.md | 34 ++++++++++ docs/pizza_insights_user-contributions.md | 36 ++++++++++ docs/pizza_login.md | 34 ++++++++++ docs/pizza_version.md | 27 ++++++++ go.mod | 6 +- go.sum | 2 + 19 files changed, 698 insertions(+), 1 deletion(-) create mode 100644 cmd/docs/docs.go create mode 100644 cmd/docs/docs_test.go create mode 100644 docs/pizza.md create mode 100644 docs/pizza_completion.md create mode 100644 docs/pizza_completion_bash.md create mode 100644 docs/pizza_completion_fish.md create mode 100644 docs/pizza_completion_powershell.md create mode 100644 docs/pizza_completion_zsh.md create mode 100644 docs/pizza_generate.md create mode 100644 docs/pizza_generate_codeowners.md create mode 100644 docs/pizza_insights.md create mode 100644 docs/pizza_insights_contributors.md create mode 100644 docs/pizza_insights_repositories.md create mode 100644 docs/pizza_insights_user-contributions.md create mode 100644 docs/pizza_login.md create mode 100644 docs/pizza_version.md diff --git a/cmd/docs/docs.go b/cmd/docs/docs.go new file mode 100644 index 0000000..c968d55 --- /dev/null +++ b/cmd/docs/docs.go @@ -0,0 +1,78 @@ +package docs + +import ( + "fmt" + "os" + "path/filepath" + + "github.com/spf13/cobra" + "github.com/spf13/cobra/doc" +) + +type Options struct { + Path string +} + +const DefaultPath = "./docs" + +func GetDocsPath(path string) (string, error) { + if path == "" { + fmt.Printf("No path was provided. Using default path: %s\n", DefaultPath) + path = DefaultPath + } + + absPath, err := filepath.Abs(path) + + if err != nil { + return "", fmt.Errorf("error resolving absolute path: %w", err) + } + + _, err = os.Stat(absPath) + + if os.IsNotExist(err) { + fmt.Printf("The directory %s does not exist. Creating it...\n", absPath) + if err := os.MkdirAll(absPath, os.ModePerm); err != nil { + return "", fmt.Errorf("error creating directory %s: %w", absPath, err) + } + } else if err != nil { + return "", fmt.Errorf("error checking directory %s: %w", absPath, err) + } + + return absPath, nil +} + +func GenerateDocumentation(rootCmd *cobra.Command, path string) error { + fmt.Printf("Generating documentation in %s...\n", path) + err := doc.GenMarkdownTree(rootCmd, path) + + if err != nil { + return err + } + + fmt.Printf("Finished generating documentation in %s\n", path) + + return nil +} + +func NewDocsCommand() *cobra.Command { + return &cobra.Command{ + Use: "docs [path]", + Short: "Generates the documentation for the CLI", + Args: cobra.MaximumNArgs(1), + RunE: func(cmd *cobra.Command, args []string) error { + cmd.Parent().Root().DisableAutoGenTag = true + + var path string + if len(args) > 0 { + path = args[0] + } + + resolvedPath, err := GetDocsPath(path) + if err != nil { + return err + } + + return GenerateDocumentation(cmd.Parent().Root(), resolvedPath) + }, + } +} diff --git a/cmd/docs/docs_test.go b/cmd/docs/docs_test.go new file mode 100644 index 0000000..62a1df7 --- /dev/null +++ b/cmd/docs/docs_test.go @@ -0,0 +1,82 @@ +package docs + +import ( + "os" + "path/filepath" + "testing" +) + +func TestGetDocsPath(t *testing.T) { + t.Parallel() + + t.Run("No path provided", func(t *testing.T) { + t.Parallel() + actual, err := GetDocsPath("") + + if err != nil { + t.Errorf("GetDocsPath() error = %v, wantErr false", err) + return + } + + expected, _ := filepath.Abs(DefaultPath) + if actual != expected { + t.Errorf("GetDocsPath() = %v, want %v", actual, expected) + } + }) + + t.Run("With path provided", func(t *testing.T) { + t.Parallel() + inputPath := filepath.Join(os.TempDir(), "docs") + actual, err := GetDocsPath(inputPath) + + if err != nil { + t.Errorf("GetDocsPath() error = %v, wantErr false", err) + return + } + + expected, _ := filepath.Abs(inputPath) + if actual != expected { + t.Errorf("GetDocsPath() = %v, want %v", actual, expected) + } + + if _, err := os.Stat(actual); os.IsNotExist(err) { + t.Errorf("GetDocsPath() failed to create directory %s", actual) + } + }) + + t.Run("Invalid path", func(t *testing.T) { + t.Parallel() + invalidPath := string([]byte{0}) + + _, err := GetDocsPath(invalidPath) + + if err == nil { + t.Errorf("GetDocsPath() error = nil, wantErr true") + } + }) +} + +func TestGetDocsPath_ExistingDirectory(t *testing.T) { + t.Parallel() + + tempDir, err := os.MkdirTemp("", "docs_test_existing") + if err != nil { + t.Fatalf("Failed to create temp dir: %v", err) + } + + actual, err := GetDocsPath(tempDir) + + if err != nil { + t.Errorf("GetDocsPath() error = %v, wantErr false", err) + return + } + + expected, _ := filepath.Abs(tempDir) + if actual != expected { + t.Errorf("GetDocsPath() = %v, want %v", actual, expected) + } + + if _, err := os.Stat(actual); os.IsNotExist(err) { + t.Errorf("GetDocsPath() failed to recognize existing directory %s", actual) + } +} diff --git a/cmd/root/root.go b/cmd/root/root.go index 3e8476a..379baaa 100644 --- a/cmd/root/root.go +++ b/cmd/root/root.go @@ -7,6 +7,7 @@ import ( "github.com/spf13/cobra" "github.com/open-sauced/pizza-cli/cmd/auth" + "github.com/open-sauced/pizza-cli/cmd/docs" "github.com/open-sauced/pizza-cli/cmd/generate" "github.com/open-sauced/pizza-cli/cmd/insights" "github.com/open-sauced/pizza-cli/cmd/version" @@ -44,6 +45,11 @@ func NewRootCommand() (*cobra.Command, error) { cmd.AddCommand(insights.NewInsightsCommand()) cmd.AddCommand(version.NewVersionCommand()) + // The docs command is hidden as it's only used by the pizza-cli maintainers + docsCmd := docs.NewDocsCommand() + docsCmd.Hidden = true + cmd.AddCommand(docsCmd) + err := cmd.PersistentFlags().MarkHidden(constants.FlagNameEndpoint) if err != nil { return nil, fmt.Errorf("error marking %s as hidden: %w", constants.FlagNameEndpoint, err) diff --git a/docs/pizza.md b/docs/pizza.md new file mode 100644 index 0000000..49abe05 --- /dev/null +++ b/docs/pizza.md @@ -0,0 +1,30 @@ +## pizza + +OpenSauced CLI + +### Synopsis + +A command line utility for insights, metrics, and all things OpenSauced + +``` +pizza [flags] +``` + +### Options + +``` + -c, --config string The saucectl config (default "~/.sauced.yaml") + --disable-telemetry Disable sending telemetry data to OpenSauced + -h, --help help for pizza + -l, --log-level string The logging level. Options: error, warn, info, debug (default "info") + --tty-disable Disable log stylization. Suitable for CI/CD and automation +``` + +### SEE ALSO + +* [pizza completion](pizza_completion.md) - Generate the autocompletion script for the specified shell +* [pizza generate](pizza_generate.md) - Generates something +* [pizza insights](pizza_insights.md) - Gather insights about git contributors, repositories, users and pull requests +* [pizza login](pizza_login.md) - Log into the CLI via GitHub +* [pizza version](pizza_version.md) - Displays the build version of the CLI + diff --git a/docs/pizza_completion.md b/docs/pizza_completion.md new file mode 100644 index 0000000..65a7507 --- /dev/null +++ b/docs/pizza_completion.md @@ -0,0 +1,33 @@ +## pizza completion + +Generate the autocompletion script for the specified shell + +### Synopsis + +Generate the autocompletion script for pizza for the specified shell. +See each sub-command's help for details on how to use the generated script. + + +### Options + +``` + -h, --help help for completion +``` + +### Options inherited from parent commands + +``` + -c, --config string The saucectl config (default "~/.sauced.yaml") + --disable-telemetry Disable sending telemetry data to OpenSauced + -l, --log-level string The logging level. Options: error, warn, info, debug (default "info") + --tty-disable Disable log stylization. Suitable for CI/CD and automation +``` + +### SEE ALSO + +* [pizza](pizza.md) - OpenSauced CLI +* [pizza completion bash](pizza_completion_bash.md) - Generate the autocompletion script for bash +* [pizza completion fish](pizza_completion_fish.md) - Generate the autocompletion script for fish +* [pizza completion powershell](pizza_completion_powershell.md) - Generate the autocompletion script for powershell +* [pizza completion zsh](pizza_completion_zsh.md) - Generate the autocompletion script for zsh + diff --git a/docs/pizza_completion_bash.md b/docs/pizza_completion_bash.md new file mode 100644 index 0000000..5beed9d --- /dev/null +++ b/docs/pizza_completion_bash.md @@ -0,0 +1,52 @@ +## pizza completion bash + +Generate the autocompletion script for bash + +### Synopsis + +Generate the autocompletion script for the bash shell. + +This script depends on the 'bash-completion' package. +If it is not installed already, you can install it via your OS's package manager. + +To load completions in your current shell session: + + source <(pizza completion bash) + +To load completions for every new session, execute once: + +#### Linux: + + pizza completion bash > /etc/bash_completion.d/pizza + +#### macOS: + + pizza completion bash > $(brew --prefix)/etc/bash_completion.d/pizza + +You will need to start a new shell for this setup to take effect. + + +``` +pizza completion bash +``` + +### Options + +``` + -h, --help help for bash + --no-descriptions disable completion descriptions +``` + +### Options inherited from parent commands + +``` + -c, --config string The saucectl config (default "~/.sauced.yaml") + --disable-telemetry Disable sending telemetry data to OpenSauced + -l, --log-level string The logging level. Options: error, warn, info, debug (default "info") + --tty-disable Disable log stylization. Suitable for CI/CD and automation +``` + +### SEE ALSO + +* [pizza completion](pizza_completion.md) - Generate the autocompletion script for the specified shell + diff --git a/docs/pizza_completion_fish.md b/docs/pizza_completion_fish.md new file mode 100644 index 0000000..93bb9de --- /dev/null +++ b/docs/pizza_completion_fish.md @@ -0,0 +1,43 @@ +## pizza completion fish + +Generate the autocompletion script for fish + +### Synopsis + +Generate the autocompletion script for the fish shell. + +To load completions in your current shell session: + + pizza completion fish | source + +To load completions for every new session, execute once: + + pizza completion fish > ~/.config/fish/completions/pizza.fish + +You will need to start a new shell for this setup to take effect. + + +``` +pizza completion fish [flags] +``` + +### Options + +``` + -h, --help help for fish + --no-descriptions disable completion descriptions +``` + +### Options inherited from parent commands + +``` + -c, --config string The saucectl config (default "~/.sauced.yaml") + --disable-telemetry Disable sending telemetry data to OpenSauced + -l, --log-level string The logging level. Options: error, warn, info, debug (default "info") + --tty-disable Disable log stylization. Suitable for CI/CD and automation +``` + +### SEE ALSO + +* [pizza completion](pizza_completion.md) - Generate the autocompletion script for the specified shell + diff --git a/docs/pizza_completion_powershell.md b/docs/pizza_completion_powershell.md new file mode 100644 index 0000000..bec9a87 --- /dev/null +++ b/docs/pizza_completion_powershell.md @@ -0,0 +1,40 @@ +## pizza completion powershell + +Generate the autocompletion script for powershell + +### Synopsis + +Generate the autocompletion script for powershell. + +To load completions in your current shell session: + + pizza completion powershell | Out-String | Invoke-Expression + +To load completions for every new session, add the output of the above command +to your powershell profile. + + +``` +pizza completion powershell [flags] +``` + +### Options + +``` + -h, --help help for powershell + --no-descriptions disable completion descriptions +``` + +### Options inherited from parent commands + +``` + -c, --config string The saucectl config (default "~/.sauced.yaml") + --disable-telemetry Disable sending telemetry data to OpenSauced + -l, --log-level string The logging level. Options: error, warn, info, debug (default "info") + --tty-disable Disable log stylization. Suitable for CI/CD and automation +``` + +### SEE ALSO + +* [pizza completion](pizza_completion.md) - Generate the autocompletion script for the specified shell + diff --git a/docs/pizza_completion_zsh.md b/docs/pizza_completion_zsh.md new file mode 100644 index 0000000..22b1734 --- /dev/null +++ b/docs/pizza_completion_zsh.md @@ -0,0 +1,54 @@ +## pizza completion zsh + +Generate the autocompletion script for zsh + +### Synopsis + +Generate the autocompletion script for the zsh shell. + +If shell completion is not already enabled in your environment you will need +to enable it. You can execute the following once: + + echo "autoload -U compinit; compinit" >> ~/.zshrc + +To load completions in your current shell session: + + source <(pizza completion zsh) + +To load completions for every new session, execute once: + +#### Linux: + + pizza completion zsh > "${fpath[1]}/_pizza" + +#### macOS: + + pizza completion zsh > $(brew --prefix)/share/zsh/site-functions/_pizza + +You will need to start a new shell for this setup to take effect. + + +``` +pizza completion zsh [flags] +``` + +### Options + +``` + -h, --help help for zsh + --no-descriptions disable completion descriptions +``` + +### Options inherited from parent commands + +``` + -c, --config string The saucectl config (default "~/.sauced.yaml") + --disable-telemetry Disable sending telemetry data to OpenSauced + -l, --log-level string The logging level. Options: error, warn, info, debug (default "info") + --tty-disable Disable log stylization. Suitable for CI/CD and automation +``` + +### SEE ALSO + +* [pizza completion](pizza_completion.md) - Generate the autocompletion script for the specified shell + diff --git a/docs/pizza_generate.md b/docs/pizza_generate.md new file mode 100644 index 0000000..edd658d --- /dev/null +++ b/docs/pizza_generate.md @@ -0,0 +1,34 @@ +## pizza generate + +Generates something + +### Synopsis + +WARNING: Proof of concept feature. + +XXX + +``` +pizza generate [subcommand] [flags] +``` + +### Options + +``` + -h, --help help for generate +``` + +### Options inherited from parent commands + +``` + -c, --config string The saucectl config (default "~/.sauced.yaml") + --disable-telemetry Disable sending telemetry data to OpenSauced + -l, --log-level string The logging level. Options: error, warn, info, debug (default "info") + --tty-disable Disable log stylization. Suitable for CI/CD and automation +``` + +### SEE ALSO + +* [pizza](pizza.md) - OpenSauced CLI +* [pizza generate codeowners](pizza_generate_codeowners.md) - Generates a CODEOWNERS file for a given repository using a "~/.sauced.yaml" config + diff --git a/docs/pizza_generate_codeowners.md b/docs/pizza_generate_codeowners.md new file mode 100644 index 0000000..0cb8357 --- /dev/null +++ b/docs/pizza_generate_codeowners.md @@ -0,0 +1,39 @@ +## pizza generate codeowners + +Generates a CODEOWNERS file for a given repository using a "~/.sauced.yaml" config + +### Synopsis + +WARNING: Proof of concept feature. + +Generates a CODEOWNERS file for a given git repository. This uses a ~/.sauced.yaml +configuration to attribute emails with given entities. + +The generated file specifies up to 3 owners for EVERY file in the git tree based on the +number of lines touched in that specific file over the specified range of time. + +``` +pizza generate codeowners path/to/repo [flags] +``` + +### Options + +``` + -h, --help help for codeowners + --owners-style-file Whether to generate an agnostic OWNERS style file. + -r, --range int The number of days to lookback (default 90) +``` + +### Options inherited from parent commands + +``` + -c, --config string The saucectl config (default "~/.sauced.yaml") + --disable-telemetry Disable sending telemetry data to OpenSauced + -l, --log-level string The logging level. Options: error, warn, info, debug (default "info") + --tty-disable Disable log stylization. Suitable for CI/CD and automation +``` + +### SEE ALSO + +* [pizza generate](pizza_generate.md) - Generates something + diff --git a/docs/pizza_insights.md b/docs/pizza_insights.md new file mode 100644 index 0000000..c7be12d --- /dev/null +++ b/docs/pizza_insights.md @@ -0,0 +1,35 @@ +## pizza insights + +Gather insights about git contributors, repositories, users and pull requests + +### Synopsis + +Gather insights about git contributors, repositories, user and pull requests and display the results + +``` +pizza insights [flags] +``` + +### Options + +``` + -h, --help help for insights + -o, --output string The formatting for command output. One of: (table, yaml, csv, json) (default "table") +``` + +### Options inherited from parent commands + +``` + -c, --config string The saucectl config (default "~/.sauced.yaml") + --disable-telemetry Disable sending telemetry data to OpenSauced + -l, --log-level string The logging level. Options: error, warn, info, debug (default "info") + --tty-disable Disable log stylization. Suitable for CI/CD and automation +``` + +### SEE ALSO + +* [pizza](pizza.md) - OpenSauced CLI +* [pizza insights contributors](pizza_insights_contributors.md) - Gather insights about contributors of indexed git repositories +* [pizza insights repositories](pizza_insights_repositories.md) - Gather insights about indexed git repositories +* [pizza insights user-contributions](pizza_insights_user-contributions.md) - Gather insights on individual contributors for given repo URLs + diff --git a/docs/pizza_insights_contributors.md b/docs/pizza_insights_contributors.md new file mode 100644 index 0000000..ce13c4e --- /dev/null +++ b/docs/pizza_insights_contributors.md @@ -0,0 +1,34 @@ +## pizza insights contributors + +Gather insights about contributors of indexed git repositories + +### Synopsis + +Gather insights about contributors of indexed git repositories. This command will show new, recent, alumni, repeat contributors for each git repository + +``` +pizza insights contributors url... [flags] +``` + +### Options + +``` + -f, --file string Path to yaml file containing an array of git repository urls + -h, --help help for contributors + -r, --range int Number of days to look-back (7,30,90) (default 30) +``` + +### Options inherited from parent commands + +``` + -c, --config string The saucectl config (default "~/.sauced.yaml") + --disable-telemetry Disable sending telemetry data to OpenSauced + -l, --log-level string The logging level. Options: error, warn, info, debug (default "info") + -o, --output string The formatting for command output. One of: (table, yaml, csv, json) (default "table") + --tty-disable Disable log stylization. Suitable for CI/CD and automation +``` + +### SEE ALSO + +* [pizza insights](pizza_insights.md) - Gather insights about git contributors, repositories, users and pull requests + diff --git a/docs/pizza_insights_repositories.md b/docs/pizza_insights_repositories.md new file mode 100644 index 0000000..64070d4 --- /dev/null +++ b/docs/pizza_insights_repositories.md @@ -0,0 +1,34 @@ +## pizza insights repositories + +Gather insights about indexed git repositories + +### Synopsis + +Gather insights about indexed git repositories. This command will show info about contributors, pull requests, etc. + +``` +pizza insights repositories url... [flags] +``` + +### Options + +``` + -f, --file string Path to yaml file containing an array of git repository urls + -h, --help help for repositories + -p, --range int Number of days to look-back (default 30) +``` + +### Options inherited from parent commands + +``` + -c, --config string The saucectl config (default "~/.sauced.yaml") + --disable-telemetry Disable sending telemetry data to OpenSauced + -l, --log-level string The logging level. Options: error, warn, info, debug (default "info") + -o, --output string The formatting for command output. One of: (table, yaml, csv, json) (default "table") + --tty-disable Disable log stylization. Suitable for CI/CD and automation +``` + +### SEE ALSO + +* [pizza insights](pizza_insights.md) - Gather insights about git contributors, repositories, users and pull requests + diff --git a/docs/pizza_insights_user-contributions.md b/docs/pizza_insights_user-contributions.md new file mode 100644 index 0000000..5ec8b0b --- /dev/null +++ b/docs/pizza_insights_user-contributions.md @@ -0,0 +1,36 @@ +## pizza insights user-contributions + +Gather insights on individual contributors for given repo URLs + +### Synopsis + +Gather insights on individual contributors given a list of repository URLs + +``` +pizza insights user-contributions url... [flags] +``` + +### Options + +``` + -f, --file string Path to yaml file containing an array of git repository urls + -h, --help help for user-contributions + -p, --range int32 Number of days, used for query filtering (default 30) + -s, --sort string Sort user contributions by (total, commits, prs) (default "none") + -u, --users strings Inclusive comma separated list of GitHub usernames to filter for +``` + +### Options inherited from parent commands + +``` + -c, --config string The saucectl config (default "~/.sauced.yaml") + --disable-telemetry Disable sending telemetry data to OpenSauced + -l, --log-level string The logging level. Options: error, warn, info, debug (default "info") + -o, --output string The formatting for command output. One of: (table, yaml, csv, json) (default "table") + --tty-disable Disable log stylization. Suitable for CI/CD and automation +``` + +### SEE ALSO + +* [pizza insights](pizza_insights.md) - Gather insights about git contributors, repositories, users and pull requests + diff --git a/docs/pizza_login.md b/docs/pizza_login.md new file mode 100644 index 0000000..7ca5124 --- /dev/null +++ b/docs/pizza_login.md @@ -0,0 +1,34 @@ +## pizza login + +Log into the CLI via GitHub + +### Synopsis + +Log into the OpenSauced CLI. + +This command initiates the GitHub auth flow to log you into the OpenSauced CLI +by launching your browser and logging in with GitHub. + +``` +pizza login [flags] +``` + +### Options + +``` + -h, --help help for login +``` + +### Options inherited from parent commands + +``` + -c, --config string The saucectl config (default "~/.sauced.yaml") + --disable-telemetry Disable sending telemetry data to OpenSauced + -l, --log-level string The logging level. Options: error, warn, info, debug (default "info") + --tty-disable Disable log stylization. Suitable for CI/CD and automation +``` + +### SEE ALSO + +* [pizza](pizza.md) - OpenSauced CLI + diff --git a/docs/pizza_version.md b/docs/pizza_version.md new file mode 100644 index 0000000..5848855 --- /dev/null +++ b/docs/pizza_version.md @@ -0,0 +1,27 @@ +## pizza version + +Displays the build version of the CLI + +``` +pizza version [flags] +``` + +### Options + +``` + -h, --help help for version +``` + +### Options inherited from parent commands + +``` + -c, --config string The saucectl config (default "~/.sauced.yaml") + --disable-telemetry Disable sending telemetry data to OpenSauced + -l, --log-level string The logging level. Options: error, warn, info, debug (default "info") + --tty-disable Disable log stylization. Suitable for CI/CD and automation +``` + +### SEE ALSO + +* [pizza](pizza.md) - OpenSauced CLI + diff --git a/go.mod b/go.mod index a28aa98..bc698f7 100644 --- a/go.mod +++ b/go.mod @@ -16,7 +16,11 @@ require ( gopkg.in/yaml.v3 v3.0.1 ) -require github.com/charmbracelet/bubbletea v0.27.1 // indirect +require ( + github.com/charmbracelet/bubbletea v0.27.1 // indirect + github.com/cpuguy83/go-md2man/v2 v2.0.4 // indirect + github.com/russross/blackfriday/v2 v2.1.0 // indirect +) require ( dario.cat/mergo v1.0.0 // indirect diff --git a/go.sum b/go.sum index 3adc853..e0f49bc 100644 --- a/go.sum +++ b/go.sum @@ -35,6 +35,7 @@ github.com/cli/browser v1.3.0/go.mod h1:HH8s+fOAxjhQoBUAsKuPCbqUuxZDhQ2/aD+SzsEf github.com/cloudflare/circl v1.3.3/go.mod h1:5XYMA4rFBvNIrhs50XuiBJ15vF2pZn4nnUKZrLbUZFA= github.com/cloudflare/circl v1.3.7 h1:qlCDlTPz2n9fu58M0Nh1J/JzcFpfgkFHHX3O35r5vcU= github.com/cloudflare/circl v1.3.7/go.mod h1:sRTcRWXGLrKw6yIGJ+l7amYJFfAXbZG0kBSc8r4zxgA= +github.com/cpuguy83/go-md2man/v2 v2.0.4 h1:wfIWP927BUkWJb2NmU/kNDYIBTh/ziUX91+lVfRxZq4= github.com/cpuguy83/go-md2man/v2 v2.0.4/go.mod h1:tgQtvFlXSQOSOSIRvRPT7W67SCa46tRHOmNcaadrF8o= github.com/cyphar/filepath-securejoin v0.2.4 h1:Ugdm7cg7i6ZK6x3xDF1oEu1nfkyfH53EtKeQYTC3kyg= github.com/cyphar/filepath-securejoin v0.2.4/go.mod h1:aPGpWjXOXUn2NCNjFvBE6aRxGGx79pTxQpKOJNYHHl4= @@ -107,6 +108,7 @@ github.com/rivo/uniseg v0.4.7 h1:WUdvkW8uEhrYfLC4ZzdpI2ztxP1I582+49Oc5Mq64VQ= github.com/rivo/uniseg v0.4.7/go.mod h1:FN3SvrM+Zdj16jyLfmOkMNblXMcoc8DfTHruCPUcx88= github.com/rogpeppe/go-internal v1.11.0 h1:cWPaGQEPrBb5/AsnsZesgZZ9yb1OQ+GOISoDNXVBh4M= github.com/rogpeppe/go-internal v1.11.0/go.mod h1:ddIwULY96R17DhadqLgMfk9H9tvdUzkipdSkR5nkCZA= +github.com/russross/blackfriday/v2 v2.1.0 h1:JIOH55/0cWyOuilr9/qlrm0BSXldqnqwMsf35Ld67mk= github.com/russross/blackfriday/v2 v2.1.0/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM= github.com/sergi/go-diff v1.3.2-0.20230802210424-5b0b94c5c0d3 h1:n661drycOFuPLCN3Uc8sB6B/s6Z4t2xvBgU1htSHuq8= github.com/sergi/go-diff v1.3.2-0.20230802210424-5b0b94c5c0d3/go.mod h1:A0bzQcvG0E7Rwjx0REVgAGH58e96+X0MeOfepqsbeW4=