summaryrefslogtreecommitdiff
path: root/plugins/cabal/cabal.plugin.zsh
diff options
context:
space:
mode:
Diffstat (limited to 'plugins/cabal/cabal.plugin.zsh')
-rw-r--r--plugins/cabal/cabal.plugin.zsh52
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 }