diff options
Diffstat (limited to 'plugins/cabal')
-rw-r--r-- | plugins/cabal/cabal.plugin.zsh | 52 |
1 files changed, 49 insertions, 3 deletions
diff --git a/plugins/cabal/cabal.plugin.zsh b/plugins/cabal/cabal.plugin.zsh index 9f76add7a..a9a05b012 100644 --- a/plugins/cabal/cabal.plugin.zsh +++ b/plugins/cabal/cabal.plugin.zsh @@ -17,13 +17,16 @@ function _cabal_commands() { subcommand) subcommands=( "bench:Run the benchmark, if any (configure with UserHooks)" - "build:Make this package ready for installation" + "build:Compile all targets or specific target." "check:Check the package for common mistakes" "clean:Clean up after a build" - "copy:Copy teh files into the install locations" + "copy:Copy the files into the install locations" "configure:Prepare to build the package" + "exec:Run a command with the cabal environment" "fetch:Downloads packages for later installation" - "haddock:Generate HAddock HTML documentation" + "freeze:Freeze dependencies." + "get:Gets a package's source code" + "haddock:Generate Haddock HTML documentation" "help:Help about commands" "hscolour:Generate HsColour colourised code, in HTML format" "info:Display detailed information about a particular package" @@ -31,7 +34,10 @@ function _cabal_commands() { "install:Installs a list of packages" "list:List packages matching a search string" "register:Register this package with the compiler" + "repl:Open an interpreter session for the given target" "report:Upload build reports to a remote server" + "run:Runs the compiled executable" + "sandbox:Create/modify/delete a sandbox" "sdist:Generate a source distribution file (.tar.gz)" "test:Run the test suite, if any (configure with UserHooks)" "unpack:Unpacks packages for user inspection" @@ -45,3 +51,43 @@ function _cabal_commands() { } compdef _cabal_commands cabal + +function _cab_commands() { + local ret=1 state + _arguments ':subcommand:->subcommand' && ret=0 + + case $state in + subcommand) + subcommands=( + "sync:Fetch the latest package index" + "install:Install packages" + "uninstall:Uninstall packages" + "installed:List installed packages" + "configure:Configure a cabal package" + "build:Build a cabal package" + "clean:Clean up a build directory" + "outdated:Display outdated packages" + "info:Display information of a package" + "sdist:Make tar.gz for source distribution" + "upload:Uploading tar.gz to HackageDB" + "get:Untar a package in the current directory" + "deps:Show dependencies of this package" + "revdeps:Show reverse dependencies of this package" + "check:Check consistency of packages" + "genpaths:Generate Paths_<pkg>.hs" + "search:Search available packages by package name" + "add:Add a source directory" + "test:Run tests" + "bench:Run benchmarks" + "doc:Generate manuals" + "ghci:Run GHCi (with a sandbox)" + "init:Initialize a sandbox" + "help:Display the help message of the command" + ) + _describe -t subcommands 'cab subcommands' subcommands && ret=0 + esac + + return ret +} + +command -v cab >/dev/null 2>&1 && { compdef _cab_commands cab } |