A RetroSearch Logo

Home - News ( United States | United Kingdom | Italy | Germany ) - Football scores

Search Query:

Showing content from https://pkg.go.dev/github.com/willabides/kongplete below:

kongplete package - github.com/willabides/kongplete - Go Packages

Package kongplete lets you generate shell completions for your command-line programs using github.com/alecthomas/kong and github.com/posener/complete.

// This example is adapted from the shell example in github.com/alecthomas/kong

package main

import (
	"fmt"
	"os"

	"github.com/alecthomas/kong"
	"github.com/posener/complete"
	"github.com/willabides/kongplete"
)

var shellCli struct {
	Rm struct {
		User      string `help:"Run as user." short:"u" default:"default"`
		Force     bool   `help:"Force removal." short:"f"`
		Recursive bool   `help:"Recursively remove files." short:"r"`
		Hidden    string `help:"A hidden flag" hidden:""`

		Paths []string `arg:"" help:"Paths to remove." type:"path" name:"path" predictor:"file"`
	} `cmd:"" help:"Remove files."`

	Ls struct {
		Paths []string `arg:"" optional:"" help:"Paths to list." type:"path" predictor:"file"`
	} `cmd:"" help:"List paths."`

	Hidden struct{} `cmd:"" help:"A hidden command" hidden:""`

	Debug bool `help:"Debug mode."`

	InstallCompletions kongplete.InstallCompletions `cmd:"" help:"install shell completions"`
}

func main() {
	// Create a kong parser as usual, but don't run Parse quite yet.
	parser := kong.Must(&shellCli,
		kong.Name("shell"),
		kong.Description("A shell-like example app."),
		kong.UsageOnError(),
	)

	// Run kongplete.Complete to handle completion requests
	kongplete.Complete(parser,
		kongplete.WithPredictor("file", complete.PredictFiles("*")),
	)

	// Proceed as normal after kongplete.Complete.
	ctx, err := parser.Parse(os.Args[1:])
	parser.FatalIfErrorf(err)

	switch ctx.Command() {
	case "rm <path>":
		fmt.Println(shellCli.Rm.Paths, shellCli.Rm.Force, shellCli.Rm.Recursive)

	case "ls", "hidden":
	}
}

This section is empty.

This section is empty.

func Command ΒΆ

Command returns a completion Command for a kong parser

Complete runs completion for a kong parser

type InstallCompletions struct {
	Uninstall bool
}

InstallCompletions is a kong command for installing or uninstalling shell completions

BeforeApply installs completion into the users shell.

type Option func(*options)

Option is a configuration option for running Complete

func WithExitFunc(exitFunc func(code int)) Option

WithExitFunc the exit command that is run after completions

WithPredictor use the named predictor

WithPredictors use these predictors


RetroSearch is an open source project built by @garambo | Open a GitHub Issue

Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo

HTML: 3.2 | Encoding: UTF-8 | Version: 0.7.4