elvish: github.com/elves/elvish/pkg/prog Index | Files | Directories

package prog

import "github.com/elves/elvish/pkg/prog"

Package program provides the entry point to Elvish. Its subpackages correspond to subprograms of Elvish.

Index

Package Files

prog.go

Variables

var ShowDeprecations = false

Global flag of whether to show deprecations.

func BadUsage Uses

func BadUsage(msg string) error

BadUsage returns an error that may be returned by Program.Main, which requests the main program to print out a message, the usage information and exit with 2.

func Exit Uses

func Exit(exit int) error

Exit returns an error that may be returned by Program.Main, which requests the main program to exit with the given code. If the exit code is 0, it returns nil.

func Run Uses

func Run(fds [3]*os.File, args []string, programs ...Program) int

Run parses command-line flags and runs the first applicable subprogram. It returns the exit status of the program.

func SetShowDeprecations Uses

func SetShowDeprecations(b bool) func()

SetShowDeprecations sets ShowDeprecations to the given value, and returns a function to restore the old value.

type Flags Uses

type Flags struct {
    Log, LogPrefix, CPUProfile string

    Help, Version, BuildInfo, JSON bool

    CodeInArg, CompileOnly, NoRc bool

    Web  bool
    Port int

    Daemon bool
    Forked int

    Bin, DB, Sock string
}

Flags keeps command-line flags.

type Program Uses

type Program interface {
    // ShouldRun returns whether the subprogram should run.
    ShouldRun(f *Flags) bool
    // Run runs the subprogram.
    Run(fds [3]*os.File, f *Flags, args []string) error
}

Program represents a subprogram.

Directories

PathSynopsis
progtestPackage progtest provides utilities for testing subprograms.

Package prog imports 7 packages (graph) and is imported by 6 packages. Updated 2020-10-24. Refresh now. Tools for package owners.