ComposableCommands

Documentation for ComposableCommands.

See the Index for the complete list of documented functions and types.

The code, which is hosted on GitHub, is tested using various continuous integration services for its validity.

This repository is created and maintained by @singularitti, and contributions are highly welcome.

Package features

  • Abstract representation of command line commands, options, flags, and arguments
  • Support for subcommands and command composition
  • Redirection and pipe handling
  • Intuitive API for building and interpreting commands

Installation

The package can be installed with the Julia package manager. From the Julia REPL, type ] to enter the Pkg mode and run:

pkg> add ComposableCommands

Or, equivalently, via Pkg.jl:

julia> import Pkg; Pkg.add("ComposableCommands")   Resolving package versions...
    Updating `~/work/ComposableCommands.jl/ComposableCommands.jl/docs/Project.toml`
  [b5b47461] ~ ComposableCommands v0.3.0 `~/.julia/dev/ComposableCommands` ⇒ v0.3.0 [loaded: `/home/runner/work/ComposableCommands.jl/ComposableCommands.jl/src/ComposableCommands.jl` (v0.3.0) expected `/home/runner/.julia/packages/ComposableCommands/sGbPe/src/ComposableCommands.jl` (v0.3.0)]
    Updating `~/work/ComposableCommands.jl/ComposableCommands.jl/docs/Manifest.toml`
  [b5b47461] ~ ComposableCommands v0.3.0 `~/.julia/dev/ComposableCommands` ⇒ v0.3.0 [loaded: `/home/runner/work/ComposableCommands.jl/ComposableCommands.jl/src/ComposableCommands.jl` (v0.3.0) expected `/home/runner/.julia/packages/ComposableCommands/sGbPe/src/ComposableCommands.jl` (v0.3.0)]
 [bac558e1] ↓ OrderedCollections v2.0.0 ⇒ v1.8.2 [loaded: v2.0.0]
        Info Packages marked with  have new versions available but compatibility constraints restrict them from upgrading. To see why use `status --outdated -m`
Precompiling packages...
   1677.7 msOrderedCollections
   1571.8 msComposableCommands
  2 dependencies successfully precompiled in 3 seconds. 55 already precompiled.
  2 dependencies precompiled but different versions are currently loaded. Restart julia to access the new versions. Otherwise, loading dependents of these packages may trigger further precompilation to work with the unexpected versions.

Documentation

  • STABLEdocumentation of the most recently tagged version.
  • DEVdocumentation of the in-development version.

Project status

The package is developed for and tested against Julia v1.6 and above on Linux, macOS, and Windows.

Questions and contributions

You can post usage questions on our discussion page.

We welcome contributions, feature requests, and suggestions. If you encounter any problems, please open an issue. The Contributing page has a few guidelines that should be followed when opening pull requests and contributing code.

Manual outline

Library outline

Index